Rainy days, Japanese to Satay

It’s raining again. The second day in a row with rain. Not a lot, but almost continuously. At the guard’s booth, an Indian stranger offers to walk the last bit to the entrance of the building with him under the umbrella.

Food is a thing here. Gary takes me to a Japanese restaurant at noon. By the way, eating out in the afternoon and evening is more common here than cooking for yourself. By the way 2, we like to leave early because of the traffic on the road that will cause the walk to Friday afternoon prayers in the mosques nearby. Indeed, later, the cars are two rows thick along the road.

We ate a light meal in the Japanese restaurant, and I paid for the two of us. In retaliation, Gary took me to a nearby Malaysian restaurant in the evening to taste the excellent satay.

In the mall around the corner, there is a noodle restaurant where noodles are made the traditional way.

Daily commute in KL: Grab and Asam Boi

Grab is great. The Über of Asia. Maybe even better.

I ride back and forth to work daily for about 10 MYR per ride (just over 2 euros?). The cars and drivers are clean and tidy. All they ask of you is to give them a 5-star rating in the app. The cars are mostly Proton, a local Malaysian brand. “Never buy one,” the owners let me know.

I understand it is a sport here to maximize your motorcycle by stripping it completely of all unnecessary accessories, including the brakes. These stripped motorcycles are then raced on the highways. On the news, I heard that today, the 10th youngster in a short time has killed himself in this sport. “They never learn,” says my colleague.

At lunch, I drink Asam Boi, a local drink made from lemonade and pickled plums. The combination of the lemonade’s sweetness and the plums’ sourness is perfect.

Asam Boi

Programming languages and what’s next

My review of programming languages I learned in during my years in IT.

BASIC

On the TI99-4a.
Could do everything with it. Especially in combination with PEEK and POKE. Nice for building small games.
Impossible to maintain.
GOTO is unavoidable.

Assembler

In various variants.
Z80, 6802, PDP 11, System 390.
Fast, furious, unreadable, unmaintainable.

Algol 68

Liked this language. REF!
Have only seen it run on DEC 10. Mainly used in academic environments (in the Netherlands?)?

Pascal

Well. Structured. Pretty popular in the early 90s.
Again is this widely adopted?

COBOL

Old. Never programmed extensively in it – just for year 2000.
Totally Readable.
Funny (rediculous) numbering scheme.
Seems to be necessary to use GOTO in some cases which I do not believe.

Smalltalk

Beautiful language.
Should have become the de facto OO programming language but failed for unclear reasons.
Probably because it was way ahead of it’s time with it’s OO base.

Java

Totally nitty gritty programming language.
Productivity based on frameworks, which no one knows which to use.
Never understood why this language was so widely adopted – besides it’s openness and platform independency.
Should never have become the de facto OO programming language but did so because Sun made it open (good move).
Far too many framework needed. J(2)EE add more complexity than it resolves.
Always upgrade issues. (Proud programmer: We run Java! Fed up business person: Which Java?)

Rexx

Can do everything quickly.
But nothing structurally.
Ugly code. Readable but ugly.
Some very very strong concepts.

Php

Hodge-podgy language of programming and html.
Likely high programmer productivity if you maintain a stark discipline of programming standards. Stark danger of creating unmaintainable crap code mix of html and php.

Python

Nice structured language.
Difficult to set up and reuse.
Can be productive if nitty gritty setup issues can be overcome.

Ruby (on Rails or off-track)

Nice, probably the most elegant OO language. Too nitty gritty to my taste still. Like it though.
I would start with this language if I had to start today.

What is next?

Visual programming? Clicking building blocks together?

