• Cortana, I am back!

    Cortana, I am back!

    I had a great time at Facebook. I learned a lot, wrote lots of code, and worked on conversational understanding technologies. I can’t wait to see what the team will do next. Facebook is a unique organization, with an extraordinary culture. The engineering infrastructure is unbelievable and it enables developers to move really fast. I loved it.

    Read more →

  • ReactGraph Part 5 – A user’s feed via “pull” and “push” graph queries

    ReactGraph Part 5 – A user’s feed via “pull” and “push” graph queries

    Investigation into bringing together graph and reactive computing. This fifth post in the series showcases slightly more complex LINQ-to-graph and Rx types queries for both “pull” and “push” type computation. ReactGraph Part 1: Graphs and Reactive Computing – Historical Context ReactGraph Part 2: Remote evaluation of continuous queries ReactGraph Part 3 – The Data Model

    Read more →

  • ReactGraph Part 4 – First (Re)Active Queries

    ReactGraph Part 4 – First (Re)Active Queries

    Investigation into bringing together graph and reactive computing. This fourth post in the series showcases LINQ-to-graph and Rx types queries for both “pull” and “push” type computation. ReactGraph Part 1: Graphs and Reactive Computing – Historical Context ReactGraph Part 2: Remote evaluation of continuous queries ReactGraph Part 3 – The Data Model Disclaimer Remember that

    Read more →

  • ReactGraph Part 3 – The Data Model

    ReactGraph Part 3 – The Data Model

    Investigation into bringing together graph and reactive computing. This is the third post in the series and deals with the platform’s data model. ReactGraph Part 1: Graphs and Reactive Computing – Historical Context ReactGraph Part 2: Remote evaluation of continuous queries Nodes and Edges Everything in ReactGraph is a node. A node has an identity

    Read more →

  • ReactGraph Part 2: Remote evaluation of continuous queries

    ReactGraph Part 2: Remote evaluation of continuous queries

    Investigation into bringing together graph and reactive computing. This is the second post in the series and deals with the remote evaluation of continuous queries. ReactGraph – Part 1: Graphs and Reactive Computing – Historical Context What’s an IQbservable? In my previous post I mentioned that Reactor is based on the IQbservable abstraction. Given the importance

    Read more →

  • ReactGraph – Part 1: Graphs and Reactive Computing – Historical Context

    ReactGraph – Part 1: Graphs and Reactive Computing – Historical Context

    Over the last few weeks, as a spare time side project, I’ve been experimenting with a concept that has been circulating in my head for few years now. I’ve been trying to form an opinion, by writing code, around questions such as… What does a graph store with both “pull” querying and “push” reactive computing

    Read more →

  • One Assistant, Personalized, Device Ubiquity, All Services

    One Assistant, Personalized, Device Ubiquity, All Services

    I couldn’t agree more with Viv‘s principles as articulated by Dag Kittlaus in his presentation earlier today. I met with the Viv team about 2 years ago. I was very impressed by their leadership team and their work. However, Facebook managed to persuade me to join them instead. I totally subscribe to the vision of a

    Read more →

  • Application protocol over a WebSocket?

    While working on a demonstrator app for the Reactive + Graph system I’ve been building in my spare time, I found myself wanting to implement a RESTful app protocol on top of WebSockets for in-browser app <-> service communication. I actually searched for “HTTP over WebSockets” but couldn’t find anything promising. Does anyone know of

    Read more →

  • The “A” in AI should stand for “Aspirational”

    The “A” in AI should stand for “Aspirational”

    Perhaps the “A” in “AI” should stand for “Aspired” for the years to come 🙂

    Read more →

  • Are you using a digital personal assistant?

    Are you using a digital personal assistant?

    One of the design principles we established early with Cortana was the fact that a personal digital assistant is much more than just speech and conversational understanding, more than questions & answers, more than command & control of a device. By creating a deep understanding of the human over a time can result in highly personalized

    Read more →