Archives
-
May 1, 2026
Moving from WordPress to Obsidian plus Hakyll
-
July 11, 2017
I spent my vacation programming
-
May 15, 2017
Quick JavaScript testing tip: How to structure your tests?
-
April 19, 2017
JavaScript Testing Tool Showdown: Sinon.js vs testdouble.js
-
February 28, 2017
Simplify your JavaScript code with normalizer functions
-
January 17, 2017
4 non-JavaScript library topics to learn to take your skills to the next level
-
November 24, 2016
Best practices for JavaScript function parameters
-
October 10, 2016
5 step method to make test-driven development and unit testing easy
-
October 3, 2016
What is property based testing (and how to do it in JavaScript)?
-
September 25, 2016
Staircase code - how short functions are not always the best solution
-
September 10, 2016
How many tests is too many?
-
June 28, 2016
The best resources to learn about JavaScript Promises
-
June 10, 2016
Mongoose models and unit tests: The definitive guide
-
June 3, 2016
How to unit test ES6 code?
-
May 23, 2016
Sinon.js quick tip: How to stub/mock complex objects, such as DOM objects
-
April 9, 2016
What is a Humble Object and how does it help make your code testable?
-
March 24, 2016
Using Sinon.js to make unit testing real-life apps easy
-
February 15, 2016
Improving our React workflow with ES6 and functional stateless components
-
February 8, 2016
Using WebRTC and React to build a basic chat server
-
February 1, 2016
React application data-flow: Where and how to store your data?
-
January 29, 2016
Learn to unit test your javaScript code with Mocha and Chai
-
January 25, 2016
Getting started with npm and Browserify in a React project
-
January 17, 2016
Learning React basics and building a basic application prototype
-
January 10, 2016
Getting started with React the easy way
-
January 2, 2016
Top 5 articles of 2015
-
December 16, 2015
Why is fixing bugs so slow? (and how to make it faster)
-
December 6, 2015
Sinon.js best practices for spies, stubs and mocks
-
November 8, 2015
AngularJS: Setting up parallel / sticky states with ui-router and ui-router-extras
-
November 1, 2015
How to fix JavaScript errors more easily with Chrome's debugger
-
September 10, 2015
How to deal with promises in JavaScript unit tests?
-
April 11, 2015
What are Unit Testing, Integration Testing and Functional Testing?
-
March 21, 2015
Unit testing Ajax requests with Mocha
-
March 5, 2015
ESLint vs JSLint vs JSHint vs JSCS
-
March 1, 2015
What's the difference between Unit Testing, TDD and BDD?
-
February 10, 2015
Detect problems in JavaScript automatically with ESLint
-
January 30, 2015
How to unit test NodeJS HTTP requests?
-
January 22, 2015
Strange JavaScript errors and how to fix them
-
January 6, 2015
ES6: What are the benefits of the new features in practice?
-
December 18, 2014
How to start using ES6 (and beyond) today
-
December 1, 2014
How to make your code self-documenting?
-
November 10, 2014
AngularJS best practices: Be careful when using ng-repeat's \$index
-
October 20, 2014
What do the top 1% of software engineers do that the other 99% do not?
-
September 2, 2014
Using techniques from statically typed languages in JavaScript
-
August 18, 2014
In order to become a better developer, you must first become a teacher
-
August 11, 2014
How to reduce bugs in JavaScript code by following the rule of consistent types
-
June 19, 2014
Hello World Open 2014 thoughts
-
February 16, 2014
Book review: Dependency Injection with AngularJS
-
February 5, 2014
Tips for taking screenshots with PhantomJS + CasperJS
-
December 27, 2013
AngularJS best practices: Refactoring existing code to Angular
-
November 5, 2013
Using AngularJS for fast prototyping
-
August 31, 2013
Library author: Don't provide an exploitable interface
-
July 28, 2013
Why use user story based testing tools like Cucumber instead of other TDD/BDD tools?
-
July 13, 2013
Headless Chrome/Firefox testing in NodeJS with Selenium and Xvfb
-
May 27, 2013
3 ways to get backend data to AngularJS
-
April 11, 2013
First impressions on Ruby on Rails
-
March 16, 2013
Knockout vs Backbone vs Angular
-
February 23, 2013
Review: Can a 15 USD gaming mouse be better than 60+ USD ones?
-
January 23, 2013
Parsing and evaluating PHP in Haskell: Part 2
-
January 16, 2013
Parsing and evaluating PHP in Haskell: Part 1
-
November 17, 2012
Post-mortem: Battlefield 3 Web Commander
-
September 3, 2012
How I rickrolled 15 000 people with one email
-
July 22, 2012
Could you use Minecraft to teach programming?
-
July 8, 2012
I made a thing: Planetside 2 minigame
-
May 26, 2012
Best practices for building embeddable widgets
-
May 12, 2012
Is Haskell good for web development?
-
April 24, 2012
5 ways how PHP is better than Node.js
-
April 15, 2012
How to run Apache and NodeJS based sites on the same server with Varnish
-
March 10, 2012
Nodejs application architecture: Battlefield 3 Web Commander
-
February 15, 2012
Creating custom dojox.dtl filters
-
January 21, 2012
Why does everything need to be integrated into a framework?
-
January 9, 2012
Thoughts on CoffeeScript
-
January 3, 2012
2012 - Mayans beware
-
December 26, 2011
How to troll a programming language related community
-
December 5, 2011
My latest project: Battlefield 3 Web Commander
-
October 31, 2011
The dreaded circle of blame
-
October 18, 2011
Get 20% off for tickets to Velocityconf Europe 2011
-
August 20, 2011
Adventures in Haskell: Dynamic loading and compiling of modules
-
August 2, 2011
Doctrine 2 and the law of demeter
-
July 13, 2011
PHP typehinting gotcha in exceptions/methods
-
July 8, 2011
Why did nobody ever tell me about ssh_config?
-
June 30, 2011
How to automatically run unit tests from a git push
-
June 11, 2011
Doctrine 2 adapter for Zend_Form model form generator
-
May 22, 2011
You don't need a service layer: Fat controllers are okay
-
May 6, 2011
How to use built-in SPL exception classes for better error handling
-
April 16, 2011
DIY: LCD monitor repairs for beginners
-
March 27, 2011
Writing HTML is fun (if you don't have to deal with IE)
-
February 19, 2011
Using spatial data in Doctrine 2
-
February 3, 2011
What was the point of XHTML?
-
January 24, 2011
Hello 2011
-
December 15, 2010
Link: Refactoring a service class for better separation of concerns
-
December 4, 2010
How to create Doctrine 1 -style Soft-Delete in Doctrine 2
-
November 27, 2010
11 common Dojo gotchas
-
November 12, 2010
Oulu Open Hack wrap-up
-
October 28, 2010
Bored of Apache/LightHTTPD/etc.? Try Mongrel2
-
October 22, 2010
Danmaku mechanics in first/third person shooters?
-
October 7, 2010
Optimizing SQL: Removing queries inside loops
-
October 3, 2010
Is programming a solitary job for recluses?
-
September 16, 2010
Using unit tests as requirements when refactoring
-
September 8, 2010
Zend Framework 1.8 Web Application Development book review
-
September 2, 2010
NetBeans Platform 6.9 Developer's Guide review coming soon
-
August 26, 2010
Now you can write PHP code... without writing any code
-
August 14, 2010
Exceptions and abstraction
-
July 28, 2010
The "do X or die()" pattern must die
-
July 14, 2010
Wicket from the point of view of a PHP developer
-
July 8, 2010
How to learn from Stack Overflow without asking questions
-
July 1, 2010
Unity: The best game development platform?
-
June 26, 2010
Refactoring explained to an absolute beginner
-
June 19, 2010
The best old "indie" games
-
June 12, 2010
Moving hosting providers
-
June 12, 2010
Blog moved
-
June 3, 2010
Solving the alt-tab problem: My solution
-
May 26, 2010
Drawing diagrams with JavaScript
-
May 7, 2010
Building a lightweight application framework around custom Dojo MVC
-
April 27, 2010
Using Dojo's dijit widgets for simple controller/view layers
-
April 15, 2010
Packageizer and ZF modelform now on GitHub
-
March 28, 2010
Come to the best LAN party of 2010, Solid Mojo @ Vantaa 14th May
-
March 23, 2010
Password policies generally suck
-
March 18, 2010
Google Nexus One review: Is it a superphone?
-
March 11, 2010
Should a failed function return a value or throw an exception?
-
February 24, 2010
Should PC's be easy to use for everyone?
-
February 12, 2010
Can you make JavaScript's String mutable?
-
January 28, 2010
6 programming project mistakes you should avoid
-
January 14, 2010
How much would you pay for good headphones?
-
January 7, 2010
Rendering graphics in JavaScript games
-
December 29, 2009
Best of 2009
-
December 22, 2009
Vim / Opera tip: Open highlighted text in Vim
-
December 16, 2009
Rewriting TankWar: Assessing the damage
-
December 10, 2009
Git interactive rebase tips
-
December 2, 2009
TankWar has online mode again: This time on Opera Unite
-
November 27, 2009
Dynamic precompiling of JavaScript functions for fun and profit
-
November 19, 2009
Git tips for SVN users
-
November 11, 2009
A simple way to make your code better: Stop adding more parameters
-
November 5, 2009
More blogs that I read
-
October 24, 2009
The car steering wheel usability exercise
-
October 21, 2009
Did you think your site validated input properly? Think again!
-
October 15, 2009
Is commenting your code useless?
-
October 12, 2009
Going to review Zend Framework 1.8 Web Application Development
-
October 8, 2009
Common programming errors and how to avoid them
-
September 29, 2009
Error tracking challenge is over
-
September 24, 2009
Google Wave impressions
-
September 12, 2009
What is a null object, and when are they useful?
-
September 7, 2009
How to get free publicity by screwing up your friendly URL algorithm
-
September 1, 2009
Improving code with peer reviews
-
August 28, 2009
What makes an abstraction good, and why should I care?
-
August 24, 2009
Reader challenge: Keep track of code errors
-
August 21, 2009
Using canvas to do bitmap sprite animation in JavaScript
-
August 17, 2009
Unit-testing essentials
-
August 14, 2009
How to make your code testable
-
August 9, 2009
The three types of programmers
-
August 4, 2009
Unit testing JavaScript
-
August 1, 2009
Weekend coding: Add a character counter as the background of a textarea with JavaScript
-
July 23, 2009
Why your mobile site probably sucks
-
July 20, 2009
How to install Palm Pre/webOS SDK on Windows 7 x64?
-
July 18, 2009
Opera Mobile vs. iPhone Safari Mobile
-
July 14, 2009
Opera Command, JavaScript based Missile Command game
-
July 4, 2009
Unit testing 5: test-driven development
-
June 30, 2009
TankWar Online, my JavaScript based cannons game
-
June 26, 2009
Unit testing 4: Mock objects and testing code which uses the database
-
June 17, 2009
Unit testing 3: Writing tests for existing code
-
June 15, 2009
How WidgetCity does a tile-based map using just CSS
-
June 10, 2009
Unit testing part 2: Writing and running tests
-
June 8, 2009
Refactoring
-
June 5, 2009
Unit testing: Introduction
-
June 2, 2009
What would you like to read about on CodeUtopia?
-
June 1, 2009
Should I try Git if Svn/CVS/other works for me?
-
May 22, 2009
How to pass variable values to JavaScript
-
May 20, 2009
Dealing with different password validation schemes in a single app
-
May 16, 2009
Doctrine vs. Propel: 2009 update
-
May 7, 2009
Validating Zend_Forms using model objects
-
May 4, 2009
Do you need to go to school to learn programming?
-
April 30, 2009
Optimizing JavaScript for extreme performance and low memory consumption
-
April 28, 2009
I wrote a Sim City clone in JavaScript
-
April 14, 2009
PHP Magic Features
-
April 12, 2009
Do you know a build tool?
-
April 9, 2009
Making a custom front controller in Zend Framework
-
April 5, 2009
Integrating FCKeditor with Zend_Form
-
April 1, 2009
Using a builder to construct complex classes
-
March 27, 2009
Site update: Added Articles section
-
March 26, 2009
User-interfaces: why Gears of War 2 is easier to play than others?
-
March 23, 2009
Improving Ajax performance in Zend Framework applications
-
March 20, 2009
Improved PDF generation with RE Framework RE_Pdf
-
March 18, 2009
Twitter thoughts
-
March 16, 2009
Zend_Controller actions that accept parameters?
-
March 13, 2009
A more user-friendly date-based search
-
March 11, 2009
Object-Oriented JavaScript book review
-
March 9, 2009
Database backed Zend_Form elements
-
March 6, 2009
Sending files better: Apache mod_xsendfile and PHP
-
March 4, 2009
Using Prototype Property in JavaScript
-
March 2, 2009
Handling errors in Zend Framework
-
February 28, 2009
Creating a simple abstract model to reduce boilerplate code
-
February 26, 2009
Ajax, high latency and user experience
-
February 24, 2009
Looking back: Best of 2007
-
February 20, 2009
Closures coming in PHP 5.3 and that's a Good Thing
-
February 18, 2009
Zend_Acl part 3: creating and storing dynamic ACLs
-
February 16, 2009
Practical uses for reflection
-
February 13, 2009
Functional programming and Haskell
-
February 11, 2009
Zend_Acl part 2: different roles and resources, more on access
-
February 9, 2009
Asus Eee PC 901
-
February 6, 2009
Zend_Acl part 1: Misconceptions and simple ACLs
-
February 4, 2009
Even more PHP mistakes!
-
February 2, 2009
Avoiding endless switch-case structures with classes
-
January 31, 2009
Migrating user account databases
-
January 28, 2009
Finding time and topics for blogging
-
January 26, 2009
GroupFight: My old PHP-based game
-
January 23, 2009
Using models as criteria objects for querying the database
-
January 21, 2009
Three PHP mistakes that will cause you debugging nightmares
-
January 19, 2009
What would make template engines actually useful?
-
January 17, 2009
Optimizing Zend Framework and Doctrine applications
-
January 14, 2009
Dealing with configuration files in Subversion
-
January 12, 2009
Vim user? You'll love NetBeans
-
January 7, 2009
Another idea for using models with forms
-
January 5, 2009
Decoupling models from the database: Data Access Object pattern in PHP
-
January 3, 2009
Seven Things
-
January 1, 2009
Sandboxing Rhino in Java
-
December 30, 2008
Best of 2008
-
December 27, 2008
Reusable "generic" actions in Zend Framework
-
December 25, 2008
Happy holidays
-
December 22, 2008
What will you do during the holidays?
-
December 20, 2008
JavaScript margin/block commenting system
-
December 17, 2008
The problems faced by a common model interface in frameworks
-
December 15, 2008
Packageizer is fixed
-
December 14, 2008
Scraping HTML with Python
-
December 11, 2008
Thoughts on unit testing and application design
-
December 9, 2008
Programming language guessing game
-
December 6, 2008
Food for thought: utilizing models in MVC
-
December 4, 2008
First Opera 10 alpha out
-
December 3, 2008
Common widget design patterns
-
December 1, 2008
NetBeans 6.5 review
-
November 29, 2008
Generating Sudoku puzzles using JavaScript
-
November 27, 2008
CSRF protection revisited
-
November 25, 2008
How to get your saved passwords from almost any browser
-
November 24, 2008
Programmer's education
-
November 22, 2008
I'm now on Twitter
-
November 21, 2008
Creating a Dojo dijit.Tree with checkboxes
-
November 19, 2008
Base classes in OOP programming languages
-
November 17, 2008
Developing for smaller screens
-
November 14, 2008
Improved Zend Framework package maker
-
November 12, 2008
Dojo Toolkit - difficult to learn, is it worth it?
-
November 10, 2008
Favorite blogs
-
November 7, 2008
BumpTop - 3D desktop goodness...?
-
November 4, 2008
Browser as an OS
-
November 2, 2008
Windows 7
-
October 30, 2008
Mix PHP and namespaces, get weirdness
-
October 28, 2008
Handling different page types in a CMS
-
October 25, 2008
Cross-device Opera Widgets challenge
-
October 23, 2008
Complex custom elements in Zend_Form
-
October 20, 2008
ModelForm developments
-
October 18, 2008
"Multi-touch" with your webcam
-
October 16, 2008
How to CSRF protect all your forms
-
October 14, 2008
Zend Framework - good for beginners or not?
-
October 10, 2008
PHP tip: How to make a file downloadable through your script
-
October 8, 2008
Static/Dynamic typing sweet spot
-
October 6, 2008
Zend Framework components as separate zips from the main distro? Sure!
-
October 4, 2008
Making a PDF generator class using Zend_Pdf
-
October 2, 2008
Let's Rickroll MTV Europe Music Awards 2008!
-
September 29, 2008
Windows Remote Desktop + Live FolderShare = Ultimate combo?
-
September 25, 2008
Sharing authentication over multiple sites / Single sign-on
-
September 20, 2008
You should know at least three languages
-
September 17, 2008
Generic collections in PHP
-
September 16, 2008
Note: comments
-
September 12, 2008
Never trust the user-agent header
-
September 9, 2008
Theory vs. Practice in coding
-
September 6, 2008
On HTC Touch Diamond
-
September 1, 2008
More on extensible authentication/access control
-
August 30, 2008
Understanding Doctrine's NestedSet feature
-
August 27, 2008
Database helper for PHPUnit
-
August 21, 2008
Implementing swappable authentication methods
-
August 15, 2008
How I got into programming
-
August 7, 2008
Zend_Form decorator tips
-
August 4, 2008
PRADO: PHP goes ASP.NET (ish)
-
August 1, 2008
View inheritance and "blocks" in Zend_View
-
July 28, 2008
Setting up command-line PHP on Windows
-
July 26, 2008
Opera UserJS competition
-
July 22, 2008
On template "tag soup"
-
July 19, 2008
Is Smarty really obsolete?
-
July 16, 2008
How to make back, forward and reload work in Ajax-based apps
-
July 14, 2008
Does Google test with just IE and Firefox?
-
July 8, 2008
Automating creation and caching of image thumbnails
-
July 5, 2008
Making working with DB records easier with a controller helper
-
July 3, 2008
Ideas for testing Zend Framework apps
-
June 30, 2008
JavaScript Canvas charting/timeline example
-
June 23, 2008
Simple Photoshop-style layers using JavaScript
-
June 21, 2008
Dependency Injection, or how to make simple concepts sound difficult
-
June 18, 2008
Put Excel on the net with ASP.NET
-
June 16, 2008
Is web application development less challenging than desktop application development?
-
June 13, 2008
Good habits I learnt from Django
-
June 11, 2008
Page2Rss and Yahoo Pipes
-
June 9, 2008
Google Spreadsheets, ASP.NET and Excel
-
June 6, 2008
User experience comparison: Online stores vs. Real stores
-
June 4, 2008
Zend_Form's from Doctrine models: Part 2
-
June 2, 2008
Autogenerating forms from Doctrine models
-
May 30, 2008
The Opera Magazine
-
May 28, 2008
Resource URLs and JavaScript
-
May 25, 2008
Improving Firefox usability
-
May 20, 2008
Accessible and effective CAPTCHA
-
May 16, 2008
Django = Awesome
-
May 5, 2008
Excellent Zend Framework request-response process flowchart
-
May 1, 2008
Is PHP a good first language?
-
April 29, 2008
Django and Python
-
April 24, 2008
Aptana Jaxer: MVC and other thoughts
-
April 21, 2008
Windows Vista privacy issues and suckage
-
April 18, 2008
Working with Regular Expressions
-
April 10, 2008
JavaScript and MVC
-
April 4, 2008
Client-side validation with Zend_Form
-
April 3, 2008
A look at the Yahoo UI Library
-
March 27, 2008
Should I start blogging?
-
March 24, 2008
Front-end performance and frameworks
-
March 20, 2008
PHP with Microsoft IIS and Microsoft SQL server
-
March 17, 2008
Introduction to Zend_Layout (updated for ZF 1.5!)
-
March 15, 2008
Enso: A useful tool or a fancy gimmick?
-
March 11, 2008
Setting up Windows as a PHP development server
-
March 7, 2008
Tracking the user's browsing history with PHP
-
March 2, 2008
Doctrine vs. Propel
-
February 24, 2008
Fluent PHP and pooQuery revisited
-
February 17, 2008
The human interface
-
February 1, 2008
The ultimate developer kit
-
January 26, 2008
Impressions on WordPress
-
January 23, 2008
A look at pooQuery internals
-
January 21, 2008
pooQuery - The Fluent PHP Revolution!
-
January 17, 2008
The art of finding information
-
January 12, 2008
A programming track record
-
January 8, 2008
Scripting in Windows
-
January 4, 2008
Ext JS impressions
-
December 30, 2007
How to get code-assist for your classes in Zend Studio and/or Aptana
-
December 21, 2007
Why Object-Oriented JavaScript is so confusing
-
December 17, 2007
Find an application's icon with WinAPI
-
December 15, 2007
I like pie... menus
-
December 12, 2007
Getting rid of Ajax development nuisances
-
December 8, 2007
The future of browser widgets
-
December 6, 2007
Are DB layers like Zend_Db making people forget SQL?
-
December 4, 2007
Java based IDE = Very bad IDEa
-
December 2, 2007
Are spammers masking themselves with innocent posts?
-
November 28, 2007
Is targeting a single browser okay?
-
November 26, 2007
What are the controller and model in MVC?
-
November 24, 2007
Quick introduction to using Zend_Layout
-
November 22, 2007
Localize your site in 3 easy steps
-
November 20, 2007
The mythical HTTP protocol
-
November 16, 2007
Routing and complex URLs in Zend Framework
-
November 14, 2007
Zend Framework initialization shell scripts
-
November 12, 2007
How to improve your JavaScript
-
November 10, 2007
How to automatically escape template variables in Zend_View
-
November 8, 2007
Summing up Smarty and Zend View
-
November 7, 2007
Switching to WordPress
-
November 5, 2007
Different PHP template engines
-
November 3, 2007
The best Smarty + Zend View Helpers solution!
-
November 2, 2007
More problems related to tagging things
-
October 31, 2007
Common Zend_Filter_Input problems
-
October 29, 2007
Mozilla Prism: A fancy name for a technology as old as the browser
-
October 28, 2007
Simple and efficient spam prevention techniques
-
October 26, 2007
Handling Ajax requests in the Zend Framework
-
October 22, 2007
What kind of software is needed at a LAN party?
-
October 17, 2007
Going to Helsinki
-
October 15, 2007
LAN party place reservation
-
October 13, 2007
How to make a modal AJAX login box with Mootools
-
October 10, 2007
Lively Kernel - Another waste of time?
-
October 8, 2007
Blocking ads on websites is bad behavior
-
October 5, 2007
Top 9 most useful web developer tools for Opera
-
October 3, 2007
How to easily redirect PHP output to a file
-
October 1, 2007
HTTP File Uploads
-
September 29, 2007
PHP on .NET?
-
September 27, 2007
MacGyver and programming
-
September 25, 2007
Preventing cross-site scripting attacks
-
September 23, 2007
About Flash and RIA's