Coffee, IT and music therapy
Tech
Code isn’t perfect
Jan 9th
I hate it when people bash programs because they have bugs; you know what, it’s hard as hell to write software and it’s impossible to write perfect code!
Heck, even the common Hello World! has issues. Let’s take for example:
#include <stdlib.h>
#include <stdio.h>
void main(int argc, char **argv) {
printf("Hello World!\n");
}
Someone forgot to check their return values (the standard is int main and not void main), things aren’t localized, and it will randomly trap on exit on some platforms. And, it is as published 20 years ago in a typical C textbook.
And this is just a small sample, imagine a codebase of million lines of code.
A good read about secure coding practices is the Microsoft Security Development Lifecycle; it’s entire purpose it to make code as secure as engineering practices know how to accomplish. You can download it from here.
A bit on math
Dec 24th
Here’s a little secret they don’t teach in school: there is no One True Mathematics. Math is nothing but a long series of if-then statements. All branches of math start from axioms which are completely arbitrary. Using different mathematical assumptions to model a real-life problem can prove more or less helpful; mathematical terminology can be used or abused; but axioms themselves can never be called true or wrong.
Over time, people have figured out which axioms are convenient for solving large classes of problems. This leads some to prove more & more corollaries under that system. More >
“I want to be a computer programmer”
Dec 13th
I love it when people talk about programming in general and throw coders in just one pot and let them slowly boil without having even a basic understanding on some concepts behind the whole writing code experience.
First of all I want to make a distinction between “computer programming” and “software engineering”: the former can write code while the latter can engineer it. The analogy I’d use to describe the scope is “construction worker vs. architect,” except in this case the construction worker is also white collar.
While a computer programmer can churn out lines of code one after another he doesn’t know concepts such as analysis of algorithms, Big O notation or even software profiling. You can at an extreme think of this guy as a code monkey.
There’s a priceless look some give when other start talking about the various frameworks and concepts they’re working with. (SOA? Web services? SOAP?)
I guess what I’m saying is that there are various levels of “programmer”, and you might want to consider what kind of programmer you’re interested in becoming. It’s a pretty broad category. More >
Why I chose .NET
Dec 11th
From time to time I run into a forum post or tweet in which someone asks what language is a good one to start programming. All replies usually make good points about a language or another – be it Python, Java, C# or what have you – when it comes to how easy the language is to learn, how concise or beginner friendly it is, but one element that I rarely see mentioned in language choice is developer communities.
When I was faced with choosing a language on which to concentrate I was in the exact situation as the people mentioned above. I made the decision to go with Microsoft/.NET and I think this has been one of the best moves I ever made. More >
Super Meat Boy dev mode
Dec 4th
While waiting for the level editor for Super Meat Boy which will be released sometime in January next year we can still create and edit levels in the game using the developer mode.
To enable it -devmode needs to be added the the launch options of the game which then allows the user to use the editor by pressing F1; pressing F1 again exits the editor and places the player in the level level. More >
Push to hub, bub
Oct 26th
If you find the title strange just take a look at the address bar and you’ll see what I’m going to talk about.
I read a lot of websites and to make following them easier I subscribe to a lot of RSS feeds; I know that this may sound quaint when the fashion is to just follow the website on Twitter and get instant updates¹ instead of waiting for the feed reader (in my case Google Reader) to poll the server to see if anything new is posted, but using an RSS reader has one major advantage over Twitter: I can read them any time and choose for myself which items get marked as read or not since on Twitter they buried under more and more new content. More >
Apple, Java, and the App Store
Oct 21st
Apple released an interesting update for its version of Java mentioning that at this point the Java platform is considered deprecated and that it may not be part of future Mac OS releases.
As of the release of Java for Mac OS X 10.6 Update 3, the version of Java that is ported by Apple, and that ships with Mac OS X, is deprecated.
This means that the Apple-produced runtime will not be maintained at the same level, and may be removed from future versions of Mac OS X. The Java runtime shipping in Mac OS X 10.6 Snow Leopard, and Mac OS X 10.5 Leopard, will continue to be supported and maintained through the standard support cycles of those products.
This is concerning because at this current time Apple’s implementation is the only one available for the Apple platform which means that users reliant on Java could be stuck in limbo once support drops. More >
Army of Awesome – a small problem
Oct 20th
Mozilla recently launched a new initiative called the Army of Awesome which aims to help users with Firefox problems and questions by providing an easy way for other users to answer them; I find this to be a nice effort that works well within the “by the community for the community”/crowdsourcing thing Mozilla has going on. More >
The trash issue
Oct 18th
I think we’ve all seen it before, especially the ones that had to do tech support at one time or another: users deleting their emails and then having a fit when the deleted items gets automatically purged.
On one hand I can relate to the user while on the other I can’t stop to think what the heck where they thinking when trying to store files there? Do you usually store your important printed documents in the trash can you have near to your desk? More >
bit.ly URL shortening in Mystique
Jul 7th
As you can see, this blog is using the Mystique theme; one of the nice aspects of it is that on a post page it gives you the option to share the article via a number of websites, including Twitter. To do so it shortens the URL but uses TinyURL by default, a service I for one am not a great fan of.
I am a fan of bit.ly though, and as such I’ve modified the function that does the URL shortening to use bit.ly instead of TinyURL. More >