Monday, December 8, 2014

Brand Collapse

Will I trust the feeble new brand? It gives me no sensation whatsoever...
Too abstract, no history, no way to relate with it...
The ING brand and lion logo were quite inspiring and suggested force and history which meant trust. This N logo is utterly a bullshit.

The same thing happened with Piraeus bank. They changed the old logo, a beautiful and minimalist Greek trireme that suggested again boldness and history



into this Ericsson like logo that says nothing about the institution


December Movies

There are about six, seven months since I haven't been able to watch movies. This weekend though I enjoyed two really good ones.
On Saturday I watched Spike Jonze's "Her" - a nicely told story about AI and our relation to it while raising the problem of a "singularity".




On Sunday I watched "What Maisie Knew" a movie made after Henry James' book. It was one of the most sensitive movies about a child's universe and how it perceives reality - contrasting the child's serenity and acceptance with the rapacity and egoism of the adults.


Sunday, November 16, 2014

Duminica Neamtului

Poate ca in istoria poporului nostru ziua de 16.11.2014 trebuie sa poarte un nume.
Un nume care sa ne aminteasca de clasa politica a ultimilor 25 de ani.
Niciodata nu am vazut mai multa incrancenare si rapacitate in cei de la putere decat acum.

Chiar nu mai am cuvinte...


Friday, October 10, 2014

Switching sides

I have been somehow able to dribble the Microsoft world for about 14 years now... Until two weeks ago. 
I am struggling since that with Visual Studio and friends (I think that the Microsoft tooling is quite strange). I am kind of a noob in that world and I feel truly embarrassed of not knowing enough about the programming paradigms on Microsoft platforms. Hence I am trying to learn and use open technologies as WebAPI, OWIN and RavenDB in order to make my transition to this world easier.


Tuesday, August 26, 2014

Farewell to the sea...

I took a last bath in the Aegean Sea... The vacation is over...



Sunday, July 20, 2014

Legacy

After two generations of priests in my family (my grandfather and father) now there are two of geeks (me and my elder nephew)

Music

From time to time I just listen to music. Not the usual kind of music but folklore from Maramures and other regions of the country or abroad. I just listen, most of the time I barely hear the words but I can hear the emotions it sends. Raw, naive, with no polish or technology added. Interpreted on flawed instruments. With harmonic imperfections. But true. It goes somewhere in my ancestral self and make me react on something that is part of my design pattern, something I cannot truly understand or expose. I react to from the jumping dances of Maramures to the oriental sonorities of Dobrogea forgetting my urban nature ad starting to contemplate the intricate simplicity of this music.

    

Wednesday, July 16, 2014

No Reaction

One of the things I am quite intrigued of is the feeble reaction that the Romanian Orthodox Church (BOR) has against the sustained campaigns against it in the national press. For sure I do not agree with some of the actions of the BOR but the press is getting more biased agains BOR on daily basis.
The BOR has a weak PR and does not come with counter examples to the situations press accuses the Church of. Orthodoxy is not the panacea of religion but it is one of the most open religions towards women and one of the most peaceful. The greed and avarice that it is accused of is of its clergy men not of the institution itself.    

Sunday, July 13, 2014

The Sacred Way

In Caransebes the "Sacred Way" (as it is called by the bronze plaque in the middle) goes towards the cathedral straight through a series of terraces where they serve alcohol...   



The path to sacrality is indeed through the temptations...

Wednesday, July 2, 2014

Panacea

First it was Vaadin Refresher addon that I used to update some tables because the push worked horribly. They took it and used it to refresh every possible component in the UI.

Then it came the EventBus. They took it and used it to implement every possible event handler - even implementing local buses inside a single component.

Now I am about to introduce session scoped beans... I fear it. Badly...

Pride and incertitude

I am a StackOverflow user. I ask questions there and I answer to the questions I find interesting.
In my current company we have a Confluence instance where we post all kind of technical stuff.

Today I have "wronged" a fellow senior developer by posting some comments on an article he has written. The topic was the thread safety of singletons and I have quoted a link. His reaction was incredible: he asked me if I want to play "Who is more senior" with him. I have been supporting this guy in every situation until now because I considered him smart and rational - until now. So, I backed up, I explained my point of view both on wiki and Confluence and how I thought they should work. I told him that I didn't want to measure dicks on Confluence but just to place some pointers... Incredible again - the answer was that I should refrain from posting comments as this would make "junior developers" distrust us.

