Home
 

DON'T POST COMMENTS HERE, post them at tim.littlebluefrog.com

About Recent Entries

Jun. 26th, 2007 @ 06:44 pm
IQ Test Score


I must have guessed right on some, because I had trouble seeing some of the colors on some of the patterns. Or perhaps what they say is true, "C" is always the answer.

I'm just following the lead of [info]littletudders by posting this in lieu of a real update. I'm such a sheep.

Twas No More Aug. 8th, 2006 @ 07:06 pm
I've decided to stop updating my live journal account. I've just been crossposting everything I put up on my blog (http://tim.littlebluefrog.com) here anyway. I can't be bothered any more, so all my posts will now stay on my main blog and won't make their way over here. Tuddly made a feed for my main blog a while ago, so I'm hoping he will post a quick link to it in the comments so you can add it to your friends list if you still want to hear from me :P

It's been real.

Space for Acknowledgement Aug. 8th, 2006 @ 07:04 pm
I love Apple. I love the look, feel and intangible aspects that you only get from a Mac.

I love the software. Mac OS X is without doubt the best operating system available. I'm a big Linux fan, but it just doesn't come close for useability, polish and general "getting-things-done-ability". It is both a pleasure to work with and it just gets out of your way.

Today, Steve Jobs gave his WWDC keynote, and in typical tradition, announced a whole bunch of stuff. Much of the presentation was devoted to some of the new features in the next version of OS X (Leopard) which is due out next year.

Apple are very good at taking the functionality of a popular 3rd party application, building it into OS X and claiming it as their own. Spaces is the latest example of this. I can't live without virtual desktops and for the last while have been using the awesome Virtue Desktops to get my fix. However, when Leopard is released, chances are I won't need it any more. I'm happy Apple are building this functionality into the core operating system, however, what I don't like is they way they don't acknowledge that it isn't their idea.

They did this with Dashboard. The idea for widgets was out there and implemented LONG before they decided to build it into Tiger, yet, the way they talk about it you would think it is the result of some Apple inspiration. Yes, they take ideas and alter them slightly, adding their own little Apple touch. Yes, they make sure that the functionality of the new features is seamless and in typical Apple style. However, I'd just for once like to see them acknowledge the applications that came before. It doesn't take much, Steve (or whoever) just has to say something like:

"You've probably seen this before in Desktop Manager or Virtue Desktops, well we think it's such a good idea we're building it right into the system"

That's it. It's not hard. Acting like new feature "x" is 100% home grown Apple brain powered when it clearly is not (and everyone in the room knows it isn't) is just a little too "Microsoft" for my liking.



In unrelated news, if you check out the Leopard Dashboard preview video, you'll notice that one of the widget in the early part is displaying a webcam picture of The Remarkables. It is infact from the same webcam as the picture from this post I did a little while ago. It seems like I'm not the only one who likes that place :P

Comments Here

Visor Aug. 3rd, 2006 @ 01:40 pm
I can't believe I had never heard of Visor until now!

Visor is a little app that gives you access to the terminal in a manner much like the old drop-down prompt from the Quake games. You can bind a hot-key to activate/deactivate it at any time so that the terminal is always just a quick key press away.

If you:


  1. Own a Mac

  2. Love the command line

  3. Haven't heard of it



I would suggest heading over to the site and checking it out.

Just to get you going, I've included a screen shot (click for the full size):



Comments Here

So terrible it’s actually a good thing Jul. 28th, 2006 @ 04:29 pm
While I'm in a "nerdy" posting mood, here is a little summary of EFI according to Linus. It is sad that while reading through that I found myself coming up with so many parallels to other standards.

Also, I ripped off the cover layout of Wikipedia for the littlebluefrog labs wiki. Its amazing how a little face lift can make things much easier navigate around.

Comments Here
Other entries
» Coolest "Under Construction" Animation Ever
The Icon Factory are currently busy working on an updated look for their web site. While in isolation it may not seem like news, the animations they have put up in the mean time tell the story of their progress.

Currently, they have released the first four (of six) and they are really quite amusing. The first one has a "W3C Inspector" turn up and tell them off for all the bad HTML they've used. The second one has them moving out into a new home while the renovations are being completed and the in the third, the database gets a nice cut and polish.

This is nerd humour at its best. Check them all out over here.

Comments Here

The database gets a shampoo

» One Day
One day I shall live here. I've only been there twice, but there is something unmistakable that continually called me back. Given enough money to work for myself, I'd be on the next plane.

Sigh. Back to writing.



Comments Here
» Leaving on a jet plane
Marni is safely off and away on a holiday to Fiji. While we all freeze to death here, she will spend a week in a place where the daytime temp will hover between 26 and 29. I'm cold.

While I've spent time away at conferences and what not in the past, this is the first time I have been charged with looking after the house/cats/myself :P So, if you don't hear from me in a weeks time, send someone around to make sure I haven't died of starvation or anything like that. If it turns out that I have, do me a favor and give the cats a quick feed while your here. Cheers.

Comments Here
» The Open Source Cometh
The last few months have been perhaps some of the busiest I have ever known. The sheer volume of work that was done in the period leading up to SimTecT was far beyond what I could have possibly expected. It would seem that when the rains come, they do so flood like proportions. Both jaRTI and Middlesim have demanded a significant amount of attention, while my PhD work has been humming along since the beginning of the year.

With the coming and going of the annual SimTecT conference last week, the littlebluefrog labs made the first genuine public release of both jaRTI and Middlesim; the development of which has engrossed the "after hours" portion of my life for almost the last year. Judging by the turnout to my "Open Source and the HLA" presentation, there is significant interest revolving around the topic. Presentation wise, I felt like it was perhaps the best I have ever given, and the onslaught of questions at its conclusion was so great that the session chair had to cut it short as we were already over time. However, the most encouraging aspect was the "feeling" (the buzz, if you will) in the room. Open source has never seen much penetration in this domain (beyond Linux) and there was a tangible feeling of interest and excitement in the air both during and following the presentation. I'm excited for what the next 2-3 years might bring in this regard.

Now that SimTecT is over, I had perhaps unrationally expected things to calm down. However, there is still much work to be done on jaRTI (not to mention the other labs projects) and now that it's publicly available, a whole new realm of work has opened up: documentation. While getting things ready for SimTecT took up just about every minute of every weekend for the last 3 months, the effort that went into the final one was huge. Sometime around Saturday afternoon, EVERYTHING stopped working (every single demo we were working on). Thankfully, after a big effort from Mick and myself we got it all sorted out around midnight-1am.

With all this in mind, I must say a big thanks to Mick for his giant efforts on the console project during the lead up to the big event. It has now been fully integrated into the main codebase and is actually part of the available download, although it isn't officially released yet :P Beyond that, a bigger thanks needs to go to Marni. Every time she turns around I have snuck off to the computer to get some more code out of the way. Despite this, she has been very supportive and given me absolutely no grief whatsoever. I truly am lucky. Now, if you will excuse me, fedWS2 is broken and I need to go and apply a bandaid. Realistically it needs a lot more than that, but at the moment it will have to do.

Comments Here
» jaRTI First Public Release!!
It began with an idea almost three years ago. Now, nine months of hard work and countless late nights have passed since development started. Finally, it's out there in the wild.

After a bit of a set back (see the previous post) I have managed to upload to Sourceforge the first official public release of jaRTI!

The best place to start is over at the wiki. From there you will find links to everything you need to download and get started with jaRTI.

If there are any issues (which there will be), start using the forums and Jira database.

Also, remember to sign up to the mailing list!!! here. It is a primary tool used to guage community interest in the project, so head on over and sign up to get all your hot and juicy jaRTI news delivered right to your inbox.

Now it's off to reinstall my laptop and get on with my post-delete life.

Comments Here
» It would be funny if they weren’t serious
"Carbon Dioxide, they call it pollution, we call it life"

I kid you not

Check it out

Comments Here
» Placeholder-ware
I was just reading a well written article on some architectural flaws in Windows that are solved in OS X. In and of itself it's an interesting topic and the points are made well. However, in the middle the author delves into a bit of commentary on the MS psychology that sits at the root of some of these problems. It was such a good little passage that I had to share it here:

Bill Gates sold IBM the idea of MS DOS, then rushed to deliver it, and his company has been selling vaporware ideas for the last twenty five years. Microsoft only attempts to deliver a product when the licensing market cycle requires it. The company sells placeholder-ware; products described to fit a solution. Once the sale is made, then work on delivering the product is begun.

Windows itself was placeholder-ware; Microsoft wanted Apple to license the Mac system software for PCs; when they didn't, Microsoft announced they would themselves. Microsoft fudged a graphical analog on top of DOS, and ported their existing Mac Office apps to run on it, but they delivered Windows 95 over a decade after the Mac, despite starting Windows prior to the initial release of the Macintosh.

Windows NT was also placeholder-ware to solve a gap: the lack of a real operating system for Windows 3. After abandoning OS/2 development with IBM, Microsoft hired a technically savvy operating system guru and delivered Windows NT 3.5.

Microsoft avoids competition by pitting its placeholder-ware product definition against real products for sale in new and emerging markets. By instilling fear, uncertainty and doubt surrounding the threat of Microsoft's entry into the market, kowtowed market analysts advise customers to wait for Microsoft to fill in placeholder products. Meanwhile, the competition dies of starvation, and Microsoft begins work on developing, or buying, an acceptable product that rarely meets the originally promised feature set.

The security problem related to Microsoft's marketing driven focus is that the company is only interested in a market position until they own it. After establishing a monopoly, they lose interest in (and motivation for) ongoing development, particularly in the area of security flaws which do not result in features that drive the next version of their product.


Go read the rest.

Comments Here
» Feed URL Locations
I've just recently switched hosting providers and now realised that some of my old RSS and Atom feed URL's don't work. If you want them, the most common ones are listed below:

All Posts - RSS: http://tim.littlebluefrog.com/wp-rss2.php
Java Posts - RSS: http://tim.littlebluefrog.com/wp-rss2.php?cat=7
All Posts - Atom: http://tim.littlebluefrog.com/wp-atom.php
Java Posts - Atom: http://tim.littlebluefrog.com/wp-atom.php?cat=7
» Pondering Profiling
I’ve been profiling various aspects of jaRTI for a little while now. Today I was attempting to hunt down an apparent memory leak. As it turns out, the leak seems to be in Middlesim, not jaRTI itself. I had been using Middlesim so I could quickly whip up testing federates in minutes rather than hours. However, while searching high and low for the cause of the leak, I decided to run some of the tests I’ve been using while building jaRTI itself, tests which are written in pure HLA.

The result pleased me very much. The screenshot below (click on it for a larger version) shows some various piece of information about the test run I did. CPU usage is irrelevant as the JVM is running jaRTI and two federates at the same time as fast as it possibly can, so naturally this will chew up every last available cycle in an effort to get things over and done with ASAP.

The graph to take real notice of is the middle one. It shows heap allocation and in previous iterations it just continued to rise at a steady pace, indicating that there were objects that were not being collected (because something, somewhere was still holding on to a reference to them). For those of you who are curious, you can see a screenshot of what the capture looked like in those situations here. When removing the leaking Middlesim from the equation, we get a nice, steady graph like the one in the screenshot below.



As a developer, seeing something like this really makes you feel good. While you can make all kinds of guesses regarding the internal behaviour of your applications, there is nothing like the feeling of satisfaction you get from being able to validate that it is acting as desired and not being naughty.

PS. Big cheers to YourKit for granting an open source license to jaRTI for their awesome profiler.



Comments Here
» Note to self: Turn off the “run slow” flag
It is amazing what a single line can do.

socket.setTcpNoDelay( true );


Adding that after the creation of each socket in the brand new "jsop" binding for jaRTI yielded some amazing results when running it against a small federation I've been using for testing.

Before:

  • OS X (intel) - 6 seconds

  • OS X (ppc) - don't even ask

  • Windows (intel) - 80 seconds

  • Linux (intel) - 80 seconds



After:

  • OS X (intel) - 1 second

  • OS X (ppc) - didn't bother

  • Windows (intel) - 3 seconds

  • Linux (intel) - 3 seconds



For more information on why, see here.

Big ups to my home boy [info]ctudball for keeping me company during the 6 hours I spent banging head against wall and running between 600 different computers for testing purposes trying to figure that one out.

Comments Here
» Build Times
Recently I had to set the clock on my computer back a couple of years so the trial copy of an old Nero version I had didn't crack the sads. Until tonight I had forgotten to set it back.

Question: What happens if you put your clock forward 2 years while a build is running?
Answer:
BUILD SUCCESSFUL
Total time: 1,051,200 minutes 21 seconds


I build aspectj from source today, I thought that took a while :P

Comments Here
» (No Subject)

I’ve spent the last few days profiling and performance testing what currently exists of jaRTI. In this time I have come across many oddities on the new differences and performance characteristics of Mac OS X (intel) and Windows. Needing a break, I’ve decided to share my findings with the world.


Preface


I spent virtually all my development time (and all my general time for that matter) in OS X. With the release of the new MacBook Pro’s I have noticed a marked improvement in the performance of the Apple JVM when running on Intel hardware. I can not count the number of times I have heard the Apple JVM for PPC be mocked, or indeed indulged in a little bit of the mockery myself, however, when running on the Core Duo chips it is lightening.


Wanting to profile jaRTI, I installed Bootcamp and Windows so that I could make use of the Netbeans offering. While I don’t use Netbeans during development, their profiler is quite nice but doesn’t currently support Intel OS X So, armed with a newly dual booting machine, I set about my tasks.


The Testing


To do some minor performance testing on jaRTI I write two small federates that advance logical time from 0 to 1000 in increments of 1. For communication between them and the RTI I was using a nice shiny new RMI-based binding that I had just finished writing. Running under OS X this test completed in an average of about 4 seconds. Wanting to compare this to the same federates running under DMSO’s RTI-NG, I fired up windows and gave it a whirl. Despite running the exact same code on the exact same hardware, under Windows I had an average result of 30 seconds.


*blink*


That is a pretty significant increase. Baffled as to why this might be so, I figured up the profiler and began to poke around. I found what I generally expected: most of the time was spent within the RMI code. However, questions still remained. I wanted to know if there was some problem internal to the framework that was causing RMI to spin its wheels for some reason. I switched bindings to a previously written “JVM binding” (which runs the federates and RTI in the same execution - so there is no network overhead) and came out with an average of about 2 seconds. For some reason the RMI code was causing enormous delays, but only in Windows. Why? I have no idea, but it was running some 10 times slower and that’s what I cared about.


Switching back to OS X, I ran the tests again with the JVM binding to see if this general ratio was consistent beyond just RMI. Running the tests yielded an average execution time of 0.3 seconds (comparted to 2 in Windows). I still can’t explain why RMI was causing such delays in Windows and not OS X, but I decided that I’d replace the RMI binding with a light-weight socket implementation that just throws Serialized objects back and forth (which, oddly enough, is a bit part of what RMI does).


After Mick and I spent yesterday working out the main bits, I completed the remainder of the new binding today. Running the two-federate test again in OS X returned results of around 6 seconds. Yes, this new binding was slower than the old RMI one. However, booting into windows and running the tests gave me an average result of 1.2 seconds.


*blink again*


Somehow, this new binding was about half as slow again under OS X, yet 30 times faster under Windows. Either way, the Apple JVM was quite quick on Intel hardware. Like Windows itself, in the tests I ran performance was up and down. If anyone has any idea why this might be so, please leave me a comment (or fire me an email), I’d love to have a rational explanation.



Comments Here
» Unclean
Tonight I did the unthinkable.

Yes, I installed Windows XP on my Mac. (/me shudders)

To be fair, Bootcamp was a pleasure to work with and made the whole process really simple (once I'd slipstreamed myself an XP SP2 CD). Windows . . . well, it's Windows.

Before everyone jumps up in arms at me, I had my reasons for becoming unholy:


  1. Sometimes you just can't avoid having to use Windows

  2. jaRTI is like lightening on the MacBook, but not at all on my P4, I want to know if it is the hardware or the OS (or a combination of both)

  3. Netbeans Profiler: I love the Netbeans Profilers. Sadly, it isn't available for OS X



I may also add "Games" to that list, but I've only given XP 10G on the hard disk to start with and after installing a few things I've already chewed through half of it. Hopefully I can give it some more space when WoW finally drags me into the procrastination oblivion.

Pray for my soul people, this place is dark and the foul stench of rotting technology hangs think in the air.

Comments Here
» You heard it here first!
Minutes ago in an IM conversation:

[info]soporificfrog: Then I realised how much better Java is than any other language
[info]ctudball: yes, I'll admit that in this case generics have proven to be a good solution.
[info]ctudball: But if you tell anyone I said so, I'll deny it
» Software Patents Drive Me Crazy
I don't think that software patents are need to be an evil thing. However, when companies use this vehicle to patent the insanely obvious and then claim it as their "innovation" my blood just boils.

Take for example KAM Industrieswho make software to control model train sets. They were awarded patents for their "innovation" of sending messages from a client to a server. Following this, they attempted to assert their "rights" over some guy who wrote software to do a similar task and released it for free.

Follow the rest here, I'm too stunned to summon the words.

Comments Here

Advertisement

Top of Page Powered by LiveJournal.com