» Fast ID3 tagging
This is solely for my friend saper who was recently telling me how much he loves it when people post snippets of code that they come up with during their everyday lives, even if they are relatively pointless in the grander scheme of things. Well, today I was listening to a few old mp3 files while coding more important stuff and realised that some had no id3 tags, which was a good excuse to put good ol’ PERL and some shell magic to some use to tag them all, fast. Here’s the two-minute script for tagging files based on the filename (note the ‘[trackno] – [title].mp3′ regex). I ran the script twice, once for the trackname and once for the track number (not shown below, is trivial and left as an exercise for the reader). Hope this is useful to someone, although I guess it mostly serves as proof as to how much you can do with one line of PERL/shell scripting magic. Enjoy =)
ls *.mp3 | while read f; do TRACKNAME=`echo "$f" | perl -e '$a = <STDIN>; $a =~ /(\d\d) - (.*).mp3/; print $2;'`; id3 -t "$TRACKNAME" "$f"; done
For a hacker, the Pre is incredible
Great stuff. Perhaps I should start looking at the Pre as one of the candidate platforms for the Geo|Ads platform and the apps it is currently featured on. Since AthensBook 1.0.0 came out in early March we’ve been focusing on way too many things and looking at what Palm has to one of them — besides registering for the early SDK access back in April, there were few reasons to focus on the Pre: it is only available stateside for now, and we’re already focusing on providing current releases of our apps and ad SDK on iPhone/Android and Blackberry.
Still, with Android still featuring a decade-old UI and no devices not being available in Hellas in any sort of mainstream way yet [soon that's bound to change of course] and with the BlackBerry OS seeming increasingly dated, perhaps the Pre should be getting some more developer love from us. If only we could get a device in this part of the world. =)
Google Wave First Impressions
Google Wave, a new API/protocol and platform was presented on Google I/O. It’s a hosted, embeddable communications and collaboration platform that introduces quite a few interesting features that are currently either not available or require multiple service vendors/providers. It was written in Java/GWT.
Google has made it clear that the protocol is going to be open and there will be open source [reference] versions of the server and client, although someone could — theoretically — write their own before that by following the specifications on the aforementioned site. Wave includes Robots and Gadgets which are server and client-side applications [respectively]. The former are automated participants for waves and gadgets are applications that run on the client and allow for new input methods. Google is also allowing for embedding of waves on third-party websites through the Wave Embed API.
This is a great project by Google, which, of course, is going to be a building block [and trojan horse] for online collaboration; viz. Google Office + Collaboration; features that might, in the not-so-distant future, render Microsoft’s workhorse [Office] dead. The fact that they are open sourcing the whole thing is fantastic news.
While the potential is there — and is undoubtedly great — I believe that we should be careful before judging how disruptive Wave is going to be in the next few years. Many technically interesting projects have withered and died for numerous reasons, sometimes political other purely business. Wave is probably going to be extremely useful for intranets from the very beginning. The reason for this is that it’s very easy to use the Wave infrastructure where a single server hosts the service. But its promise, its full potential lies in the fact that its an Open System; it might become an extremely disruptive technology for the whole ‘net. Besides replacing all sorts of pointless centrally hosted services [twitter, disqus, facebook], the Federation protocol is probably the single most impressive thing about Wave; it assures interoperability and maximises plurality without creating walled gardens. What’s more, that the protocol is open and that the code is open source means that in the future the Wave platform might evolve into a fully distributed protocol. The Openness of Wave and the Federation Protocol is the single most impressive, brave decision I’ve seen Google take and one that elevates Wave well above other similar technologies.
To the Google team behind Wave, in the words of their own Lars Rasmussen: “Thank you, thank you, thank you, thank you!” =)
Moblin: Proof that Corporate Support Needed.
If anything the sudden appearance of Moblin 2.0 Beta and its excellent User Interface has proven, beyond any doubt, that corporate support is essential if linux — and the open source community — is going to survive beyond a very very small niche.
Linux on the server has been doing well despite Microsoft’s pretty good record with Windows Server in the past few years (and contrary to its failings with Vista), its dominant position on the desktop and its proven marketing muscle and the reason for this has been that Linux on the server has had the support of many large corporations living off it.
This has not been the case on the linux desktop, and it is probably the reason why so little has been achieved in the past seven or so years in that field. On one hand, the stagnant Gnome 2 platform barely kept alive primarily by Redhat and Novell that depend on it and on the other the interesting and fresh KDE4 platform that’s extremely immature and incomplete and leaves thousands of everyday use cases unsupported.
»
Why Desktop Linux Sucks
“…And what can we do about it”. Linux usability (and the sorry state of desktop linux) has become a staple of this blog, but bear with me for a bit. Here’s a video by Bryan Lunduke from the Linux Action Show with reasons why the linux desktop still sucks for many (most) users. This comes from someone that like linux and wants to see it succeed; most of the stuff mentioned is pretty valid criticism that touches upon the lack of cohesion, regressions, QA and many other aspects of modern linux distributions.
When OS X first made its appearance in 2001 and for many years afterwards, the performance of xnu, its kernel, and many of its subsystems was ridiculed as it was way slower than its competitors. Elitism, slower development cycle, closed source etc. aside, Apple has managed to make Mac OS X much faster than the leading linux distributions in the span of a couple of years, while at the same time the desktop linux projects and companies struggle with reinventing the wheel and fixing regressions. The situation on the desktop today for linux users is — comparatively — worse than it was a decade: traditional strongholds are gone [e.g. performance] while usability, stability and features are more or less unchanged for many years. Sad for Open Source, sad for competition.
iPhoneOS 3.0
Ανακοινώθηκε αργά μέσ’την ημέρα (ώρα Ελλάδος) προχθές, γρήγορα έφτασε στα χέρια χιλιάδων εγγεγραμμένων προγραμματιστών για iPhone. Το νεο λειτουργικό προσφέρει πολλά, τόσο σε χρήστες όσο και στους ανθρώπους που σχεδιάζουν και αναπτύσσουν εφαρμογές για τη συσκευή.
Για τη χώρα μας ιδιαίτερου ενδιαφέροντος φυσικά αποτελεί το ελληνικό πληκτρολόγιο, το οποίο περιλαμβάνει την ίδια τεχνολογία αυτόματης διόρθωσης που είχαμε δεί στα αγγλικά. Ακόμη πιο σημαντικό — για όσους δε νιώθουν άνετα με τα αγγλικά — είναι το πλήρως εξελληνισμένο περιβάλλον. Με δεδομένα τα παραπάνω, καθώς και τη φημολογία πως η Vodafone σύντομα δε θα αποτελεί μονόδρομο για την απόκτηση iPhone στην Ελλάδα, το iPhone ενδέχεται να έχει ένα λαμπρό μέλλον και στη χώρα μας.
Πέραν τις σημαντικές προσθήκες στο πεδίο των χρηστών (το copy-paste είναι ίσως από τις σημαντικότερες όμως υπάρχουν εκαντοντάδες άλλες — δε θα μπώ σε λεπτομέρειες: ο ιστός προσφέρει αρκετό υλικό για όσους ενδιαφέρονται), θεωρώ άκρως σημαντικότερες τις προσθήκες για developers. Μια σειρά από νεα APIs, φοβερές δυνατότητες χαρτογράφησης και επικοινωνίας εντός των εφαρμογών, η υπηρεσία push (επιτέλους) αλλά και οι νέες μέθοδοι πώλησης και διάθεσης σπονδυλωτών εφαρμογών μέσω του AppStore αλλά και των ίδιων των εφαρμογών προς πώληση καθιστούν το iPhoneOS μια σημαντική κίνηση από την Apple που διορθώνει αρκετά από τα ελλείματα των προηγούμενων εκδόσεων για τη συσκευή και προσδίδουν νεα λάμψη σε ένα ήδη εντυπωσιακό προϊόν.
Ατυχής, κατά τη γνώμη μου, η επιμονή στη κοστολόγηση της αναβάθμισης για iPod Touch. Βλάπτει τους χρήστες, βλάπτει όμως και τους προγραμματιστές που δεδομένου του εμποδίου αναβάθμισης πολλοί από τους χρήστες των εφαρμογών τους ίσως μείνουν σε παρωχημένες εκδόσεις λογισμικού, κάτι που σαφώς επηρεάζει τόσο τον κύκλο της ανάπτυξης γενικότερα, όσο — ίσως κυρίως — και τη φάση των δοκιμών.
» Service Unavailable.

More or less what happens when you’ve got the hottest device around, you just announced a major OS upgrade and you decide to not use a CDN =)

