Saturday, September 28, 2013

OverEngineering

I am working in a project in which every participant tends to over-engineer its part.
Most of the guys are quite young and they want to impress with their design pattern skills - which is not bad at all if they would choose the correct DP for the problem tackled - but somehow they miss the goal of some DP and apply them in every possible situation only to have the usage ticked.

Then there are some expert developers or ex-engineers that are now trying to apply the dev-ops paradigm. So they are always trying to create something that CFEngine and Puppet or Chef are already doing. It literally paralyzes my mind when I assist to some discussions about reinventing the wheel. They are - with all respect to their development skills - illiterate sysadmins and they do not want to read about existing proven working solutions and try to resolve everything by  themselves.

That's not okay in my opinion because there are so many corner cases that one can miss with an in-house solution. Any of the above tools does a better job on the long term than a custom made solution by the fact that it is extensible and there is documentation about it - while the in-house is quite a black box brainchild of a excellent dev/terrible sysadmin.





Friday, September 27, 2013

MM-droid

Best logo:

DroidCon Romania - http://ro.droidcon.com

Football

I am generally against organized football. I like it as a sport but not as a business. So I am extremely proud and happy that an amateur team from the Birsana village of my native region, met the en-titre champion team of Romania played excellent. That's the beauty of the game!


Going slightly mad



Emperor's New Clothes


In a software project, if some of people are misleading others because they seem trustful due to their position and/or their seniority, the project will go in a bad direction and legitimate critical thinking will be discouraged. 


What would one expect from a project in that people are misleaded? Useless effort and pain...

Be fair, be critical, be realistic - do not accept "Emperor's New Clothes" as a fact.

Wednesday, September 25, 2013

Rosia Montana


I do not know much about Rosia Montana... But I have seen the scorched earth of Rosia Poieni...
Gold mining is a short term solution for inhabitants... 10 years, 20 years... but after? How will Rosia look? Will that place - unchanged from Roman Empire era look the same... Will it be able to sustain life?

I do not know...

But I know that children are born in this country and they deserve a future. As much as we deserve a decent present.  

Wednesday, September 18, 2013

Skepticism

1. questioning, probing, testing.
2. disbelief, atheism, agnosticism.
One of the things that really annoy me is the dependency of people on frameworks and things they know in software.
I am mostly questioning people on why do we need new buzzwords in projects, what value they bring and why precisely those buzzwords and no other. I am amazed that they always answer by the book, not deliberately, but rather they repeat the hype...
 EG:

"We need Spring" (although we have no beans but a SPA)...
 "Why?"
 "Err... because of IoC :)"
 "But why Spring with Vaadin and not Guice or other?"
 "Err... Spring is good because it gives you beans and Guice is from Google hence is bad"
"Really... I was under the impression that it is POJO based"
"No, beans, beans are good."
"Why are beans good?"
"Because they have interfaces"
 --No Comment - Discussion with a Scrum Master with over 15 years of experience

 "DEB packages are a solution for our deployment problems."
"What problem would they solve?"
"I am spending too much time configuring the system at deployment"
"And how will the DEBs help you?"
"Err... Reduce time to deploy?"
"In fact you need a DEVOPS solution as Chef or Puppet, no?"
"No, those are not ok."
"Why?"
"I heard about them that are bad."
"With them you can deploy directly our WAR files on thousands systems at once on different configs without scripting... Isn't is a cool feature? Especially if we manage to sell and deploy our system."
"Err... Nooo, too much overhead"
"Well what if we will deploy on RedHat? They use RPM, you know?"
"Never in RH... It is evil..."
 -- No comment - Discussion with an Architect

Sincerely... The arguments are weak and based on marketing hype, rumours or hunches... But those are basically people that take decisions on software projects - so there is no surprise on the quality of software.

Saturday, September 7, 2013

20 Years since Assembly'93

The source of 2nd Reality demo (which run on in i386) PC has been published.

https://github.com/mtuomi/SecondReality

I have spent half of the high school trying to imitate this magnificent demo.

Java apocalypse


ROFL!

Kosovo

In my recent vacation I have been close to this tormented region.
Here is a movie about what happened there... Food for thought.

  

Tuesday, August 6, 2013

Soylent Green


Soylent Green is people!....

The prophetic line has grown today even more shades in the light of the synthetic hamburger meat.

Good testers

Good testers are rare and they worth their weight in gold... Unfortunately true...

