fredag den 23. december 2011

Det var nok fordi hun slog for mange mennesker ihjel

Min søns Lego(R) Batman spil frøs fast hertil morgen. Som softwareudvikler hørte jeg med glæde på mine børns forklaringer på problemet. Min ene datter mente, at det kunne skyldes at vi havde spillet for meget. Det afviste jeg (nok pædagogisk ukorrekt) som usandt. Herefter foreslog hun noget med, at det var da de begyndte at lade den. Det afviste jeg også som en smule usikkert (selvom det nok egentlig var forklaringen). Min ældste datter blandede sig i debatten ved at fastslå at den efter 500 opladninger ikke ville virke mere. Det reagerede jeg på ved at se en smule opgivende ud. Jeg tilføjede, at det var en af de karakteristika et Lithium-ion batteri har og at det nok ikke var forkert at batteriet efter ca. 500 opladninger ville begynde at virke dårligere. Herefter gik jeg hen i køkkenet for at lave mad til ungerne og bagved det genstartede Batman spil, der heldigvis (tak Lego(R)) har autosave, sagde min søn:

"Det var nok fordi hun slå for mange mennesker ihjel"

Hun var i det her tilfælde min datter, som havde hjulpet ham med at få nogle flere mænd (dvs. Lego(R) figurer). Det var jeg nødt til at give ham ret i :-)


søndag den 18. december 2011

fredag den 23. september 2011

Google Dart interview


UPDATE: This blog post has moved to http://gototoday.dk/2011/09/29/google-dart-interview-help-us-with-questions/


On the 10th of October Lars Bak and Gilad Bracha will reveal the new and exciting Dart programming language for the web. This will be revealed in the opening keynote at the GOTO Aarhus 2011 International Developer Conference. After this interview I might get a chance at interviewing them about this subject and publish it on the GOTO Today Blog. Here is my draft brutto list of questions to ask - please help me add other exciting questions.

How will you sweet-talk other browser vendors?
Have other browser vendors already accepted to implement a Dart VM in their browsers?


Tool support
When will Brightly (the IDE for Dart and other web development) be released?


Language paradigm
Structural programming language - Why did you choose this programming paradigm? Why not the functional programming paradigm with its side-effect free programming? Or what about actor based programming like Scala, Erlang (Erjang) both paradigms are inherently designed for concurrency?


Language details
Where can I learn about the language details?
When you designed the language syntax and semantics, were you at any point disagreeing on what a particularly language construct should mean and/or expressed?

The language is optionally typed. This seems to be the type system of choice for new programming languages. But what about performance? Isn't easier to create a high performance VM with a statically typed language?


VM details
What about garbage collection - algorithm, memory management (heap, generations,???)


Marketing
Why keep it a secret for so long? To create a hype about it? Or to gain a technical lead? Or ...?


Unrelated to Dart
What is your biggest aversion, if any, in modern software development?
What do you typically do when you're stuck with a computer science problem?
"Do no evil" is, I believe, the motto of Google. Is it possible for a large company, like google, to fulfill this motto.

søndag den 14. august 2011

Working Title: Organisational/Social antipatterns


Introduction


M. Sc. Software engineering - Aalborg University

PhD-wannabe

Employment: 7 years at SSE, 2,5 years piloting software @Trifork


Disclaimer:


1) This is NOT science. It is based on my 10 years of experience as a developer in the Danish IT business.

2) I'm no better. I've done most of the things mentioned here.


Purpose:


Present some ways (not?) to do software engineering and/or to behave in mutipeer-social relationships.


Real purpose:


To get revenge ;-) of all the times I've been hurt, ridiculed or even worse struck on my alpha-male wannabe ego :-)


Agenda

  1. Introduction
  2. Some Org. Anti-patterns
  3. Side-tracks: Programming paradigms vs. human stereotypes (WIP)
  4. Conclusion


Conflict creator aka. Firestarter


Illustration: 1) Overskyet …. lyn …. frisk blå himmel. 2) To elefanter der slås.


Idea: Let the others take the fight, then you can concentrate on the job at hand. OR Clearing the thick air of despair by a nice fight.


(Examples: Predator vs. Alian Predator. long bath...)


References: Alpha male theory? Organisational Elephants crossing [snapler]


----


OLD NEWS!!!: Work harder not smarter

******************************************


Illustration: ?


Idea: Deadline ahead - plan not ok - lets put more people into the project. Or even worse: lets put 1 person from another country, another part of the organization, and with a different language one (mythical) man month before deadline.


Examples: Red weeks in a wellknown big company....


Reference: Mythical Man Month. Cope, study: perfect work week 16 hours


----


More hats, more productivity

*******************************


Illustration: En jonglør der er ved at tabe den 6. bold


Idea: Get more productivity out of smart people by giving them multiple roles.


Examples: A promising young employee is making good progress on a team. Overtime lets make him: Teacher, Part Development knowledge leadership, test manager and lead developer.


