[{"data":1,"prerenderedAt":52},["ShallowReactive",2],{"$f88kzotmemt6d":3,"recommended":21},{"title":4,"path":5,"date":6,"updated":7,"tags":8,"excerpt":10,"readingMinutes":11,"commentCount":12,"html":13,"comments":14,"next":15,"prev":18},"Moving to Google's App Engine","\u002F2011\u002F12\u002Fmoving-to-googles-app-engine\u002F","2011-12-24T22:56:00.000Z","2011-12-24T22:56:27.028Z",[9],"social graph analysis","I transitioned the social analysis application to http:\u002F\u002Fsocialgraphanalysis.appspot.com\u002F last week. It turned out to be quite easy. What I came across was this (among others): When the application is being developed…",1,0,"\u003Cp>I transitioned the social analysis application to \u003Ca href=\"http:\u002F\u002Fsocialgraphanalysis.appspot.com\u002F\">http:\u002F\u002Fsocialgraphanalysis.appspot.com\u002F\u003C\u002Fa> last week. It turned out to be quite easy. What I came across was this (among others):\u003C\u002Fp>\n\u003Cp>When the application is being developed, database structures change often. In MySQL I could select my old data and convert it without much of a hassle. The kind of queries that you can run on App Engine are so limited that the old data and the new data cannot be properly distinguished. In the end, I added a version attribute to all my entities, so that I could later do a &quot;SELECT  * WHERE version = '3'&quot; to perform a transition.\u003C\u002Fp>\n",[],{"title":16,"path":17},"NS API: stationslijst naar een array","\u002F2011\u002F12\u002Fns-api-stationslijst-naar-een-array\u002F",{"title":19,"path":20},"Yahoo Pipes uses multiple IP's","\u002F2011\u002F12\u002Fyahoo-pipes-uses-multiple-ips\u002F",[22,27,32,35,39,42,45,49],{"title":23,"path":24,"note":25,"series":26},"Mapping out Dark Code","\u002F2026\u002F03\u002Fmapping-out-dark-code\u002F","2026",false,{"title":28,"path":29,"note":30,"series":31},"The software that I love","\u002F2022\u002F10\u002Fthe-software-that-i-love\u002F","Series · 36 posts",true,{"title":33,"path":34,"note":25,"series":26},"Navigating the Fog of War: Age of Empires, AI Agents, and the Rise of Dark Code","\u002F2026\u002F05\u002Fnavigating-fog-of-war-age-of-empires-ai\u002F",{"title":36,"path":37,"note":38,"series":26},"The Future of Programming Systems - four thoughts","\u002F2024\u002F09\u002Fthe-future-of-programming-systems-four\u002F","2024",{"title":40,"path":41,"note":38,"series":26},"Always Optimize the Feedback Loop","\u002F2024\u002F07\u002Falways-optimize-feedback-loop\u002F",{"title":43,"path":44,"note":38,"series":26},"\"Security Is Our Top Priority\" is BS","\u002F2024\u002F07\u002Fsecurity-is-our-top-priority-is-bs\u002F",{"title":46,"path":47,"note":48,"series":26},"10x teams","\u002F2025\u002F02\u002F10x-teams\u002F","2025",{"title":50,"path":51,"note":48,"series":26},"Hiring, from the Other Side","\u002F2025\u002F10\u002Fhiring-from-other-side\u002F",1792876809200]