Top posts

Latest articles


Update on the new UI for this blog

Posted by Jongerius under Development, WordPress
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars (No Ratings Yet)
Loading ... Loading ...

About a month ago I wrote something on creating a new UI for this blog. One that would be lightweight and a lot quicker then the current one. It might seem that I’ve given up on this new UI, but the opposite is true.

It’s been a rather busy couple of weeks since my last update, but work is slowly progressing. So far I designed most of the UI elements, but I ended up in some trouble with the browser compatibility. As any web developer will know it’s a hell to make a website compatible with older browsers, especially the older Internet Explorer versions. And as this is supposed to be a lightweight theme it means I’ll have to rely on as much of CSS3 as possible. Which also means making separate sylesheets for the older browsers to display the content the same way.

So far I’ve built the following features in the new WordPress Theme:

  • Support of the social networks
  • Browser detection to better enable CSS2 / CSS3 features or mobile version
  • Various hooks into the WordPress system to change behaviour of WordPress
  • Design of the various elements of WordPress, being posts / pages and categories

Now I still have a long way to go before the new theme is ready for deployment, but I’m slowly continuing the work on the new theme. Just to give you some insight on how the final version of the theme will look I’ve included some screen-shots of the latest development release.

Screenshot of new layout

Even when all the design stuff is done I’ll still have to do some integration of analytics software and the capabilities to show ads. As well as hooking back in all the various plug-ins I’ve been using for WordPress for the past couple of years.


The hunt for a tablet

Posted by Jongerius under General Rant
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars (No Ratings Yet)
Loading ... Loading ...

A couple of months ago I decided it was time to finally take the plunge and purchase a tablet, but which one. There are so many to choose from. My wishes where simple, it had to have a decent battery live and affordable.

Decent battery live and build quality means most of the 300$ and less models are out of the question. These type of tablets are nice if you don’t expect to get many features, longevity or power out of the tablet. So for me those type of tablets where just not good enough.

On the other end of the scale you have tablets like the iPad and Motorola Xoom, both are decent and have plenty of features. But both cost an arm and a leg and I can’t justify the price for the amount of features they have.

This left the mid-range devices, like the Asus Transformer and the Acer Iconia A500 series. Both of these are good tablets, and both cost roughly the same. So it would have to come down to features and what I wanted to do. The hardware of both devices is almost identical. Both are running on the following:

  • Android based tablet
  • nVidia Tegra 2 CPU/GPU
  • 32 and 64 GB models
  • Bluetooth  / Wifi B,G,N
  • 3G option (the Iconia A501)

The only thing that separates them feature wise is that the Transformer has a far superior display with its IPS technology. So far for the specs, since both of them are almost identical I had to give both a try in the store. I was unpleasantly surprised that my favorite, the Transformer, didn’t feel all that sturdy. In fact it felt as if the device was rushed out of the factory. The case can be pushed and flexes way to much. It makes me worry its gonna get seriously damaged if I carry it in a bag.

So the Iconia A500 became the tablet of choice and now that I’ve had it for a couple of months I feel that I can write a decent review on this device. Below is a small overview of tablet and who they would serve best.

Please note that the feature difference between the mid-range and the hight end is minimal, especially for the Android tablets. You will mostly be paying extra for the brand name and the designer looks. If you have any devices you would like to see added to the list leave a comment and I’ll update the post.

Budget  < 350$
Mid-Range  350-450$
High end > 450$
  • Point of View 7″ MOBII Gen II
  • HeroTab C8
  • Asus Transformer
  • Acer Iconia A500
  • Apple iPad
  • Motorola Xoom
  • Samsung Galaxy Tab 10.1

Update 2 nov 2011: Fixed some broken links in the article


Searching in TFS history, made easy by Microsoft

Posted by Jongerius under Development, General Rant
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars (No Ratings Yet)
Loading ... Loading ...

One of the greatest things about version control systems is the ability to keep track of changes. Or is it? Well Microsoft certainly has a unique look on this. Team Foundation Server (TFS), also known as the Team Failure Server, has a very unique way of keeping track of changes.

To be honest the tracking of changes works fine, for the most part. But what happens when you made a change sometime in the past, you know roughly what you did but not which files were affected or which branch was used. Yes I sometimes don’t know what version (branch) of the software a fix was made in. In any normal version control system you would open up the history log and start searching for a comment you entered. That would result in some result popping up, and with any luck the change-set you were looking for.