In programming we should maybe separate the construction of applications from the coding of functions (or objects, or whatever you call the lower level blocks of code.

Programming complex algorithms (efficiently) will probably always remain a craft for specialists.

Constructing applications from the pieces should be brought to a higher level.

The industry (well – the software selling industry) is looking at microservices but that gives operational issues and becomes too distributed. We need a way to build a house from software bricks and doors and windows and roof elements.

Probably we need more standards for that.

Some bold statements

AI systems “programming” themselves is nonsense (I have not seen a shred of evidence).
AI systems are stochastical systems.
Programming is imperical.

In summary, up to today you can not build software without getting into the nitty gritty very quickly.
It’s like building a house but having find your own tree and rocks first to cut wood and blicks from.
And then construct nails and screws.
A better approach to that would help.

What do you think is the programming language of the future? What need should it address.

In Layman’s Terms: (Visa) Format-Preserving Encryption

One of my clients asked me about Visa Format-Preserving Encryption. Could look into this. I am sharing a summary here.

FPE is …

Format-Preserving Encryption (FPE) is about encrypting so-called structured data, such as credit card or Social Security numbers.

With FPE you can encrypt data in such a way that does it not alter the data format.

Your data may be credit card numbers, account numbers, social insurance numbers, addresses, postal code, FPE will encrypt the data and the outcome will look like a credit card number, account number, social insurance number, address, postal code.

That’s it.

With this you can encrypt data per field without having to make big modifications to your existing application.

Then we come to the real goal.
We can have better data privacy and security. We can agree and adhere to certain industry standards for data privacy and security, such as PCI DSS in the Payment Card industry.

And the Visa?

Visa have invented and patented an algorithm to realize FPE and use this in their card handling. Called VISA Format-Preserving Encryption.visa format-preserving encryption

Why do we need this format preservation?

Sensitive data must be encrypted so that malicious people can not read that data. In financial transactions this is of course very important.

A problem is that with encryption the format of field could change. Traditional encryption algorithms take data as a byte stream, and turn it into another byte stream.

If you have a string of text, such as a name, after encryption this encrypted field may become larger than the original field, it may contain numbers or funny characters, or it may have become be a bigger field. Or if you have an account number, after encryption there may be characters in the result. Or there may be more digits in the result than in the account number.

This change of format of fields can cause several issues in applications.

Column sizes in databases may be too small to contain encryption results.
Fields in programs may become too small
Test data for application can become problematic.
It can become impossible to implement if these fields are used as keys in relational databases.
Your analytics may become problematic.

To prevent all these issues Format Preserving Encryption was invented. With it we can encrypt fields, but process these field in the programs as if they were not encrypted. The program is not aware of the encryption.

Clearly I am leaving out details. Fill me in where you feel necessary, I’s appreciate it.

Innovation: getting comfortable with chaos

First impression: this book is either beyond my intelligence.

People in Rainforests are motivated for reasons that defy traditional economic notions of “rational” behavior.

Had to re-read that sentence a couple of times to grasp its meaning. I hit a few more of these texts in The Rainforest, by Victor W. Hwang and Greg Horowitt.

I was a false start. Now and then the writers fall in the trap of academic writing, and they follow the “misguided lessons you learn in academia” as Jason Fried and David Heinemeier Hansson call it in “Rework” (more on that in another post).

The book looks at psychological, neurological context of forming innovation groups, and what to look at. It touches open many other aspects of inactive environments (rainforests).

There’s a sociological aspect to it that very much speaks to my heart.

As veteran Silicon Valley venture capitalist Kevin Fong says, “At a certain point, it’s not about the money anymore. Every engineer wants their product to make a difference.”

This reminds me of The Soul of a New Machine from Tracy Kidder. Excellent book by the way, a must read for (computer) engineers and other Betas. You will get your soldering iron out.
Anyway in this book also, the goal of money is way out of sight, it is the product that counts. Personal issues are set aside, esthetic issues with respect to the new machine prevail. The team is totally dedicated to creating the new machine. They are in the flow, very similar to the psychological flow that psychology professor Mihaly Csikszentmihalyi, has described in “Flow”. The state in which people (typically athletes talk a lot about pushing themselves into a flow) where conscious thinking and acting disappear and a person gets totally submerged in the activity itself.

Back to the Rainforest, where the authors have found that a social context is key for a innovative rainforest to thrive. It’s not just about creating the brain power, but an entire entrepreneurial context that turns this brainpower into a innovative growing organism. The trick is to create a social environment where cross-fertilization takes place.

“Governments are increasingly seeking to spur entrepreneurial activity across the entire system, not just for large companies. Today, countries are ambitiously seeking to create entire innovation economies.”

 

 

“The biggest invisible bottleneck in innovation is not necessarily the economic desirability of a project, the quality of the technology, or the rational willingness of the customer. The real cost frequently boils down to the social distance between two vastly different parties.”

“Serendipitous networking is essential because, in the real world, it is impossible for a central agent to do everything.”

A lot of word and advice are spent on the topic. Tools are presented as guidelines for achieving such an environment.

“Tool #1: Learn by Doing Tool #2: Enhance Diversity Tool #3: Celebrate Role Models and Peer Interaction Tool #4: Build Tribes of Trust Tool #5: Create Social Feedback Loops Tool #6: Make Social Contracts Explicit”

I am not sure if Hwang and Horowitt prove in their work that a central organization (government) can really steer this. An analytical approach to culture change is something different from a (working) prescriptive culture change. I may be skeptical, but with me are the Fried and Heinemeier again in Rework about culture (in context of an organisation):

“Culture is the byproduct of consistent behaviour. 

It isn’t a policy. It isn’t the Christmans party or the company picnic. Those are objects and events, not culture. And it’s not a slogan, either. Culture is action, not words.”

The Rainforest continues and brings together Deming’s approach to maximize quality of product procedures by an organization with the entrepreneurial approach towards innovation. This so serve as a model to evolve innovative, informal and entrepreneurial spirited organizations, a kind of primordial soup into mature structured organization.
(In this soup of entrepreneurial elements, a “flow” should be created igniting an entrepreneurial life form.)

“We surmise that one of the major reasons large corporations often fail at innovation―whether they create venture arms, new product divisions, or otherwise―is because they typically create new business divisions in a formal sense without the “cultural walls” separating the Deming and the Rainforest communities.”

Interestingly this is also what Christensen speaks of in “The Innovators Dilemma”. Christensen makes a similar claim. Organizations fail at innovation because they manage innovation the same way as they do there mature business units. This inherently fails. There is a lot of similarity between the thinking of Christensen and Hwang here. These guys should talk. And invite Fried and Heinemeier to the party.

I conclude managing innovation in an existing (large) organizations can only be successful if it is operated in a completely separate entity. With their own culture that is free to grow, and in a social environment that is not constraint by bureaucratic “efficiencies”.

7 augustus – toer #2

De volgende attractie van de toer is een bamboebrug over een rijstveld. De brug, een toeristische trekpleister, is eigenlijk een stalen skelet met bamboe aangekleed.  Er zijn nu een paar mensen op de brug door het veld. In het seizoen moet het hier enorm druk zijn.

We eten bij een restaurantje langs de weg bij de brug, en vervolgen de toer naar de waterval. Deze ligt een paar honderd meter van de weg af, de jungle in. Een smal pad leidt door een kloof naar de waterval. Een klein meertje aan de voet van de waterval. We badderen wat en nemen elkaar op de foto.

De land-split is een heel apart seismisch / geologisch (?) verschijnsel. Een jaar of twintig geleden zag een boer hier opeens in zijn landje op de berghelling enorme scheuren van wel 20-30 meter diep ontstaan. Dat maakt het land onbruikbaar voor landbouw en de boer besloot het fenomeen open te stellen voor publiek. Een paar jaar later trokken er nog meer scheuren in zijn land. De attractie wordt op een ludieke manier gefinancierd. Bij de ingang krijgen de bezoekers allerlei lekkernijen aangeboden. Lokale specialiteiten, drankjes en hapjes. Je kan deze ook kopen, maar dat hoeft niet, zegt men er bij. Allemaal heel gracieus en niet opdringerig. En de man die de boel leidt spreekt enorm goed engels. Het enige dat ze van je vragen je te overwegen een donatie te doen, van hoeveel mag je zelf weten. Dat laat je maar afhangen van hie je e.e.a. hebt ervaren. We drinken sap van de Hibiscus (bloem (?), eten tamarinde, gefrituurde bananenchips, zoete aardappel. We koepn een fles van het Hibiscusdrankje, dat waarschijnlijk straks lang niet zo goed meer smaakt.

De Pai Canyon staat als laatste op het programma van de rondleiding. De Canyon is een hele steile rotspartij van waar af je een heel mooi uitzicht over het dal van Pai hebt. Het is hier goed zweten, zo op het warmst van de dag. Japanners en Chinezen halen halsbrekende toeren uit op hun slippertje langs de hellingen. Heel mooi, uniek uitzicht over het dal rond Pai.

Op de terugweg bespreken we bij de chauffeur voor de volgende dag een bezoek aan de grotten van Lod.

7 augustus -Toer hot spring, land split, waterval, chinees dorp, Pai Canyon (1)

We worden vroeg opgehaald bij onze appartementen in Pai door onze chauffeur. Een kleine, gedrongen vent/jongen met een petje achterstevoren op zijn hoofd en een grote zonnebril op zijn neus. Hij komt met een Toyota Fortuner. Een enorme 4×4 die in Nederland alleen bereden wordt door PC Hooft bezoekers en hoort zit er een strakke blondine op de bijrijdersstoel. De chauffeur blijkt een heel aardige vent. Hij houdt van punkrock. Gedurende de hele reis zijn we verzekerd van stevige muziek, van U2 tot SoD.

We rijden eerst richting Mae Hong Son, richting de grens met Myanmar. De omgeving is schitterend. Road to Hana in Maui, maar dan zonder de zee. Onderweg passeren we controleposten van het leger. Volgens de chauffeur wordt er gecontroleerd op illegale immigranten uit Myanmar op zoek naar werk in Thailand.

De weg naar de hotspring is heel steil en bovendien na de regen van de afgelopen dagen erg modderig. We rijden een auto achterop die de helling niet op komt. De auto glijdt steeds weer naar beneden. We merken nu dat die Fortuner hier erg van pas komt. We rijden een heel eind in de lage giering (of juist de hoge) waar deze auto voor het extreme klimwerk is uitgerust. De hotspring is een plek in midden in het bos waar een restaurantje en een paar primitieve omkleedhokjes zijn gebouwd.

We springen in de warme vijver. Er dobberen al een paar toeristen in rond. Het water is schat ik zo’n 35 graden. We poedelen een tijdje en maken wat foto’s.

De anderhalf uur die onze gids hiervoor had ingepland gaan we niet volmaken. We stappen weer in en rijden langzaam terug over de gladde hellingen.

De volgende stop is het Chinese dorp. Op een heuvel in het landschap ligt een soort kasteel dat wellicht aan de Chinese muur moet doen denken, met er omheen wat gebouwtjes met winkeltjes en andere gebouwtjes. Je kan er wat dingen doen als boogschieten. Je kan je in een chinees gewaad hijsen. Maar eigenlijk is het gewoon een ordinaire tourist-trap.

 

Pai – 6 augustus 2017

Het dorp bekijken. Pai is een enorme toeristische trekpleister. Het centrum van het dorp is een aantal straten die bezaaid zijn met winkeltjes en restaurants gericht op de toeristen. Dan heb je ook nog de verkopers langs de straat, waarvan er zonder de stroom toeristen langs niet zo veel zouden zijn.

Het is nu laagseizoen. In het hoogseizoen, onze winter, moet het hier ontzettend druk zijn.
Nu wordt het centrum met name bevolkt door Chinese en Europeaanse toeristen (Europeanen: Nederlanders, Spanjaarden, Fransozen, enkele verdwaalde Duitsers en Engelsen). En hippies die over het algemeen niet erg fris ruiken.

Volop winkels met “traditionele” producten zoals Boeddha beeldjes en hoofden. In Bangkok stond het nog vol waarschuwingen om geen Boeddha hondjes te kopen (en tattoo te laten zetten) omdat dit voor de Thai beledigend zou zijn. Kennelijk zijn de mores hier anders.

De omgeving van het dorp is heel erg mooi. Pai ligt in een vallei en vanuit de vallei heb je van alle kanten schitterend uitzicht over de vlakte op de omringende bergen.

In het hotel geven we ons op voor een toer door de omgeving, langs verschillende bezienswaardigheden. ’s Avonds eten we in het dorp/

Chiang Mai naar Pai – 5 augustus 2017

Naar Pai. We worden opgehaald bij het hotel door een mini-van (Toyota Hi-Ace met 3 rijen stoelen achterin, redelijk luxe). Als een krankzinnige rijdt de chauffeur door de drukke straten en steegjes. De man kent alleen volgas en remmen. Iedereen in de auto is misselijk. Gelukkig worden bij de busterminal in een ander busje overgezet.

De bagage gaat nu op het dak en we vertrekken. Deze chauffeur rijdt gelukkig normaal. We rijden de bergen in en draaien door de scherpste haarspeldbochten. Het uitzicht over de bergkammen is geweldig mooi.

We stoppen 10 minuten bij een hal met restaurantjes. Even de benen strekken, plassen en wat eten en drinken. Dan weer verder de berg op.


Een kilometer of 10 voor Pai verspreid zich een zure lucht door het busje. Achterin het busje heeft iemand gebraakt. De jongen schuin achter haalt een t-shirt uit zijn rugzak en bindt het voor zijn gezicht. De chauffeur heeft niets in de gaten en rijdt onverstoorbaar door. Maar een paar kilometer later moeten er mensen uit en dan vindt hij ook de vuiligheid van de braakster, die net het busje heeft verlaten bij deze stop. Ze heeft, blijkt, achter een gordijntje gekotst en het gordijntje weer netjes teruggevonden. De chauffeur is een kwartier bezig de boel op te ruimen.
Bij Pai wordt onze bagage van het dak gehaald. We nemen een taxi naar het hotel, wat 5 minuten rijden blijkt te zijn.
Het hotel bestaat uit een aantal losse appartementsgebouwen rondom een mooie tuin met een zwembad. We hebben een schitterend uitzicht over de bergen rond Pai. Op een heuvel achter ons zien we een grote witte Buddha boven de begroeiing uit steken.


We zwemmen en doen verder niet zoveel.
’s Avonds wandelen we naar het dorp om wat te eten.

Chiang Mai – 4 augustus 2017

Heel vroeg opgestaan voor een tour van een halve dag naar de Elephant Retirement Center. We worden opgehaald bij het hotel. Een half uur tijden de stad uit.

Er zijn een redelijk aantal olifanten-centra in de buurt van Chiang Mai. Toch vooral voor de toeristen-industrie. Olifanten mogen steeds minder ingezet worden in de bosbouw en voor andere doeleinden. Zo zorgen de getemde olifanten op een relaxte manier voor inkomsten voor de Thai.

Ik kom er achter dat ik mijn SD kaart in de laptop heb laten zitten en natuurlijk geen reserve SD kaart bij me. Weinig foto’s dus.

We worden uitgebreid (te? – duurt wel wat lang) voorgelicht over de olifanten in het centrum. Hun achtergrond, wat ze eten, hoe ze medicijnen krijgen toegediend. De olifanten komen al aanlopen. De eerste is er één die zijn poot heeft gebroken bij een circusact. Dat groeit niet mee vast bij een olifant (gaat lastig in het gips en zes weken rust). Een hele oude (36 jaar) die nog in de bosbouw heeft gewerkt.

Het centrum biedt een korte broek en shirt aan, en we kleden ons om. Maar goed ook, want we zullen behoorlijk smerig worden. We maken zelf wat medicijnen klaar voor de olifanten: een pakketje met rijst en banaan in bananenblad gevouwen – een pil voor olifanten. Daarna hakken we suikerriet voor de olifanten – stukken van een centimeter of 15.
De eerste olifanten komen nu naar ons toe, op zoek naar voedsel. Een olifant heeft een beperkt spijsverteringskanaal. Driekwart van wat hij eet kan hij niet verteren en verlaat het lichaam weer. Daarom is de olifant het grootste deel van de dag bezig met eten. Van bananen krijgen ze geen genoeg. Zolang er bananen in de buurt zijn gooien ze de aangeboden stukken suikerriet als verwende kinderen aan de kant.

Het voedsel pakken ze voorzichtig met hun slurf uit je hand. Ze kennen ook een commando waarmee je het voedsel direct in hun bek kan leggen. Boeoen! En hun bek gaat open en je kunt de banaan of het suikerriet op de tong van de olifant leggen.

Na het voeren volgt een modderbad in een nabijgelegen poel. Samen met de olifanten in de modder en h ze ‘inzepen’ met modder. Ondertussen blazen de beesten zichzelf ook onder de modder. Goed dat we aparte kleding kregen. Vervolgens naar de waterpoel om weer af te spoelen. Hier liggen we gewoon tegen de olifanten aan in het water. Je kan merken dat de olifanten zelf ook graag in het water spelen.

Elke olifant heeft zijn eigen oppasser. Daar speelt de olifant graag mee, zeker in het water. Ze oppassers hebben de beesten allerlei commando’s geleerd. Grappigste is natuurlijk dat de oppasser de olifant een slurf water kan laten nemen en deze gericht kan laten leegspuiten op een van de gasten (commando: Pauw!). Heel zachtjes worden de commando’s tegen de olifanten gegeven.

Het zijn eigenlijk een soort logge honden.

We krijgen een eenvoudige lunch. Daar spreken we 2 Nederlanders die net via Laos en Vietnam in Thailand zijn aangekomen. Hebben leuke verhalen over wat ze al hebben meegemaakt op hun toer. Thailand is volgens hun veel rijker dan Laos en Vietnam. Ik wij vinden de mensen hier al arm.

In het hotel uitgehangen en daarna naar de Warorot markt gelopen, via een paar tempels.

De Warorot markt blijkt een enorme overdekte Chinese stuk, van meerdere etages. Indrukwekkend groot en enorm divers aanbod.

We drinken een koude koffie bij Wawee. Dat is een Thaise Starbucks rip-off. Het is zo koud ge-airconditioned dat we liever buiten op het terras gaan zitten. En/of we zijn aan het wennen aan de warmte.