21 Feb

Mailinator(tm) Blog – How Mailinator compresses email by 90%

Given the title of this article, the first thing that should pop into your mind is probably – “well, use a compression algorithm – right?”.

Right! Well, yes, well, not exactly. Read on.

via Mailinator(tm) Blog – How Mailinator compresses email by 90%. A fun journey through algorithms to find a solution to getting some awesome compression stats.

27 Sep

Vivek Haldar – Size is the best predictor of code quality

A long paper trail of software engineering studies has shown that many internal code metrics (such as methods per class, depth of inheritance tree, coupling among classes etc.) are correlated with external attributes, the most important of which is bugs. What the authors of this paper show is that when they introduce a second variable, namely, the total size of the program, into the statistical analysis and control for it, the correlation between all these code metrics and bugs disappears.

via Vivek Haldar – Size is the best predictor of code quality. Essentially length of code tied with code metrics becomes a reasonable predictor of bugs.

28 Jun

Pastebin.com – Ok, I came up with an example. Programming is like doing a massive sudoku.

Ok, I came up with an example.

Programming is like doing a massive sudoku. But you’re not just doing you’re own square, you have to line up the edges with squares that you’ve already done, or squares other people in your team are working on.

And it’s not just squares that you’ve done, you have to anticipate the sudoku’s you’ll be doing days, weeks or months from now, and leave easy numbers at the edges so it isn’t impossible to do those squares.

And that’s why some programmers are so engrossed in it, and get all worked up, because they’re like "You left a 5 in the middle of the square, what kind of asshole does that, now I’m gonna have to line all my square up with that".

And then someone points out a bug, an you have to trace it back to the square it came from, and then redo that square without screwing up all the other ones.

And after a few hours of that, you either surf facebook and go on IM, or you start growing a beard and forgetting to wash and getting weirdly obsessed with star wars, and people look at you weird and they’re like why do you care about it so much, and through the bleary screen-burnt eyes of your insanity you reply "The squares, can’t you see, the squares, they’re so beautiful"

And that’s why programmers don’t get invited to parties.

What was your question again?

via Pastebin.com – Ok, I came up with an example. Programming is like doing a massive sudoku.. Just a little to close to home.

06 Mar

CSS–101 – Go fetch yourself!

Using descendant selectors is inneficient, but when your key selector (the rightmost selector) is a ID selector, then things get worse.

via CSS–101 – Go fetch yourself!. It’s a little weird sometimes to think that the CSS selectors work from right to left, so if you end with an id, you just spent way more time on grabbing a DOM element, the browser grabbed with the id alone.

25 Jun

Basic C# Networking Project

For a computer science class, Remoting and Networking with C#, we had a networking project to do that I thought I would put out to see if it helps anyone else looking for a basic networking project with .NET. The project can be found here. As usual the code is licensed with an MIT License, so do with it what you will.

The project has a client and a server app. The client plays a game of Tic-Tac-Toe, and as the game progresses sends messages back to the server via a TCP Stream of messages about the state of the game. These messages are then written to the console of the server. After the client exits the server shuts down.

Some possible future ideas, including making this a GUI application, including a compute based opponent and allowing two different clients to connect via the server and play against each other. All of these would be good ways for this project to move forward.

Hope you like the code.