I have seldom seen good testers. Probably because most of them were hired as last resort. With a few exceptions all testers I have interacted were sub-mediocre students or self sufficient professionals that did not knew much about their jobs. I have seen testers that were testing quite delicate subsystems without understanding them, or making affirmations on operating systems without understanding the difference between processes and threads.

A big surprise for me came in another organization that had separate development and testing departments, the latter being seen as a service for the former. C'mon - we are pushing the same boulder upwards... Their job was mainly to delay or even stop releasing products by applying the most complicated methodology possible and spicing it up with almost nonsense (keyword based testing, test vision, test concept, and several other esoteric concepts).

The goal of testers is to discover bugs - either manually or automatically (praise the SDETs) but not hindering the work of the developers as without developer's work they would be useless. They are for sure an equal part in the team and their work is the key factor for quality - but testers that are only descoping are a pain in the ass.

Monday, August 5, 2013

Fit for the job

I have recently been contacted by lots of recruiters that are insistently proposing me jobs although I am not actively looking for a new one. Actively means applying for one and being true interested in it.
I, myself, am a passive job seeker - I agree being contacted by recruiters for jobs where I do fit in.
But most of the time I am contacted for something else. E.G:

1. Contacted for embedded C and automotive... in my profile I have never mentioned those skills and I never applied for a similar position. I like embedded - but as a hobby not as a full time job as I lack true experience. My resume clearly states that most of my knowledge is in Java/Python. It is a long time since I have last touched C.

2. Management positions. I have been a manager. A small one - team leader. This was one of the worst experiences I had in my entire life. I had tremendous responsibility on people (I had to reduce attrition in a company paying below market average) and project (tight deadline and lots of technical challenges) with little managerial means (limited access to incentives and investment budgets). It was hard to find resources to keep people motivated and beg for money in order to secure project materials from a posse of beaurocrats (cost controllers) that were handling the project money that were already allocated. Every day I had to answer questions as "Why did X leave? Why didn't you do something to keep him - He left because he was underpaid and You did not approve a 100EUR raise for him... (20% ot his salary at the moment)", "Do you really need two servers? Isn't it a waste? Can't you share one with another team? - NO. We have to create a cluster and we DO need this specific server as it is our standard building block...". Long story short - I am not interested into dealing with dishonesty and avarice once again.

3. Frontend development jobs - I like frontend development but I am not an expert. I have much coded on the server side back-ends and my front-end aesthetics and usability qualities are something I have to improve a lot. I never mentioned also those in my profiles.l

4. Junior positions for senior people - the funny part comes when discussing money - a long silence on their side...

