Groovy 1.6

You could read thru the Jira release notes for 1.6 and 1.6rc1-3 or you could just read this infoq article which provides a summary of all the good stuff in the new Groovy release.

I dont think the Groovy home page does a good enough job of selling the new features 🙂

SQL Joins

This great article on codeproject talks about the different sorts of joins there are in SQL.  Sounds pretty easy right, but then there are ones I dont remember learning in school, Left and Right EXCLUDING join, and Full Excluding Join.  Before that, I’d be doing SELECT … MINUS SELECT.

Chuffed

I just deployed my first Grails app running with PostgreSQL on MorphExchange.

Following their Java Dev Cookbook was quite easy though I found I had to do the following:

  • Under log4j configuration add a property logs.home = ”./logs” (here)
  • Don’t need to change the Grails DEFAULT_DEPS in War.Groovy to exclude jdbc2_0-stdext.jar per their doc.  Perhaps the exception they warn about will be a problem if trying to use JNDI?

The real wide internets beta lookout, I now have a place to host some unsuspecting Java onto the world, <cold evil laugh>

HTC Touch Pro

Ok, so I got my new phone toy and I must say I’m pretty happy with it.  Much smaller and better screen resolution than the 838 pro.  There are a ton of neat features all through the sexy touch flo interface which makes getting things done a breeze.


The first annoyance I had though was as it turns out, the HTC task manager.  It would automatically exit programs once a certain memory threshold had been reached.  Coming from a previous WM phone where the apps stayed open (most notebly, switching from email -> opera and back again), I found this very annoying – had to restart app instead of task switch.

To fix, there is a registry key HKCUSoftwareHTCTask ManagerEnableAutoKill which setting to the value of 0 will stop the auto-close behaviour.

That tip plus many more I found through the PPCSG forums here.


Opera browser is really neat on this phone. However if you’ve been using Opera for a while, you’ll notice its usually packed with options. This version has a big take on simplicity so the options screen is considerably lacking. Thankfully if you enter opera:config in the address bar, then you’ll be taken to a far more detailed config screen. Other special opera pages include opera:plugins, opera:history & opera:cache.  With regard to the config page, there are many sections, but the User Prefs section at the end is probably the most detailed.  Here you can up the number of open tabs from 3 to whatever you’re choosing.

Of Cisco, Tcl and Java

Whilst busily reading up on Scala and Groovy and other languages that ran on the JVM, I had a thought with regard to the scripting language that the network architect at work now advises is included in the Cisco ISG/ASR’s.  Cisco now have the Tcl scripting language installed on the IOS.  One application is used to control phone IVR and voicemail systems which is a pretty neat feat. 

Tcl itself doesn’t seem to be much of a mystery language either and should be easy for anyone coming from another scripting language background.

There is a Jacl for the JVM as well and also a means to bring Java code to a Tcl interpreter via Tcl Blend.

You can use Tcl to script EXEC level commands on a router such show version and int fa0/0 type stuff as shown here.

There is also a Cisco article about getting started with Tcl on the routers.

JavaPuzzlers Talk

This is a great talk with Josh Bloch and Neal Gafter with a whole lot of cooky Java-ness.  Programs that look like they should behave but don’t…. or even worse, work as expected, but not because they are following the line of execution you intended to.

http://www.javapolis.com/JP04DVDContent/talks/Puzzlers/index.html

Edit: If you look on Parleys.com and also Javapolis.com (now called Devox) you’ll be able to find the 07 talk (parleys) and the 05 (however wasnt able to find a direct link for that one on Devvox)

Of Technology and Death

My Dopod 838 Pro (aka HTC Tytn aka Hermes 100) decided it was time to provide me an infamous whitescreen problem that affects various HTC variants.

XDA Developers suggest that the fix is to open the unit, and put foam over certain parts around the dpad and b/ween the dpad and the screen.  Other users have added more of this double sided sticky foam to other areas of the unit where the suggested areas dont work.  In addition, tightening or loosening the screws in the unit seems to work too.

Its not a 100% surefire way, some users have reported after that they still get the problem just less often.  The most surefire way to fix seems to replace the DPAD housing or the motherboard or use hot air and re-solder the ATI graphics chip.  I think when it comes to hot air gun or precision soldering, then I’ll consider the experts, however the HTC authorised repairer ‘Phonetec’ does not have a good reputation whatsoever.  I hope I dont need to excercise this option and can perhaps use an alternate phone repairer (since its not a warranty fix.)

I’ll probably address this next weekend when I have a bit of time.  Some good links I found in the meantime:

Spare parts for sale from a US repairer

HTC Dismantling guides

Review of the HTC Touch Pro – the phone I’ll get if its uneconomical to repair this one…. though it now seems I’ll have to seriously consider the support options

Pocket Informant 8 – A tool I’ll be getting once the phone is fixed that shows your agenda on today screen and other useful calendar/task/contact helps.

T-Minus

8 September – Important testing for product release

12 September – One week till eye surgery (no more contacts, if I had any to wear)… features for release need to be done!

17 September – Software Product Release

19 September – Eye Surgery

23 September – Major Event following fruits of product release

So True

From the excellent online book Getting Real

Smaller Tasks and Smaller Timelines

Software developers are a special breed of optimist: when presented with a programming task, they think, “That’ll be easy! Won’t take much time at all.”

So, give a programmer three weeks to complete a large task, and she’ll spend two and a half procrastinating, and then one programming. The off-schedule result will probably meet the wrong requirements, because the task turned out to be more complex than it seemed. Plus, who can remember what the team agreed upon three weeks ago?

Give a programmer an afternoon to code a small, specific module and she’ll crank it out, ready to move onto the next one.

Smaller tasks and smaller timelines are more manageable, hide fewer possible requirement misunderstandings, and cost less to change your mind about or redo. Smaller timelines keep developers engaged and give them more opportunities to enjoy a sense of accomplishment and less reason to think, “Oh I’ve got plenty of time to do that. For now, let me finish rating songs in my iTunes library.”

—Gina Trapani, web developer and editor of Lifehacker, the productivity and software guide