Alas Microsoft in all its wisdom decided that searching is overrated and not needed for a version control system. After all you can read through the entire history log to find the change-set can’t you. Ah you can’t, silly you!

Here is a quick work around for this ‘missing’ feature:

  • Open up the History view on the ROOT of the TFS server
  • Scroll all the way down, in most systems that will be just a few thousand change-sets
  • Select all and copy
  • Open Excel and paste

Voila now you can search. At least Excel offers a way to search your Team Foundation Server history.


PHP and browser detection

Posted by Jongerius under Development, Webdevelopment, WordPress
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars (No Ratings Yet)
Loading ... Loading ...

One of the things you might encounter as a web developer is detection of the browser that a visitor is using. In my specific case this was needed since I wanted to use some CSS3 styling, but only if the browser was capable. In all other cases the visitor had to see the CSS2 optimized page.

So I started looking into a way to let my web application determine what browser was visiting and what capabilities it had. Since this was for the new WordPress theme I’m developing it had to be in PHP and be sorta light-weight.

First thing was to figure out the basic browser that was visiting. This can be done by doing a simple strpos call in PHP on the user agent property. Having a list of the various user agents helped, I found just such a list at UserAgentString. A brief summary for some common browsers is below.

  $user_agent = $_SERVER['HTTP_USER_AGENT'];
  $IE        = strpos($this->_user_agent, 'MSIE') > -1;
  $IPad      = strpos($this->_user_agent, 'iPad') > -1;
  $Firefox   = strpos($this->_user_agent, 'Firefox/') > -1;
  $Chrome    = strpos($this->_user_agent, 'Chrome/') > -1;
  $Opera     = strpos($this->_user_agent, 'Opera/') > -1;
  $Android = strpos($this->_user_agent, 'Android') > -1;

As you can see determining the basic browser type is pretty simple. But to be able to determine if CSS3 is supported you will also need to locate the version of the browser. Keeping in mind that IE9+, Firefox 4+, Opera 10+ and Chrome are the only versions that support CSS3. The check for this is slightly different for each version. But you can do it easily with a regular expresion.

 // For all non IE browsers
 $locator;
 if ($Firefox) $locator = "Firefox\/";
 if ($Android) $locator = "Android\s";
 if ($Chrome) $locator = "Chrome\/";
 if ($Opera) $locator = "Version\/";
 preg_match('/'.$locator.'([0-9]{1,4}(.[0-9]{1,3})+)/', $user_agent, $version);

 // For IE
 preg_match('/MSIE\s([0-9]{1,2}.[0-9]{1,2})/', $user_agent, $version);
 if (count($version) > 1) $version = $version[1];
 else $version = 0;

Having the version and the type of browser allows us to do all kinds of fancy browser specific stuff. Mostly introduce hacks for IE7 (yes many are needed), or add CSS3 support.


Why Team Foundation Server is useless for Java

Posted by Jongerius under Development, General Rant
1 Star2 Stars3 Stars4 Stars5 Stars6 Stars (No Ratings Yet)
Loading ... Loading ...

In the company I’m currently working for we are using the Team Foundation Server as a version control system. No for developers of C# or any other Microsoft related programming language this is probably fine. However being a Java developer TFS is less then perfect. In fact it is a near nightmare.

We are using various IDE’s for editing our Java projects, meanly because different developers like different IDE’s. Personally I’m using Netbeans, which has perfect Subversion, Git, CVS and Perforce support. Some other developers use IntelliJ from Netbrains. Which is sorta expensive and the version we are using has no support for TFS at all.

So when I want to edit a simple file I first locate it in my IDE, which takes me about 5 seconds. Then I need to look up its location on disk, followed by opening the completely useless Team Exporer. Then I again need to look up the file in TE, followed by a check-out. The whole process to the point that the file is checked out and ready to go takes probably about 1 minute, each and every time.

On an average day I probably waste up to an hour checking out files, and commiting them back into the version control system.

To ease the burden a bit I’ve tried the SvnBridge tool to link my IDE’s Subversion system with TFS, but this tool has many flaws. Just a few of which are:

  • No longer appears to be developed
  • A merge in TE causes all updates to fail, you need to do a clean checkout again
  • Random update failures due to commits of other developers

So for now I’m stuck. Really, really, really stuck.

« Previous PageNext Page »