The point I want to reach in this rant is that recruiters do not really read CVs. Or they read them between lines and if some of the acronyms they see there they jump at you with an offer without pondering it better. All of the above points show me clearly that at least Romanian headhunters are not fit for their jobs. They do not understand the field of IT recruitment ad work only on pattern matching.  They are mostly Political Science, Psychology, Business or esoteric ones (some at some diploma factories), graduates without  no HR formal training, or at least with a shallow one. They are unable to select candidates and/ or ask the help of the technical people that can read a technical CV. They are rude and insistent (one recruiter called me directly to provide a recommendation - although she was told to use e-mail to contact me. Of course she called me during a meeting via company's PBX lines).

I am considering removing my profiles from job sites and use only personal direct networking for applying at jobs.

However there are common-sense recruiters that are able to do their job correctly - but they are as rare as a white elephant.

UPDATE: I will for sure clean my LinkedIn recruitment connections if I learn nothing new from them by the end of the year.

Wednesday, July 10, 2013

Unconventional display technologies

In the latter years the digital display devices as 7-segment, LED/LCD dot matrix and graphical displays have acquired the majority of the market.
However there are still some not so common technologies that are still worth mentioning as they are spectacular.

1. Nixie tubes - their characteristic warm glow makes them the one of the most appealing vintage display technologies. They look best in mid-low lighting ciondition.



2. VFD displays - a little bit younger than Nixie. VFD can display both digits/letters as well as graphical information. It is more robust than Nixie and can be seen in any lighting condition due to its high brightness



3. Solari boards - or flip display - electromechanical displays that had their glory in the '70s. Awesome readability and distinctive update noise.


Sunday, June 30, 2013

No more Humanitas bookshop in Timisoara

The Humanitas bookshop, one of the oldest and most respectable places has recently closed.
It is a great loss for the city as it was for a long time the only place where I could buy the books I wanted wether they were fiction or technical.
I am feeling that Timisoara is loosing every year more and more from its cultural heritage.


Tuesday, June 25, 2013

Looper


From time to time a good sci-fi movie breaks the patterns of the commercial "box-office" stupidities. Looper is one of these movies - interesting, dramatic and and extremely dystopic.
The movie is in the same line (and shares an actor - Bruce Willis) with another dark masterpiece - Terry Gilliam's 12 Monkeys. 

Google Reader backup script

The "subscriptions.xml" file can be obtained from Google TakeOut export. It is just an OPML file that might be imported into another RSS Reader.

#!/usr/bin/env python

import os
import urllib
import re


def downloadData(feed):
 feed = urllib.quote_plus(feed)
 url = "http://www.google.com/reader/api/0/stream/contents/feed/"+feed+"?n=9999"
 urllib.urlretrieve(url, feed)

def parseFile():
 result = []
 f = open("subscriptions.xml", "r")
 xmlUrl = re.compile(r'.*xmlUrl="(.*?)"')
 for line in f.readlines():
  m = xmlUrl.match(line)
  if m!=None:
   result.append(m.group(1))
 return result
   
if __name__=="__main__":
 feeds = parseFile()
 for feed in feeds:
  downloadData(feed)

Monday, June 17, 2013

Importance

What is more important for our press?

The fact that the bimbo Alexandra Stan has been beaten by her manager?

Or

The death of father Justin Parvu, founder of the Petru Voda monastery - the only place dedicated to those who died in the communist prisons?

...


Thursday, June 6, 2013

Raise and fail...

In the small IT community of Timisoara there are always some "shooting star" companies that attract the attention of the most talented people. It was the case for Dapredi, Caatoosee, Savatech, Masstech - just to name a few that I remember of. Now the spotlight is on "Three Pillar Global".

One of the most interesting quality of this one is the fact that they are very social and try to create a community around them - maybe in order to have a good recruiting pool.

Will it last the test of time or will it fail as many of the other ones?

The same question might also be asked for the old and established names as Alcatel-Lucent (that is losing talents at an alarming rate and its core business is challenged acutely), Continental or the good old Berg...

Wednesday, March 27, 2013

Friendship!

I for one would have never believed that I would enjoy a road movie with two "oessies" (Germans from DDR). The two dreamers from Berlin arrive in the early '90 in US and have the adventure of their life there trying to cross the country from New York to San Francisco.



An excellent movie - much in the tone of  "Good Bye, Lenin"

Saturday, March 16, 2013

The death of an awesome product

Google announced that they will retire Google Reader.
It made me sad as it was the best RSS reader ever. I have tinkered with desktop solutions as Omea, Liferea, Thunderbird but none was as capable as Reader. It had the unique feature of caching the feeds so old information was retrievable. That is the way I kept information about closed blogs and stuff.
But, sadly, Google decided that they will close the this product as "the usage declined". What about G+? Why don't you shut it down also as it never had any usage. Sometimes Google makes strange moves creates a hype, launches a product and then, out of the blue, shuts it down.
Will it happen also to Blogspot or GAE?
Hopefully not.

In the meanwhile I have found a way to download the cached content of my Reader data.
1. Export the OPML with TakeOut
2. Parse OPML and create a JS map from xmlUrl attributes
3. Using jQuery create a page that displays the entries and then adds them to the following URL

 http://www.google.com/reader/atom/feed%2F<your link URL escaped>?r=n&n=5000

4. Then, using "Down them all" get the full cached content

This is not fully automated as I have no clue yet on how to authenticate Python to Google (some OAuth2 think I suppose) but I salvaged the data in less than 15 minutes.

Friday, February 15, 2013

Movies

A classic:  "Pi" by Darren Aronofsky. It is one of the best movies about mathematics and number theory. It sill has some exaggerated aspects on mathematics but all-in-all it makes a credible story. The techno soundtrack with long brown-noise pauses is fantastic.

 

The second one is "The Perks of Being a Wallflower" - a warm story about friendship, love and adolescence. The cast well chosen and the movie features an excellent soundtrack (it made me listen Brian Eno for a week).


Too much, Too late

Something good happened to me this week. But it was too late. Although it was a lifetime opportunity it would have made me an alien, a Romanian in Dublin.