I believe that in some cultures, whether national and/or corporate people need rigid structure and like having formal positions. Up to a point this is beneficial as it gives both responsibility and authority to people, but, when this degenerates in vanity and lack of openness the things start smelling fishy. Combined with the vanity of being a small boss things go in cascade from bad to worse.


 
  
The vanity and the need for recognition are probably the symptoms of some frustrations... I do not know.
 

Wednesday, June 25, 2014

One strange memory leak

I am working with some PDF processing library on a server side application. For some time now I have seen quite a huge memory leak and I started to investigate.
Apart from the obvious streams not closed I could see nothing wrong in the code.
However I decided to have a deeper look and i issued the following command

ltrace -fCS -p `pidof tomcat` 2>leak.out 1>&2

To my surprise I have seen lots of SYS_fork() in the output meaning that the library forked the entire appserver :) - WOW. It was not an disaster because fork() is COW so the memory is duplicated only when the children write something - but as this is an appserver it is kind of a heavy operation to fork it every time.

This also explained why the system seemed to leak memory. During the execution of the children processes new buffers are allocated and as the new processes have their own lifecycle it consumes quite a lot of memory.

  

Sunday, June 1, 2014

D-Link DNS-320 revival

I have spent quite a time to revive my DNS-320 NAS. It's flash memory died last week - some bad block in u-boot... strange that it was not detected. So. I grabbed the tools and started to work on NAS revival.
I found an USB to SERIAL adapter based on PL-2303HX chipset and I soldered a serial connector on the NAS's motherboard (much to my wife's reluctance). I have compiled a u-boot based on Jamie Lentin's instructions. Using kwuart tool I have been able to boot the NAS with the new u-boot and I could write it to the nand.
The next thing was to create a Debian filesystem based on wheezy - again it was quite ok - bootstrapped it successfully and wrote it to on of the hard drives. Then I tried to modify the nand partitioning as to be able to use the ubifs on nand. Despite my efforts I haven't been able to make it work so I booted NAS with an external USB stick holding kernel + ramdisk.
Then I had an epiphany and I realised that I could write the kernel and ramdisk directly in nand and load them directly and boot them with bootm. WORKED!!! Quickly wrote the settings in u-boot's env.
I had a fully working Debian 7 Wheezy - so I was able to install all the goodies that previously were crippled on fun-plug. Now I have transmission, lighttpd, ajenti. Decently working avahi, samba, cups and netatalk. I also got NTFS3g support and ext4 + btrfs (the original firmware had only ext3)
The nas temperature is now about 44-46 degrees - slightly higher than with original firmware although the CPU usage is lower.
DNS-320 with Debian is for sure no concurrent to Zyxel-325V2, or Synology devices, but it does quite a decent job.
            

Monday, May 5, 2014

Turkish delight

I have bought some time ago a box of Turkish delight called Traki. The text written in Romanian is funny as it is ambiguous: "Ei au creat rahatul - acesta traieste in noi".



Friday, April 18, 2014

One day 14.04

I have spent almost one day on the latest Ubuntu 14.04. Scratched the ice a little bit on it and so far so good. Most of the things work flawlessly, the other things took me little time to tweak out.
I installed the system in EFI mode - just to see how it behaves and learn a little bit about grub.efi
The only annoyance is the installation of 32bits libraries which is way different than it used to be on 13.04 due to multiarch changes. I have bumped up Java and Tomcat to version 8 so next week I will have some fun.

Thursday, April 17, 2014

XML processing

I have been a huge fan of XStream since 2003 when I first discovered it, by mistake at codehaus when I was looking for an alternative to Cruise Control - named Damage Control - a nice CI system write in Ruby. XStream has an elegant API, is reasonably fast, supports multiple serialisation backends, but... it does not support polymorphism or optional elements. I looked around for alternatives. The most obvious one was JAXB - but it seemed to heavy and overly complicated for my needs. So I found out SIMPLE which is feature par with XStream plus the missing features (well at least optional fields). It works almost as a drop in replacement of XStream and I do not miss much the JSON serialisation of the former as I can use other engines directly.

Tuesday, April 1, 2014

Minor frustration

Some years ago - 2008-2009 - I was in an Intrapreneurial Bootcamp in Alcatel-Lucent.
My idea was to repurpose the payment systems we had for prepaid to serve financial transactions.
The idea was quite easy to implement using the available knowledge and solutions we had in ALu - repurposing SLEEs was quite an easy job - the best thing was that we could have addressed a huge market and we had a global footprint from start + operational teams that knew the technology ready to implement it to the clients.

