Friday, December 31, 2010

Tuesday, December 21, 2010

Merry Christmas!

One psaltic Christmas Carol



And an excellent remaster of an old Romanian carol by Vlaicu Golcea:



(sorry for the audio quality, not the best)

ChillOut

Sunday, December 5, 2010

Leves of Grass


I haven't seen Edward Norton for a while in movies. But in "Leaves of Grass" he made an excellent role, a mixture of the role from "Fight Club" and "Keeping the Faith".

Thursday, November 25, 2010

Add Delivery Platform


It is a week since I have had my first Android phone. My Nokia E51's battery is dead and buried so I have taken the bod decision to go for a touch phone.

The new phone is a HTC Wildfire because of its dimensions - the other choice was a Desire but despite its richer features its size overwhelmed me.

The touch experience was not so good for me. What I have is not a phone but a gadget with a phone emulator...

The gadget is not really a standalone gadget but rather an add delivery platform for Google who found a smarter way to reach me with its adds. The phone, multimedia and gaming are just add-ons on the ADP.

Technically the phone is okay for a budget one (QVGA, no GPU are the main drawbacks), the software is somehow usable - but after a quick look under the hood (infamous ps axww) I found lots of apps running without any reason. In conclusion not really impressed... The feeling of calling somebody on the Android phone is quite weird - it cannot compare with the material touch of my old phone's keys. The GPS on the other hand is awesome - fast and extremely accurate.

My verdict for Android *****

Thursday, November 11, 2010

Sirba

Vladimir Cosma is a Romanian born composer. He is famous for his film music in French movies.
I have stumbled upon this recording of one of his most played pieces - Sirba - a Romanian dance adaptation.
The piece was the theme of the "Le Grand Blonde" with Pierre Richard
The extremely talented people who are playing are Russian students.
Enjoy



This is a true European multicultural experience :)

Sunday, November 7, 2010

Change

(c) 2010 Despair.com 

Well the motion against Boc cabinet could use this as a reason.

Adrian Paunescu (1943 - 2010)


Undeva in trecut


Am sa plec intr-o zi,
Intr-un loc nestiut,
Intr-un munte secret,
Undeva in trecut.

Am sa plec in trecut,
Am sa plec intr-o zi,
Sa ajung cand te nasti,
Sa te pot intalni.

Stiu si eu ca-i ciudat
Si ca pasii-mi sunt grei,
Catre nunta din veac
A parintilor mei.

Las de veghe aici
Toti nepotii frumosi,
Eu ma intorc in trecut,
Eu ma intorc la stramosi.

Eu ma intorc la ai mei,
Intr-un mars revansard,
Sunt retrasi in paduri
Langa vreascuri ce ard.

Mai vorbesc despre noi
Si mai mor in razboi,
Se mai mira de cei
Care vin inapoi.

Am sa plec intr-o zi,
Am bagajul intreg,
Am cu mine ce simt,
Ce iubesc si inteleg.

Sunt satul de prezent,
Nu mai vreau viitor,
Dar ma-ntorc in trecut
Ca nu vreau nici sa mor.

Pe un deal coroiat
Curge mustul din teasc
Si batranii se sting
Si copii se nasc.

Eu ma-ntorc in trecut,
Din acest viitor
Si pastorii ma iau
Langa turmele lor.

Si din rodnice nunti,
Urca iarba pe munti,
Tutelarule Zeu,
N-ai de ce sa te-ncrunti.

Mai degraba sa pui
Legea ta peste tot,
Ca stramosi la nepoti
Sa se intoarca inot.

Si, cand vremea va fi,
Printr-un strigat urgent,
Pe noi toti sa ne chemi
Sa venim in prezent.

Sa fim toti pregatiti
De momentul solemn,
Cand va bate in munti
Vechea toaca de lemn.

Si un clopot din cer
O sa dangane sfant,
Ca s-a-ntors Dumnezeu,
Printre-ai lui, pe pamant.






Rest in peace! 

Saturday, November 6, 2010

Thursday, October 28, 2010

Multi headed dragon


The multinationals with a dash in name (especially the ones that gained the dash through a merger) are like a multiheaded dragon. They look fierce, impressive and aggressive from the outside but they are schizophrenic and divided on the inside.Each head has its own mind and feels that he has its own stomach...

Monday, October 25, 2010

Monday, October 18, 2010

In memoriam Benoit Mandelbrot


Benoit Mandelbrot (1924 -2010) revealed some fascinating domains of the mathematics - the fractals.
Although mathematically challenging the fractals are also eye-candy generators.Their delicate structure makes them a place to explore. 

Thursday, October 14, 2010

eSNACC ASN.1 Compiler

I have found the eSNACC v1.7 compiler.
I thought it was lost as I couldn't find it anywhere on the net and the original site was gone.
I found it in my archives (luckily).

Use it at will (I guess the license permits it)

Wednesday, October 13, 2010

Simple dependency graphing for Linux/Solaris


I needed a simple tool that would determine the dependencies between some libraries.
Because I haven't found one (I tried to compile nmdepend but I gave up quickly) I wrote this simple and rudimentary dependency walker that is generating a PDF output.
It takes one argument in the command line and then draws a graph f dependencies for this argument by parsing the output of ldd command. The graph is creating by pushing the list of dependencies to graphviz.

#!/usr/bin/env python
import sys
import popen2
import re
deps = {}
def solve(f):
        if f in deps:
                return deps[f]
        r, w, e = popen2.popen3('ldd '+f)
        e.readlines()
        __deps = []
        for l in r.readlines():
                dep=""
                t=l.split("=>")
                try:
                        left=t[0].strip()
                        right=t[1].strip()
                        if right=="not found":
                                key="./"+left
                        else:
                                key=right              
                except IndexError:
                        key=t[0].strip()
                key=key.split(r" ")[0].strip()
                __deps.append(key)
        deps[f]=__deps
        r.close()
        e.close()
        w.close()
        for dep in __deps: solve(dep)

def export(name):
        r, w, e = popen2.popen3('dot -Tpdf -o/tmp/'+name+".pdf")
        #graphviz output
        w.write('digraph "' + sys.argv[1] + '"{'+"\n")
        w.write('ratio="auto";' + "\n")
        for dep in sorted(deps.keys()):
                for dd in deps[dep]:
                        w.write('"' + dep + '"->"' + dd + '";' + "\n")
        w.write('}' + "\n")
        r.close()
        e.close()
        w.close()
if __name__=="__main__":
        solve(sys.argv[1])
        del deps["statically"]
        export(sys.argv[1])
        #print deps

Tuesday, October 12, 2010

CMake

