Saturday, May 17, 2008

Oh no, mono

Why do I ever bother with Mono? Why? Well I have a belief that large complicated software should be written in an appropriate language. At the moment, that either means a JVM-based language (like Java) or C#. Java doesn't really work on the Desktop (even though I'm a user of Eclipse, Oracle SQL Developer, and many Telco products that are Java desktop apps) as running many, small memory footprint apps for more than a few hours at a time is the desktop experience - and that isn't Java's forte.

On Linux, we have a top quality CLI/CLR implementation and bindings to write desktop apps in Mono. The only problem is, we don't have the tools. :-( Monodevelop is flaky, unstable and let's face it, unusable. Perhaps it's better on (open)SUSE, but 1.0 RC1 on Fedora 9 is, um, crap. Sorry to be so blunt.

Now, it may be because I have some legacy crud in my home dir, but it is confusing, freezes, claims to build solutions when it hasn't, gives cryptic error messages, and is just not ready for prime time. What are add-ins for (I knid of know)? Why are mine "wrong"? What is the correct repo URL? Why don't they update?

For Java, there's Eclipse, Netbeans, and (non-free) Idea all of which are excellent. I've used the Express editions of Visual Studio, and while they're not as good as Eclipse (!) they do the job well. (Another thing: why isn't VS free to download? If you want more decent Windows apps, don't raise the barrier to entry). (Aside: Oracle SQL Developer 1.5 is pretty fantastic for writing PL/SQL. As good as Toad? Well, better than the old, shonky version (7.x?) I had ... obviously it doesn't have Toad's DBA functions, but still. It rocks).

So, the moral is - stop f_cking around writing Moonlight or whatever - fix the development environment.

Friday, May 09, 2008

Bob

My lovely cat, Bob was put to sleep today.

Sunday, April 20, 2008

Why all PCs need 2GB RAM

Mem: 2065992k total, 1615628k used, 450364k free, 24k buffers
Swap: 5242872k total, 1118284k used, 4124588k free, 209792k cached

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
22034 nic 20 0 2087m 803m 26m S 0 39.8 9:52.67 java
15540 nic 20 0 375m 206m 22m S 27 10.2 93:32.82 firefox-bin

And I'd just shut down Jetty... Grails programming in Eclipse

Saturday, April 19, 2008

Home Virtualization Question

An open question to all:

Which virtualization solution should I use on my home server? You're choices are: Xen or VMware server.

The Host OS will probably be SLES 10 SP1 (which I think means Windows should run under Xen) - but what are the gotchas? I'm less familiar with Xen. Can you get a GUI session up on a Xen client? Can either solution mount partitions from the local server (useful providing a network share around the house without a huge OS image)?

nic

Wednesday, April 02, 2008

REDUCE


REDUCE
Originally uploaded by worldofnic
After yesterday's claim that MOP and Functional programming were a blast from the past - I bought this cheap, yet fully geeky T-Shirt from Primark. (It has a PDP-11 in the diagram, too). I didn't notice in the shop, but the microVAX in the diagram lists REDUCE as one of the programs it runs.

I loved REDUCE. So clean, so simple, so... what happened?

Tuesday, April 01, 2008

No, not April Fools.

While I sit here, hopefully upgrading our BusinessObjects installation, I thought I'd note a few things. Things that have either been on my mind, through my mind or out of my mind.

First, let us talk of Adobe AIR, and indeed AIR for Linux. Now here's a turn up for the books, while many apps seem to be going "on to the web" and running in a browser, AIR shows us a new way. Lots of apps that can run on a desktop. No, not klunky, minimal widgets, but full featured apps that read/write to apps "out there" in web-land. Pretty, damn schweet.

Now, some smart-arses may be thinking that this is nothing new. Indeed, this is what I thought MS were going to do with .NET and Windows 6/Longhorn/Vista, when .NET was initially mooted, but no. They chickened out. Which is a shame, because the .NET runtime (a.k.a CLR), C# and VB.NET aren't bad (being MS rewrites of the JVM, Java, and er.. a .NET-ified, "it's a proper language now" version of VB, respectively). However, the Adobe AIR runtime seems a lot better at memory management than the JVM, or my limited experience of Mono's CLR implementation - this makes it more suitable for desktop-based RIAs. Maybe there aren't enough, really rich apps out there yet for AIR to tell, but I'm sold.

Talking of .NET apps: why do I run more .NET (Mono) apps on Linux than I run .NET apps on Windows? On Linux:
  1. F-Spot
  2. Banshee
  3. Tomboy
  4. gTwitter (although I'm using Twhirl on AIR at the mo')
  5. beagle
On Windows XP:
  1. VisualBasic 2005 Express
  2. Trivial apps I've writting in VB.NET...
Talking of Mono (neat segue, here) - I've recently tried openSUSE and will be playing with SLES 10, somewhat soon. What do I think (bear in mind previous comments I've made), well the fact that GNOME is available (good job too, considering the number of GNOME/Mono experts at Novell!) and has the best interface of all GNOME versions is a boon. Being able to choose between drivers for my wireless card (unlike Ubuntu - old driver only, and Fedora - new borked driver only) was a cool addition. Things worked pretty well, and I'll blog more later in the year.

