Open source, closed doors? Peace of code.

Reading Time: 2 minutes

Throughout my involvement with code, I’ve been curious as to both the volume and quality of code. As well as, how it feels in particular moments to be programming.

Not so long time ago the suitability of open-plan offices to R&D (generally, “anything needing precise concentration for rather long periods of time”) was revisited and, according to many articles or persons, programmers hate open-plan offices. This in turn translates to diminished productivity.

Part of the negative side of a open-plan office is due to interrupting the flow, or optimal mental state of a developer. Good managers know how to shield developers from completely unnecessary and fruitless disruptions. Apart from one-man shops (where you, the CEO, are also developers, sales-guy, coffee grinder and the janitor), developers rarely should directly handle individual service cases (ie. being helpdesk), nor should they have much direct daily output to sales activity. Developers often participate as technical aides in product design; write both payload code and tests (the ‘core’ of their trade), handle open bugs, and learn new things. Developers should not (in my opinion) be involved much in the back-office activities of a project, such as maintaining capacity and reliable availability of servers, configuring complex build systems; and they definitely should not be involved in mindless ramifications from organizational architecture change such as moving a lot of stuff from a folder to another, or having fencing with any office productivity / email / calendar suites. Well, the latter goes to every role (not just devs) in the company, and I know that it’s part idealistic to state that change shouldn’t incur painful and numbing experiences.

My stance on the open-floor plan issue is quite similar as the news. If I’m mostly in developer role, I prefer somewhat closed rooms. It doesn’t mean that each developer would sit in their own closet, but rather that a team is shielded from extraneous noise and distractions. A very good idea is to have easily available, temp quiet spaces for individual work. Booking them shouldn’t be necessary.

Joel Spolsky said very well:

The more things you (ie. developer) can keep in your brain at once, the faster you can code, by orders of magnitude.

There might be purely neurological reason behind this. Our sound perception works as a background thread, automatically. We kind of – computationally speaking – keep making sense of the word-stream that enters our ears. Thus the more there is sound signal in the enclosing space, the more we probably have to deviate from perfect concentration on the most important task.

The idea behind open-floor plans probably were to alleviate siloing (individual developers going solo, making things that become incomprehensible to others, and pose a business risk). By putting people together, the architects maybe thought of leveling and making the team advance in more even and predictable steps. Reality perhaps got in the way.

Peter Drucker, The Age of Discontinuity (1968) after 15 pages read

Reading Time: 3 minutes

I’d only read 15 pages of the total of 358 in Peter Drucker‘s The Age of Discontinuity, but it already inspired somehow.

Drucker’s knowledge of the history of nations and his swift introduction of interesting facts regarding national productivity figures, quirks and logic in economics combined with solid writing style gives a true treat of a book. I’d known Drucker as name, that he was one of the pioneers (if not the pioneer) in management sciences along with Fayol and Taylor.

The words “innovation” and “disruption” are somewhat exploited nowadays. Marketing likes to think of “doubling the resolution of a screen” as something truly disruptive. It isn’t. Doubling resolution is called progress. A disruption means that a new product approaches the market from truly unexpected direction, often reversing the ordinary adoption order so that “lead users” are not the ones responsible for making the product a success. A disruptive product often means simplification, not added complexity. In cars, nowadays, an example of a disruptive car model would be one that kids could drive safely, and it wouldn’t require the driver to attend driving schools. It could also be dirt cheap and still of high quality. Take the aforementioned car example and compare it with how linearly progressing car turn out year after year: they have more features, more complex modes of operation, a thick manual, a lot of “don’ts” and so on.

Drucker is perhaps the most theoretical one of these three management authors. Henri Fayol had a direct background in mining industry, while Taylor was a mechanical engineer. Drucker came from a background of interdisciplinary home, where high ranking officials, intellectuals and scientists were frequent guests. Peter’s mother was in the medicine, and his father was a lawyer – and civil servant by profession. Wikipedia says it well:

I suddenly realized that [John Maynard] Keynes and all the brilliant economic students in the room were interested in the behavior of commodities,” Drucker wrote, “while I was interested in the behavior of people.”

So Drucker was infinitely fascinated by human motivation, creativity, and change. Management science could be described as being the science of achievement, efficiency, and innovation viewed through the glasses of a cognitive psychologist. In English: in order to cultivate an environment where X can happen, what should the manager do?

Drucker, in his own words, was witnessing the paradigm change from “rote management” of workforce into the more tactful and perhaps challenging management of intellect; that of the human brain. Management used to mean quite a mechanical, army-like operations to make large groups of employees work in an efficient manner. Later, perhaps from around 1950s or 1960s, there were more and more jobs classified as information work; and even the industrial jobs carried more requirements and thus possibility for employees to differentiate their output.

This major paradigm change is still ongoing; one of its most central areas has been first in the mechanization, and then automation of many kinds of production tasks.

Farmers use nowadays very technologically advanced machines, ready with even capability to be autonomously operating in the fields. A modern farmer who utilizes the full spectrum of tools can do the work that would have required as many as 50 or 100 farmers without these tools. However, as with all sociological movements, there are many shades to this truth. It doesn’t make sense to automate all kinds of work, for the time being. Agriculture also carries a fair sense of pride in the production process. The same can be seen in certain luxury products: would cigar smokers feel good to know that hand-made production was sapped because now robots can do the rolling and preparation of a cigar? Let’s say that once the main production problems have been overcome, the rest can be tricky and more down to perceptions of quality.  With cars, the robot welding process gives almost certainly a superior quality weld, partially since a machine doesn’t have to see in the same sense as a human welding operator.

Why was Drucker so successful as a researcher and writer?

Often successful researchers are very social; they get to see a lot of people, new ideas, and get a glimpse here and there about what’s to come in the future. (Continuing once I get the book again to my hands…)

Sijoittajan tietopaketti

Reading Time: 3 minutes

Alkuun rehellinen tunnustus: en omista osakkeita. Toimin vain yleisenä pohdiskelijana, ja kaupallinen koulutukseni on melkein minimissä. Opiskelen teknillisessä yliopistossa tietojenkäsittelyä, ja yritän valmistua vuoden 2014 kieppeillä. Työkokemukseni on 10 vuotta IT-alalta. Joskus “pikkuisena” tein pari tuhatta markkaa KOP:n osakkeilla – fakta, joka hymyilyttää, kun luin kauppatieteiden professori Puttosen historiaa.

Olen siis korkeintaan hieman luotettavampi kuin 64… tai sanotaan, 8 treenaamatonta simpanssia, joiden annettaisiin kirjoitella tällaista vastaavaa raporttia täysin satunnaisesti. No, sijoitusalalla tällainen luotettavuustaso ei ole täysin odottamatonta. Monenlaista neuvoa tulee vastaan, ja tärkeintä kenties on kehittää omaa kriittistä ajattelua ja talouden rakenteiden (epä)loogisuuden ymmärtämistä.

Katselen Googlen Finance -palvelussa pitämääni leikkiportfoliota. 5 tekno-osaketta ja 4 muuta, yhteensä yhdeksän kandidaattia, on yrittänyt pitää rahan arvon kohdallaan – tai mielellään siis parantaa sitä. Hajautus on ollut varsin heikko; moderni portfolioteoria neuvoo sijoittamaan noin 50 osakkeeseen, mikäli riskin haluaa pienentää järkeväksi.

Ensimmäinen huomautus: olen syöttänyt vain kahdesta osakkeesta simuloidut ostot, joten käytännössä kaikki salkkuni tunnusluvut heijastavat vain noiden kahden tapahtumia. 🙂 Note to self: RTFM.

Toisaalta, kannattaa tietenkin kysyä, kuinka paljon tuotto-preemiota haluaa riskin kustannuksella? Monet sijoittajat painottavat varainhallinnassaan osakkeita vain esimerkiksi 20-30% verran, jolloin niiden riskin voi antaa olla korkeampi.

