<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>Software developer at MEDEA, a research centre at Malmö University. M.Sc. in Computer Science with focus on distributed computing from KTH. Wrote a thesis on scaling recommender systems at Tuenti. 

Active Scout since many years, right now leading the Info/PR team for Lägr1. 

Hobby photographer, active reader, cautiously enthusiastic, avid traveller, and a big fan of smart ideas.

Found on-line at Github, LinkedIn, Twitter, and Facebook or via e-mail.</description><title>Professional Code Monkey</title><generator>Tumblr (3.0; @mljungblad)</generator><link>http://ljungblad.nu/</link><item><title>Making the Nordics programmable </title><description>&lt;p&gt;That&amp;#8217;s the slogan for the on-going tour &lt;a href="http://nordicapis.com"&gt;Nordic APIs&lt;/a&gt; with &lt;a href="https://twitter.com/andreaskrohn"&gt;Andreas&lt;/a&gt; from &lt;a href="http://dopter.se"&gt;Dopter&lt;/a&gt; and &lt;a href="https://twitter.com/travisspencer"&gt;Travis&lt;/a&gt; from &lt;a href="http://www.twobotechnologies.com/"&gt;Twobo&lt;/a&gt; in the lead. Their intent is to&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;create a community to bring API developers together to share best practices on all aspects of API development.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yesterday, &lt;a href="http://twitter.com/fohlin"&gt;@fohlin&lt;/a&gt; and I attended the Copenhagen half-day &amp;#8220;conference&amp;#8221;. All talks are (or will be made) available on the &lt;a href="http://nordicapis.com/events/copenhagen-summer-2013/"&gt;Nordic API website&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Overall I&amp;#8217;m impressed with how much content you can squeeze into a half a day. The 25 minute presentations were long enough to convey details, but short enough to not get bored during the less interesting talks. Presentation quality was generally high with &lt;a href="https://twitter.com/mitraman"&gt;@mitraman&lt;/a&gt; definitely providing both the most interesting content and with excellent delivery. In his &amp;#8220;journey into the terrifying world of hypermedia&amp;#8221; he shares some thoughts about why hypermedia is hard and why businesses are not adopting it. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Although perfectly reasonable&lt;/strong&gt;, I disagree with the default outset that consumers of APIs are end-user clients. Most, if not all (?), talks assumed the API consumer is some sort of user interface: a mobile app, mobile website, or website. For example, both @mitraman and @&lt;a href="http://twitter.com/madsenevoldsen"&gt;madsenevoldsen&lt;/a&gt; (who also talked about &lt;strike&gt;HATEOAS&lt;/strike&gt; hypermedia) discussed various levels of implementations of relations between resources where a lot of focus was placed either on 1) the developer using the API to develop a UI, or 2) automatically generated or adaptive UI clients.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;I think we&amp;#8217;re missing a large&lt;/strong&gt;, and possibly relevant, discussion about hypermedias place in machine-to-machine APIs. In &lt;a href="http://elis.mah.se"&gt;my current work&lt;/a&gt;, which is heavily related to the &lt;em&gt;Internet of Things&lt;/em&gt;, consumers of APIs are not necessarily end-user applications. There&amp;#8217;s an additional level somewhere in between the device (or service) and the client where lower-level functionality is sublimed by additional services. This is not only present in the IoT context. Another example that comes to mind is building, for example, recommendation systems which may operate on data from multiple sources. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For next time &lt;/strong&gt;I would like to see the following:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;less focus on end-user clients and more about service-to-service, machine-to-service, or machine-to-machine APIs&lt;/li&gt;
&lt;li&gt;10 or so years ago it was all about SOAP and WS-*, today it appears to be all about REST. What about Push and streaming APIs?&lt;/li&gt;
&lt;li&gt;better air circulation in the room when it&amp;#8217;s packed with brilliant people :) &lt;/li&gt;
&lt;/ul&gt;</description><link>http://ljungblad.nu/post/51059567755</link><guid>http://ljungblad.nu/post/51059567755</guid><pubDate>Wed, 22 May 2013 11:17:39 +0200</pubDate><category>apise</category><category>development</category><category>conference</category><category>programmableweb</category></item><item><title>Personally I find it hard to differentiate between solid...</title><description>&lt;img src="http://25.media.tumblr.com/ac4248ee65af5a822afbf998eaa74e9b/tumblr_mlg307hfd91qak04so1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Personally I find it hard to differentiate between solid experience and best-effort guessing. Not to mention gut-feelings, which make the whole situation even more complex.&lt;/p&gt;
&lt;p&gt;A friend of mine, Tristan, linked this wonderful website the other day: &lt;a href="http://yourlogicalfallacyis.com"&gt;YourLogicalFallacyIs.com&lt;/a&gt;, and I thought “Hey that’s a great tool for learning when to use data.” Related to my two &lt;a href="http://ljungblad.nu/post/45942268400/stop-saying-i-think"&gt;earlier&lt;/a&gt; &lt;a href="http://ljungblad.nu/post/46357255388/continued-stop-saying-i-think-with-statwing"&gt;posts&lt;/a&gt; on using data to drive the process of making decisions this tool may help you spot the occasions when belief or personal values are getting in the way.&lt;/p&gt;
&lt;p&gt;For example, &lt;a href="https://yourlogicalfallacyis.com/anecdotal"&gt;the anecdotal fallacy&lt;/a&gt;, concerns: &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;[using] a personal experience or an isolated example instead of a sound argument or compelling evidence.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Anecdotes have their place in story-telling. Use them there, or possibly when explaining a complex argument, but not as the single part of a decision. &lt;a href="http://www.youtube.com/watch?v=D9Ihs241zeg"&gt;There are more sides to the story&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Note here that I’m not arguing there is no value in experience or gut feelings. There’s certainly room for that too. Perhaps sometimes it is the only “data” available (although I have a hard time believing that…). Experience, in my opinion, is extremely useful when &lt;em&gt;evaluating and interpreting&lt;/em&gt; data.&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Print (or buy for that matter) the logical fallacy poster and stick it on a wall close to you!&lt;/span&gt;&lt;/p&gt;</description><link>http://ljungblad.nu/post/48282768306</link><guid>http://ljungblad.nu/post/48282768306</guid><pubDate>Thu, 18 Apr 2013 18:00:35 +0200</pubDate><category>data</category><category>decision-making</category><category>philosophy</category></item><item><title>(Continued) Stop saying "I think..." with Statwing</title><description>&lt;p&gt;In &lt;a href="http://ljungblad.nu/post/45942268400/stop-saying-i-think"&gt;my last post&lt;/a&gt; I ranted about the importance of using data, or more specifically, the need to stop making decisions on uneducated guesses or ill-founded feelings. I suggested a three-step process to address the issue. Today I want to follow up with a few thoughts on what to do once you&amp;#8217;ve gone through those initial three steps. In other words, how do you extracting meaning from the data. &lt;/p&gt;
&lt;p&gt;There are plenty of ways for this and there&amp;#8217;s generally no need need to complicate things. Avid Excel users will make wonders there. Some may calculate the numbers on the back of a napkin, and then there are some online tools to help.  &lt;/p&gt;
&lt;p&gt;Enter &lt;a href="https://www.statwing.com/"&gt;Statwing&lt;/a&gt;. A YC-backed product to &amp;#8220;Turn data into insight. In seconds.&amp;#8221; You upload the oh-so-familiar spreadsheets and Statwing enables you to describe and relate the data contained in its columns to each other. &lt;/p&gt;
&lt;p&gt;For example, an &lt;strong&gt;automatically generated description&lt;/strong&gt; of age-data:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/9859b981b1f32c3d60ca094891b54118/tumblr_inline_mka8y19CWo1qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;I extracted some of the registration data from &lt;a href="http://lagr1.se"&gt;Lägr1&lt;/a&gt; to explore how well we are reaching our target groups: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Participants in the ages 15-25 years old.&lt;/li&gt;
&lt;li&gt;Staff, preferably over 25, but at least 18 years old. &lt;/li&gt;
&lt;li&gt;and, are the registrations balanced across the five Scout associations in Sweden? (Yes, I know nowadays there&amp;#8217;s only one, but that&amp;#8217;s only true on paper so far)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Creating the relations is straightforward and happens almost instantly on smaller datasets. Mine contains about 300 data points. The figure below indicates an answer to the first two questions by &lt;strong&gt;relating Type (staff or participant) with Age&lt;/strong&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/324f81d8b8026f821c5b4ba459ea4ab1/tumblr_inline_mka9hm42ie1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;Surely these are just two simple histograms. I could probably have made those with Excel, gnuplot, matplotlib, or by hand for that matter. The big-win, however, is that this only took me &lt;strong&gt;about five minutes&lt;/strong&gt; from logging in the first time to when I was having the result. And I had never used Statwing before that!&lt;/p&gt;
&lt;p&gt;Further I wanted to see the distribution across the five associations. Relating the association name with type I quickly yielded the following figure. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/9b301f95c925f023c14dae101bdd6ac7/tumblr_inline_mka9rpP5fx1qz4rgp.png"/&gt;&lt;/p&gt;
&lt;p&gt;Skewed! We know Equmenia is organising their own national Jamboree thus we expect lower participation from their side. However, that KM and NSF are as low is somewhat surprising. We certainly have to do some work there. &lt;/p&gt;

&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Data quality will impact the usefulness of the description and relations.&lt;/strong&gt; Some data extracted from the registrations is simply too diverse to be of any good use. Or, put it another way, require other methods not (yet?) available in Statwing. For example, mapping participants to a geographical area, i.e, making some form of heatmap, would be nice. If I could overlay that with census data from the Swedish Scouts I could see in which areas  our marketing efforts have had the most impact. &lt;/p&gt;
&lt;p&gt;In conclusion, Statwing is still in its infancy but it is refreshing to see tools like this emerge on the market. There is nothing revolutionary about the graphs above, part from one simple fact: they were dead simple to generate. Tools like Statwing are surely going to influence the way we analyse and use data. And (hopefully!) it will push more people to base decisions on data rather than vague beliefs. &lt;/p&gt;</description><link>http://ljungblad.nu/post/46357255388</link><guid>http://ljungblad.nu/post/46357255388</guid><pubDate>Tue, 26 Mar 2013 21:00:03 +0100</pubDate><category>data</category><category>philosophy</category><category>decision-making</category><category>evaluation</category></item><item><title>Stop saying "I think..."</title><description>&lt;p&gt;There is one sentence I&amp;#8217;ve heard way too often lately while working with all of the projects I&amp;#8217;m involved in: &amp;#8220;I think it is because this&amp;#8230;&amp;#8221; or &amp;#8220;so you believe it is because of&amp;#8230;&amp;#8221; Basically relying on, in the best case, guesses but more often on feelings. We need less guessing and feeling and more data to drive our decision-making. &lt;/p&gt;
&lt;p&gt;Data-driven decision-making isn&amp;#8217;t anything new. Equally, data cannot stand on its own. There&amp;#8217;s certainly a space for intuition too. My argument, however, is that we need to become better at finding and extracting data that is available to us. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/9eebc3ccdcfd5a52dc7ecb413bcef2f3/tumblr_inline_mk172uu8nu1qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Get data, any data. &lt;/strong&gt;In one of the projects, &lt;a href="http://lagr1.se"&gt;the scout camp Lägr1&lt;/a&gt;, we&amp;#8217;re using easy, quantitative, metrics such as the number of participants who have registered, how many Facebook likes we have, how each of those numbers develop over time, from where the participants are, age groups, demographics from census data, number of emails received and sent to our info-mail, number of opens of mass mails, downloads of our posters, and more. &lt;span&gt;Each of these metrics enables us to attain an objective view on our marketing efforts. It also hints at where we need to improve. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;However, quantitative data says little about &lt;strong&gt;how&lt;/strong&gt; we can improve. Qualitative data may provide more insight in those cases. We have, for example, talked to professionals in Scouting, asked for opinions from participants on specific activities, and talked ambassadors within the right age group. These people provide insight from an external perspective that, although it may be &amp;#8220;guessable&amp;#8221;, is invaluable data to help drive our decisions and future efforts. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;strong&gt;So far there&amp;#8217;s nothing new here. &lt;/strong&gt;Right and wrong. Right because there is data all around all the time. Wrong because to think that people are doing this is not true (according to my own data collection during the past few weeks). &lt;/span&gt;&lt;span&gt;We&amp;#8217;re simply either too ignorant or too lazy to go looking for data to support our decision-making. Guessing and feeling is the cheap way out.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Thus, I&amp;#8217;m trying to synthesise a three-step process which I run through my own head when subjectivity goes through the roof. At the moment it looks like this: &lt;/p&gt;
&lt;ol&gt;&lt;li&gt;&lt;span&gt;What am I trying to answer? &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Who or what knows more than me about this? &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Is there a correlation between the data and what I&amp;#8217;m trying to answer? &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Figure out where to get the data. Start by what you have already, if you don&amp;#8217;t have any, postpone or do some simple tests. For example you can set up tracking of &lt;a href="http://gmailblog.blogspot.se/2012/04/know-your-gmail-stats-using-gmail-meter.html"&gt;the number of incoming e-mails&lt;/a&gt; (this was essentially Lägr1&amp;#8217;s first metric). And remember that it doesn&amp;#8217;t have so darn complicated. Data rules best-effort guessing any day! &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;#8220;I think this blog post will spread through the Internetz like wildfire&amp;#8230;&amp;#8221; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Or not.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/50c3ab64c9e342a67cbd557a5903076c/tumblr_inline_mk17b69Y6N1qz4rgp.jpg"/&gt;&lt;/p&gt;</description><link>http://ljungblad.nu/post/45942268400</link><guid>http://ljungblad.nu/post/45942268400</guid><pubDate>Thu, 21 Mar 2013 23:21:58 +0100</pubDate><category>data</category><category>idea</category><category>philosophy</category></item><item><title>As part of a pre-incubator process called Wrap-it I’m...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/iynzHWwJXaA?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;strong&gt;As part of a pre-incubator process called &lt;a href="http://medea.mah.se/2013/02/wrap-it-nu-ar-processen-igang/"&gt;Wrap-it&lt;/a&gt;&lt;/strong&gt; I’m going to assist a team in prototyping their product under the working name &lt;em&gt;Kunskapsplattformen&lt;/em&gt;. They’ve been toying with the idea of using game mechanisms to increase stimulation with the core idea of the product.&lt;/p&gt;
&lt;p&gt;I haven’t worked explicitly with &lt;a href="http://en.wikipedia.org/wiki/Gamification"&gt;gamification&lt;/a&gt; before, so I thought it would be appropriate to do a small (and not so scientific) survey on popular examples online. &lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;span&gt;Mashable’s &lt;a href="http://mashable.com/2011/07/06/7-winning-examples-of-game-mechanics-in-action/"&gt;top 7 examples&lt;/a&gt; from 2011. I particularly enjoyed entry #3 which is the video attached above: the speed camera lottery.   &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;More &lt;a href="http://wheels.blogs.nytimes.com/2010/11/30/speed-camera-lottery-wins-vw-fun-theory-contest/"&gt;details on the video&lt;/a&gt;. &lt;br/&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;&lt;a href="http://www.bunchball.com/blog/post/778/4-lessons-learn-foursquare%E2%80%99s-gamification-missteps"&gt;Lessons from Foursquare&lt;/a&gt; and its seemingly discussed &lt;a href="http://www.digitaltrends.com/social-media/foursquare-redesign-ditches-gamification-emphasizes-recommendations/"&gt;shift of focus&lt;/a&gt; from game mechanisms to recommendations. &lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;A &lt;a href="http://lordsillion.wordpress.com/2012/01/10/smart-gamification/"&gt;few notes from a webinar&lt;/a&gt; on the practicalities of implementing gamification. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;span&gt;We’re not yet sure gamification is the “right thing to do” (tm), but that’s part of the prototyping process to figure out. It appears crucial, however, that gamification should &lt;em&gt;not&lt;/em&gt; be relied upon and, if applied, giving users early recognition and reward is important.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Got more great examples? &lt;/span&gt;&lt;/p&gt;</description><link>http://ljungblad.nu/post/44650315274</link><guid>http://ljungblad.nu/post/44650315274</guid><pubDate>Tue, 05 Mar 2013 22:12:29 +0100</pubDate><category>gamification</category><category>prototyping</category></item><item><title>Analytics for personal finances: testing Qapital Beta</title><description>&lt;p&gt;Internet banking sucks. I happen to use Swedbank and its Internet bank is no better than any of its competitors. There is little support for browsing history. All entries are limited in size and usually extremely cryptic (probably shouldn&amp;#8217;t blame the bank for this but it does not appear to be doing anything about the problem either). Categorising and grouping expenses is close to impossible although I&amp;#8217;m paying by card 98% of the time. To see evolution over time I need to export last year&amp;#8217;s transactions to excel and plot them myself. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/5a54cb75045511c5c80c1827a1f30d94/tumblr_inline_miwfwxLISr1qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;This is about as much detail I can get out of Swedbank, except for the obvious &amp;#8220;how much money is in my account.&amp;#8221; In short, Internet banking sucks.&lt;/p&gt;
&lt;p&gt;&lt;a href="https://www.qapital.se/"&gt;Qapital&lt;/a&gt; is hoping to change that. They are the Swedish equivalent of &lt;a href="https://www.mint.com/"&gt;Mint&lt;/a&gt;, a personal finance tool for tracking and analysing your income and expenses. It&amp;#8217;s in early beta still, but it&amp;#8217;s looking damn promising! &lt;/p&gt;
&lt;p&gt;Key features so far include: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Getting an overview of all your accounts from multiple banks (if you have that)&lt;/li&gt;
&lt;li&gt;Calculating trends with averages of savings (hopefully) over time. &lt;/li&gt;
&lt;li&gt;Automatic categorisation of expenses. Those it doesn&amp;#8217;t recognise you can help categorise, and I presume there&amp;#8217;s some learning involved (otherwise I&amp;#8217;d be interested in helping out with that).&lt;/li&gt;
&lt;li&gt;Breakdowns of each category down to the actual transactions.  &lt;/li&gt;
&lt;li&gt;Graphing expenses and income over time with a multitude of time intervals to choose from.&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;By the time I had logged in and connected it to my bank it had already categorised over 75% of my expenses from today back to over a year ago. Getting that ratio up to 95% took around 30 minutes and most of that time was me trying to figure out where I was and what I did at the time of the transaction (and that was due to the messages being encrypted with bank-grade complexity). If it finds that you have more than one expense at the same place it automatically tags the rest. For February (shown below) there&amp;#8217;s only one transaction not categorised. I suspect it is a lunch out with colleagues&amp;#8230; &lt;/p&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/b5895782fc1ddc6efe101a2df814479c/tumblr_inline_miwgnzop0f1qz4rgp.png"/&gt;&lt;/p&gt;

&lt;p&gt;The screenshot above shows high-level categories and I could opt between a good standard selection as well as create my own sub-categories.&lt;/p&gt;
&lt;p&gt;There&amp;#8217;s one problem I foresee. Several of my expenses per month are covered by other organisations, and hence at the end of each month I usually reclaim that money. Separating both the expenses and the claims from the other transactions isn&amp;#8217;t straightforward and is something I would gladly like to see being supported in the future. Or perhaps I need to tweak or work with the categories somehow. There seems to be a category called &amp;#8220;exclude&amp;#8221; which may be an option. &lt;/p&gt;
&lt;p&gt;&lt;span&gt;Not entirely surprising, my biggest expense is rent, closely followed by travels, and on third place, drinks and food.&lt;/span&gt;&lt;span&gt; &lt;/span&gt;I look forward to drilling down into the details to see if I can get actionable information out. In the end, this is where change happens and Qapital is definitely miles ahead of any bank I know.&lt;/p&gt;
&lt;p&gt;Lets just hope the banks doesn&amp;#8217;t shut them down or anything stupid like that. Keep it up! &lt;/p&gt;</description><link>http://ljungblad.nu/post/44207574132</link><guid>http://ljungblad.nu/post/44207574132</guid><pubDate>Thu, 28 Feb 2013 09:00:10 +0100</pubDate><category>banking</category><category>testing</category><category>beta</category><category>qapital</category></item><item><title>Programming shouldn’t be a part of the...</title><description>&lt;iframe width="400" height="225" src="http://www.youtube.com/embed/dU1xS07N-FA?wmode=transparent&amp;autohide=1&amp;egm=0&amp;hd=1&amp;iv_load_policy=3&amp;modestbranding=1&amp;rel=0&amp;showinfo=0&amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;span&gt;&lt;strong&gt;Programming shouldn’t be a part of the curriculum! &lt;/strong&gt;With &lt;/span&gt;&lt;span&gt;arguments like “Not everyone posses the talent to become programmers” or “Programming isn’t as important as math, history or biology” it certainly will never become a part of it either. The fact remains though, as &lt;a href="http://code.org"&gt;Code.org&lt;/a&gt;’s video clearly point out, that the world depends on computers and the programmers who make the computers do what we want.  &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In Sweden, programming is not available as part of the curriculum until you’re 15 or 16 years old. About four years after I started tinkering with computers myself. If, however, programming was a part of the curricula then we may become better at logical thinking and tackling complex problems. Teacher James explains in the video that:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p class="p1"&gt;Students were able to push through problems. It really builds critical thinking, it builds problem solving, it then something they can apply to math in the classroom or the reading skills.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In my mind, programming can as a first step be integrated with the natural sciences and maths curricula. We had a course in 7th or 8th grade on technology. Building paper-roll towers, toothpick bridges and other tasks that improved our understanding of construction. These efforts need to be expanded into the software realm and pushed down to younger ages. For example, with the use of tools like &lt;a href="http://mindstorms.lego.com/en-us/Default.aspx"&gt;Lego Mindstorms&lt;/a&gt; or &lt;a href="http://arduino.cc"&gt;Arduino&lt;/a&gt; or some other &lt;a href="http://scratch.mit.edu/"&gt;graphical&lt;/a&gt; &lt;a href="http://www.alice.org/"&gt;programming&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are out-of-school activities which encourage programming too. A great example is the several hundred &lt;a href="http://coderdojo.com/"&gt;CoderDojos&lt;/a&gt; that takes place in &lt;a href="http://malmo.coderdojo.se/"&gt;local communities&lt;/a&gt; around the world. Or the makers communities which are great at inviting kids to play with technology. I had the possibility through scouting to explore technology too. We’ve organised LAN-parties to play games and tinker with computers. Another time we made parachutes for eggs and dropped them from the third floor to see if they landed safely. Of course they didn’t at first. But through trial-and-error and given time to experiment we figured out the necessary components for a safe flight.&lt;/p&gt;
&lt;p&gt;Programming to me works a lot in the same way. You need to spend time with a problem, try different angles of attack, fail, and eventually figure it out. Learning this, however, isn’t done in a fortnight. It takes practice. A lot of practice.&lt;/p&gt;
&lt;p&gt;Making programming a part of our standard education would significantly enhance our chances to become programmers. The ones who will be &lt;em&gt;“the wizards of the future.”&lt;/em&gt; &lt;/p&gt;</description><link>http://ljungblad.nu/post/44131389138</link><guid>http://ljungblad.nu/post/44131389138</guid><pubDate>Wed, 27 Feb 2013 10:00:18 +0100</pubDate><category>education</category><category>programming</category></item><item><title>As the internet already know by now, Posterous is shutting down....</title><description>&lt;img src="http://24.media.tumblr.com/29cfcd884413fda46161f4863df1266b/tumblr_miu5w4zzsh1qak04so1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;As the internet already know by now, &lt;a href="http://blog.posterous.com/thanks-from-posterous"&gt;Posterous is shutting down&lt;/a&gt;. I’ve been using it on and off for the past three years and was fairly happy with it. Since Twitter acquired it it soon became obvious that its future death was imminent. Thus, I knew the day would come when I had to move. &lt;/p&gt;
&lt;p&gt;&lt;span&gt;These are some alternatives that I opted between and why I didn’t go for them: &lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;Wordpress.com: &lt;/strong&gt;On the plus side is easy integration from Posterous, its extremely wide usage and popularity. However, Wordpress is too bloated for my needs. There are a gazillion of widgets and I’ve got no interest in messing around with plugins. None of the default themes immediately came to my liking. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;AWS EC2 Micro + Jekyll: &lt;/strong&gt;I’d been toying with the idea for a while to use Amazon Web Services and a static HTML based site to get more practical experience with AWS. Running a micro-instance is for my blogging needs more expensive than I’m prepared to pay. And messing around with HTML (although Markdown-support is possible) didn’t rank high on my list.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Heroku + Jekyll: &lt;/strong&gt;Lower costs, but there was still a nagging thought about static HTML. &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tumblr: &lt;/strong&gt;long-time competitor to Posterous that “made it”. Sleek posting interface and Markdown support. Adequate defaults, different post-types and support for custom domains made me opt for it. And thanks to &lt;a href="http://justmigrate.com"&gt;justmigrate.com&lt;/a&gt; moving all posts from Posterous to Tumblr took no time at all. &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Last weekend I also kicked-off a Tumblr blog for the scout camp that I’m helping out with. If you’re a Scout, you should &lt;a href="http://blog.lagr1.se"&gt;check it out&lt;/a&gt;! &lt;/p&gt;
&lt;p&gt;Hey Tumblr! &lt;/p&gt;</description><link>http://ljungblad.nu/post/44067358673</link><guid>http://ljungblad.nu/post/44067358673</guid><pubDate>Tue, 26 Feb 2013 17:31:15 +0100</pubDate><category>justmigrate</category><category>blogging</category><category>platforms</category><category>tools</category></item><item><title>Loading and running Python tests from code</title><description>&lt;p&gt;Loading and running tests from code is possible, but it is not immediately clear from the &lt;a href="http://docs.python.org/2/library/unittest.html"&gt;docs of unittest&lt;/a&gt;. This is how I did it:&lt;/p&gt;
&lt;script src="https://gist.github.com/archie/5037989.js" type="text/javascript"&gt;&lt;/script&gt;&lt;p&gt;In the project which I&amp;#8217;m currently involved with I&amp;#8217;m using an early version of a simulator for connected devices. The first version of the simulator used a rather hairy bash script to set up environment variables, launch a web interface, load the simulator and run the specified simulation. Since the simulator is mostly written in Python though, I wanted to remove the dependencies on bash and also the cryptic environment variables. &lt;/p&gt;
&lt;p&gt;Python has an awesome library called &lt;a href="http://docs.python.org/2/library/argparse.html"&gt;argparse&lt;/a&gt;. Using argparse and some regular Python magic I substituted the original bash script with a Python one both reducing code size (by half) and increasing readability. &lt;/p&gt;
&lt;p&gt;Additionally, I created a set of &lt;a href="http://docs.python.org/2/library/argparse.html#argparse.ArgumentParser.add_subparsers"&gt;sub-commands&lt;/a&gt; to run and test simulations using the code above. Now it is only a matter of running: &lt;/p&gt;
&lt;p&gt;&lt;code&gt;./simulator test projectname &lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Happy hacking! &lt;/p&gt;</description><link>http://ljungblad.nu/post/44058196262</link><guid>http://ljungblad.nu/post/44058196262</guid><pubDate>Tue, 26 Feb 2013 13:16:09 +0100</pubDate><category>python</category><category>programming</category><category>testing</category></item><item><title>Part 1: Unboxing the Ninja Blocks kit</title><description>&lt;p&gt;One of the best things at work is that I get to test and play with a lot of technology. So when &lt;a href="http://ninjablocks.com/"&gt;the Ninjas down under&lt;/a&gt; &lt;a href="http://www.youtube.com/watch?v=geW1rzxBp5M"&gt;announced at Le Web&lt;/a&gt; that they&amp;#8217;re opening up a pre-order of 1000 kits we jumped on the train. The kit, after having had some issues clearing customs, arrived this week. &lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2013-02-13/uyDzlaoesInaCqtbuFyFBworcECrCqykpeJnwcxheADawFsbjsldnrBJAksc/2013-02-12_08.39.05.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2013-02-13/uyDzlaoesInaCqtbuFyFBworcECrCqykpeJnwcxheADawFsbjsldnrBJAksc/2013-02-12_08.39.05.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;/div&gt;
Opening packages is always a bit like Christmas. The Ninja Blocks kit is nicely packaged and comes with the following devices:
&lt;ul&gt;&lt;li&gt;a Ninja Block&lt;/li&gt;
&lt;li&gt;a button (it is in fact a door bell without the soundy function)&lt;/li&gt;
&lt;li&gt;a PIR sensor which detects movement&lt;/li&gt;
&lt;li&gt;a temperature and humidity sensor with its own display&lt;/li&gt;
&lt;li&gt;a magnetic switch&lt;/li&gt;
&lt;li&gt;TP and power cable for the Ninja Block&lt;/li&gt;
&lt;li&gt;and, superbly, a micro-full SD converter for plugging the memory card in your computer&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;What&amp;#8217;s worth noting is that it is only the Ninja Block itself which is custom made, all the other devices are off-the-shelf products that have been made to work with the Ninja Block. To me this is a sound approach. First, the guys don&amp;#8217;t have to spend all their time and money building devices that connect with the Block. Second, there&amp;#8217;s already a plethora of devices out there which does most things you can imagine. And third, they are able to leverage the community to create support for devices for the Blocks since the kit is &lt;a href="https://github.com/ninjablocks/"&gt;open source&lt;/a&gt;. If for some reason there&amp;#8217;s a sensor or actuator missing on the market, build your own! &lt;span style="font-size: 13px;"&gt;There&amp;#8217;s a &lt;a href="http://forums.ninjablocks.com/index.php?p=/discussion/148/working-actuators"&gt;thread in the Ninja Blocks forum&lt;/a&gt; (&lt;a href="http://forums.ninjablocks.com/index.php?p=/discussion/120/dirt-cheap-sensorsactuators-"&gt;and another one&lt;/a&gt;) reporting other devices that works out of the box too. &lt;/span&gt;&lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2013-02-13/DmpyqmhGsrixiEjxDgBuwrufAazrevkjptJieeeaoDHmGaBmyvkiHsxHDvou/2013-02-12_08.25.14.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2013-02-13/DmpyqmhGsrixiEjxDgBuwrufAazrevkjptJieeeaoDHmGaBmyvkiHsxHDvou/2013-02-12_08.25.14.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2013-02-13/rzffvodHchnyEHucEbciejwmyIcwqjcqrFmsqdrJaAvJqemzwzCtucsgwGse/2013-02-12_08.29.35.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2013-02-13/rzffvodHchnyEHucEbciejwmyIcwqjcqrFmsqdrJaAvJqemzwzCtucsgwGse/2013-02-12_08.29.35.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2013-02-13/zhrHDCmzuojkrHjmFuxruhoFoGIeFvFssfzwJqFIzyHwCzJDajCcmxAqnCnt/2013-02-12_08.24.45.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2013-02-13/zhrHDCmzuojkrHjmFuxruhoFoGIeFvFssfzwJqFIzyHwCzJDajCcmxAqnCnt/2013-02-12_08.24.45.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2013-02-13/mcCDekwqvcECenGDkbvJgigzmdJoFsetcdzgdnIGCAmGJAxnJboJJvzjndde/2013-02-12_08.24.55.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2013-02-13/mcCDekwqvcECenGDkbvJgigzmdJoFsetcdzgdnIGCAmGJAxnJboJJvzjndde/2013-02-12_08.24.55.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2013-02-13/bqrHaqlFwtdAybGjscycxvpbedfJFIqChqAAuwuGjrEiCciDuyBJoebbchtv/2013-02-12_08.24.35.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-12_08" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2013-02-13/bqrHaqlFwtdAybGjscycxvpbedfJFIqChqAAuwuGjrEiCciDuyBJoebbchtv/2013-02-12_08.24.35.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;div class="p_see_full_gallery"&gt;&lt;a href="http://ljungblad.nu/part-1-unboxing-the-ninja-blocks-kit"&gt;See the full gallery on Posterous&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Even the Block isn&amp;#8217;t fully custom made, it packs an &lt;a href="http://arduino.cc"&gt;Arduino&lt;/a&gt; and a &lt;a href="http://beagleboard.org/"&gt;Beagleboard&lt;/a&gt; to run communication between the devices (RF 433Mhz) and &amp;#8220;the cloud&amp;#8221;. That in turn means support and strength from two other huge communities.&lt;/p&gt;
&lt;p&gt;Getting everything up and running is almost dead simple. The one exception being that you have to open the Block to read its serial number which is required to pair the Block with your &lt;a href="http://a.ninja.is/born"&gt;Ninja account&lt;/a&gt;. However, the instructions are awesome and easy to follow. Afterwards, pairing devices with your Block is done mostly automatically where you simply have to name them. &lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2013-02-14/DvBvFrBjDCgrvfJuuoAdJfdCnEixpEoosHJyAthaydJolnEcljoJutedtAxi/2013-02-14-09.31-revised.jpg.scaled1000.jpg"&gt;&lt;img alt="2013-02-14-09" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2013-02-14/DvBvFrBjDCgrvfJuuoAdJfdCnEixpEoosHJyAthaydJolnEcljoJutedtAxi/2013-02-14-09.31-revised.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2013-02-14/peDwxniceryGdseffgrajIzmiCutujEaJlutuyAEmzFJqICueyJxGoFlCxiE/Screen_Shot_2013-02-14_at_9.27.56_AM.png.scaled1000.png"&gt;&lt;img alt="Screen_shot_2013-02-14_at_9" src="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2013-02-14/peDwxniceryGdseffgrajIzmiCutujEaJlutuyAEmzFJqICueyJxGoFlCxiE/Screen_Shot_2013-02-14_at_9.27.56_AM.png.scaled500.png"/&gt;&lt;/a&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2013-02-14/zvpdsmfiGsEdAgDupsGyluHwrcEHFHydrCcBFHlHcswGInfmfrFphrdqoniz/Screen_Shot_2013-02-14_at_9.28.13_AM.png.scaled1000.png"&gt;&lt;img alt="Screen_shot_2013-02-14_at_9" src="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2013-02-14/zvpdsmfiGsEdAgDupsGyluHwrcEHFHydrCcBFHlHcswGInfmfrFphrdqoniz/Screen_Shot_2013-02-14_at_9.28.13_AM.png.scaled500.png"/&gt;&lt;/a&gt;
&lt;div class="p_see_full_gallery"&gt;&lt;a href="http://ljungblad.nu/part-1-unboxing-the-ninja-blocks-kit"&gt;See the full gallery on Posterous&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
The fact that Ninja Blocks builds on Arduino is one of the reasons we got a kit. Arduino is being used heavily in research at &lt;a href="http://medea.mah.se"&gt;Medea&lt;/a&gt; and &lt;a href="http://david.cuartielles.com/"&gt;one of its co-founders&lt;/a&gt; also happens to work here. Thus, there&amp;#8217;s a lot of hardware hacking going on and it&amp;#8217;ll be interesting to see what they may do with with the kit while I&amp;#8217;ll stick to investigate the software side. More on that in a future post. 
&lt;p&gt;Happy hacking! &lt;/p&gt;</description><link>http://ljungblad.nu/post/44006826007</link><guid>http://ljungblad.nu/post/44006826007</guid><pubDate>Thu, 14 Feb 2013 09:56:52 +0100</pubDate><category>JustMigrate</category><category>development</category><category>elis</category><category>internet of things</category><category>medea</category><category>ninja blocks</category></item><item><title>Guest lecture: Introduction to software architecture</title><description>&lt;p&gt;University lectures doesn&amp;#8217;t have to be boring. I&amp;#8217;m not saying all are, but during five years of university studies I can count the exceptional lecturers on one hand. So when I was invited to give a guest talk on software architecture I took the bait to do a &lt;span style="font-size: 13px;"&gt;(for lack of a better word) &lt;/span&gt;&lt;span style="font-size: 13px;"&gt;fun lecture.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;My definition of fun&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Mix facts with personal stories and reflections&lt;/li&gt;
&lt;li&gt;Interactive, and this goes beyond just throwing out a question hoping for the good student to reply. For example, I had the students discuss two-and-two their definition of &amp;#8220;the cloud&amp;#8221;.&lt;/li&gt;
&lt;li&gt;Vary pace and content. In this talk the students were only briefly familiar with programming (most of them had a business background) it was important to slow down on the technical details. &lt;/li&gt;
&lt;li&gt;Connect the dots and gradually build up knowledge using a clear and easy to follow structure. &lt;/li&gt;
&lt;li&gt;If there are slides, they visually emphasize the point being made. They are not notes for the students to take away (sorry, but there&amp;#8217;s course litterature and papers for that).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;We learn a lot from listening to people with &lt;a href="http://www.ted.com"&gt;different backgrounds&lt;/a&gt; from our own. In this case I as a programmer presented for a group of business students. I&amp;#8217;m in no way a software architect (although I have some aspirations to one day become one), and there are &lt;a href="http://www.youtube.com/watch?v=x30DcBfCJRI"&gt;people&lt;/a&gt; &lt;a href="http://automotive-sw-architecture.blogspot.se/"&gt;much&lt;/a&gt; &lt;a href="http://www.janbosch.com/Jan_Bosch/Home.html"&gt;better&lt;/a&gt; suited than me to talk about it. However, what I lack in experience I can make up for in connecting with the students and passion for giving fun presentations.&lt;/p&gt;
&lt;p&gt;The slides may not be of any use on their own, but feel free to use them as you wish. They were complemented by substantial scribbling and drawing on a whiteboard to explain examples in a more gradual manner. &lt;/p&gt;
&lt;p&gt;&lt;iframe scrolling="no" margin src="http://www.slideshare.net/slideshow/embed_code/16342364" frameborder="0"&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;div style="margin-bottom: 5px;"&gt;&lt;strong&gt; &lt;a href="http://www.slideshare.net/mljungblad/intro-to-softwarearchitecture" title="Introduction to software architecture" target="_blank"&gt;Introduction to software architecture&lt;/a&gt; &lt;/strong&gt; from &lt;strong&gt;&lt;a href="http://www.slideshare.net/mljungblad" target="_blank"&gt;Marcus Ljungblad&lt;/a&gt;&lt;/strong&gt;&lt;/div&gt;
&lt;div style="margin-bottom: 5px;"&gt;I really think that all university lectures can be fun, even those on topics which are seemingly dull and uninspiring (who thought you&amp;#8217;d have those at uni when you study what you want?). It will take time and lots of practice to achieve, but I&amp;#8217;m convinced that with good examples we can become even better.&lt;/div&gt;
&lt;div style="margin-bottom: 5px;"&gt;&lt;span style="font-size: 13px;"&gt;Students and educators alike should demand more fun. Lectures become so much more awesome then.&lt;/span&gt;&lt;/div&gt;</description><link>http://ljungblad.nu/post/44006826966</link><guid>http://ljungblad.nu/post/44006826966</guid><pubDate>Wed, 06 Feb 2013 14:56:59 +0100</pubDate><category>JustMigrate</category><category>education</category><category>presentation</category><category>software architecture</category><category>university</category></item><item><title>Swedish energy APIs neededToday I write on the Swedish API site...</title><description>&lt;img src="http://24.media.tumblr.com/be7aa98a3798e2596b45a7de1e6603de/tumblr_misp553d941qak04so1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h2&gt;Swedish energy APIs needed&lt;/h2&gt;&lt;p&gt;Today I write on the Swedish API site &lt;a href="http://www.mashup.se/blogg/apier-for-energidata-behovs"&gt;mashup.se&lt;/a&gt; that &lt;em&gt;“better APIs are needed to cater for new types of services based on an increasing number of home automation products entering the market.”&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;It is a call to Swedish energy companies and government agencies to step up to the game and deliver APIs that enables developers to create meaningful services on that data. With products such as &lt;a href="http://new.ninjablocks.com"&gt;Ninja Blocks&lt;/a&gt; (I’ve ordered one for work), &lt;a href="http://www.smartthings.com"&gt;SmartThings&lt;/a&gt;, and &lt;a href="http://www.telldus.com"&gt;Telldus&lt;/a&gt;, we’re able to, in a combination with energy APIs, generate useful insights and suggestions. &lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Förmodligen (förhoppningsvis) finns det fler [datakällor] som bör finnas med i &lt;a href="http://www.mashup.se/blogg/apier-for-energidata-behovs"&gt;listan&lt;/a&gt; och med en snäll spark i baken på energiföretagen och myndigheterna kanske vi till och med ser dem på mashup.se framöver. Med bättre tillgång till energidatan genom APIer är jag övertygad om att vi kan få se riktigt nyttiga och häftiga tjänster för den hårdvara som börjar leta sig ut på marknaden.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Accessible APIs are a necessity to enable the next-generation of energy services. &lt;/p&gt;
&lt;p&gt;Ps. If you’re in Malmö, check out Media Evolution’s &lt;a href="http://www.mediaevolution.se/evenemang/2013/01/seminarium-oppna-api"&gt;seminar on Open APIs&lt;/a&gt; (in Swedish)&lt;/p&gt;</description><link>http://ljungblad.nu/post/44006837448</link><guid>http://ljungblad.nu/post/44006837448</guid><pubDate>Tue, 15 Jan 2013 21:23:00 +0100</pubDate><category>JustMigrate</category><category>api</category><category>energy</category><category>future</category><category>idea</category></item><item><title>Merry Techy Christmas</title><description>&lt;p&gt;Santa is coming to town and all his stack frames are full with geeky goodies.&lt;/p&gt;
&lt;p&gt;The day before Christmas Eve I talked with my grandma using &lt;a href="http://www.skype.com"&gt;Skype&lt;/a&gt;. She got a Samsung Galaxy 10.2 for birthday. Now she&amp;#8217;s eagerly waiting for the introduction to &amp;#8220;Internet&amp;#8221; (read: browsing the web), but is already doing video chats with me and my cousins on Skype, playing &lt;a href="http://en.wikipedia.org/wiki/Solitaire"&gt;Solitaire&lt;/a&gt;, and checking the TV guide through an app. Facebook isn&amp;#8217;t really a priority yet, but hey, in a few weeks who is tagging the latest Christmas photos? &lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;img alt="Farmor_skype" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-12-25/BoflAGhuFhuBkixiktnIcjxGbzotaqaGlwaCsJwlBvmceqteDCbwJAhchefJ/farmor_skype.jpg.scaled500.jpg"/&gt;&lt;/div&gt;

&lt;p&gt;A few hours ealier as we were going from Malmö back to me and my girlfriend&amp;#8217;s hometown we stopped to eat lunch and pick up &lt;a href="http://lewertson.wordpress.com/"&gt;Lisa&lt;/a&gt;&amp;#8217;s grandma Ann-Marie. She enthusiastically explained how she&amp;#8217;s keeping track of &lt;a href="http://www.birthday.se/sok/ort/broby/"&gt;birthdays in Broby&lt;/a&gt; (a very small town in th north eastern corner of Skåne). This intrigued Lisa&amp;#8217;s other grandma and the result&amp;#8230;&lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2012-12-25/cliGzyBuEpDnIHlxGEobozEAHrGggwHGaukrGtzorGkCwJjevAHnfDDcBqdH/grandma_computer.jpg.scaled1000.jpg"&gt;&lt;img alt="Grandma_computer" src="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2012-12-25/cliGzyBuEpDnIHlxGEobozEAHrGggwHGaukrGtzorGkCwJjevAHnfDDcBqdH/grandma_computer.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;/div&gt;
Ann-Marie showing Maud last year&amp;#8217;s Christmas photos on her computer. I was stunned! Ann-Marie who only got her computer a day less than a year ago is writing e-mails, reading the news, and now, introducing other parts of the older generation to the world of technology. Luckily I managed to snap a photo of this historic event. 
&lt;p&gt;Merry Christmas everyone! &lt;/p&gt;</description><link>http://ljungblad.nu/post/44006838450</link><guid>http://ljungblad.nu/post/44006838450</guid><pubDate>Tue, 25 Dec 2012 12:26:00 +0100</pubDate><category>JustMigrate</category><category>education</category><category>future</category><category>nontech</category><category>usability</category></item><item><title>Personality shelfBeen hanging out with friends in Stockholm the...</title><description>&lt;img src="http://24.media.tumblr.com/297cc1abdb312d2e58e56fe17d2f8c89/tumblr_misp5bAoad1qak04so1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h2&gt;Personality shelf&lt;/h2&gt;&lt;p&gt;Been hanging out with friends in Stockholm the last few days and had the great honour of being hosted by my old classmate, the Greek geek, and generally awesome &lt;a href="http://twitter.com/vkalavri"&gt;Vasia&lt;/a&gt;. One morning I snapped a photo of her bookshelf as I think it very beautifully captures a lot about her.&lt;/p&gt;
&lt;p&gt;One of the most awesome gems is Dennis Ritchie’s and Brian Kernighan’s epic &lt;a href="http://www.amazon.com/Programming-Language-2nd-Brian-Kernighan/dp/0131103628"&gt;C Programming Language&lt;/a&gt; in Greek!&lt;/p&gt;
&lt;p&gt;What’s on your shelf? Does it tell your story?&lt;/p&gt;</description><link>http://ljungblad.nu/post/44006845129</link><guid>http://ljungblad.nu/post/44006845129</guid><pubDate>Thu, 20 Dec 2012 08:32:00 +0100</pubDate><category>JustMigrate</category></item><item><title>Opening the Connectivity Lab</title><description>&lt;p&gt;Connectivity Lab Live held during the 7-8 December marked the start of a new prototype lab at &lt;a href="http://www.mah.se"&gt;Malmö University&lt;/a&gt; called &lt;a href="http://connectivitylab.mah.se"&gt;Connectivity Lab&lt;/a&gt;. The goal is to bring research and industry closer together by providing a facility for companies, researchers, and innovators alike to develop prototypes of their ideas. &lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2012-12-10/BfEynrGHcAmjhGtDaaxJvdGtbBndFdzIJAAzsAvjbzuyHsdkAkbxtdcvctzn/DSC_0049.jpg.scaled1000.jpg"&gt;&lt;img alt="Dsc_0049" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-12-10/BfEynrGHcAmjhGtDaaxJvdGtbBndFdzIJAAzsAvjbzuyHsdkAkbxtdcvctzn/DSC_0049.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2012-12-10/eJuHjkJbyciciIvnxlGCHuaAAntaIaBAFjDgIDBCczrEnpgnqvoaJzJmaCaE/DSC_0092.jpg.scaled1000.jpg"&gt;&lt;img alt="Dsc_0092" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2012-12-10/eJuHjkJbyciciIvnxlGCHuaAAntaIaBAFjDgIDBCczrEnpgnqvoaJzJmaCaE/DSC_0092.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2012-12-10/rDwbnEdpAoncpcphFGBstkyGzFexBgJhhoJfuxlHdvFkpulCDBsuncpziibg/DSC_0136.jpg.scaled1000.jpg"&gt;&lt;img alt="Dsc_0136" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2012-12-10/rDwbnEdpAoncpcphFGBstkyGzFexBgJhhoJfuxlHdvFkpulCDBsuncpziibg/DSC_0136.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;a href="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2012-12-10/qxalwzotoqmkokaHrDFIpvHpaHIApsixBheaIyddEnlAamJHhBujCJdoqlfj/DSC_0167.jpg.scaled1000.jpg"&gt;&lt;img alt="Dsc_0167" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2012-12-10/qxalwzotoqmkokaHrDFIpvHpaHIApsixBheaIyddEnlAamJHhBujCJdoqlfj/DSC_0167.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;div class="p_see_full_gallery"&gt;&lt;a href="http://ljungblad.nu/opening-the-connectivity-lab"&gt;See the full gallery on Posterous&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p class="p1"&gt;&lt;strong&gt;Why prototyping? &lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;As LEGO&amp;#8217;s Ralf Voncken &lt;a href="http://bambuser.com/v/3210679"&gt;said in his talk&lt;/a&gt;: &amp;#8220;prototyping is a way of exploring the unknown.&amp;#8221; It is essentially a tool to minimise the number of bad results. Getting it right the first time is hard and, hence, we need ways to easily test out several ideas. As a software developer this is nothing new, we&amp;#8217;re used to throw-away prototypes, pseudo-code, and code artefacts that gets refactored several times before reaching a usable state. The Connectivity Lab, to me, helps bring some of these traits to ideas that require a physical manifestation.&lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;Wearable computing&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;During the event several international speakers were invited to share their insights on prototyping. One such talk concerned wearable computing.&lt;/p&gt;
&lt;p class="p1"&gt;I have a strong prejudice against wearables and wearable computing. It has always been too abstract and &amp;#8220;arty&amp;#8221; for me to appreciate. Often as a result of not knowing how to connect the ideas and prototypes to a scenario which may actually be usable for people like me (or my family for that matter). Thus, I decided to attend a talk on the topic by &lt;a href="http://www.valerielamontagne.com/"&gt;Valérie Lamontagne&lt;/a&gt; (Concordia University) to help sort that prejudice out. Although I will probably never get the grips of &lt;a href="http://en.wikipedia.org/wiki/Haute_couture"&gt;haute couture&lt;/a&gt;, the way Valérie tied fashion, philosophy and wearables together and linked it to the industrial applications made it more clear. For example, I had no idea that car companies are spending millions on research on how to integrate technology in fabric to be used in the seats. Most developments are still for performances and the arts, but I expect that we can see a great deal of progress over the next few years in the area. &lt;/p&gt;
&lt;blockquote class="posterous_short_quote"&gt;We have a different relationship to fabric, it is natural to touch it. If there&amp;#8217;s technology inside, that can make a difference. We wouldn&amp;#8217;t touch a computer screen in the same way.&lt;/blockquote&gt;
&lt;p class="p1"&gt;See some &lt;a href="http://www.3lectromode.com/blog/2012/05/31/smart-fabrics-2012-conference-highlights/"&gt;other applications of wearables in this post&lt;/a&gt; by 3lectromode. &lt;/p&gt;
&lt;div class="p_embed p_image_embed"&gt;
&lt;a href="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2012-12-10/kAkAcDtFeEkohppfaymBkDsolHquHeloGhrltitsIDmEjDbjgDzahBeaqnee/DSC_0478.jpg.scaled1000.jpg"&gt;&lt;img alt="Dsc_0478" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2012-12-10/kAkAcDtFeEkohppfaymBkDsolHquHeloGhrltitsIDmEjDbjgDzahBeaqnee/DSC_0478.jpg.scaled500.jpg"/&gt;&lt;/a&gt;
&lt;/div&gt;

&lt;p class="p1"&gt;&lt;strong&gt;Unexpected highlight&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;To initially great fear I was charged with setting up a Google Hangout between &lt;a href="http://www.studiojuju.com"&gt;Jenn Karson&lt;/a&gt; (Vermont Makers), &lt;a href="http://johncohn.org/"&gt;Dr John Cohn&lt;/a&gt; (IBM Fellow &amp;amp; Vermont Makers) and &lt;a href="http://www.ensmartareplanet.se/author/mikael-haglund/"&gt;Mikael Haglund&lt;/a&gt; (Chief Technologist, IBM Sweden). Everything could go wrong. But it didn&amp;#8217;t! It was a crazy, exceptional, and highly inspirational conversation. &lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;The end&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;It has been great following the development of the event. Marika and Christoffer couldn&amp;#8217;t have done a better job. More than 300 people attended the event and 40 people participated in the hackathon, and the reactions from people attending have been overwhelming. &lt;/p&gt;
&lt;p class="p1"&gt;Let the prototyping begin!&lt;/p&gt;
&lt;p class="p1"&gt;More from the weekend: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.flickr.com/photos/medeamalmo/sets/72157632209635647/with/8259797687/"&gt;Photos on Flickr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://bambuser.com/channel/MEDEA"&gt;Live recordings on Bambuser&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p class="p1"&gt;NB: I work for &lt;a href="http://medea.mah.se"&gt;MEDEA&lt;/a&gt; who runs the Connectivity Lab. I am biased, but everything I write here is solely my own opinions.&lt;/p&gt;</description><link>http://ljungblad.nu/post/44006846336</link><guid>http://ljungblad.nu/post/44006846336</guid><pubDate>Mon, 10 Dec 2012 11:19:28 +0100</pubDate><category>JustMigrate</category><category>conference</category><category>connectivity lab</category><category>medea</category><category>prototyping</category></item><item><title>Making Smart Things</title><description>&lt;p&gt;I tuned in to the &lt;a href="http://www.youtube.com/leweb"&gt;live feed&lt;/a&gt; of &lt;a href="http://leweb.co"&gt;Le Web&lt;/a&gt; today to listen to the CTO of &lt;a href="http://smartthings.com/"&gt;SmartThings&lt;/a&gt;. A company that successfully raised over a million USD on Kickstarter and who&amp;#8217;s vision is to &amp;#8220;add intelligence to everyday things in your world, so that your life can be more awesome.&amp;#8221; Not too dissimilar to the research project I&amp;#8217;m currently working in. Except, we try to make everyone&amp;#8217;s life more awesome and not only your own. &lt;/p&gt;
&lt;p&gt;Watch the talk below.&lt;/p&gt;
&lt;p&gt;&lt;iframe src="http://www.youtube.com/embed/ZDMqWD_2Okg?wmode=transparent" allowfullscreen frameborder="0"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;I haven&amp;#8217;t written much about my new work here yet, but in short: I make software happen in a research project looking at how we can use connected devices and (great) software to optimise our energy consumption in existing buildings. The project is informally called &lt;a href="http://medea.mah.se/2012/11/elis-mobile-services-for-energy-efficiency-in-existing-buildings/"&gt;Elis&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are some interesting takeaways from the talk (and its enjoyable to watch as well):&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Community awareness: it is not enough to just develop cool technology, people have to use it as well if you&amp;#8217;re to succeed. If you dwelve into the research of smart home and ubiquitous computing in general, too often you will find that research forget what the user really wants and needs. The &lt;a href="http://memoto.com"&gt;life-logging company Memoto&lt;/a&gt; is also great at community building.  &lt;/li&gt;
&lt;li&gt;Speaking to all stakeholders: the consumers, the makers, and the developers. It has to solve a problem for the user. Hobbyist and manufacturers must be able to integrate with SmartThings (i.e buildling a hardware and software eco-system), and in addition, giving developers access to create their own applications and adaptations. Now you can finally add that &lt;a href="http://fuckyeahinternetfridge.tumblr.com/"&gt;connected fridge&lt;/a&gt; of yours. Their, admirable, goal is that it should be as easy to install an application on your connected devices as it is to install an application on your iPhone. &lt;/li&gt;
&lt;li&gt;The physical graph: a term that seems to become more and more frequent in the Internet of Things community. &lt;a href="http://www.evrythng.com/"&gt;Evrythng&lt;/a&gt;, a Swiss/Brittish company, is attempting a similar stand: to become the Facebook for connected devices. As PhD student &lt;a href="http://twitter.com/fohlin"&gt;@fohlin&lt;/a&gt; said &amp;#8220;I&amp;#8217;m not sure where I stand on this.&amp;#8221; Neither am I since many architectures from a communication standpoint tend to involve a fixed, proprietary, centre. This brings me to the next point.&lt;/li&gt;
&lt;li&gt;Creating lock-in: it is apparent that SmartThings want their consumers, makers and developers to contribute to the SmartThing cloud. But what if I want to extract data from it? Or more likely, integrate SmartThings with other devices in my home? We&amp;#8217;re back to the question of federation and standards. This lock-in question is something we&amp;#8217;re particularly interested in our research work when considering the platform upon which services are built. Might get back to that in a later blog post. &lt;/li&gt;
&lt;li&gt;Running a live-demo: AWESOME! That takes courage and shows their stuff work. I love it! &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I&amp;#8217;m impressed with what &lt;a href="http://smartthings.com"&gt;SmartThings&lt;/a&gt; are doing and how they are engaging &lt;a href="http://build.smartthings.com"&gt;the community&lt;/a&gt;. Their work is important to open up for future businesses so that we may unleash the full potential of connected devices. It&amp;#8217;ll make it easier for consumers to accept devices that help optimise our energy consumption. &lt;/p&gt;</description><link>http://ljungblad.nu/post/44006847332</link><guid>http://ljungblad.nu/post/44006847332</guid><pubDate>Tue, 04 Dec 2012 18:24:00 +0100</pubDate><category>JustMigrate</category><category>internet of things</category><category>medea</category><category>presentation</category></item><item><title>Culture shock within</title><description>&lt;p&gt;&lt;p class="p1"&gt;That&amp;#8217;s exactly what happened this morning when &lt;a href="http://xdin.se/"&gt;XDIN&lt;/a&gt; (a Swedish IT consultancy company) held a breakfast seminar at &lt;a href="http://foocafe.com/"&gt;FooCafé&lt;/a&gt; in Malmö entitled &amp;#8220;Embedded meets the Cloud.&amp;#8221; &lt;/p&gt;
&lt;p class="p1"&gt;After two years studying the intricacies of the so called cloud and classifying myself as a fairly adept user of so called cloud services, I was keen to know more about the embedded world&amp;#8217;s view on this acclaimed future. So what&amp;#8217;s new in this mix?&lt;/p&gt;
&lt;p class="p1"&gt;EVERYTHING! &lt;/p&gt;
&lt;p class="p1"&gt;Or so it seems. The level at which the presentation was delivered was not at all what I expected. A pre-introduction to the cloud, its benefits, disadvantages, and possible alternatives. Why did I leave bed at 7am to listen to this? &lt;/p&gt;
&lt;p class="p1"&gt;As a systems guy, perhaps my view of the world is too restricted? Perhaps &lt;a href="http://www.kth.se/en/studies/programmes/em/emdc"&gt;EMDC&lt;/a&gt; trained me to solve problems according to one paradigm only? Perhaps I&amp;#8217;m just living on the cutting-edge? We take the cloud for granted, using it whenever applicable. Or always(!). &lt;/p&gt;
&lt;p class="p1"&gt;After the initial shock settled, these are some of the takeaways: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The potential of connected devices is at its extremely early days. It is barely embryonic. &lt;/li&gt;
&lt;li&gt;Building complex hardware solutions are tricky and there&amp;#8217;s a lack of talented people able to tackle these programming tasks. Moving intelligence to the cloud is a way of circumventing the lack-of-people-problem as it tend to be easier to develop software when you have &amp;#8220;unlimited&amp;#8221; resources. &lt;/li&gt;
&lt;li&gt;Service License Agreements are everything. These are probably the largest obstacle to adoption. Policies and standardisations for organisations to lean on (however boring they may sound) are a pre-requisite.  &lt;/li&gt;
&lt;li&gt;There is a lack of experience amongst the classical IT-departments connecting small devices directly to the Internet. &amp;#8220;It doesn&amp;#8217;t look like a PC, it must be a security risk.&amp;#8221; This may not be as big of a problem on an individual level as on an organisational level. &lt;/li&gt;
&lt;li&gt;We need more talks like this to bridge and learn from each other within our own industry. &lt;/li&gt;
&lt;/ul&gt;&lt;p class="p1"&gt;&lt;em&gt;Note: I use the term &amp;#8220;cloud&amp;#8221; too broadly in this text, feel free to beat me up later. &lt;/em&gt;&lt;/p&gt;&lt;/p&gt;</description><link>http://ljungblad.nu/post/44006848308</link><guid>http://ljungblad.nu/post/44006848308</guid><pubDate>Thu, 29 Nov 2012 10:25:00 +0100</pubDate><category>JustMigrate</category><category>cloud computing</category><category>embedded</category><category>foocafe</category><category>internet of things</category></item><item><title>Nailing that thesis</title><description>&lt;p&gt;&lt;p class="p1"&gt;Recently I&amp;#8217;ve got a few questions along the lines &amp;#8220;How did you know what you wanted to work on for your thesis?&amp;#8221; &amp;#8220;Where can I find thesis topics?&amp;#8221; and &amp;#8220;How did you find your thesis position?&amp;#8221;&lt;/p&gt;
&lt;p class="p1"&gt;Needless to say, there&amp;#8217;s no one recipe. This is roughly what worked for me.&lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;Narrowing in on a topic&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;First step is discovering what you want to work on. For me that meant exploring areas of work that I found interesting or could see myself working with in the future. Previous project work and courses serves as excellent starting ground. Which projects did you particularly enjoy? &lt;/p&gt;
&lt;p class="p1"&gt;Limit yourself to two or three areas. Too many will make you see the forest but not the trees, and it is those that you need to focus on. &lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;Finding options&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;This depends a lot on whether you want to pursue an academic or industrial career directly after your degree. As far as I understand PhD applications, getting a publication improves your resume significantly. &lt;/p&gt;
&lt;p class="p1"&gt;Industry, however, is an altogether different matter. There are the types of thesis offers you don&amp;#8217;t want and those that you do want. Those you don&amp;#8217;t want are usually spotted as &amp;#8220;We want you to implement this feature&amp;#8221; or &amp;#8220;Help us choose between X and Y&amp;#8221;. While they might increase your chances of getting a contract with that particular company, they tend in my opinion to be too narrow-focused. &lt;/p&gt;
&lt;p class="p1"&gt;Start, as usual, with your contact network. Don&amp;#8217;t be afraid to contact those you only briefly. If you feel that your professional network is small, one way increasing it and of getting exposed to many companies is to attend conferences, breakfast seminars, hackathons, open after work sessions or similar networking events. All encounters shouldn&amp;#8217;t (and won&amp;#8217;t) result in thesis opportunities, but they may open doors to ideas. Hence, this process is also a part of narrowing in on a topic. &lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;Getting a position&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;Once you have an idea of the topic (or topics) that you are willing to spend six months of your time working, beating, and tearing your hair apart for it is time to get concrete. There is no such thing as getting the perfect offer without some work. No one will come to your doorstep and hand you a finished thesis proposal.&lt;/p&gt;
&lt;p class="p1"&gt;Applying differs from case to case. If you have a contact at the company, I would e-mail that person first. If he or she finds it relevant your request will be forwarded to the appropriate authority. If you don&amp;#8217;t have a clear entry-point, try to find the person or team in charge of recruitment. They will know who to ask to evaluate your request. &lt;/p&gt;
&lt;p class="p1"&gt;So what do you include in an initial request? Things like a short background, if appropriate maybe a reference to where you met, and why you are contacting them should be obvious. Ending on a note &amp;#8220;Do you have any thesis offers?&amp;#8221; usually doesn&amp;#8217;t ring too well though. It is crucial that you show interest in the company and a topic &lt;em&gt;which may also be interesting to them.&lt;/em&gt; Make a little background research: what technology does the company work with? Do they have presentations from tech-conferences that you can use to make a case? Do their product suck!? Give them one or two examples of topics that you would like to work on. The topics should clearly reflect your interests. Whether you want to include a CV or not is entirely up to you. Reading your e-mail shouldn&amp;#8217;t take more than 45-60 seconds though. And (!) put a clear descriptive title to your e-mail and don&amp;#8217;t make silly spelling mistakes. &lt;/p&gt;
&lt;p class="p1"&gt;Making an initial request empty-handed shows laziness from your side. Then you could equally apply for a &amp;#8220;help us implement this feature&amp;#8221; type of thesis instead. Getting a good thesis involves you doing some hard work. That cannot be avoided. &lt;/p&gt;
&lt;p class="p1"&gt;Since you won&amp;#8217;t know the company as well it is &lt;em&gt;highly&lt;/em&gt; likely that they will change your proposals. It can be radically, or less so. But be prepared to hold a dialogue and straighten out question marks before you begin working. Remember it is for both your and their sake. &lt;/p&gt;
&lt;p class="p1"&gt;Also remember that some companies have screening processes also for thesis applicants. At Tuenti that included a code test and three phone interviews, plus additional discussions on defining the topic itself. &lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;Offer in hand&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;It can be hard to evaluate if an option is interesting or not. Before you begin contacting companies and making a proposition it is good to define some metrics on which you will evaluate their potentially positive reply. Some of the ones I considered were: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;What depth of work is included? &lt;/li&gt;
&lt;li&gt;What are the company&amp;#8217;s expertise in the area? &lt;/li&gt;
&lt;li&gt;Will whatever I implement/research have a chance for production usage? &lt;/li&gt;
&lt;li&gt;Do I need a publication in the end? &lt;/li&gt;
&lt;li&gt;How important is location?&lt;/li&gt;
&lt;li&gt;Do they offer an office space? &lt;/li&gt;
&lt;li&gt;Will I be involved with other people in the company? &lt;/li&gt;
&lt;li&gt;Do they pay a salary/bonus? &lt;/li&gt;
&lt;li&gt;What are my future employment chances?&lt;/li&gt;
&lt;li&gt;Who will be my supervisor? &lt;/li&gt;
&lt;li&gt;Do I get to learn something new? &lt;/li&gt;
&lt;li&gt;Will this be fun? &lt;/li&gt;
&lt;/ul&gt;&lt;p class="p1"&gt;They are listed in no particular order here, some may be more relevant than others though. Think about what matters to you. &lt;/p&gt;
&lt;p class="p1"&gt;&lt;strong&gt;In conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p class="p1"&gt;Summary: try to limit your search to a few areas, explore your network (work on enlarging them), make contact with concrete examples, and define your criteria for accepting an offer. &lt;/p&gt;
&lt;p class="p1"&gt;There is no one formula for how to &amp;#8220;find a thesis&amp;#8221; but these thoughts have been part of my replies lately and helped me find my thesis. &lt;/p&gt;
&lt;p class="p1"&gt;What are your thoughts and best ideas for finding a thesis? &lt;/p&gt;
&lt;p class="p1" style="text-align: right;"&gt;&lt;em&gt;All it takes is 20 seconds of courage.&lt;/em&gt; &lt;/p&gt;&lt;/p&gt;</description><link>http://ljungblad.nu/post/44006849603</link><guid>http://ljungblad.nu/post/44006849603</guid><pubDate>Sat, 10 Nov 2012 16:34:15 +0100</pubDate><category>JustMigrate</category><category>academia</category><category>networking</category><category>thesis</category></item><item><title>Command line tools in OS X Mountain LionEveryone developer once...</title><description>&lt;img src="http://25.media.tumblr.com/1987ff6405c8ac7550137f543c8d759f/tumblr_misp5nEqlZ1qak04so1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;h2&gt;Command line tools in OS X Mountain Lion&lt;/h2&gt;&lt;p&gt;Everyone developer once in a while need &lt;em&gt;make&lt;/em&gt;. Previously in OS X a set of command-line tools were installed by default with XCode. However, since Lion or some version of XCode it seems this has changed.&lt;/p&gt;
&lt;p&gt;You can install automake, gcc, and other command-line tools through XCode. Open Preferences, go to the Download tab, click install Command line tools. &lt;/p&gt;
&lt;p&gt;Why change the defaults Apple? &lt;/p&gt;</description><link>http://ljungblad.nu/post/44006862256</link><guid>http://ljungblad.nu/post/44006862256</guid><pubDate>Tue, 16 Oct 2012 10:59:00 +0200</pubDate><category>JustMigrate</category><category>development</category><category>tools</category><category>xcode</category></item><item><title>Interviewing with Tuenti</title><description>&lt;p&gt;Here&amp;#8217;s a short summary of the code test and three following phone interviews I had with &lt;a href="http://tuenti.com"&gt;Tuenti&lt;/a&gt; where I wrote my master thesis &lt;a href="http://thesis.ljungblad.nu"&gt;Online recommendations at web-scale using matrix factorisation&lt;/a&gt;. Many people have asked me about this, so when my classmate asked me recently I thought I&amp;#8217;ll try to write down what I remember of it.&lt;/p&gt;
&lt;p&gt;I have mixed opinions about interviews like this (food for another blog post). In general I can say though that I didn&amp;#8217;t really expect the thoroughness when I applied for a thesis position.  &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. Code test&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This was conducted before any interviewer was involved and used to screen potential recruiting material (me) before bothering the technical recruiters in the organisation. &lt;em&gt;If you cannot code there&amp;#8217;s no point working for us.&lt;/em&gt; The exercise is time limited to two hours and is, I believe, for most of us unreasonable to complete in that time. Essentially it is a tree-implementation with some special rules applied to how sub-trees are handled and moved. I enjoyed it. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Algorithms and data structures&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;As might be expected the first interview focused on a general computer science / programming experience. Very little time (out of the 45 minutes) were spent on things that I had done in the past. Questions included: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;What is the difference between an array and a linked list? How would you implement the latter? When would you use the first? &lt;/li&gt;
&lt;li&gt;You&amp;#8217;re in the middle of a maze, explain an algorithm to find your way out.&lt;/li&gt;
&lt;li&gt;Explain how merge-sort works. &lt;/li&gt;
&lt;li&gt;In a 2-dimensional space, how would you find the K-closest points to (0,0) if there are 1 million points in the grid? &lt;/li&gt;
&lt;li&gt;In a project where you realised you wouldn&amp;#8217;t be able to deliver on time, how did you do? &lt;/li&gt;
&lt;li&gt;What did you think of the programming exercise? &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;At the end of the interview I could ask questions myself. However, since I this was the first time I&amp;#8217;ve ever done anything like this I was too nervous to come up with anything sensible. In the end I think I asked for example on previous thesis work that has been conducted at Tuenti. No feedback from the interviewer was provided, so it was hard to tell how it went. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. The stack&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The second interview was slightly shorter than the first one since the interviewer had other meetings to attend. This interview was more personal and connected with my CV a lot more, but also contained broader technical questions. Questions included: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;What was your role with the World Scout Jamboree? What problems did you encounter and how were they solved? &lt;/li&gt;
&lt;li&gt;What did you do at Ericsson? What type of product did you work on? &lt;/li&gt;
&lt;li&gt;Describe a hard problem you&amp;#8217;ve solved and how you tackled it.&lt;/li&gt;
&lt;li&gt;In as much detail as possible, explain what happens from the point that you enter a web address like &lt;a href="http://www.google.com"&gt;&lt;a href="http://www.google.com"&gt;http://www.google.com&lt;/a&gt;&lt;/a&gt; in your browser to displaying the result.&lt;/li&gt;
&lt;li&gt;What are the constituents of the HTTP header? &lt;/li&gt;
&lt;li&gt;How does HTTP caching work?  &lt;/li&gt;
&lt;li&gt;Do you know javascript? What is OOP difference between javascript and Java?&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Similarly to the first, this interview also ended with the possibility to ask questions. In general I was a lot less nervous this time and the interviewer provided more feedback on his impression. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;4. Distributed systems&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The last, in my case, interview was more of a discussion rather than strictly technical or experience-based questions. During the 45-minute interview only two or three questions were handled. The first one taking the majority of the interview. &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We&amp;#8217;re building a system which is to store and deliver messages between a multitude of clients, some mobile, some not. If a client is not online, the message will be delivered later. How would you build this? &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;As I started to outline the general architecture, the interviewer asked more questions, asked me to explain certain parts in more detail, and so forth. For example: &lt;/p&gt;
&lt;ul&gt;&lt;li&gt;We now have 10 million users, how do you handle that? &lt;/li&gt;
&lt;li&gt;What type of storage would you use and why? &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;One other question related to memory allocation (I don&amp;#8217;t remember it exactly) and one was similar to the sorting question asked in the first interview.&lt;/p&gt;
&lt;p&gt;Also here there were no immediate feedback from the interviewer. I was happy with it though as most questions were close to what we had studied. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;There&amp;#8217;s nothing wrong with saying: &amp;#8220;I&amp;#8217;m not familiar with that technology or not knowing the answer directly.&amp;#8221; For example, I had no experience with Javascript and had no way of describing the difference between those two OOP models. &lt;/li&gt;
&lt;li&gt;Most questions were designed to let you think and reason, they prefer if you do it out loud. &lt;/li&gt;
&lt;li&gt;When I had a hard time formulating my ideas over the phone I got a minute or two to jot down a solution on paper. I don&amp;#8217;t remember which question this was unfortunately. &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;All in all, it was a good learning experience. And totally worth the pain of being nervous for interviews. Tuenti was an awesome place to do a thesis at. &lt;/p&gt;</description><link>http://ljungblad.nu/post/44006863630</link><guid>http://ljungblad.nu/post/44006863630</guid><pubDate>Sun, 30 Sep 2012 13:44:00 +0200</pubDate><category>JustMigrate</category><category>interviews</category><category>tuenti</category></item></channel></rss>