(Small interruption while BO thinks it's upgraded - let's see... Now redeploying wars...).

Mentioning .war files, I've been playing once more with Grails, now it's hit it's 1.0(.2!) release. It's a lot more polished and very, very cool. At this point in time, both Java and experienced, MVC-using PHP programmers can either choose to try (J)Ruby on Rails or Grails. Neither is perfect, but if you do bother learning one or the other your (future) productivity will rocket.

JRuby has the distinct advantage in Sun sponsorship, with Netbeans integration etc. Grails has the advantage of being written in Groovy/Java and thus you can get at all the Java classes for free. Grails also has the fine, familiar underpinnings of Spring, Hibernate, SiteMesh, GSP (which are so like JSP) which most Java-heads have dabbled with at least.

Groovy at least isn't particularly performant (as some recent bloggers have shown) but neither was Java all those years ago... (Unsure about Grails, which has large parts written in Java - my own apps aren't accessed often enough to tell).

It's funny how things come around: when I was a full-time postgrad (1992-6), Java 0.9 came about, but most "powerful" machines only had 32MB RAM and well-sub-100MHz CPUs. We were all LISP fans/programmers - OO stuff was used, but among the some of the faculty, Functional programming was often looked upon as some sort of god-like beauty. Now, Java 7, Groovy, Scala, ... are all closure/Functional-programming obsessed. The Art of the Meta Object Protocol will always stick in my mind because of how much a couple of people were excited by it (and it had a great cover) and look at all that lovely MOP in Groovy.

(BO upgrade/using wdeploy failed to notice previous version and duplicated entries in conf/server.xml - crap).

So either the modern computing industry is really 15 years behind theory, or... I don't know. I wonder if Order Sorted Algebra (my old field) will make it's way into modern rigorous computing! Heh.

Ah, BO is back up. All hail!

This is nic, signing off.

Tuesday, February 05, 2008

Fedora 9 alpha

So I'm posting this from Fedora 9 alpha 1 which I'm running from my USB key. Freaking schweet.


This is pretty good. a) it came up fast b) it detects hardware properly and the Intel wireless (iwl3945) driver now works (I currently use the old style ipw3945 driver under Fedora 8 - that's what Ubuntu still ships) c) The media buttons on my Dell Inspiron 6400 now work (they always did with Ubuntu, but never with Fedora).


Along with the improvements in Fedora 8 (like Codeina) - Fedora are finally on a par with Ubuntu unless you count the fact that it's a piece of cake to use less-than-legal codecs in Ubuntu, and you need some knowledge in Fedora.


Ahh - happy,


Sent using the "Blog entry poster" app on the desktop (then edited online to get the title right - darn Blogger API).

Monday, January 21, 2008

JavaScript frameworks part II

Hmm.

It would appear, that YUI (Yahoo! User Interface Library) is the "best" of the bunch, if a certain guarantee of cross-browser friendliness wishes to be achieved. Testing on FF 2.0, IE 7, Opera 9.25 and WebKit (on Nokia N95) - only YUI seems to work properly on all.

OK, so maybe there's a chance I introduced some CSS/JS bug somewhere, but my experience is YUI works better (than Prototype or Dojo) in most cases. I just wish it had Prototype's $() function.

OK - back to playing with Spring and Apache Derby,

Sunday, January 20, 2008

Spring, JavaScript toolkits

Went to the Spring Exchange 2008 which was great. I learned a lot more about Spring 2.5 and whats coming up in 3.0. I finally realised that Annotations might be a good idea (and can't wait to try them in the new improved Spring MVC c. 2.5.3). I also learned more about OSGi (through a talk on "Spring Dynamic Modules for OSGi") than I had before - very interesting and cool technology.

I'm happy for the Spring folks that Spring Source looks like like it has a great future. But what will happen to Java EE (previously called J2EE)? Will it wither and die to be replaced by elegant, simple POJO-based apps? And what will happen to the leading vendors? BEA/Oracle, Sun's Glassfish/SJSAS, IBM's Web's Fear, and Red Hat's JBoss? Certainly Oracle, Sun and IBM can handle the pain, but Red Hat? Hmm.

Changing subject...

I've piddled with Prototype which is really easy (mainly thanks to the $() function) and YUI which has great documentation, but started using Dojo as it's going to be included in a tag-library for Spring Web Flow 2.0.x (at some point). It's also a strong contender and like YUI doesn't need hosting at your own site. (YUI can be called directly from Yahoo!'s servers, and Dojo from AOL's CDN).

So much choice!

Sunday, November 18, 2007

Liberation

Having recently switched back to Fedora (8), I thought I'd try out Red Hat's free Liberation fonts, and they are beautiful. Don't get me wrong, Bistream's fonts (which they kindly gave away freely to us Unix-heads) are very nice and set a new standard, but I'm blown away at the quality of the Liberation fonts.

They're available for most platforms, and I'd strongly suggest you give them a try.

Saturday, October 20, 2007

JBoss migration

Successfully migrated all clients from Jetty to JBoss 4.2.1GA. Pretty smooth - so why did I have so much problem with the beta of 5.0.0?

Hmm.

But at least I have a Java EE 1.4-and-a-half server to play with and lots of JMX goodness.

Sunday, September 02, 2007

Zimbra

Are you looking for something a bit nicer than a traditional Unix IMAP server? Fancy (shared) Calendering, cool AJAX implementation, LDAP address book? SSL setup is a synch.

Then look no further. Zimbra rocks. Basically, it builds on some top quality Open Source software (Postfix, OpenLDAP, Tomcat, SpamAssassin, clamav, DSPAM, MySQL, ... ) and makes it all work well together. Not just well, but really well. There's an Open Source edition and a pay-for edition (which adds Outlook connectivity, and other stuff). The Pay-for version is still relatively cheap (compared with the competition) and could be worth the extra depending on your needs. You get all the required software bundled together in guaranteed working versions.

There's also a good community of users (there's a wiki and active forums). It's really easy to install (so that'll save you some more money). It's certified on Red Hat Enterprise Linux and can be bought from Red Hat Exchange if you're that way inclined. If you want to try it there's a VMware appliance you can try it on. (That's how I demoed it).

