Author Archive

Development Utilities

In June of 2009 I left my first programming job to move to LayerX, it’s been roughly six months since the switch and I haven’t looked back. One of the biggest changes in the switch over that I wasn’t expecting to be so big was moving from Linux to Windows as my primary development environment I had not realised how many of the small apps that shipped with Ubuntu that I relied for my day to day work. It’s only been just recently that I felt that I’ve settled into windows development enough that I am no longer swapping and trying out new tools. As my first post for the year I thought that I would share the list of tools that I currently use often.

In this list I am trying to avoid major tools (like an IDE) and rather focus on the small language agnostic tools which makes my day to day life just that little easier.

Notepad2 – This is just a simple text editor, what puts it above the notepad that ships with windows is the syntax highlighting that it provides for many

Putty – While my primary development environment is no longer Linux I do still need to access various Linux servers and putty is still the simplist and most light weight tool for the job.

WinSCP – This is yet another tool for dealing with linux servers, getting files off of a linux server (lacking samba) onto a windows box can be a PITA and that is where this tool comes in to save the day it makes retreival of files from linux machines a breeze.

WinMerge – An awesome visual diff tool.

7-zip – I can not stress how much I love 7-zip or how lost I’d be without it. Able to uncompress every compression format I have come across so far, you no longer have to fear others sending you files compressed in formats which are not zip.

Balsamiq Mockups – I think this is damn near the perfect tool to create mockups to show to clients, the sketched feel to them seems to strike the right balance between looking somewhat professional and not looking like a real application.

Filezilla – An ftp client that just works.

TortoiseSVN – This seems to be the svn client for windows, with it’s integration into explorer it is easy to see why.

IcoFX – A simple easy to use Icon editor, it can be used to create Icons from scratch or transform existing images to icons.

InnoSetup – Distributing an application and want an easy to use installer? Then InnoSetup is the tool for you.

Console2 – I do not like the standard windows command prompt window at all. I have my reasons and half of them can probably be solved quite trivially, the point is the shouldn’t have to be. The ability to have multiple tabs of different types of consoles in one window is great.

Sqliteman – If you deal with SQLite databases then you need this tool, it lets you get into the database and examine and manipulate the data contained within.

MSBuildShellextension – This is a neat little tool I only discovered recently courtesy of the 2009 Hanselman tool list. My life is a little bit brighter now I can build VS projects from explorer without having to launch Visual Studio.

Is there anything you feel that I might of left out? Or do you know or better alternitives to some of tools listed above? If so leave a comment so I can look into them.

REST API Test Utility

One of the things I enjoy most about being a programmer is the fact that when you can’t find a tool to do what you want you can write it yourself. Generally I’ve found that these applications tend to be quite simple and stick to the unix philosophy of ‘do one thing and do it well’ which as a software developer I think is a good philosophy to live by. The most recent occurrence of this happening to me was at work not to long ago where we are currently writing a REST API I needed an application to make a HTTP call to a URL. After about 5 minutes of looking around the web I couldn’t find anything, at that point I had the choice of either continuing to search for an appropriate tool or I could write my own. As you might have guessed I wrote my own, it took about 10 minutes to implement the basics of what was needed.

Over the next couple of weeks the tool continued to evolve to better fit the specifics of the project we we’re working on, but in the back of my mind I kept going back to how other people must have this problem as well. Eventually I decided to re-implement the core of my tool. Having finished the re-implementation a couple of weeks ago I’m finally getting around to releasing it to the public under the GPL, below are the links to download the 0.1 release.

For those of you who would like to grab the latest source and stay current with any updates (which may be buggy broken code) you can check out the subversion repository which is available at the following URL:

In other news I have signed on to be a contributor to lounge media a blog about digital media in the home, hopefully I should have a post up there soon – once I figure out a good subject to start on.

New Theme Design

With moving to the new server I thought I would take a leaf out of Paul’s book and change the theme for the site.  I have been using the current theme fluid blue since I started this blog in October 2006 so it probably long overdue for a change.  When making this decision there is one factor I did not count on – I am a very picky person.  After spending about an hour going through themes on the wordpress themes site I got sick of it and decided that I would be able to come up with something.

Now I don’t claim to be a designer, my hopes with this theme is to create something that I like and won’t make your eyes bleed if you stare at it too long.  The goals I had in mind when working on this was a clean, minimal design that incorporated curves, I wanted curves because the current theme is all straight lines and right angles.

Currently I have completed a mock-up which can be found at mlowen.com/mockup and is currently filled with dummy data from this site, if you have any feedback it would be appreciated.

New Server Transition Complete

So a quick post to let those who might’ve wondered that yes this site is still semi-active, I haven’t posted as much as I would’ve liked to due to being busy at work.

Enough of that though and onto the purpose of this post this site and the collection of other sites who share the same server as I do have just finished transitioning to our new server at xlhost we decided to leave layeredtech after spending a couple of years there due to layeredtech shutting down the data center our server was hosted in and xlhost offering a better deal.

I was able to export all of the content from my old wordpress installation to import here. However it appears that I was not able to get all of the images which is a little disappointing, I might go looking through the google cache and hope I stumble upon something. Due to importing all of my posts from my old wordpress installation into this new one I’m not sure if people who subscribe to my rss feed got swamped with entries or not, if you did I apologise.