Piensijoittajalle tuntuisi olevan muutama intuitiivinen neuvo: sijoita penniosakkeisiin, koska todennäköisesti niiden muutosnopeus on suurempi. Älä kuitenkaan pistä rahojasi kiinni aivan pahimpiin penniosakkeisiin, jotka ovat mataneet muutaman rahayksikön sadasosan tasossa vuosikausia – ne tuskin sieltä koskaan enää ylöspäin pomppaavat (toki poikkeuksia voi olla aina!) Klassinen neuvo on, että kannattaa sijoittaa toimialoihin, joiden toimintaa jollain tapaa ymmärtää – osaa siis lukea muutakin kuin tasetta ja tuloslaskelmaa. Kolmas neuvo: jos olet ihan tosissasi, niin lukaise Kauppalehden online-versiota, Talouselämää, ja esimerkiksi Puttosen Vesan kirjoja tai artikkeleita.

Tieto yleisesti auttaa sijoittamisessa. Tietoa on monenlaista; osa siitä on itse asiassa spekulaatiota ja huhua – eivät nekään ole hassumpia, jos niiden alkuperästä tietää jotain. Täysin tuntemattomien huhuilut kannattaa jättää omaan arvoonsa, koska ei voi koskaan tietää onko näillä jokin suuntaava tarkoitus, esimerkiksi luoda painetta myydä, tai vastaavaa. Voimakkaat, erityisesti valtamediaan päässeet huhut voivat muokata markkinoiden käyttäytymistä lyhyellä varoitusajalla – samoin todelliset uutiset.

Ammattisijoittajat yleisesti tykkäävät verkottua keskenään, esimerkiksi Reutersin ja muiden tietotalojen myymissä  ammattisijoittajien työkaluissa on pikaviestimiä ja muita verkottomista edesauttavia toimintoja. Nopeus, turva ja tieto keskustelukumppaneista edesauttaa päätösten tekemistä.

Sijoittajia on hyvin monenlaisia. Day-traderit sijoittavat hektisellä tahdilla, usein automaation (“robotin”) avustuksella, ottaen hyödyn irti kenties useiden maiden pörssien päivänsisäisistä pörssikurssien vaihteluista. Näillä on usein (muttei aina) isompi portfolio hallittavana. Kestävään vaurauteen ja sijoitukseen erikoistuneet sijoittajat usein käytännöllisellä ja rauhallisemmalla tyylillä; aikajänne on ainakin useita vuosia, usein esimerkiksi 5-10 vuotta. Sijoitettavana voi olla tuleva perintö, tai muu suvussa (tai perheessä) kulkeva varallisuus. Eettiset sijoittajat (jos todellisesti ovat muista eroava porukka) sijoittavat kohteisiin joiden uskovat olevan erityisen “vihreitä” ja eettisesti kestävällä pohjalla. Satunnainen sijoittaja sen sijaan voi saada innostuksen spontaanisti, ja sijoittaa esimerkiksi puoleksi vuodeksi, tai niin pitkäksi aikaa kuin kurssikehitys näyttää hyvältä.

Sisäpiiritieto on  erikoinen tapaus sijoittamisessa. Lyhyesti sanottuna se tarkoittaa, että on rangaistuksen uhalla laitonta käyttää tietoisesti tai sattumalta tietoonsa saaneita julkistamattomia yritystietoja julkisten (listattujen) yritysten osakkeiden kaupankäynnissä. Maksimirangaistus tätä kirjoittaessa (2011) Suomessa on neljä vuotta vankeutta. Sisäpiiritietoa on kaikki suoraan tai epäsuorasti, kirjallisesti, suullisesti tai muussa muodossa saatu tieto, jota ei ole julkistettu ja joka koskee yrityksen taloudellista tilaa, sen tulevaisuuden näkymiä, ja vastaavaa. Toisinsanoen: jos tiedät jotain, jota muut sijoittajat eivät tiedä, se on sisäpiiritietoa. Joitakin lievennyksiä ja poikkeuksia tähän sääntöön on – ja käytännöt vaihtelevat myös maakohtaisesti.

