It’s always a bit upsetting when I experience that people don’t know concepts related to software development that I think are very common, because lacking knowledge about these “details” can lead to big misunderstandings.
I prefer to think that it’s my fault, our fault as an industry, not theirs fault, so here we go with a semi-random choice of fundamental concepts about software development process.
I’d like to talk about these topics distilled from my past and present experiences (yeah, more than 20 years…) in a way that’s “less about making the decisions and more about decision-making” (to cite my good friend Matt, ourbeloved CEO).
What I’m going to explain should be placed especially in the context of a startup, where time and resources are never enough by definition, much more than in a corporate context.
This post is directed mainly to managers and other people that have little or no experience with software production, but could also be useful to all young developers.
I’m going to be very practical, too (I’m not up to the task for theory, go find some good books about it.)
Here at CrowdEmotion one important tech topic is capturing video in the most efficient way: we must be very careful about the quality of capture process, as on it depends part of the accuracy of our analysis processes.
On desktop web platforms the obvious choice is between Adobe Flash and, quite recently, HTML5.
Why bother to find something different from Flash? I’ll not add anything to what someone way more authoritative than me wrote on this topic; the conclusion is simply that HTML5 is the way to go for a number of very good reasons.
Currently, we use a 3rd-party Flash-based solution and we are fairly satisfied with it, but we need to do more, be more flexible. We already started experimenting with Flash development (with Haxe to try to work with open tools) and open source RTMP video servers (Wowza, Red5), but in any case you’re limited by the closed Flash platform.
One simple question first before going on more on HTML5 capture: why Google Hangouts does not yet run on HTML5 and relies instead on a native plugin?
Quick answer: because HTML5 real-time communication stack, called WebRTC, even if feature-complete, seems definitely too young to be adopted for a mainstream & strategic product like Hangouts.
Something weird and unexpected happened lately: the big Amazon cloud failed. Anyone on any media is talking about it, and everyone is communicating just this sense of surprise.
Wait a second and let’s ask to ourselves: why is it weird and unespected that AWS failed? The cloud is something human, so it has failed, as expected, and will fail again. By the way, I am sure that it failed a number of times in the past, but the failures weren’t so big to be noticed like the last big event. Continue reading Cloud Demystification
The “URL shortener” concept is very simple: take an URL and transform it into another (shorter) URL, then use redirection to go back to the first URL. So what’s the deal? Continue reading URL Shortening
Everyone is aware of the problem of discovering the causes of a bug when it’s only present in one environment and, if it’s Production, the problem is even bigger, even if you have a solid error logging system in place.
Recently we faced this same situation and we didn’t have any clues to help us, only that the w3wp process was dying and the ASP.NET session remained locked. After some thought, we arrived at the conclusion that there was an infinite loop somewhere, and we had a vague idea of the “zone” of code where this was happening, but we couldn’t reproduce it in any other environment even after several hours of testing.