For those weird few who, like me, have a fetish for the world of virtual machines and memory management, Michael Robert Bernstein has written a very interesting post about the problems and possible solutions to the problem of performing automated garbage collection while maintaining real-time guarantees in a system. Interestingly, the conclusion describes a situation that has become a de facto mode of production with most non-real-time garbage collectors due to the nondeterministic or generally wasteful nature of many virtual machines:
Just to remind you that I'm not lying, Real-Time Garbage Collection is real, and this is not magical: there are trade-offs to be made. In order to be able to provide a consistently scheduled amount of memory, we have to ease off on our requirements for space bounds - our running programs may exceed the amount of space we want them to take (but not the amount of space that we estimate they could possibly take).
June 6, 2013 | Permalink →
I've long been a strong opponent of the populistic perception of the "global warming" issue as popularised by former would-have-been president, Al Gore, in his efforts to return himself to societal relevance. This of course peaked in the production of what is now perceived the "one truth" about global warming — An Inconvenient Truth — in which carbon dioxide is blamed as the root cause. My biggest issue with this is, that it's clearly a direct result of the 70's lobbyism in favor of the cheaper yet less publicly acceptable nuclear power, which also means that it neglects thousands of years worth of understanding of the environment — including hundreds of years of actual scientific research.
However, it now seems like tides are finally turning in favor of scientific sanity. Recently, the discussions and research work being done in this area have become far less polarized. An example of this is a research paper from the University of Waterloo concisely titled "Cosmic-ray-driven reaction and greenhouse effect of halogenated molecules: culprits for atmospheric ozone depletion and global climate change" which was recently published in the International Journal of Modern Physics B. The gist of the paper is a welcomed return of the theory of cosmic radiation combined with CFCs being the actual root cause of the global temperature deviations we're currently experiencing. Oh, and according to Phys.org, surprisingly, this theory is statistically superior:
The peer-reviewed paper published this week not only provides new fundamental understanding of the ozone hole and global climate change but has superior predictive capabilities, compared with the conventional sunlight-driven ozone-depleting and CO2-warming models.
I love it when my faith in humanity is restored on a Sunday evening.
June 2, 2013 | Permalink →
I've always believed, mostly inspired by personal experience in working with very intelligent people, that there is a direct correlation between quantifiable logical intelligence and almost autism like traits such as the ability to focus very intensely on one subject while completely losing attention and control of mostly anything else while doing it. While I've never actively looked, a recent Ars Technica article about the results of a research paper about in the correlation between IQ and focus seems to be the first concrete piece of evidence backing up my personal theory with a reasonable albeit somewhat sought explanation:
Although we think of this in terms of ignoring background distractions and focusing on a task, the authors suggest that what we're really seeing is two things competing for the same mental resources in a brain's visual processing system. One of them is trying to figure out what our conscious brain needs to be aware of and what it can ignore. That's sharing time with whatever part of the brain is trying to identify motion in the scene. In this view, those who score higher on IQ tests tend to give more time to the process that filters out background visuals that we don't have to distract our conscious thoughts with.
I'm among the people who'll have his tongue hanging out of his mouth and his foot tapping rhythmically when trying to solve a difficult problem — and while people love commenting on it as much as they hate trying to work around me, I can now at least be a dick and say "a paper says that this may be related to me actually being intelligent."
May 30, 2013 | Permalink →
I'm appalled and amazed at the same time. I'm apmazed. It's not even a word, but I think a situation like this requires the invention of new words, although harsher ones are probably more fitting. You see, after an amazing DjangoCon Europe, I arrived home to a few odd Skype messages from Guan Yang with a dead link to his blog (http://guan.dk/skypetest) and a comment saying "let's see if they crawl this."
Today, Guan explained the reason for the weird link; an alleged back door in Skype has been discovered, in which Skype or Microsoft will make an HTTP HEAD request to any link exchanged in Skype chats. While both the author of the above mailing list post, Adam Back, and The H Security have confirmed the back door, I was still shocked when Guan later dumped the following from his access log:
65.52.100.214 - - [20/May/2013:13:04:11 +0000] "HEAD /skypetest HTTP/1.1" 404 - "-" "-" "guan.dk" "guan.dk"
Performing a reverse lookup of the requesting IP address returns an AS number, AS8075, which Microsoft have been the proud owners of since 1997. According to The H Security, Skype responded with the following explanation for the behaviour to the German security company, heise online:
"Skype may use automated scanning within Instant Messages and SMS to (a) identify suspected spam and/or (b) identify URLs that have been previously flagged as spam, fraud, or phishing links."
While the above legalese may indeed legally justify the request, I as a user feel absolutely violated that a large corporation like Microsoft will take links that I send in all privacy to my friends and make requests to the same URLs. Worst of all, under the pretence that all Skype communications are encrypted, I'm pretty sure that a fair number of sensitive URLs have been exchanged over the years. It wouldn't be a far fetched thought for someone to have constructed a, say OAuth 2.0-esque URL which, when requested, would result in the deletion of a resource, as an example to a colleague. Many web servers do not distinguish between HEAD and GET or even POST requests, so, Microsoft's behaviour alone may actually wreck havoc. And I'm pretty sure, that this is even a way too complicated example of how this could be abused, especially considering how arbitrary tokens are thrown around these days. I know that you should always do things perfectly and securely, but, as the world has proven time and time again, no one ever does. Microsoft, of all people‚ should know this, which makes their actions even more apmazing and disgusting at the same time.
We all feared that Microsoft taking over Skype would have dire consequences. Yet, despite ever decreasing service quality, I've so far continued to use Skype, in the hopes that it was "just" pure neglect — something that is at times fixed with declining user numbers scaring executives into picking up the ball. But, as Microsoft has now proven, and has been pointed out by numerous rights movements in an open letter to Skype, our worst fears have become reality. Microsoft have absolutely no good intentions, or at least none which are backed by morals, and so they have now effectively ruined Skype.
My time as a Skype user is coming to a grinding halt as soon as I find a completely end-to-end encrypted alternative — and, for your own sake, I seriously hope that you consider going down the same path.
May 20, 2013 | Permalink →
Brad Frost has written an extremely interesting post on "performance as design". While his post is limited in scope to frontend web development, he makes a point that I feel applies to development across the board:
The road towards better performance doesn’t start with developers or technology stacks (though I’m certainly not suggesting those things are unimportant). It begins with a shared interest on everyone’s part in making a product that’s lightning fast.
The current trend in web development is to build something as quickly as possible without giving much attention to performance in any shape or form. Once things start to slow down, you fumble and replace bits and pieces until it's all fast and stable again — hence the stupid startup metaphors of building a plane in free fall or whatever. Twitter is the perfect example of this with their years of Fail Whales as they approached stability which used absolutely none of those hot, trendy technologies they started out with. But, even with lessons like Twitter, the trend persists. Anyone who dares go against it by having performance considerations during the initial design process are often shamed for being "premature optimisers" and told to go figure out their product before they even consider making it fast.
The thing is, though, as Brad Frost so brilliantly points out, performance is integral to a product and thus also its design. As design is to quite an extent a reflection of the culture that created it, performance thinking is by proxy integral to a culture that creates a great product. The "lean" club of non-optimizers are ruining product design by culturally neglecting one of the single most important user experience aspects of all; speed. Don't agree? Think about the last time you actually saw "fast as an afterthought" working in practise before you pull the "premature!" card next time.
April 30, 2013 | Permalink →