Nobody listened then to me... Now I see that both Vodafone with M-Pesa (http://www.totaltele.com/view.aspx?C=0&ID=485947) and Orange with their Cash solution are entering on the market. I wonder who is behind their transaction processing systems?
  

Sunday, March 30, 2014

Weekend works

As i have little space in my apartment I cannot afford a permanent place for ma "lab". So every now and then I go to the basement to grab my tools and install them on the kitchen table.

This weekend I had to repair my old Nokia E51 charger - the cable has been eaten by my mom's cats, then I wired up a debug interface for my old MyBook gadget finally I have unsoldered some capactors from an old pocket amplifier made with TDA2822.

Then suddenly I transformed myself into Doc McStuffins and repaired the electronics in some of my daughter's dolls...


Saturday, March 1, 2014

Vaadin pushes!

Vaadin is quite a good framework - the nicest thing about it is that it mimics Swing's idioms over GWT while hiding some of the latter's details (as RPC).

However there are some issues with Vaadin too. I have recently needed both Push and Cookies... It turned out that this is almost impossible due to the fact taht @Push takes over the entire communication hence Cookies are always null...

As a workaround, UI.getPushConfiguration().setPushMode(PushMode.DISABLE) sometimes works... but - there is no clear rule on when it does happen.


 

Tuesday, February 25, 2014

Politics@ 2014

No longer than about one year ago the USL coalition was formed. The parties have excluded the hungarian party UDMR calling them traitors (which was not entirely a false affirmation) and stated that they will NEVER accept UDMR to governance again.

NEVER in Romania is 1 year. Twice the period of the refresh period in our memory cells.


Monday, February 24, 2014

Tools of the trade

Just as a note to myself some of the tools that made my life simpler:

1. Javassist - invaluable for bytecode weaving in various situations. Especially load-time and run-time effective - used it to create extension methods.

2. In the same reflective spirit - Reflections - a library that eases the work with java's builtin reflection.

3. Guava - quite a swiss army knife - especially the immutable collections and event bus.

4. Javolution - it is maybe one of the most promising things on the JVM platform - can save lots of work due to its highly efficient data structures and its ability to marshall C like structures.

5. Netty - eases the creation of network applications

6. JNA - Native access is simpler with JNA. Coupled with Javolution and Nety might be a good solution for some wicked high performance apps that still have to deal with legacy components.

7. Jython - makes some things in JVM really simple.

8. Akka - although Scala based - Akka also helps JVM concurrency.

9. XStream - the XML/JSON serializer.

10. JLine - Java network apps are not necessarily Web based.

11. JGroups - simplifies network group communication.

12. Metrics - gets insights from JVM applications.

Sunday, February 23, 2014

Bogdan

Is gone now. May he rest in peace.

"A beautiful mind" with a tragic ending.

Friday, February 21, 2014

CQRS Panaceum?

I have learnt today about CQRS (Command Query Responsibility Segregation). I must admit that it is a smart idea and really has some benefits - offloading reads is the one I like most.

However the bottleneck is in my opinion the impedance mismatch between the read model and the database especially when using an ORM.

The read model might be thinner than the write model hence there should be an adaptation from the mapped DTO's in write to the partial read model.

This is possible either in code by populating the read model - hence a duplication hell - because some of the fields have to be kept in sync. The other solution is to directly access the data store and get content - but this is very against the DDD/OO principles.

In conclusion every benefit comes with a cost...

Sunday, February 16, 2014

A necessary law

While nobody discuss Romania's entry inEuro zone in 2015 (because, frankly, it doesn't seem realistic) the telcos in Romania are expressing their prices in EUR, which is totally unfair because they hedge the foreign exchange risk to the customers. None of the telcos in Romania is an greenfield one, they have quite a large client base and they can hedge the risks by themselves now. While most Romanians are paid in RON all the prices should be paid in RON with no exception. A law to impose this would be more reasonable than one that helps the banks by halving the payments of the low income people.


Tuesday, January 28, 2014

Little bits


In the DIY galaxy there is a new and interesting player - a project created by Korg called Little Bits. While not as versatile as Arduino - this one is aimed for people less technical - and one of its greatest qualities is that it can produce music quite easily. Imagine building your own analog synth (as those of Jarre, Kraftwerk and co.) and playing it for real.


Wednesday, January 8, 2014

2014

It finally came over. After a long and troubled 2013, especially its 2nd part,  I was hoping for a peaceful year.

It started well. Hopefully it would continue in the same way giving me the opportunity to fulfill my resolutions.