Don’t Distract New Programmers with OOP. The shift from procedural to OO brings with it a shift from thinking about problems and solutions to thinking about architecture. That’s easy to see just by comparing a procedural Python program with an object-oriented one. The latter is almost always longer, full of extra interface and indentation and [...]
Scott Yang's Playground
Vicious Cycle of Dirty Code
Via Hacker News, Chad Austin: 10 Pitfalls of Dirty Code. Dirty code does not scale to larger teams. Dirty code reduces team morale. Dirty code makes programmers slower. Dirty code inhibits the formation of an ownership culture. If product concepts are not reflected in the code, programmers might implement features in ways that don’t make [...]
Joel Spolsky and Jeff Atwood on Learning C
Stackoverflow Podcast #2, where Joel Spolsky argued that all developers should learn C starting at around 39min. His argument is, that it is like driving with a stick and know about the mechanics, coding in C (or easy-to-use assemble) helps you to understand what’s going on under the bonnet, where Jeff does not exactly agree. [...]
Google App Engine – AWS Competitor?
Google has just launched a preview version of Google App Engine, a development platform for your next start-up web-based application that is designed to be scalable. Looks like it is designed to compete against Amazon Web Services, and it includes the full suit of development stack, including: Web serving environment, including a Python runtime environment [...]
Update – Permalink Redirect and ESVPopup
Two small updates on my code snippet collections. Permalink Redirect 0.8.4 I have updated Permalink Redirect plugin to 0.8.4. The main functionality of this plugin has been replaced by WordPress’ redirect_canonical() function since WP 2.3, but somehow some people are still using this plugin for its remaining functions (permalink structure changes, arbitrary path redirect, etc). [...]
Java is Considered Bad for Computer Science
Via Reddit, Who Killed the Software Engineer? “One of the most ill-considered steps that universities took was to adopt Java as the most widely used language in introductory programming courses…” Why are the universities replacing Miranda/Haskell/Modula-2 with Java/C#? Because that’s what the IT industry uses, but not necessarily because they are good languages to learn [...]
Amazon SimpleDB
Amazon SimpleDB — released last week that provides access to a scalable storage of structured data via a REST API, which runs along side with EC2 and S3 to provide the “scalable backend” for online applications. Comments over the weekend have ranged from “it sucks” to “who needs Oracle/MSSQL/DB2?”. I personally won’t be using it. [...]
Agile Programming according to Dilbert
What exactly is Agile Programming Methodology anyway? During interview for developers, we usually asked our candidates their preferred development methodology and whether they have heard of agile programming, although we are not structurally practising any of these unstructural programming methodology anyway (just that they are buzzwords these days and nothing more). Seriously, in a small [...]
Stuck
On the left hand side, we have multiple vulnerabilities with PHP release 5.2.1 or less. Remote attackers might be able to exploit these issues in PHP applications making use of the affected functions, potentially resulting in the execution of arbitrary code, Denial of Service, execution of scripted contents in the context of the affected site, [...]
Mark Pilgrim’s Translation of DHH vs. Al3x
Mark Pilgrim took the John Gruber-style translation of DHH’s response to Al3x/Twitter’s issue with Rails’ scalability. One of the funnies posts I have seen recently. “My ego is the size of Montana.” Now, if that is the size of DHH’s ego, I wonder what is the size of collective ego of the entire 37signals team? [...]
Twitter is Slow, but not because of Ruby
Jeff Atwood commented on the Twitter scalability problem and blamed on Ruby’s slowness. I have quoted from Coding Horror a few times (in my other blogs as well), but I still do not get how his opinions can be so highly regarded in programming community, when he cannot even distinguish between performance and scalability. Even [...]
Is Computer Science Dead?
The Age: Is computer science dead? Because things are more automated, and most tasks only require drag and click? It is like arguing mechanical engineering is dead because wheels have been invented — by no means! As mechanical engineering does not train you to just produce machines, computer science does not (and should not) train [...]
Solving the Fizz-Buzz Question
Coding Horror: Why Can’t Programmers.. Program?. It’s a shame you have to do so much pre-screening to have the luxury of interviewing programmers who can actually program. It’d be funny if it wasn’t so damn depressing. He quoted Irman’s FizzBuzz question, a trivial programming problem but surprisingly has stumbled many job applicants. Here is the [...]
Trackback ‘Em All 0.1 Released
I have just released Trackback ‘em All 0.1. It is basically an RSS/Atom feed to pingbacks/trackbacks converter. It fetches a list of RSS/Atom feeds, scan through the entries, and send pingback/trackback to all external links in the feed entries. I have actually been using it for a few months already. It basically: Speeds up your [...]
The Inner-Platform Effect
Daily WTF: The Inner Platform Effect — “The Inner-Platform Effect is a result of designing a system to be so customizable that it ends becoming a poor replica of the platform it was designed with.” Way too many examples these days. Think Java-based enterprise systems that can be configured into everything via XML files, but [...]