Steam on openSUSE

Posted by & filed under openSUSE, Uncategorized.

The steam linux beta is now open to everyone. I just installed it on my openSUSE PC. Here’s how. Update Andrew Wafaa pointed out that there’s an rpm package providing a much easier installation option that I could have found myself ¬_¬ It wasn’t entirely straightforward as there is only an Ubuntu package. These steps… Read more »

Webpinstant – Package Name Search

Posted by & filed under openSUSE, webpin.

I have added support for searching by package names only. This was one of the most requested features. I would like to make the normal search “just work” as much as possible and rank relevant search results highly. However, there do seem to be some good use cases for only searching package names. You can… Read more »

MultiCatch in c# and old java

Posted by & filed under c#, Java.

Someone on IRC was asking whether it was possible to do catch multiple types of exceptions at the same time in c#. In Java 7 there’s a feature from project coin called multi catch that enables the following syntax: public class MultiCatch { public static void main(String… args) { try { throw new ExceptionA(); }… Read more »

Webpinstant Update 1

Posted by & filed under openSUSE, webpin.

Thanks to everyone who has been sending me bug reports and suggestions for webpinstant This evening I Fixed an indexing bug that meant searches for some exact-match filenames returned no results. This will require re-indexing all repositories at some point. Here’s a search that wasn’t working and is now fixed Thanks cb400f. Fixed linking to… Read more »

Webpinstant – Software Search

Posted by & filed under openSUSE, webpin.

A few years ago I wrote a tool called webpin that allowed people to search for openSUSE packages across all openSUSE repositories, both by package names and their contents. This was useful for finding where a package for a particular file was located. openSUSE had an awful lot of separate package repositories (There are now… Read more »

Test Stubbing with Builders, Real Objects, and Caches

Posted by & filed under Uncategorized.

I thought I’d start posting some of my notes on tips for testing. Starting with some tips and tricks for Mockito. Mocking/Stubbing frameworks like Mockito help to test units of code in isolation with minimal boilerplate. A couple of guidelines I like to aim to follow when writing tests are: Each test should assert/verify just… Read more »

Jammer – IRC to Yammer Bridge

Posted by & filed under Java.

Jammer is a quick 1hr project that clones IRC discussion on Yammer. Yammer is a social network for internal use by organisations. It’s a great way to broadcast information and have asynchronous discussion, and simple enough for anyone to use. Developers already have a great forum for asynchronous discussion – IRC. IRC is great for… Read more »

Typesafe Hibernate POJO Queries without code generation

Posted by & filed under Java.

Hibernate is great, but often one has to specify queries as HQL in Strings, or as criteria which allow building of invalid queries. It would be great to use the java type system to help enforce correct queries. I am aware of some tools to do this, but all the ones I have seen require… Read more »

Java Abuse: Inline instanceof

Posted by & filed under Java, Uncategorized.

One annoyance in Java is having to do instanceof checks on multiple lines. e.g. if (object instanceof Foo) { Foo foo = (Foo)object; foo.foo(); } While this is often a sign of a design failure, there are times when instanceof checks are required often due to framework constraints etc. The above is quite ugly and… Read more »

Netbeans on n900

Posted by & filed under Uncategorized.

I meant to post some time ago about how great the n900 is for java development. Not only can one install OpenJDK, but Netbeans is even usable. It’s pretty easy to get running. Just install openjdk6 in the application manager. Then download and run the netbeans installer. It even runs at quite a reasonable speed… Read more »