I have recently worked with CMake in order to improve our build system a little.
The old system, based on GNU Make on Linux ans SCCS Make on Solaris had some flaws and it became extremely hard to maintain.CMake seemed a good solution at a first sight as the syntax was clear and most of the things worked out of the box (hierarchical builds, custom build commands).
However CMake misses a very important feature - the variant builds. I am not speaking of the Debug/Release builds but feature bounded builds as in my care custom builds for C7/A7/CH7/J7 ISUP variants. For this kind of builds I need:
1. Different defines
2. Different include paths
3. Different link libraries.

Point 3 can be easily solved with CMake (via TARGET_LINK_LIBRARIES), but point 1&2 cannot. I have tried several variants and workarounds and finally I have found one that
worked 
SET_PROPERTY(TARGET MainNed_itu APPEND PROPERTY COMPILE_DEFINITIONS  "C7_Q")

Another way was to use SCons for build. It provides some nice features (hierarchical/variant builds) and is easily extensible in Python. It also has a better Java support than CMake.
It was quite easy to migrate the CMakeLists to SConstruct files using a simple script.

Saturday, October 9, 2010

Do they have a retarded copywriter?

I have no idea who is behind the new commercials  for Vodafone prepaid.

He/She must be somehow retarded. I really do not get who is really targeted by those stupid commercials.
Maybe I am obtuse but the "Marea Ieseala/Maximia" series are among the most unfunny ideas.

Contrasting those commercials with the ones Orange has now the really suck. Orange's are witty with nice music and really have a story. Even Cosmote  have better commercials - funnier and more elaborate.

As for postpaid the situation is even worse. Cerebel is nor funny. Howg!
The internet everywhere prepaid campaign might have been a good but they finally fucked it big time...

Please guys -  change the commercials. They really sucks...

In the same idea of bad publicity - the replacement of Romanian flag with the American on the Rom chocolate is also moronic.