You can't afford not to try it.

Wednesday, August 15, 2007

@BlogEntry

Let me tell you one thing, back before I'd written a successful AJAX app, I tried hand-rolling one using Struts 1.x. Time constraints and boilerplate-overload meant I basically, failed. So what's new - what am I going to say that will make life better for any wall-banging Java developers out there? DWR.

DWR f_cking rocks. Using a POJO, I can send stuff back to my JSP, piece of cake. It really is an AJAX magic bullet. It took just over half a day to go from no code to a working AJAX app. Nice.

In sysadmin land, I'd like to say how wonderful Zimbra is. (I'm just having a hard time with a couple of config issues - I'm sure a search on the wiki/forums will find them). You want an all-in-one groupware solution - choose Zimbra. It's based on many top Open Source/Free products - has AJAX and rocks (hard).

One to watch: Red Hat Developer Studio looks like a fantastic Eclipse-based IDE for JBoss users and JSF programmers. In the meantime (as a SJSAS/Glassfish/Jetty user) I'll stick with paying for MyEclipse.

Monday, July 16, 2007

Tour de something

We all enjoyed going to see the Tour de France in London the other weekend. I can't believe how packed it was. The only other time I've ever experienced that sort of thing was, as a child at Charles and Di's wedding. It was fantastic to have the world's largest sporting event on our doorstep (with a family railcard, the trains to Waterloo from Earley are cheap - thank the GSD, I don't live out in the middle of nowhere any more). It was an impressive show. Having Trafalgar Square pedestrianised was pretty cool too! A vast improvement on the normal London anti-pedestrian feeling. The Monday after there were well over 30 bikes squeezed into and around the bike racks at work. :-)


ITV's coverage has been pretty good this year too. I popped into Halfords (who sponsor the coverage again this year) to see the new Chris Boardman bikes. They exude cool. Kudos to Halfords for actually providing a good range of bikes and bits. (On a different front, I'm waiting for some new wheels for my commuter bike from Ribble). Shiny.

Other stuff. A Place to Bury Strangers have to be one of the best things to happen to music in ages (and also a fantastic name for a band). I've pre-ordered my copy. Think JAMC with a bit of Suicide and your halfway there.

Wednesday, July 04, 2007

Grails rocks

So I redployed my Grails app at work, with all sorts of Ajax goodness from Prototype, Scriptaculous and friends.

It's beautiful. :-)

Now that's what I call fun. The Searchable plugin for grails is a one-line godsend.

Thank the Global Standard Deity I work somewhere which allows me to use cool tools like this.

Thursday, June 21, 2007

Wednesday, June 20, 2007

Mavenicity

Actually, scrub that. Maven isn't good for anything. (OK, it's probably good in big projects with myriad dependencies, but not for a small web app).

Tuesday, June 19, 2007

Maven 2

As an update to my previous rant about Maven, I updated to the dev version of the Eclipse Maven2 plug-in and noted a nifty feature I hadn't noticed before (it may have been there):

I can't remember the exact name of the option, but it was something along the lines of "Dear Maven, please stop f*cking up my dependencies and just keep to the stuff you're good at".

Sorted. My project now appears and functions like any other Eclipse project, but I can run the Maven Jetty target, etc. from the Eclipse External tools menu.

So now, I can say that Maven, in fact, rocks, and my previous post is null and void.

Sunday, June 17, 2007

Wasting time

Dear Java developers,

please avoid using Maven 2 wherever possible. It's a waste of my time and yours.

Thanks for ruining an entire day of my life just trying to get a simple Struts2 project up and running.

So I'm currently stuck with two versions: a Maven project which doesn't believe in external JARs and a Struts 2 project which doesn't have the correct dependencies.

nic

Sunday, June 10, 2007