Faster load times

Posted by Mike Haller on Wednesday, April 8. 2009 at 08:00
Improved page load performance in IE8 showing HttpWatch ProfessionalDissatisified with the load time of my blog on a mobile phone using GPRS, i wanted to pimp my site to get better load times.

  • page load is slow and jumpy. Some background images are loaded very late, which leaves the initial state unreadable for a few seconds. Looks very unprofessional.

  • snaps.com takes up a lot of time, as it loads much stuff and injects a lot of javascript code into the page.

  • twitter plugin takes up time as it does a real HTTP request on each request. Okay, there seems to be a cache somehow, but twitter is awfully slow and the plugin requests new updates every minute or so. I decided that it's not worth the fancy widget.


See how the page load time could be improved from 1.5-7.5 seconds down to 0.5 seconds with some quick changes done in 5 minutes.

Update: Unfortunately, initial load time from U.S. is still rather slow due to a lot of JavaScript files being requested. I used webpagetest.org to do a tests and it shows how the latency kicks in and produces 6.5seconds load time of the 'optimized' page. Have to do a lot more than that to get this better.

Recording Google Reader with Wink

Posted by Mike Haller on Tuesday, April 7. 2009 at 21:32
I recorded a movie with the free Wink screen recorder. The movie shows how i'm using Google Reader to quickly scan through new blog posts. At that day, there were 28 new posts and nothing which interested me specially except two pages which I opened in separate tabs to read later. I wanted to give Bernd an opportunity to see how Google Reader works and how fast (or slow) blog posts can be viewed to find interesting stuff.

Wink is a cool tool. It records mouse movements separately, so they can be repositioned and adjusted later on.

Quick facts about the movie:

  • 33521kb for a paletted movie (3427 frames with 15 fps)

  • 811kb for mouse movements (i found this size by exporting a movie in 'palette' mode without adding a palette. The file played back, but all I could see was the mouse)

  • The raw source file (Wink project file) is 574427kb large

  • It took Wink 4 minutes to render the movie as SWF movie

  • It took Wink 8 minutes to calculate the histogram for the palette

  • 2kb for HTML and JavaScript

  • Wink only used 1 of 4 CPU cores for the job and used more than 700MB of memory.



Wink is an alternative to commercial tools like TechSmith Snagit/Camtasia or their free Jing recorder.

Smiley-Calendar

Posted by Mike Haller on Monday, April 6. 2009 at 09:00 in Methodologies
Robert showed be a nice article about Kanban-Boards. I've seen them at a customer and in another team's office. However, I haven't tried it out myself. There's a cool calendar shown in the article. It shows the mood of each team member per day. Every team member has his own calendar and puts a smiley on it at the end of the day.


Smiley Calendar

Gentleman Cheating

Posted by Mike Haller on Sunday, April 5. 2009 at 17:42 in Gaming
Most Steam-Games have some kind of achievements which can be earned by doing things within games. In Team Fortress 2, you can get new weapons by earning achievements. Some of the achievements are weird and it's extremely unlikely to get them in free play. Now, if you want to earn some of these unrealistic achievements, you can use special achievement maps. On most of them, a horde of people is killing each other and bots. The servers usually have a very low respawn time and no timeout limit for the maps.

As a result of playing in these achievement maps, you end up with a Steam profile like this:


I don't consider this a real cheating, as you don't harm other people's mood. Instead, you're killing bots for a few minutes to get some of the harder achievements, e.g. for the Heavy.

Date ranges in Lucene

Posted by Mike Haller on Saturday, April 4. 2009 at 13:23 in Java
Lucene is a very efficient and fast Java search engine. Once indexed, any object can be found by looking for attribute matches. An object in Lucene is called Document and its attributes are called Fields. Lucene uses Query and Filter objects to narrow down the search to what the user wants to find. A Query makes the amount of data to be searched smaller while a Filter is used for more fine-grained control over what a search result shall include. Queries are more memory-hungry than filters, but for the usual use cases, both are very good.

In this post, I'd like to show how you can search for Date and Time ranges, for example modification dates of files. I'd like to find all files on my local file system which were modified in April 2009.

About

My name is Mike Haller and I'm a software developer and architect at Bosch Software Innovations in Germany. I love programming, playing games and reading books. I like good food, making photos and learning and mentoring about the craftsmanship of commercial software development. Stack Overflow profile for mhaller

Quicksearch