I am wondering why do they even organize publicity contests lately (Ad'or or something) as most of the commercials are importer and the others (considering the big accounts behind) are dumb.

Sergey Yesenin

I Do Not Regret, And I Do Not Shed Tears...


I do not regret, and I do not shed tears,
All, like haze off apple-trees, must pass.
Turning gold, I"m fading, it appears,
I will not be young again, alas.
 
Having got to know the touch of coolness
I will not feel, as before, so good.
And the land of birch trees, - oh my goodness!-
Cannot make me wander barefoot.
 
Vagrant"s spirit! You do not so often
Stir the fire of my lips these days.
Oh my freshness, that begins to soften!
Oh my lost emotions, vehement gaze!
 
Presently I do not feel a yearning,
Oh, my life! Have I been sleeping fast?
Well, it feels like early in the morning
On a rosy horse I"ve galloped past.
 
We are all to perish, hoping for some favour,
Copper leaves flow slowly down and sway...
May you be redeemed and blessed for ever,
You who came to bloom and pass away...




Saturday, October 2, 2010

Multiple file tail

This is my first attempt to post ode with some syntax highlighting.
I have chose GeSH for convenience and for the fact that I do not really enjoy much Javascript in my pages.
The tool does a "tail -f" on multiple files - like the output of a RollingFileAppender.

UPDATE: In the meanwhile I have found that Alex Gorbatchev's SyntaxHighlighter offers a hosting for it's brushes. In spite of my JS phobia I have chosen it over GeSH as the output looks way better.


#!/usr/bin/env python
import glob
import optparse
import os
import signal
import stat
import sys
import time
files = {}
def info(*text):
        if options.verbose==True:
                for token in text:
                        print token,
                print
       
def handler(sig, frame):
        if sig==signal.SIGUSR1:
                print "*** Caught USR1 ***"
                print "Watched files are: "
                for f in files.keys():
                        print f, " ",
                print
        if sig==signal.SIGINT:
                sys.exit(0)
       
class GenericLogFile:
        def __init__(self, name, label = False):
                self.name = name
                self.label = ""
                if label:
                        self.label=self.name+":"
                self.open()
       
        def close(self):
                self.file.close()
       
        def open(self):
                self.file = open(self.name, "r")
                self.file.seek(0, 2)
                self.lastpos = self.file.tell()
                self.mtime = os.stat(self.name)[stat.ST_MTIME]
                self.inode = os.stat(self.name)[stat.ST_INO]
       
        def reopen(self):
                self.open()
                self.file.seek(0, 0)
       
        def tell(self):
                return self.file.tell()
        def size(self):
                return os.stat(self.name)[stat.ST_SIZE]
               
        def changed(self):
                return os.stat(self.name)[stat.ST_INO]!=self.inode
        def tail(self):
                #Inode changed
                if self.changed():
                        info("***File ", self.name, " was changed")
                        self.close()
                        self.reopen()
               
                size = self.size()
                pos = self.tell()
               
                #File truncated
                if size<pos:
                        info("***File ", self.name, " was truncated(size=",size," pos=",pos,")")
                        self.close()
                        self.open()
                       
                #Data written since we have last checked
                if pos!=size:
                        if self.label=="":
                                info("***File ", self.name)
                        #Display all remaining lines
                        while True:
                                line = self.file.readline()
                                if line!="":
                                        print self.label+line,
                                else:
                                        break
       
               
help="""
DESCRIPTION
        This program works as tail -f for multiple files.
        files   -       any kind of file. They can be specified using shell patterns (*/?)
       
        -v              -       verbose output
        -l              -       label each line with the file ith has been read from
        -h              -       prints this help
       
WARNING
        Please enclose the filename patterns between single/double quotes in order to prevent
        shell globbing.
       
SIGNALS
        USR1    -       dumps a list of the open files
       
"""
def init():
        global options, args, parser, config
        #Initialization
        parser = optparse.OptionParser(help)
        parser.add_option("-l", "--label",  action="store_true", dest="label", help="label each line with the name of the file from that it was read")
        parser.add_option("-v", "--verbose",  action="store_true", dest="verbose", help="print more verbose diagnostics")
        (options, args) = parser.parse_args()
        signal.signal(signal.SIGUSR1, handler)
        signal.signal(signal.SIGINT, handler)
       
if __name__=='__main__':
        init()
        if len(args)!=0:
                lst = glob.glob(sys.argv[1])
                if len(lst)==0:
                        print "WARNING: No file matched the input yet!"
        else:
                parser.error("Incorrect number of arguments")
                parser.print_help()
               

#Initial situation
        #Get all the files already present
        for f in lst:
                if not f in files:
                        print "Added ", f
                        files[f] = GenericLogFile(f, options.label)
       
        #Main loop
        while True:
                lst = glob.glob(pattern)
               
                for f in files.keys():
                        if f not in lst:
                                #We no longer need this file...
                                info("Deleted ", f)
                                del files[f]
                                continue
                        else:
                                files[f].tail()
                       
                for f in lst:
                        if not f in files:
                                info("Added ", f)
                                #This is a file that appeared during program run.
                                #We have to print it all
                                files[f] = GenericLogFile(f, options.label)
                                files[f].reopen()
                                files[f].tail()
                time.sleep(1)

Friday, October 1, 2010

Non Agile Company



At least in my group AGILE is not understood at all.
I am continuously doing detailed specs that nobody respects in the end.
I do not say that specs are bad, contrary they are good but the detail level has to be adjusted as to make them useful.
How agility works in our case is as this funny site describes: http://www.halfarsedagilemanifesto.org/
They are evaluating AGILE tools and methodologies just to stick harder on their V cycle development system and enormous paperwork.

IMHO we are less agile than three years before as today the project steering has at least three layers of management. The hierarchy is extremely complicated... Let's see:

A project has a Technical Project Manager (TPM) and a Technical Project Responsible (TPR) - generally not the same person. The TPM manages a version of the product generic or a customized for a specific client.
The TPR is a hybrid between architect and team leader. A TPR can be a be both a developer/tester and/or a TPM for another product/project. Everybody reports to a Development Team Leader or Validation Team Leader. The VTL/DTL reports to Group Leader and Group Leader reports to Development Manager. DM reports to VP of Development who reports to the CTO who reports to the President who reports to the CEO. On the other hand there is also a Product Manager who basically delegates its work to TPR and Tendering Support. He/She reports to ProductLine Manager. The ProductLine Manager reports to the Program Management Office... Complicated isn't it? And there is Quality also and his boss - they create paperwork and processes. Oh, and local management line - they decide on the IT, pencils, realestate.... That' s not all, there is also procurement... And Operations - they take the product and install it to the client. And the TAC and TEC guys. Their role is to forward emails from clients directly to developers - hierarchy short circuits.
For product lifecycle you have to gather TPR, PM, PLM, DM, operations, quality. They can discuss almost everything but real technical problems and opportunities.
The technical aspects are discussed by TPR, procurement, tendering and operations.
The specs are written by developers and edited by Group Leaders. Who are ex-engineers. And omniscient.
When is to budget something of hire somebody then all those - up to VP have to discuss in order to disagree.
In case of incidents everybody from CTO is involved. They are all looking for the developer who did not tested for NULL a pointer (as per CTO's angry email). But the developer who was in the meantime a TPL for another project had no time to look further in the code 'cause he/she was overloaded by another client who has a long trade history with the president and the president pushed that the developments for this clients to be put in front of other task - including the bugfixing.
In the meantime the organization becomes leaner and agiler by creating a super PMO that can decide on the projects - they have no connection with all the others but they manage budgets for product lines. The developers are asked to evaluate Jira and Mercurial along with writing Word documents kept in fourversion control/document management systems...
The ratio is about 1.37 Managers/Developer...

I stop here... It is too much for me to describe this chaos in words and my drawing skills are extremely poor.
I am wondering sometimes is my recent neurosis has something with this incredible mess.
Personally I have stopped fighting for order and clear roles... I am not even advocating agile anymore... It's no use. Every one has to live from developer to CEO. I cannot oppose to this. I have to earn something too.

Saturday, September 25, 2010

How others see the present

I have found this interview with the painter Vasile Gheorghita.
Romania - as he sees it...  




Pictor - Vasile Gheorghita. Revoltatul.

Val Munteanu's Illustrations

Almost forgotten now, Val Munteanu had a distinct style in all the artwork he has done. The characters drawn in a medieval like style, resembling old books miniatures or vitralia, populated some of the books I have cherished.



Friday, September 17, 2010

Hackintosh for Toshiba


I have installed OS-X on my decaying Toshiba U400-13k.
I have the following result:

  • Graphics - YES (NO QE)
  • Sound - YES (VoodooHDA)
  • Bluetooth  - NO
  • Network - NO (Marvell Yukon)
  • Wireless - NO (Intel 4965)
I have had some issue with the Firewire onboard controller, it continuously gave me the following error:
com.apple.driver.AppleFWOHCI FireWire (OHCI): start - unable to get device memory

The solution was simple - remove all the Firewire kexts from /System/Library/Extensions.

Moreover I was quite impressed that GRUB2 is able to boot the system - so no need for Chameleon.

UPDATE:

I have followed this thread and I have made Bluetooth work.

Friday, September 3, 2010

Virtual Lab

Finally the VMware licenses arrived and were installed.
So I was busy virtualizing most of the expensive lab hardware we were using.
The SIGTRAN simulators, the signaling gateway, the TTS/ASR machines and some of the development machines. They are all sitting inside a nice DL380G6 box.

Sunday, August 29, 2010

Desktop Linux


I have finally managed to make the desktop look usable.
BOM:
1. Conky Colors: http://www.webupd8.org/2010/08/conky-colors-gets-beautiful-new-cairo.html
2. Droid TTF fonts for desktop and Inconsolata for monospaced.
3. Ubuntu tweak - enables icons in menus
4. Cairo Dock - Mac like appearance (with OpenGL)
5. Faenza icon theme
6. Ambiance Maverick beta theme

Sunday, August 22, 2010

Gandul Matei


Finally, after three years since Alexei left for US, I have been able to get all their albums. The sound is cool, reminds me of the first Zdob&Zdub albums.

Frustrations

I am growing frustrated by Ubuntu inconsistencies.
Each flavor has its own GUI idioms and from a usability point of view it is a nightmare switching around them. I felt idiot as I was unable to add an icon to Kubuntu's screen or making Gnome not interfere with Xfce.
I will try PinguyOS - if it's the same crap I will consider other alternatives (OS-X).

Russian movies


The Russian cinematography is somehow unique. They are doing sometimes great movies, that remain in your memory for ages. It was the case with Stalker, Station for Two,The Barber of Siberia or more recently Ostrov.

I have just seen "Admiral" - a movie about the life of Alexander Kolchak and his love affair with Anna Timireva.
To my shame I knew almost nothing about Kolchak or his white resistance against the Bolsheviks in Siberia - this movie gave me something to chew on. The movie is visually rich in every aspect. Naval battle, ballroom scenes, the frozen Siberia - everything is cautiously reconstructed. IMHO it worth seeing.

Thursday, August 12, 2010

Joy!

Sometimes the day gives me surprises, some of them are able to make my day brighter!
Today is one of those bright days... I have just learnt that one of my dear friends has been selected for a Microsoft position. I' very glad for him as he is one of the most gifted developers I've ever seen!

P!=NP

According to this paper it seems that P!=NP.
Another mathematical hard problem is apparently solved.

Tuesday, August 10, 2010

Latest

Not much those days.
I have worked on some ugly and old C++ code - it hasn't been maintained since 2005. I had to port it from Solaris/SPARC to Linux/x86-64. With some hacks (especially on the C++ dialect used by Forte and not understood by g++) I made it work. In the end I wanted to give it a bump and I stubbed the old traces implementation towards a log4cxx one.

Tuesday, July 27, 2010

Jonathan's Schwartz still at Oracle


He is still there,looking up to the...Sun...

It seems that the Oracle rebranding forgot the ex CEO on some pages.

Sunday, July 18, 2010

Vacation - Part II

A short trip home in Maramures.
The tallest wooden buildings in Romania:

The wooden church of Surdesti (73m)

The wooden church of Sapanta-Peri monastery (78m)

Tuesday, July 13, 2010

Romanian television

While I have been away I had satellite TV in my apartment in Croatia.
The only Romanian television station was TVRi... Awful...
All the shows were a salad. For example a show about problems in Romanian tourism had as guests two business men and one singer (Traistariu the castretto). The first guests were talking about how to make tourism more efficient in Romania while Traistariu sang an old tune and spoke about Japan :P.
The host of the show was evidently not able to handle it.

Another morning show "Intalnire la malul marii" was hosted by two aging/consumed whore like girls. The show was also an uninspired mix of young un-tallented starlets wanabes (Romanian name for them is "pitzipoance"), gypsies and manele singers, old actors and such... Awful again.

The afternoon I have once seen a cultural show about Vasile Parizescu's Romanian painting collection - one of the largest and most valuable in Romania. The producer/host Irina Irsai illustrated the show with the most uninspired rags. In the meanwhile she offered  a deep look under her skirt and she was constantly interrupting the guest when he spoke about significant episodes of his life. The montage of the looked as it have been made by a 3 years old kid.

Another afternoon  show was an educational one - again with no wit. It was plain and dumb and repetitive. The host had as much pedagogical apprehension as an old boot while the kids in the show were evidently bored and mechanically repeating the lines in the script. The funniest one was a slow teenager with an earing taht was saying platitudes from behind a tree.

The scrolling banners were both in Romanian  and in Romglish - a word by word translation of the Romanian version with some spelling and grammar  mistakes.

However the only good show were the  news and in one day the Traian Basescu's interview.
I almost regretted that I have even turned on TV... but I needed some background during breakfast/dinner.

Sunday, July 11, 2010

Vacation... never too long

This year I spent my hollydays in Baska, Krk island in Croatia.
It was a relaxing vacation in a wonderful place.
I have enjoyed bot the stay there, the marvelous  landscape, excellent cuisine and the crystal clear water. The place is loaded with history dating back to Roman period. The trip through Serbia and especially Croatia - with its mountains and dense forests was also extremely enjoyable.

Saturday, June 26, 2010

A good place for business

Comparing those three countries we see that Serbia is by far the most interesting both for corporations and common people.

Country Personal tax Corporate tax VAT
Romania 16% 16% 24% (since 26 june 2010)
Russia 24% 13% 18%
Serbia 10% 14% 18% (8% basic necessities as bread, milk etc.)

Tuesday, June 22, 2010

Dog training

When you have a dog you train it by giving it goodies when it does something good and by giving him a small punishment when he does something bad IMMEDIATELY after it did it.
With a team I think the incentives should also be given immediately after a project is finished or a month later... tops. And the incentives should be real - something people could use or value.
Today I have received an email at 14:00 that we are invited at 16:30 for a small 'party' in a total value of 60 EUR for all 23 of us as sign that management appreciates our work... This is happening at 4 months after the end of the project. what can I, a poor dog, learn from this... Nothing except this is just a master's caprice.
I really do not understand this kind of policies. It would have been better for the management to do nothing instead. "That's lame" I would say.
Moreover I have discovered that management in my group rarely uses the magical Outlook facilities as Calendar or Tasks - everything is on email - preferably at the end or in between a long thread of them.
Meetings are quite ad-hoc and quite de scoped and incredibly long - over one hour to decide simple things and WITHOUT any action points or concrete measurable outcomes afterwards.

Saturday, June 19, 2010

Sunday, June 6, 2010

Chinese spam

I decided a couple of months ago to moderate comment due to the fact that the chinese/taiwanese spammers were publising crap on the comments on my blog.
They did not stop but it seems to me that they even increased their posting rate...
Iam looking for some automated spam protection.

Precious



Saturday, May 29, 2010

Fedora experience

After more than two years since my last Fedora install, frustrated by Ubuntu's glitches,I reinstalled Fedora 13 on my laptop.
It was a pleasant surprise to see how much it evolved since my last contact with it.
The installation was smooth - from the live CD.
It recognized all my hardware including the elusive Toshiba bluetooth module
The graphics are a little childish in my opinion but they are somehow consistent and appealing. On the original installation I had no OpenOffice, flash or codecs -
but they were simple to add from third party repositories.

There were also a couple of other things that I learnt from Fedora:
1. The bluetooth problem on Toshiba is not coming from kernel but from the modules shipped by Cannonical in their distro. I have recompiled the kernel on Ubuntu with toshiba support and bluetooth started to work by default - so I do not need my Omnibook hacked bluetooth module.

2. The fonts are correctly rendered by Xft - the problem is in the Gnome themes - especially in Cannonical custom ones. Reverting to plain old Mist evrything looked better.

In the meanwhile I am trying to merge Plymouth 0.8.3 on 0.8.2-ubuntu and rebuild the package.

Monday, May 24, 2010

Free Monday

As the Penteost's Monday was free I took advantage and enjoyed a long lazy morning. So I've seen a nice animation - "Up".

The characters were funny and the story quite witty,although bitter-sweet sometimes.

Sunday, May 23, 2010

The Book Of Eli

This is a not so good mix between "Mad Max", "The Road" and "Fahrenheit 451". I still wonder how two excellent actors as Oldman and Washington could accept the roles in it. As for Mila Kunis - well, it is still Jackie from "The 70's Show"

Friday, May 21, 2010

SWT/Eclipse

There is too much space around widgets in GTK version of Eclipse. I am trying to understand what is cause the bad SWT spacing. Windows/Mac looks better.
It is quite annoying the look and on my 1280x800 it consumes about 4 text lines on the screen

Thursday, May 20, 2010

2004 - 2009 - IT press

Kind20042010
Algorithms1 (GInfo)0
Professional IT1 (NET Report)0
General IT4+ (PC Magazine, CHIP, Computerworld, PC Practic)2
Gaming2+ (Level, XtremPC)2
Linux1 (Linux Magazine)0
In the meanwhile many other magazines have disappeared (Gazeta Matematica...).
What could be the cause of the extinction of those mags? Internet? Or the lack of interest into quality articles. 
In other countries those magazines survived and really thrived.
In Romania it seems that they had the same faith as the rest of the written culture...  

Wednesday, May 19, 2010

Strange new Vodafone APN

This is my wvdial.conf dialer.

[Dialer cartela]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,"ip","tobe.vodafone.ro"
Modem Type = Analog Modem
Phone = *99***#
ISDN = 0
Password = vodafone
New PPPD = yes
Username = tobe.vodafone.ro
Modem = /dev/ttyUSB0
Baud = 460800

Strangely Ubuntu's graphical network applet is unable to deal with this new APN while wvdial manages to make adial-up connection.

Tuesday, May 11, 2010

A la Roumanie

Recently our enlightened government announced 15% reduction of the pensions and 25% reduction of the salaries for the employees in the public sector.
They also announced that other tax facilities will be revoked (16% tax extemption for programmers, maternal help, ...). Hospitals and schools will be closed, lots of people will go in unemployment. The country is almost in the same situation as after a war.
I am not complaining... It could be worse. See the case of Korea in 1993. But the people there trusted the government and donated for the whole country. I really think that there are persons that would do the same here... but... we have nobody to trust on this world.

Sunday, May 9, 2010

Going headless again

After the launch of Ubuntu 10.04 I decided that I have to upgrade to this LTS.
On laptop it was easy but on my server I had a problem. No keyboard and no screen were attached to it - so again I had to do a headless install.
Last time I made a hack with a USB stick but it was quite ugly.
Now I decided to do something cleaner.
The outcome was simple I modified the file isolinux/isolinux.cfg to accommodate aserial console. My file looks like:

serial 0 115200
console 0
prompt 1
timeout 30
default install
label install
menu label ^Install Ubuntu Server
kernel /install/vmlinuz
append console=ttyS0,115200n8 file=/cdrom/preseed/ubuntu-server.seed initrd=/install/initrd.gz quiet --
label minimal
menu label Install ^Minimal Server
kernel /install/vmlinuz
append console=ttyS0,115200n8 file=/cdrom/preseed/ubuntu-server-minimal.seed initrd=/install/initrd.gz quiet --
label minimalvm
menu label Install Minimal ^VM
kernel /install/vmlinuz
append console=ttyS0,115200n8 file=/cdrom/preseed/ubuntu-server-minimalvm.seed initrd=/install/initrd.gz quiet --
label rescue
menu label ^Rescue a broken system
kernel /install/vmlinuz

With this modification in place I have rewrtten the CD and everything worked as a charm.

Saturday, May 8, 2010

Movies evening

"Billy Elliot" 

I have seen a nice movie about passion and courage to escape. "Billy Elliot"'s cast simply stars. Jame Bell's and Gary Lewis's performances are stunning.


"Takva"

The transformation of the ascetic Muharrem to a ruthless man, from serenity to anger. Muharrem is always looking for God and try to act in His name... But the temptation is tormenting his life. A must see.  

Friday, April 30, 2010

64bits upgrade

I have just discovered to my surprise that my home machine is 64 bits capable.
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Celeron(R) CPU 2.66GHz
stepping : 9
cpu MHz : 2660.159
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc up pebs bts pni dtes64 monitor ds_cpl tm2 cid cx16 xtpr lahf_lm
bogomips : 5320.31
clflush size : 64

So the logical step would be to upgrade to a 64bits OS. 10.04 or OpenSolaris?

Sunday, April 25, 2010

No Computer Day

Yesterday I had a "No Computer Day".
Surprisingly enough I found that I still had plenty to do without any shade of boredom.

Sunday, April 11, 2010

Tragedy in Poland

It is tragical what happened to the Poland's president Lech Kaczynski. God rest their souls in peace!
I admired the dignity and solidarity of the Poles in such a hard moment.


Still I am wondering what would have been the Romanians reactions in a similar situation. What if the plane have contained Basescu, Boc, Udrea, Nastase  and others... I wonder where in the line between redemption and tragedy in some cases.

Wednesday, April 7, 2010

I will moderate comments

I have seen lately that the open comments on my blog were abused by some spammers that were posting ads to online video chatting/adult video/dating and stuff.
Thus I have decided to moderate comments just to get rid of those... Sorry for the inconvenience.

Monday, April 5, 2010

Total war

Google seems to be at war with almost everyone (including Apple).
They are fighting not only on search but also against telecoms, CDNs, OS companies.
In order to survive they need good weapons.
In order to get that they need creative, hard working, brilliant engineers. This is why they are recruiting only the "creme de la creme" for their war. Young PhDs, extremely creative and original are gradually reaching that critical mass that will permit Google to win against the coalition of all rivals.
It is like the blitzkrieg in WW2 when heavy mechanized troops were able to obliterate the enemies in almost no time.
I think that the managers and CEOs outside Google should read Sun Tzu and Claus von Clausevitz fast. And really learn from them.

Wednesday, March 31, 2010

Lacrimosa

En atendant Ubuntu

There is aboutone month to Lucid Lynx.
In the meanwhile it seems that the video configuration on my laptop is totally chaotic at bot time. The native resolution of the screen is 1280x800 but often (about 30% of the cases) at reboot the resolution is set to 1024x768 and that looks horrible on my screen.
I have tried to understand the behavior but I hadn't been able to.
So I decided to make a hack to fix the resolution to 1280x800.
1. I have run the command Xorg -configure and I got a file named xorg.conf.new that I moved in /etc/X11 under the name xorg.conf
2. I have launched the xvidtune command during a session that booted right and I have displayed the current settings by pressing "Show" button. The current settings were displayed on the terminal from that I've launched xvidtune.
3. I have edited the file /etc/X11/xorg.conf and I have added the following section at the end
Section "Modes"
Identifier "Custom"
ModeLine "1280x800" 71.00 1280 1328 1360 1440 800 803 809 823 -hsync -vsync
EndSection
4. I have edited the section "Monitor" to look like:
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
UseModes "Custom"
EndSection

5. Saved the file and restarted

Now on any reboot I get the default 1280x800 resolution.
Still I am not quite happy with the remaining question of why the resolution is not set correctly at boot time. I'll have to investigate it on my own.

Tuesday, March 30, 2010

Hackintoshing again

I succeeded to install 10.6 on a Dell XPS 1330.
For sound I've used VoodooHDA. NVidia 8400GS was discocvered by default - QE works. Bluetooth operational. Camera is recognised as iSight hence also Photobooth works
Network and wireless are not working.
Next step is to jailbreak an iPod Touch (or enroll in Apple's Developer Program) whichever is fastest.

Monday, March 29, 2010

What I've read lately


1. Ursula K Le Guin - The Left Hand of Darkness
I was captivated by the story and the almost credible ice world imagined. The characters were quite well presented and the story told in a very nice language. The narration had some logical discontinuities but overall it was quite enjoyable.


2. Pascal Bruckner - Mon Petit Mari
I do not like Bruckner much. For me he just wants to show off in a genuine French way. Still his work has some profound touches and explores difficult themes. This book is bitterly funny. The efforts put by Leon into being a father for his family against his odd height are heroic but sadly unsuccessful. I was a nice weekend reading.


3. Dino Buzzati - The Tartar Steppe
A book for my current state of mind - it seems the I sometimes act as Giovanni Drogo. I dream of a great destiny, a fight in that I will demonstrate my value but instead I got only the sad Tartar's steppe.

Friday, March 26, 2010

Music for Weekend


I love Perlman's interpretation. I have recently listen to Hillary Hahn's and I found her to be too fast.

And another one:


Baba Yaga!

16th March post followup



As I have expected - they did not took me.
However it was cool to go there and to solve their puzzles.

Tuesday, March 23, 2010

Razvan

I have discovered that Razvan Pocaznoi is back online!
I found his blog by pure chance (googled for him) http://razvanpocaznoi.wordpress.com/
When I'll see you on twitter?

Monday, March 22, 2010

Matthew 25 - The Parable of Talents

The Parable of the Talents - Matthew 25,14-30

14 "Again, it will be like a man going on a journey, who called his servants and entrusted his property to them.

15 To one he gave five talents[a] of money, to another two talents, and to another one talent, each according to his ability. Then he went on his journey.

16 The man who had received the five talents went at once and put his money to work and gained five more.

17 So also, the one with the two talents gained two more.

18 But the man who had received the one talent went off, dug a hole in the ground and hid his master's money.

19 "After a long time the master of those servants returned and settled accounts with them.

20 The man who had received the five talents brought the other five. 'Master,' he said, 'you entrusted me with five talents. See, I have gained five more.'

21 "His master replied, 'Well done, good and faithful servant! You have been faithful with a few things; I will put you in charge of many things. Come and share your master's happiness!'

22 "The man with the two talents also came. 'Master,' he said, 'you entrusted me with two talents; see, I have gained two more.'

23 "His master replied, 'Well done, good and faithful servant! You have been faithful with a few things; I will put you in charge of many things. Come and share your master's happiness!'

24 "Then the man who had received the one talent came. 'Master,' he said, 'I knew that you are a hard man, harvesting where you have not sown and gathering where you have not scattered seed.

25 So I was afraid and went out and hid your talent in the ground. See, here is what belongs to you.'

26 "His master replied, 'You wicked, lazy servant! So you knew that I harvest where I have not sown and gather where I have not scattered seed?

27 Well then, you should have put my money on deposit with the bankers, so that when I returned I would have received it back with interest.

28 " 'Take the talent from him and give it to the one who has the ten talents.

29 For everyone who has will be given more, and he will have an abundance. Whoever does not have, even what he has will be taken from him.

30 And throw that worthless servant outside, into the darkness, where there will be weeping and gnashing of teeth.'

---

Incredible or not this parable might be seen also in project/risk management.
The case of the servant with only one talent. He represent the low cost - low investment centre. As he does not have the courage of investing and risking he lost everything. The other two - risked more but won. He risked nothing and lost everything on long term.

In my company we have just had an opportunity to prove ourselves. The management did not want to take risks. Somehow they have buried their talent (aka played safe). It could have been a hard project but it could have been also the baptism of fire for many developers in a real-world project.

Sadly, as the times are tough, I am more than curious of the Master's reaction.

Sunday, March 21, 2010

Spring

The Spring has finally came.
After the Equinox I have just heard a nightingale singing near my window.
I was going to post a video of Vivaldi's Spring and I couldn't decide which one I liked more. The punk faced Nikel Kennedy's passionate playing or the majestic interpretation of Anne-Sophie Mutter under HvK's direction. So as haven't recorded the spectacular nightingale I've heard I decided to post this:

Back to mainframe?

After the micro revolution when 8 bits machines revolutionized the IT, IBM and Microsoft did an excellent job in democratizing the PC platform. It is without doubt them who made possible and affordable the personal computer.
Now after about 30 years the mainframe is striking back again. It's new incarnation is now the cloud.
I agree that clouds are beneficial for some situations - but pushing more and more from desktop to cloud will have some unexpected consequences on the long time.
The one I fear the most is the lack of privacy - the contents of the cloud can be easily controlled by some organizations while they cannot do anything to your PC's disk if it is well protected from the net. Also one can be easily tracked down in the cloud.
I am quite sure that the internet was not really meant for this. Internet was meant for collaboration and openness over standards, not for greedy takeover of user's data.
On the long time the server market will divide between a couple of strong producers and a couple of strong buyers because most of the clients will buy cloudware instead of increasing their CAPEX to buy hardware. This is not beneficial for the market nor for the final user as the result might be not the most adapted to its needs. Also the applications will evolve quite strangely and they will rely on the cloud more and more. The fun of low-level programming will go away.

Resist the cloud! Make hardware and food reserves!

Saturday, March 20, 2010

Valentin Gheorghiu



I have learnt that today is his 82th birthday!
Happy birthday maestro!
His interpretation of Beethoven's 14th Piano Sonata ("Moonlight") made me continue the 4 year piano lessons I was taking in that period.
Altogether with Hans Eckart Schlandt, Stefan Ruha, Aurelian Octav Popa and Dan Grigore - he was one of the frequent names in my vinyl play list of the 1987 - 1991.

Friday, March 19, 2010

Decaying Blog

Looking back on some old pages of my blog I have seen that some of the links and images are no longer available.
I felt a little bit disappointed but even internet changes and URLs start pointing to nothingness.
That's quite zen... http://nothingness or http://decaying

Tuesday, March 16, 2010

Google interview



I had today my Google interview in Dublin.
It was tough. As I have given all my programming exams in the same day.
Five interview rounds. Each one with its set of problems.
Frankly I have expected to write more code than I wrote.
Finally I wrote - a bit of Python and C.
I have to tell that the problems are not so complicated as countless sites describe them. They are fair and if you are not a "non programming programmer" they can be done.
All people I met were smart and not aggressive towards me. They knew their stuff well. From coding to system administration they were true professionals.
I am not too optimistic on the outcome, but hey, it was like gymnastics for mind (and I got to visit Dublin).

Sunday, March 7, 2010

The Men Who Stare at Goats



Bitterly funny.
Clooney made a role comparable with the ones in "Oh Brother, Were Art Thou" and "Syriana".

Saturday, March 6, 2010

Le Concert



As the other movies of Mihaileanu this one explores the intricacies of the human relations in the same sunny-sad register. The same surprising mix of Russians, Jews, Gypsies, morons, geniuses are playing along on the sound of Tchaikovsky's Concerto for Violin No. 35.
Without any doubt - a must see.
As for the music:

and

Nice trick learnt from Solaris

I have been testing Lucid Links lately. Because I had some bad experiences with alpha software I decided to make the same trick that Solaris is doing with it's 'LIVEUPGRADE' partition.
I have installed two identical copies of Karmic Koala and I have upgraded one of them to 10.04.
The /home directory is on a separate partition and can be mounted by both of them.
In this way I am able always to boot a backup system in case that the unstable alpha is crashing (and it was the case with the latest kernels/plymouth/gdm).

Friday, March 5, 2010

A story

Five monkeys were in a room that contained a table in one corner, and a banana hanging from a string in the middle of the room. The monkeys figured out that if they dragged the table to the middle of the room, they could climb up and grab the banana. So they did. As one of the monkeys quickly hopped up and reached for the banana, hidden compartments in the walls suddenly opened, releasing high-pressure cold water that knocked the monkey off the table and drenched the other four monkeys.

They quickly learned that whenever one of them climbed on the table, all of them were soaked with cold water. They realized climbing on top of the table was a bad idea. Unbeknownst to the monkeys, the high-pressure cold water hoses were disconnected and removed.

The next week, one of the five monkeys was removed from the room and replaced by a new monkey. The new monkey saw the table and the banana dangling from the ceiling. Realizing that the banana was there for the taking, the monkey headed for the table. But fearful of being drenched by the high-pressure cold water, the other four monkeys pounced on the newcomer and beat the tar out of him. Every time the new monkey got near the table, the others beat him up. Soon the new monkey no longer went near the table.

By the third week, another of the original five monkeys was replaced by a new monkey. And like the monkey the week before, the newest member of the group tried to get near the table to move it over to the banana. Once again, the others beat up the newest member of the group. Even the first new monkey joined in.

Each successive week, one more of the original monkeys was replaced. The same thing happened every time; when the newest monkey attempted to get near the table, the others joined in to discourage him.

By the sixth week, not a single monkey was left from the original group. Not one remained that had been squirted with cold water. But when the newest monkey headed toward the table and tried to reach the banana, the other four monkeys “trained” him by beating the tar out of him.

If you could ask each monkey why it was beating up the new monkey, each probably would say, "I don’t know, that is just the way we do things around here".

This story has a lot to do with corporate culture, development practices and so on... The sad part is that in many organizations there is no smart monkey to question the processes and habits. This is why any people suffer injustly. The succes of some companies is based on the fact that they have "smart monkeys" who think outside the box and do not rely on empirical knowledge.
Critical and creative thinking is the true source of progress in all the fields.

Tuesday, March 2, 2010

Word Clouds

My tag cloud on delicious:

vs what I write on blogspot:


It is quite a difference.

Different mindsets

I have just wandered on the office hall.
It was interesting to see that in the engineer's offices there were magazines as "Communications of the ACM", "Dr. Dobbs", etc. while in manager's "Money", "Biz" and so on.
Two completely different worlds in the same building.
The only way to make management(especially the pure non-technical or degenerated technical) understand problems is to translate the technical difficulties into money. Here are two nice articles about this:
http://c2.com/cgi/wiki?TechnicalDebt
and
http://sonar.codehaus.org/evaluate-your-technical-debt-with-sonar/

Monday, March 1, 2010

Typo?



Maybe a cut&paste error. What is the idea to work in Australia and have clients all over Europe?

Tuesday, February 23, 2010

If I'd start a company...

I'd use the tools from Atlassian.
Well maybe not all of them but Jira+GreenHopper and FishEye for sure.
For the rest of them there would be plenty of comparable FOSS alternatives as Hudson for build and countles wikies for content sharing.
$10 is quite a good deal for a startup.

Thursday, February 11, 2010

Chad Fowler said

"If your org chart includes "centers of excellence", it's unlikely you'll experience anything excellent"

How true... There are lots of EC in my company.

Monday, February 8, 2010

Vint Cerf

Vint Cerf created the internet (well ARPAnet).
What is interesting is that he is the IT counsel for Bulgarian president.
I am wondering why the Bulgarians outsmart us, the Romanians, so often.
Why nobody in .ro thought something like this... maybe because they were all too busy with the "violet flame".

Wednesday, February 3, 2010

D language news

I have been looking more or less curiously to the D (http://www.digitalmars.com) language.
It is a clean language, somewhere in between C and Java with lots of interesting features.
There are a couple of things taht make the language even more attractive in those days:
1. I've benchmarked it a little bit (naively - not even close to a real benchmark) but it performs quite well.
2. Andrei Alexandrescu - a C++ guru moved into the D trenches http://www.amazon.com/exec/obidos/ASIN/0321635361/modecdesi-20
3. Oracle owns Java - who knows what would they do to the language.

Tuesday, February 2, 2010

Protocol converters in Java

One of the most frequent tasks I had as a developer was to convert one protocol to another.
Obviously this is accomplished using state machines that react on inputs from one protocol and send output messages for the other.
The first version of such a state machine I developped was the following:

public class StateMachine {
private HashMap states = new HashMap();
private State currentState;

public void setState(String next) {
currentState.onExit();
curentState = states.get(next);
currentState.onEntry();
}

//protocol1
//state machine delegates the job to the current state
public void onInput1fromProto1(Message input) {
currentState.onInput1fromProto1(input);
}
public void onInput2fromProto1() {...}
public void onInput3fromProto1() {...}

//protocol2
public void onInput1fromProto2() {
currentState.onInput1fromProto2(input);
}
public void onInput2fromProto2() {...}
public void onInput3fromProto2() {...}
}

abstract class AbstractState {
public void onEntry() {...}
public void onExit() {...}
public void onInput1fromProto1(Message input) {...}
public void onInput2fromProto1(Message input) {...}
public void onInput3fromProto1(Message input) {...}

//protocol2
public void onInput1fromProto2(Message input) {...}
public void onInput2fromProto2(Message input) {...}
public void onInput3fromProto2(Message input) {...}
}


For each distinct state of the state machine a concrete class derived from the abstract base class AbstractState is defined. The state machine is constructed by adding concrete classes instances to it.
However this implementation suffered from the fact that the classes interface was quite big. I have applied trhen the Interface Seggregation Principle (http://www.objectmentor.com/resources/articles/isp.pdf) and separated the protocols into two dostinct interfaces:

public interface Protocol1 {
public void onInput1fromProto1(Message input);
public void onInput2fromProto1(Message input);
public void onInput3fromProto1(Message input);
}

public interface Protocol2 {
//protocol2
public void onInput1fromProto2(Message input);
public void onInput2fromProto2(Message input);
public void onInput3fromProto2(Message input);
}

The abstract base class AbstractState was trimmed down to:

abstract class AbstractState {
public void onEntry() {...}
public void onExit() {...}
}

The derived classes were refactored to implemdent one or the other of the protocol interfaces (or both - if necessary):

class ConcreteState1 extends AbstractState implements Protocol1 {
...
}

class ConcreteState2 extends AbstractState implements Protocol2 {
...
}

class HybridState extends AbstractState implements Protocol1, Protocol2 {
...
}


Also the state machine was slightly modified as it follows:

public class StateMachine implements Protocol1, Protocol2 {
...
public onInput2fromProto2(Message input) throws NoSuchMethodException {
((Protocol2)currentState).onInput2fromProto2(input);
}
...
}

In the message dispatch loop (I am using async/nonblocking loops) the modification was minimal:

StateMachine currentSession;
Message input;
while(true) {
input = MessageQueue.get();
currentSession = Sessions.get(input.getSession());
//...
try {
currentSession.onInputXfromProtoY(input);
} catch(NoSuchMethodException ex) {
//treat the exception - possibly rethrowing a custom CustomProtocolException
}
}

This implementation solved some of the issues I had. The mechanisms became more extensible but still I found some place to improve. The contruction of the state machine was quite heavy. All the states were known in the contructor at compile time.
The solution applied here was to make the addition of the states configurable using a IOC Container (Spring in this case).
The StateMachine's contructor was modified:

//...
ApplicationContext ctx = new FileSystemXmlApplicationContext("StateMachineConfig.xml");
StatesManager statesManager = (StatesManager) ctx.getBean("StatesManager");
for(AbstractState state: statesManager.getStates()) {
states.put(state.getName, state); //ugly...
}
//...

and the configuration StateMachineConfig.xml:

<beans>
<bean id="ConcreteState1" class="ConcreteState1">
<property name="name">
<value>ConcreteState1</value>
</property>
</bean>
<bean id="ConcreteState2" class="ConcreteState2">
<property name="name">
<value>ConcreteState2</value>
</property>
</bean>
</beans>

This permits adding new states after compilation as the the implementation is no longer wired at compile time. Other advantage is that bugs can be easily fixed without complete recompilation (or new features can be added) as the IOC solves the loading of the correct classes in the VM.
This can be further on refined as this article of Martin Fowler explains: http://martinfowler.com/articles/injection.html

True passion

I am continously amazed how much passion Catalin puts into his hobbies.
His blog http://csorescu.wordpress.com is a small encyclopaedia of woodworking and connex domains. Catalin is a true toolsmith.
The downside is that his witty and well documented articles are written in Romanian mostly.

Saturday, January 30, 2010

Adieu XP

Today I have removed the last XP installation of XP I had.
XP was probably the best Windows I have ever worked with. And I really worked (albeit mostly as a power user) with all of them since Win 3.0 (on 286 machines).
I proved to be stable and not too resource hungry, quite friendly and customizable and had a tremendous application base running on top of it. Frankly the Professional version of XP is still a good business platform and a decent development one - but I have not much experience on Windows/.NET development.
Inspite of that I have decided to kill the last VM running XP.
Why I did this? 7 seems promising. And I'd like to try it out.

Sunday, January 24, 2010

Ubuntu 10.04 alpha 2

I have given it a try today by upgrading from 9.10.
This is good news for laptop users and especially for me.
Many devices are now recognized by default - so there is no more the need for custom omnibook drivers as it was the case until now with omnibook drivers that I've hacked. It recognized all the devices correctly, including the Toshiba's problematic bluetooth that is now seen as as an usb attached device.
Power management also improved somehow - the overall battery time increased with about 15 minutes.

Garmin GPS Voice


Garmin released a voice customization tool for their devices.
It could be funny to have Florin Piersic as my GPS's voice... Or why not R2D2...

Excellent wine



The 2007 [yellow tail] Shiraz is an excellent wine.
It is very fruity for a shiraz and resembles to a carmenere on the final note.

Thursday, January 14, 2010

Netbeans 6.8



Lovely! I'd give it five stars especially for the DTrace integrations on Solaris and Linux(?). I liked it's memory leak detection tools - as you can see in the picture.
The syntax completion improved a lot and it moves faster on my machine.
The cross references are getting better but there is a long way until they will match SlickEdit's performances.
Also integrations with Glassfish and support for Python and Ruby improved.

Wednesday, January 13, 2010

I can hardly wait for a Romanian edition

Fun with Erlang

I have played with Erlang for some time but never very seriously - in a payed project.
Lately I have enjoyed some development based on Erlang's Mnesia database.
For the same level of features Oracle charges BIG BUCKS for its Times10 database.

Update 1:
MySQL has in memory tables, as Times10 has. MySQL is free though... No wonder why Oracle doesn't like it

Update 2:
Erlang style concurrency. Works well in Erlang. Some fellow architect tried to convince me that well designed threaded programs can perform as well. No way. I do not think that I can explain better than http://www.defmacro.org/ramblings/concurrency.html

The Gods Themselves

Folly, thou conquerest, and I must yield!
Against stupidity the very gods
Themselves contend in vain
. Exalted reason,
Resplendent daughter of the head divine,
Wise foundress of the system of the world,
Guide of the stars, who art thou then if thou,
Bound to the tail of folly's uncurbed steed,
Must, vainly shrieking with the drunken crowd,
Eyes open, plunge down headlong in the abyss.
Accursed, who striveth after noble ends,
And with deliberate wisdom forms his plans!
To the fool-king belongs the world.

(Fr. Schiller)

I have started to quote poetry lately. Sometimes I found that the verses ae more powerful than my humble words. I remembered this quote from Isaac Asimov's book "The Gods Themselves".
Today I learnt that in a big organization, a big organization in a perpetual transition as it is the casae of my company is no good to be efficient.

To make a long story extremely short. Slow compilation speed on Netra 1125@440MHz servers. Salvage a shinier Fire V240@1002MHZ. Install and configure everything (GCCFS, CMake, SunStudio,...). Compilation about three times faster. Happy with the results. Want Clearcase on the machine in order to deliver. Refusedby the newly HP outsourced IT support. Reason: Not their business anymore. Refused again by lab support team: it is not their business. Briefly I have worked in vain because of the beaurocracy.

The bright side is that I have played a little with Sun machines. During the salvage of the

SFV240 I had to replace a CPU, unglue it from it's cooler, change it's fans, repair a broken CPU pin. It is a long time since I haven't done things like it and it felt quite good.

In the same tone: http://www.scottberkun.com/blog/2010/why-do-big-companies-suck/