Osakkeita hankitaan, tai niiden omistajaksi voi päätyä, muutamalla eri tavalla. Tyypillisintä lienee sijoittaa itse pankin tai muun varainhoitolaitoksen kautta. Sijoittaja voi avata pankeissa tietoverkossa käytettävän sijoittajapalvelun, jossa ostoja ja myyntejä voi tehdä itse, ilman välikäsiä. Jos sijoitettaa varallisuutta on enemmän, voi olla järkevää hankkia neuvoja yksityisiltä tai pankkien sijoitusneuvojilta. Osakkeita voi hyvässä lykyssä myös saada esimerkiksi perintönä, tai maksuvälineenä. Tosin kannattaa muistaa (erityisesti kun niitä ottaa maksuvälinemuodossa), että osakkeiden arvon vaihtelu on rajumpaa kuin useimpien valuuttojen.

Tuloslaskelmia ja taseita kannattaa opetella lukemaan. Muutakin tietoa on saatavilla, paljon: esimerkiksi kotimaassa Talouselämä-lehti tuottaa tunnuslukutietoa puristetussa muodossa, analyysien kera. Muita tietolähteitä ovat esimerkiksi Morningstar.fi, Kauppalehti, Tietoviikko – muutamia mainitakseni. Isoimmat sanomalehdet myös tuottavat painetussa muodossa (päivän myöhästyneenä) pörssikurssit. Jos haluaa neuvoja sijoituksilleen, niin suosittelen vähintään 20-30 vuotta alalla olleita vakiintuneita sijoitusneuvojia – löydettävissä esimerkiksi hakusanalla ‘sijoitusneuvontaa’ elektronisista hakemistoista. Yritysten taustat voi tarkistaa Yritystietojärjestelmästä (www.ytj.fi)

Pikatietoa näistä voi katsoa todella kätevästi – jälleen; mitä enemmän taustatietoa ja osaamista on yleisesti taloudesta, sitä hyödyllisempää nopeatkin tiedonmuruset ovat. Täysin tottumattomalle silmälle luvut eivät juurikaan paljoa sano, paitsi ehkä liikevaihto ja voitto.

HiHat SSO shield

Reading Time: 2 minutes

HiHat is a draft of a mechanism for increasing strength of existing single-sign on systems (SSO). It employs a queue algorithm to choose which servers it relies on. Each of the servers get equally mirrored with the salted password ciphertexts, that the user has. Web browser module that is running in protected memory space gets to do the encipherment. Salting strategy is carefully chosen so that the salt has maximum shielding power (randomness). A compromised SSO site will gain no information of the password. The SSO site merely stores ciphertext, as a blind messenger.

In a computing system, we tend to drift towards the setup that works best for us. This may mean changes in:

  • operating system selection
  • software (for example, our favorite www-browser)
  • increasingly, when we adapt a web-based workflow, drifting and selection is directed towards the browser extensions and add-ons
  • choice of physical setup: LAN / WLAN, etc.

Drift is one aspect that system administrators find challenging. One company-wide set-up would be preferable to them, because this is easiest to administer. Since everyone would have the same laptop, on top of which a certain OS version runs, and the applications were always in a same train of version, the encountered bugs would replicate usually from one user to another and thus fixing them became more predictable.

But reality is that drift happens. Some surveys have indicated recently that information technology cannot and should not be played by the rules of administrators, because they are often very conservative – they have been trained to be conservative and security-oriented.

Employees use and learn web technologies at home, mostly. They migrate habits back and forth between home and work; what might have been “forbidden” at work in the past may well be accepted and even recommended by top management nowadays.

Since employees have put hours into learning things, they would like to pour that knowledge over to their work environment – not destroy or forget it every time they enter work. Remote workers are also keen to test out new things; the changes often come in the form of extension mechanisms to web browsers. Mobile connectivity and aid software with smartphones is also one change-evoking point.

I’ll be writing more about this later on. I’m very excited in exploring the possibilities that a SSO shield would actually have on the security of a system.