References: Men multitasking. Context-switching. Pleasing everybody is pleasing nobody.


----


Everlasting impression

*************************


Idea: Make a negative or positive everlasting impression. Then you will never be forgotten in an organization. Backfire: - Nagging and ridiculed because of funny stories.


Examples: The Fight of the Red Screwdriver. Get really drunk after 14 days on your first ever IT-job, at the company summer party. (Simon Spies)


Relatives: Bad publicity is better than no publicity.


Conclusion: Antipattern? I don't think so, but it is a dangerous strategy that can backfire. OOOPs wait a minute - that is the definition of an antipattern.


----


More deadlines, more productivity:

*************************************


Illustration: Agurk der skærres i tynde skiver.


Idea: Short iterations, short-terms goals, more productivity


Problem: Stress. Employers never able to have a day of non-productivity at work will get stressed out. First experiences with Scrum The big welknown company: Employer citation: "You have to get used being in hurry all the time"


A.k.a: Agility gone bad?


----


Punish Manager

******************


Origination: Team christmas party. Drunk Simon: "When someone makes serious bad things with the codebase they should be physically punished."


Illustration: Video youtube - HMM.


Idea: Have a crumpy old man which knows the product very well punish fresh green developers each time they make the tiniest small mistake.


Problem: Green developers escape the project and/or company and all their nice new University knowledge is not exploited.


Examples: "You just use SVN-update? Man, you must be crazy you will get your sandbox polluted with all the green developers bad code - Use SVN-synchronize",


----


Scapegoat:

*************


Illustration: Nød der bliver til egetræ.


Idea: Lets as a group select one individual in the group who will be the scapegoat. Could be: The slowest coder. This way we can all feel above him and when anythings goes wrong, we can implicitly insinuate that it was his fault.


Problem: Instead of using this talent we misuse it.


Examples: Hi-knowledge consultants meets crumpy old developers.


Solution: After 35 years of living, I know that the following is not entirely true, but I used to believe the following: "Everyone has a talent. The hard part (for some people) is to figure out which talent". A person can't be all bad. If you give her a bit of confidence, she might very slowly evolve into a decent or even invaluable employee. A metaphor: Try treating other people as plants. If you give a plant (sun, varmth, water and attention) it will grow into a nice flower.


----------------------


Create an enemy:

********************


Idea: Lets make a common enemy. The one we are fighting against. This will make good team spirit.


Problem: Backfires when people interact with enemy.


Candidates: Customer. other subcontractor, other division of same organization, other team on the same project.


Examples: "The customer does not understand why the system is not performing well"


-----------------------


Career paths:

***************


Illustration 1): En gruppe kodekvæg der kigger på en mark med forskellige blomster.


Idea: Lets make some career paths to strive for. Then we can make people have titles like Senior Chief Architect or Senior Project Manager. Problem all the american companies have peoples with longer and greater titles! Solution lets upgrade all our employees with a new title. (Remember: not to mention that this upgrade has no money attached :-)


Illustration 2): En gruppe kodekvæg der kigger på en mark med kun een slags blomster.


Idea gone bad: Lets only make a project leader career path.


Problem (idea gone bad): All the bad developers become leaders. Secondary problem: All the good developers leave the company.


-----


Conclusion:


Antipatterns are as valuable as patterns. Because its stories about ideas that seemed like a good thing but could turn out very bad. Like building an eternity machine by digging a very big whole in the earth an putting a tea pot of water above it.





tirsdag den 9. august 2011

Livets mening m.m.

Da jeg var yngre brugte jeg rigtig meget energi på at finde ud af var svaret var på livets store spørgsmål: Hvad er meningen med livet? Dengang var jeg sikker på at der var et entydigt svar på dette spørgsmål for alle mennesker. Nu er jeg omkring halvvejs og livets mening er rykket lidt i baggrunden. Sagt på en anden måde: Meningen med livet er nogenlunde gået op for mig.

Status: 3 dejlige børn, 1 kone, 1 hus, 1 bil, 1 marsvin, 1 job, 1 familie.

Hvad der bekymrer mig i dag er flere ting og på flere niveauer:

I mit eget liv:

- Mit og konens helbred
- Min søns helbred

I Danmark:

- At vi fortsætter ud af en kurs med mindre demokrati, uforståelig fokus på penge og økonomisk vækst som altings mål. Penge er kun papir!

I Verden:

- Overbefolkning
- Krig
- Sult
- Miljø

Mit håb:

I mit eget liv:

- Helbredelse af min kone og min egen Colitis Ulcerosa
- Styr på min søns fremtid.
- Forening af mine skildsmisseramte forældre. Dvs. at de kan kommunikere.

I Danmark:

- At nogle visionære politikere vinder valget. Politikere der er i stand til at brug balanceret menneskelig vækst som mål.

I Verden:

Det driver jo af kliché men:
- Fred, fordragelighed, religiøs forening, færre våben, fokus på miljø, styr på befolkningsvækst, bedre fordeling af verdens resourcer.