Update

Well it would appear that I’m not dead yet and rumors to that effect may be slightly exaggerated. The main reason I have not been posting lately is because I’ve been in a bit of a funk where I haven’t had the motivation to work on any of my personal projects. With nothing new to show off I have had no real reason to make a post.

What is different with today you might ask? Well not a lot in relation to the lack of motivation to work, however enough semi-interesting – and one important – things have happened which together warrant me writing something.  Yesterday I finally upgraded to WordPress 2.8 any issues the site might be having will probably have been caused by the upgrade.  Last week I brought a HTC Magic (which runs Google’s android phone OS) I plan to do a post in the next couple of days about how the phone is working out for me so far.

Most importantly, a month ago I quit my job (that was the required notice I had to give) because I was approached with an offer I felt that it would be foolish of me to refuse.  Today was my first day at my new job working for LayerX, a small software company based here is Hamilton.  Like my last job I’m a software developer and I am looking forward to the oppurtunities that this new position has.  Due to this happening I finally got around to updating the about page, it still is not anything fantastic but at least it is up to date.

Build System Redux

I decided upon lookiung through the documentation for the latest version of libvtemm that the running of the build commands needed a revamp.  Previously the build output just plowed on regardless of whether the previous command succeeded or failed.  This as you would guess is bad, you want to find out things have fallen apart as soon as possible without the follow on errors that are caused by an early command failing.  Lucky for me the latest version of libvtemm (0.20.2) makes this very easy to do.

While stopping the build from running is a good start there was still more to be done, namely some way to indicate to the user the status of the build.  To deal with this a bit more of a serious refactoring was required, this substantially changed the code of the build output class to such a degree that it no longer inherits from the same widget as it did before.  Thankfully though it allowed for non-obtrusive place to add feedback to the user.  With this in mind a progress bar was also added so that a user could tell how far along the build was at a glance.

Perhaps the most sane part of the change to build system is that now when the a build is initiated the if the build output is not visible it will be made visible, something that is should have been doing from the start.  Finally a couple of pictures to show how the new build system looks in various states.

gIDE Build System

As I mentioned earlier tonight here is my coding related post, since the 14th I haven’t really worked on gIDE until today.  I finally got the build system all finished and integrated into the rest of the application.  You can now happily define and run the commands needed to build your project. The following images show gIDE building a test project and the other shows the dialog for defining the build commands.  I am currently not very happy with the properties dialog but am yet to think of anything better so what I have will have to do for now.

I’m happy to have finally gotten this finished as it was the big feature I wanted done before I would eat my own dog food and use gIDE to develop gIDE.  I also took this oppurtunity to port gIDE from vte to vtemm which made the task of the code to set the commands a lot easier than a previous attempt I had made with vte, this does mean however that there is now a dependency in gIDE that is to the best of my knowledge not included in any distrobution.  I do not see this as being much of a problem however because the primary audience for gIDE is developer most of whom would know how to build a library from source.

As always the latest changes to gIDE can be found in trunk of the svn repo at http://mlowen.com/svn/gIDE/trunk.

New Transfomers: ROTF footage

In a small return to blogging I thought I would start off with some transformers news.  Earlier today I saw some new transformers footage over at Seibertron so I thought I would share it with you all.

The footage is originally from Michael Bay’s website, I’m also giving a link to the Seibertron story as well because there are a lot of still shots there.  Hopefully later tonight I should be making another post about more coding related stuff.

Edit (~approx 5:50pm NZ): Well I took the video off of this post because I didn’t have permission to show it, which is a bugger but meh.  You can see the footage either here or here.

Edit 2 (6:10pm NZ): It would seem that the official versions of the video are being pulled from everywhere seibertron no longer can show it and there is no sign of it anywhere on Michael Bay’s site. luckily though I found it on youtube, who knows how long this one is going to last though.

Weekend Coding

So lately I’ve been doing little to no work on gIDE, which while it is not unusual it is a little disappointing as I had hoped to have made at least one release by now.  With that in mind and the fact that I don’t have anything planned for this weekend I sat down and listed all of the features that I needed and wanted to have before I made an initial release.  The plan is to sit down this weekend and knock as many of these things out before the weekend is over and make a release, will I hold true to this? I do not know, my track record of promises similar to this (which you should be able to find in the archives of this blog) is not stellar.  Heres hoping I follow through on it this time. Now onto the important part of this post the lists:

Needs

  • Find/Replace
  • File Rename
  • File Move
  • Build System

Wants

  • Move from vte to vtemm
  • Document Split view

Of the things that is on these lists the one that I am not really sure about is the moving from vte to vtem, while vtemm would fit in better with the rest of the application it is currently not packaged with any of the major distros.  This leads to the problem which is more important the design of the application or the ability of people to run the software? I’m sure I will have some comments about this in the next couple of days.

All going well I should hopefully make a blog post after I finish each feature, or for a couple of less screenshot worthy features I might just save them until a screenshot worthy one is finished before making a posting.

Web App IDE

I saw this last night and it looks very awesome.