"our servers are crashing" - yay!

Well, at least that's a good thing. More work to come.



Patient's mom: he's not feeling so well, but he has to go on stage later today.

Doc: hm. Who's he been playing with? Let's take a looksy...
... nurse, get this one into the ER now. Continuous observation. Round up all his friends and throw them in there too. Chop chop!


Gervais vs. Dunning-Kruger

3.5 years ago, I introduced this concept + writer to the current class of the The Otak-Otak Program.

2 days ago, it pops up in a staff meeting.


Gotta Use It

I really hate fugly software that makes business sense, like Rails. Ruby is the Java of our generation.

Meanwhile: (docker build) for a monolithic production container, Rails + gems + MySQL, clocked in at 8:24 on a 4-core, 170MB/s-disc, VPS, with incomplete proxy caching.


Engineering Support

Me to ESM candidate:

Your job is to be Santa. You need to know what everyone wants, before they want it, and what they've done so far.


A Popular Wage

Can't wait for this career to be over. Meanwhile, this garulous study of popular technology and art must continue. Gadgets, selfies, eating out, fashion statements, dating apps... these are the goods we muster, for wages!



Returned to home base. Moved assets to forward base. Checked on a project I was working on earlier this year. Asked a girl out. Paid bills. Ate something. Emailed new staff on points of study. Wondering if I should go for a swim, or just sleep before getting back to work.

Cost to replace or overhaul engine / under-hood peripherals / air-conditioning: RM 1500 / 1000 / 1500.
GST kicks in 1 April. Ok - I can wait a while.



Shares. Why do people buy, shares?

I'm a seller. I generally don't hold (or acquire) shares that I can think of any good reason to sell.

But if I wouldn't sell the shares, why would I hold them? Well that's because I would sell them if the price was high enough.
My operations are optimised for thought processing. Anything in hand, is either being thought about, or it's noise/deadweight. Having zero money in the long-term is completely acceptable, so it's not an optimisation target. Making money passively is not interesting. Making money actively is interesting. #long #short #life #entertainment

Dismally Boring

Strange, if I think about it. Today was a long and boring day. But it was a bit busy.

9:00 late for meeting
9:45 meeting proposed acquihires
10:10 meeting proposed acquihirer
10:35 meeting proposed acquirer's handler
10:55 all is meeting
11:45 meetings are all over
12:00 chat on talent management and firewalls
12:30 lunch with proposed acquihires; first food beyond juice
1:30 emails on talent management
3:00 signing-on of new "senior" hire; let's give this a shot
3:10 while forms are being filled, there's time to check on timelines for an application handover
3:20 forms all filled; team strength now 7.5/8.0 of target
3:30 meeting proceeds (supposed to be 3:00) on tactical approach to solving long and short term technology concerns
3:45 emailed meeting minutes
4:00 emails on government compliance
4:20 emails on talent management
4:40 emails on government compliance
... (this goes on for a while; I can't remember at what point the finance guy asked for help to audit the network hardware vendor's deliverables)
6:00 break for food and a shower
7:00 back at the office, but napping at the desk
8:00 something resembling a review of continuous integration and continuous deployment tools
9:00 Docker builds facing bottlenecks at (i) package sources (ii) Ruby interpreter compilation from sources
00:00 mild success

The nice thing about having no one and little else to care about, is that days tend to be at worst, middling.


Quality Goods

My relationship with coffee is a good metaphor for my general work as a consultant and/or executive. I may make excellent coffee, and also know how I do it, but I may not personally care what it tastes like. I make excellent coffee because people pay good money for coffee (whether they can even tell if it's good, or not; and even when it's good, whether they can understand why it works that way, or not).

Most days of my working life, I feel exactly the same way about ideas. Make good stuff, sell it. Enjoy the irony of dim-witted consumers, self-congratulatory, wallowing in their narratives, unconscious of the world as it exists, simply as a state of affairs.


Recruiting Engineers for Ad Agency Folks

The company I work at is owned and run by folks from the advertising agency. We are building web-based businesses that do not relate to advertising and marketing services as a business model. However, engineers who I approach for recruitment are apprehensive, about the "advertising agency" brand of the people here. We discuss this extensively both internally and externally. On we go.

Today, in crystal balls. Four easy ways for this to end:

1) continuous nerdery (organisational developmental)
2) continuous nerdery (mechanical)
3) terminal under-delivery (technical)
4) terminal under-delivery (commercial)

Everyone wants to know how long I'm hanging around, and why I'm here in the first place.

I guess it's just a very nerdy take on Jackass (tm).


Asset Target Adjustments

I have a quaint little formula for guiding my asset accumulation, in financial terms.

Starting with the first month that I was employed after college, I set a base target for monthly increase in assets. Every month thereafter, I increased the monthly base by a fixed percentage of the previous month. The base was RM500, and the monthly increase was 1% of the previous month.

Almost 113 months later, the monthly growth target is RM1539 (I haven't checked the calculations). I'm making enough to consider jiggling the two input factors, a bit.

Making it 2% and RM500, on the same unchecked calculator, would brings us to monthly savings target of something in the range of RM4686. Hmm. Undecided, but reasonable.


Scratch Plan. Re-plan.

Ok. 24 hours after senior candidate bails, I have time to think about contingency plans. First, delay all the timelines; second, rearrange the timelines; third, reintegrate the timelines. Three months may turn into six. Some safety belts may have to come off. Giving myself a few hours to get it done.

Somewhere in a discussion on current productivity hacks:

1. Protein powder + B12 supplements.
2. Moving rented accommodation adjacent to office.
3. Explicitly prioritising work over personal relationships so that day-to-day decision about the same are easier ("setting policy").
4. Swimming - good balance between cardio and strength training, for minimal cognitive effort (no measurements, counting, or waiting in line, JFDI).


Trying to Lend Myself some Perspective

Well, I made a point of studying commerce because it would be intellectually challenging. It is always challenging to become like the people we are not. Here I am, barely a decade in by any measure, far less if you don't count the holidays in hermitude. This is the context of daily activity. From the bimbotic, to the vile, from the strange to the unnerving. I must encompass everything.


Game Targets

I'm supposed to be playing the "make money," game, between 2013 and 2022. As I set goals for some of the portfolio companies at my day-job, I guess I should have some for my own personal account.

This article was a nice arbitrary benchmark. It's an extension of this study.

1992-2000: The goal was to get away from home, out of Malaysia, and into college in the US.

2001-2005: The goals (developed along the way) were to get the papers, get back to Malaysia, study Malaysia, work, then figure out what to do next.

2005-2013: The goals (also developed along the way) were to study commerce, prioritise learning for a decade, then prioritise money for a period after that; didn't make it to a decade before I felt I wasn't pushing myself hard enough. So...

2013-2022: ... I guess it's game-on for money. Sometimes I wish I actually cared more for money, and less for just learning things on a day to day basis.

1. Gross income of USD 160,000 or more and

2. Net liquid assets of USD 3,200,000 or more



1. You no longer have to work in order to fund your lifestyle. If you work it is because you want to work, not because you need to work.

2. The unearned income you generate exceeds your living expenses.

3. You can afford to take the number of vacations you want to take during the year, irrespective of what that number is.

4. You can afford any and all healthcare or medical costs that may arise for you, your spouse, or any family members, including the cost of long-term care inside or outside your home.

5. You can afford to purchase new cars for you and your family without relying on bank loans.

6. Even if you got divorced, it would not require that you or your family alter their lifestyle.

7. If you wanted to, you could afford to pay college costs for all of your children or grandchildren without it affecting your lifestyle.

8. You own your home and/or your vacation home outright. You have no mortgages for either.

9. You can afford to meet large, unforeseen expenses, without it affecting your lifestyle.

10. You have no financial constraints on your activities. You can do what you please, when you please, without consideri


It's limited to 6 words at a time, so it's still slower than scanning a page. But the single-word at x-hundred WPM is pretty cool as

(a) wall paper

(b) a training kata

(c) FWIW, "watching" an article...

AMZN Lambda: Commodification of Computation

super excited - it's a big step towards the commodification of computation. like water. like power. like gas.

the future will consist of powerful CPUs in walls, which mobile devices will refer to for complex analysis, with credits taken off a compute plan (ala data plan)



Meditations (technically)

1. Assess PNS feed.
2. Check interocepted subset, and stabilise centrifugal signals.
3. Assess imagination buffer.
4. Minimise imagined signals (including the recollection subset).
5. Consider the emptier mind.
6. Reiterate as necessary.
Once rested, reload social norms, local imperatives, creative impulses, and go go go...

Finally, after a rather nutty year... I have enough time to realise that my reading speed has significantly slowed. Time to brush up. Empty mind. Hone the reading lanes.

Friday Night! Means I'm not Rushing to Bed

1. Thinks about chatting up an ex.
2. Tries to be considerate. Remembers that we don't have anything in common to discuss (or do).
3. Goes back to studying software.

I've managed to cover:
- WordPress
- Jira
This is not too bad.
It's easy if you find the right reasons.

Forgetting the right reasons usually gets me in trouble


- TCP/IP definitions
- Android development


Confessions of Faith

I grew up in a Methodist pastor's home, and regularly was exposed to aural traditions of this sort.

Beliefs may be important. Procrastinating before work today, I wondered what it would be like to write a version reflecting my current state of mind.

I believe in the triviality of human beings.
I believe that each person is a particular structure,
that each structure may be deciphered,
and that all structures are subjects to be hacked.

I believe that meaning is temporary,
that truth is the sum of dark corners and sunshine.

I believe in emotion, in its causes, and its effects.

I believe in its destruction.

I believe, I believe, I believe...


Fab FOBs

There is fab...
... and there is ghetto fab;
... and there's harajuku ghetto fob...


Exacting Standards? Nah

A friend commented that I seem to have exacting standards for intimate partners.

1) generally low urgency to be in intimate relationships - so reflection on the whys and wherefores prolly projects that "exacting standards" thing

2) oh but people are entertaining, let's talk about them

3) i don't have many ways to relste to most people... let me talk about emo thingsn!

4) i do miss having someone to go to bed with, but I only really think about it for that part of the day.

Otherwise, there's so much more in life to do..


How not to make money:

"We need some help."
"We don't want to pay that much."
"Well, I'd like to see you be happier, so how about I answer your questions for free?"


Dressmaking with Blender









Objective Romance

The strange thing about objectivity is that you can know if you're giving people more respect than they deserve, or less. Scientifically, it provides us with a way to judge people. Sometimes the scientific method yields that someone isn't reliable. But we're nice to them anyway. I suppose that's what love is, whether we scope it as charity, piety, friendship, or romance.
Less respect, less respect. Must constantly remind myself to treat others with less respect...
The point of mental conditioning is to maximise economic leverage, via an option to include or exclude sentiments in any action.


Career Counselling

Quack yogi story of the day.

I tend to shoot my mouth off at recent graduates from the US who are in my network, when they ask for advice on building a professional career in Malaysia. I often feel inadequate. What have I ever done, to deserve a view?

- I have a hardly relevant resume.
- My knowledge of the operations of global brands in management consulting and investment banking is completely theoretical.
- My views on Malaysian society are fairly cynical - far drier than those of the common pundit.
- I plan my cost structure around the minimum wage of RM900/month, with all excess consumption, savings, and investment subject to my current occupation.
- I am happy with little more.

I just hope that while listing out my opinions on local culture, and how to strategise about a global career from here, there is some semblance of a transferable algorithmic skill. I hope that at least, from talking with me, today's young lady finds it easier to implement a means-ends approach to discovering a viable critical chain, to pursue.

Ah, talk.

Mandates and Leaders

The only things worse than feeble leaders, are weak mandates. What's the point, oi? If you have clear mandates, and a weak leader, you can always replace the leader. If you have weak mandates, even if your boss is the nicest most enjoyable person to work with, if he's off mandate, you don't know until judgment day when your boss is judged by his boss.

To cap it off, here and there you find people saying that their goal is "to have fun," and then I really have a problem. I'm having fun without moving a muscle. Fun is not a reason to go to work. I suppose some people find it hard to enjoy doing what they do for money - well don't we all, sometimes - the point of professionalism is to pursue commercial fulfilment, even if you have to change yourself into the sort of person who likes your end of the deal, you do it so that you get to close the deal. That's enjoying your job.


(From a chat about Docker - a tool for encapsulating complexity in software application deployment.)


Today I'm ruminating on my dream for a unified source-code package management DSL that's language agnostic. Package management: "there's one DSL for rbenv, one more for python's virtualenv, composer et al for php, cabal freeze for haskell, etc.etc. How about just one DSL? It can be done."

"This flies in the face of why we use containers in the first place."

Really? Well call me 'greedy,' then. Docker fixes a problem in deployment; I want something that fixes a problem in computing. Using containers to encapsulate complexity in language stacks (source code, to runtime, and whatever lies between) is like using a bazooka on a mosquito; the foreseeable future will be more like the laser mosquito zapper - however far off that is (the mosquito laser already exists, IIRC). Bazookas are not the best analogy - containers are probably more like "avoiding mosquitos by hiding  under a net".


And after that, I'd like a unified FFI that's language agnostic (I know, it's called the OS, sockets etc. -_-, but no), so that building, and deploying multilingual applications becomes trivial in complexity. Much work to be done.

On one hand, shared-kernel containerisation was invented to solve problems in software configuration management (I don't mean source code management). On the other hand, I think the problem I'm concerned with is where we are in history, in terms of how operating systems, and machine nodes, and binaries, and source code are related to each other. The current situation is too complicated. It will get more complicated. But it will one day be much cleaner.


So if I let myself get distracted by all this, I'll never get back to that interest in improving the "standard mathematical notation," "permanently breaking the turing test," and that other one of "a MECE education syllabi."

What Docker does for devops, I've always wanted to see more of in the broader universe of human knowledge management - whether it's framed as information studies, or civilisation, or education, or math & scientific notation, I don't really care. It's all the same fundamental units of computation after all.


Ah, a good day for listing dreams!



Data Procurement Officer

Compared to five years ago, I'd say there's now enough complexity in the Internet (consumer) ecosystem... to justify the need for a data procurement SME in any consultancy that makes recommendations on Internet (consumer) marketing strategy.

Marketing as Logistics

Direct marketing problems are logistics problems. If your supply of the necessarily information for closure of a sale is faster, you win. And that's how you figure out what the critical chain is....


100% Organic Labour

A quick thought in response to this. On the topic of robots vs human labour: I think within 30-70 years we'll see B-grade hotels advertising themselves as "we only use organic labour," and being sued for trying to slip in robots in their place - most customers wouldn't be able to tell the difference.


The Objectification of Public Discourse

Public discourse is not about having our voices heard. The voices discoursing in public should be manipulated by each of us, as we prefer the public discourse to be. The fact that our voices belong to us is irrelevant to the public discourse of voices.

We are the changes that we want to see in the world.

If we want to feel appreciated for our opinion, we find someone to love us. That is personal. If no one does, well so be it, the world is unforgiving. We are born, we are maimed, we die. Voila.

Celeb Crushes

"I've got a celeb crush..."

"I think she's married..."

"Aren't they all? That the damned definition, isn't it? They're  untouchable."


Our Normals Malaise

In Malaysia, behind closed doors, and then some, we have open discussions of entitlement to rents, the importance of political animosities, and the perpetuation of racial segregation.

If you speak of a fair and free Malaysia, I am curious if you are unfamiliar that what is written above is norm, or if you are aware of it, and prefer to speak only of the preferred ideal where none of this exists...

Python Studies


Note on packaging landscape, September 2014.

March 2013.

A previous mess: June 2012.




"a viable financial model for journalism"

Apparently what Bezos spends a day per month doing... at the Post.

I have a solution. It's simply a Kickstarter for content. And that makes it scaleable to any size of growth, for any sort of content, professional, amateur, fiction, non-fiction.

It's been done. It will be done more.

Dark Knights - Can You Take It?

After a couple of days of hanging out with folks there, while I'm on vacation. And hearing of incredibly sexist remarks allegedly made by the chairman of the institution, on stage.

My comment on a thread, discussing the efficacy of Hogwarts:
B(pundit) Hello! I'd like to respond to some of your points. I've spoken with C(executive) and C(pundit) variously about my point of view on the efficacy of quangos in MY, so let me just throw it out again here, since this seems like a wonderfully coherent thread on the subject. (I'd appreciate more participants, and a broader public discourse on most issues in MY.)

In the graph of opinions about this topic, it seem to me that you and C(pundit) are of the "Hogwarts seems like a waste of money - trying things that have been tried before and failed; so we'll point that out; we should take less risk with government/MY money; stop messing around now," camp... and C(executive)'s of the "Hogwarts has potential, we're still trying stuff out, give us a chance," camp.

I'd like to explicitly add one more card to the table. Some of us who work in Malaysia have the view that "we have to waste money on A in order to get access to money to do B." That is to say, we have a high tolerance for bullshit, the sort of bullshit that MY has been for decades, and which may go on for decades more - graft, allocation of ministerial positions based on party hierarchy, and laundering of money through ministries for reasons totally irrelevant to public interest.

This is not a new view - a lot of people I know who've worked at PEMANDU, and in various think tanks, etc. arguably even the top executives of these themselves acknowledge such economics, whether they will admit it in public or not. Now, I'd like to be optimistic, and hope that a number of the executives at Hogwarts are of like mind - fully aware of the political environment that we live in, aware that there may be a 90:10 ratio between waste and value, but willing to put up with it in order to get access to the 10% that matters. [Hopefully of course, the efficiency of the budget say, 70 MM MYR, is greater than 10%. I'd personally venture that the laundering of funds through construction projects is probably greater than that PER MONTH in some of the ministries with the largest budgets in town.]

To summarise, I hope we can all agree on the following.

1. In Malaysia's budgets, there is waste.
2. There should be less waste.
3. Let's waste no time in reducing the waste.
4. It might take a while to optimise this problem.
5. In order for the public to automatically monitor the thieves, whomever they may be, the priority is to increase the degree of public discourse on these subjects.
6. (5.) is painful because it requires us all to tolerate different views, but as a result it's good intellectual/emotional exercise. It also lets us prefer civil discourse over physical violence (ehehe, theoretical ideal).

Just 2 sen on that.

(Where I'm coming from - 31 yo; grew up in Sentul, read the MY papers till 1998, and stopped - thenceforth held a view that MY would only see fairer politics 20-30y from then; lived in the US for 5y, and have been back working in KL for 9y; somewhat involved in startups by accident, since my hobbies are rather technical.)

Further down the thread, on the economics of waste:

Just wanna throw more numbers out there for perspective (to be clear Hogwarts, is not in the 2015 allocation per se):
- MY budget 2015 : RM273 billion (unit 100%)
- 2015 MoEd allocation: RM56 billion (20.5%)
- Hogwarts allocation: RM0.07 billion (0.026%)
- Oil & Gas revenue (40%)
- oil prices currently lowest since 2010, down ~30% in a few months [ http://touch.investing.com/commodities/brent-oil-advanced-chart ]
- global equities currently coming off the top of an ALL TIME high (read: what goes up, must...)
What I'm trying to show here is that waste at Hogwarts is trivial, from a national perspective. There are much bigger bogeys on radar... both weaknesses and threats. 
Waste at Hogwarts can only be addressed by systematic change beyond the mandate of its staff. It's in the hands of the citizenry. 
[That being said, as a chap who makes a point to register but never vote (so far), I am going to trot back into a corner to mind my own little business now...]

Further down the thread, on what Hogwarts is doing right so far (IMO):
They've been running what... 6 months? I'll say there's positive benefit to:

1. The approach of: doing a survey of the funding/new-business/gov-support landscape before flooring the pedal on their own opex, is commendable. (They've talked about their findings, but not their plans - clearly because some are never clear until PMO publicises it. Yeah, we'd all like to see more public planning, so that the public can criticise/contribute, but I think that's a fat hope - maybe they'll prove me wrong on this.)

2. You may have noted http://www.mymagic.my/central/ , which seems like a good API over the mess of government agencies that they identified in (1.) - do you think this is repeat work, or that no one every bothered to do it before? Honest question; I don't know. I have pitched variously that there should be a simpler online self-help system to "knowledge manage" all the available resources for entrepreneurs - right now it's pretty much call-centre/form-submission-we'll-get-back-to-you, if I understand it correctly.

3. The overall focus is on training noobs, and building networks, not on handing out grant monies. [Grant monies that will be issued are (said on the street) to be from a separate ministerial budget allocation, not from Magic's own seed funding of 70MM.] Is the quality of training equal to Thiel Fellowships, Y-comb, etc.? Doubt it... but they do have to start somewhere. There is a HUGE mess of undereducated citizens at the BOTTOM of the pyramid. Here's where we have to check the strategic mandate of Magic... is it (A) to work through the entire pyramid of talent for long-term returns in the nation's braintrust, or is it (B) to churn out a middle-class of high-performance "success stories" in the mid-term? I don't know for sure - but I get the sense that it's A, not B - they seem to be acting as if it's more A than B. E.g. the startup academy. [Update: upon reflection, my view is skewed - I'm rather privileged, so the ones they're really helping with the academy etc, are probably the middle-class... after all, the launch week training tickets were priced at what, RM150 minimum?]

4. They've got an ASEAN accelerator in the pipeline, which seems to be focused on bringing in more talent. Both this and the startup academy look like summer-camps to me. The quality of an educational experience is influenced by the diversity of students... so I'm pretty happy that they're only admitting some-% of the accelerator candidates from Malaysia, and the rest from ASEAN/other countries.

5. Like yourself, I'd like to see more transparency, both for the sake of check and balance, as well as to crowd-source feedback. For example:
- open up the books; put all of Magic's financial statements online
- invite the public to an "AGM" or similar meeting every quarter
- have a designated communications day at every EOM where all publicly announced plans are reviewed, benchmarks are compared to actual delivery, and updates on plans are announced.

6. Also... bit of a tag-on, I think they would benefit from trying to add more of a viral component to programs, i.e. designing programs that help citizen-X to help any other citizen-Y to achieve specific educational goals.

My thinking about this is more from my background as a educationist, so I appreciate your more bottom-line focused commercial view as well :)


Stating the Obvious

Get ready for the stratification of the knowledge worker. It's always been, and it'll just get more severe.


Social Calisthenics

Vacation Day 4. Social calisthenics.

I spent the day travelling with one set of relatives, on a sort of tour. I discussed with them food, and culture, and theology, and history, and language, and wills, and personal weaknesses, and best ways to deal with all the above. Then I spent a couple of hours with another set of relatives, at a sort of reunion. I discussed with them their work, the people whose lives they hope to change, the methods they have tested, and the results obtained (both surprising, and trite, to them), the economics of their workplaces, the economics of their politics, their living arrangements, and then some.

And the result, for me, was an appreciation only of the fact that I still know how to do this, even though I don't care for most of it. None of this makes me feel any more identified with these people, than I feel about nameless bodies whom I pass on the street. Don't get me wrong - in the short term, it's FUN to socialise, and move meat, and shake brains and all that, but upon reflection on this, and the set of all similar past events, and the set of potential future events, this day's events have added little to history.

History. Few act or think with regard to history. They deal with the past as a totem - they don't see it superpositioned with the present. They make a cake, then they eat it, and they boast about how great it is. Then they make another cake, and they do it all again. But they do not, when they eat the latter cake, experience it as a single mouthful with the former cake. Whereas in many things that I do, my memory is trained to compose them with relevant bits of the past, before I submit it to my consciousness. I wish more people did this, in general. I wish this were more of what popular culture calls, "a thing."

What does all this training give me? Very little, since of late, very little of my work has been authoritative social work. I have had many subordinate social roles in many organisations, or dominant technical roles. The limits of my social exercise at work come in the (extremely) common form thus, for example:

1. I see someone making a decision that I judge they will be likely to regret, months from now.
2. I warn them.
3. They acknowledge the warning, and decide to proceed as planned anyway.
4. I follow orders.
5. I begin preparing for their regret.
6. They arrive at their regret.
7. Heads roll. New orders arrive.
8. They reflect. They learn.
9. We have gentle discussions.
10. New decisions are made. I return to 1.

As little as interacting with the people around me (at work, and in life in general) contributes to my concerns, I do not, as some people do, allow this to nag me into seeking some sort of ephemeral ideal where I must surround myself with people who contribute to my concern. I merely acknowledge the facts, and pursue exercises to keep me in good shape for further socialising.

I wonder, if someday, all this socialising will become worthwhile.


Book Burning

Someone should persuade the Malaysian church, that the way to react to "burn the bibles," rhetoric is with a "don't burn the quran," campaign.
It's the most obvious media strategy that should have been, that wasn't.


- sleep
- work out
- apply for jobs
- stay lean
- work on personal projects
In that order.

Day 1 (October 8)

- waltzed down to Cyberjaya to see if there were any jobs at Magic that fit me; nada
- "Helping a small creative consultancy to build their rate-card. Anyone else need pointers?"
- swam a lot; two long, and two short laps
- went on a data-run after dinner, to VCR, and downloaded a bunch of software for interview tests/projects

Vacation. Mental conditioning.

1. Stop entertaining non-essentials. Like social circles, intimate relationships, driving, and other creature comforts.
2. Focus on studies of kinesthesia, rates of thought, reflexes and reaction times in mind, and in body. Eat cleaner, work out harder, sleep more.
3. Seek a position of strength.
Day 2

- hung out with a new software development industry friend
- reflected on salary negotiations
- attended the VCR first-anniversary bash
- poked at the DNS server setup test problem, until bedtime

Day 3

Empty the mind. Easy.
Empty the heart. Hard.
Empty the body. Harder.
- completed the Gdnsd setup test
- pitched a retainer contract to a potential client, hardware guys looking for software development support
- routed a few friends to a few jobs here and there, and was likewise routed by others
- learnt a lot about what I don't know about algorithms; started reading an online course in discrete mathematics for computer science; following that the pathway seems to be data-structures, then theory of computation
- found a write-up on the details of Rails from request to response
- viva Svetlana. A true professional. An inspiration, and my boyish muse for a day.
- AI is now so mainstream, it doesn't seem like a hard problem anymore. I have had this on thought flit in and out of my mind over the past few days. I need a new hobby for a few years, while the dust settles, as we reap a new winter. Perhaps commerce will be that hobby. How timely.


Vacation reflections.

View on Instagram

Day 4

- helped dad to drive mon's eldest sister and her husband up to Cameron Highlands
- got a refresher from dad on his dad:

Gramps was KuoMinTang military, through the civil war and Japanese invasion, and then he headed GuangDong's civil administration as number two under one of the Sungs; he believed in being a clean official - didn't like corruption, and didn't see a future in Taiwan; he moved the family to HK in 1948 - dad was a few months old; gramps thought the Communist might want his service, but wasn't sure, so he sent his wife back for surveillance; the local business owners acted like they didn't know her, so she got the message; the Malaysian police's Special Branch was looking for military experience while dealing with a Communist insurgency, so gramps took the gig; after a few years he'd saved enough money to put the family on a cruise ship (the P&O ChuSan, 20,000 tonne displacement) in 1955, and moved them to Penang ; [that was dad's first experience of corn flakes (didn't know what to do with them), "Western" food, ice cream - he also fell off the top bunk and hit his head, he was told, but never remembered it - might partly explain why he's a bit of a wonk]; when the family moved to Penang, gramps moved to work as a school teacher; he sent all his kids to mission schools under British administration to keep things apart; he used to talk at home about ethics and virtue, a lot; between those two factors, most of his kids eventually entered the Christian ministry as professionals; gramps didn't talk much about his past - some of these things were hearsay from family friends; news was back in China, some family members were tortured for money that didn't exist - it wasn't pretty.

- another empty day; allocated some time to think about it; the documentation

Day 5 

This is turning into a study day. Exploration of deficiencies in Haskell knowledge led to exploration of deficiencies in Docker knowledge.

Brain hurts, but this is so much better than being bored.

- perhaps also time to buy a first cloud host, for development; then I can rely on crappy internet connections: looking at Linode, Azure, Cloud Compute, and AWS

- MS Office on an Azure virtual machine, or just Excel Online? I think the latter will do

- outstanding aspects of toolkit for consolidation: move everything to the cloud; knowledge management of programming cheat sheets; erm

Day 6

- still haven't gotten any cloud setups done
- business development all day: (1) school management system (2) greentech monitoring system (3) trendy-audience-targeting website business needs polishing (4) training company needs overhaul


World? Wut? Wut r u doin? World? Stahp! Please don't make me.

View on Instagram

Still not sure I want to do this... while I'm looking at a potentially massive dealflow, taking all the work would require me to hire a staff immediately. Most of the demand is for my time exclusively, so the money's unlikely to drop unless I make silly promises about my time.

I'm instead trying to send friends/would-be-employees in to engage with the clients directly, so that I don't have to manage a staff myself - I'm also offering to coach the employees, so that I can lend some expertise (at a higher rate for myself), while committing most of my time to only one project for a year or so... to build up enough cash reserves to fully capitalise a firm, with a small permanent staff in a year or two.

Current options: bricks to clicks transition; software development for hardware guys situation; product troubleshooting for a consumer website situation; corporate culture overhaul situation. Can't just hire one other guy to help out. Need 2-3 fresh grads with varying functions.


[..] AM I started the day with 10/month in potentially billings in the pipeline.

At 11pm, I had 33/month in potentially billings in the pipeline.
I can't deliver all of it. So I had to refactor.
The calculation is that... I should pick the one deal which has clearest long-term potential and stick with it as a cash cow for 1-2 years.

By which point, I should have enough resources to actually hire a staff, then go back to business development.

Chickening out, or just being safe? I'm not sure.

Day 7

- did more hook ups of suppliers/demanders in lieu of taking any work myself
- took visiting guest from Singapore to visit startup meetup in KL
- started experiments with B12 supplementation (500mcg/dose, perhaps 1-2 doses per day)
- mulled a lot
- Oh my god what a week.

Day 8

Thoughts this past day:
1. Hipsters. What did they learn from church? To stand on a stage and look pretty.
2. Malaysian programs. I grew up in graft. I expect graft. Where these is no graft, I expect stupid processes that justify graft.
3. We are entering an era of Startup Tourism in Malaysia. This is played out by both obvious and hidden parties, from the public and private sectors.

I'm 31. I read the papers till 1998, and then I stopped reading them. My view is kinda stuck there.

- more startup tourism with my guest
- more networking meetings
- bit of an Eliot Carver moment before bed; heh; all these angry people should be friends and make it up to each other

Day 9

- more helping out, and catching up with old friends at Hogwarts
- vegging in cafes
- and this

Day 10

A strangely fulfilling day, filled with many consolidations of my professional history, some sadness at idiocy, and much to look forward to. (1) In tech and political economy, a massive (well, 69 comments and counting) thread on graft, efficacy and the well-meaning of our staff at Hogwarts finally melted down into driggle of name-calling between non-entities. (2) In the consumer-facing and web sector, one which I've variously flirted with, another deal closed with the svelte in a qipao mini and glittered pumps who works for a fat cat. (3) In the management of talent and taste, the big guy bought dinner and we went over a term-sheet of sorts - had to halt the deal for the lack of a good valuation; we're still haggling on price. What next? More term-sheets outstanding. Another visit to the summer camp tomorrow. FFS. Call me Cornelius Fudge, already.

Day 11

- more socialising at Hogwarts; got to meet Dumbledore
- dead-ended at trying to get the Gcloud client to authenticate without a Javascript-enabled browser; posted a help request
- figured out Gcloud basics, with Dockerisation

An unsatisfying day.

Day 12

- more socialising at Hogwarts; then documentation of leads related to incoming projects, and potential new projects
- Hogwarts discussion thread noise-to-content ratio hits peak bullshit

Day 13

- back to work on a project;
- exit Hogwarts discussion, on prompting from various parties, including Dumbledore;
- gave an interview to a firm that specialises in a Javascript stack;

Day 14

- in a lot of pain doing boring mungy work, but that's what industrial design is, I suppose: generalists doing interdisciplinary work to solve given problems;
- also realised that I don't like consulting when it makes me frame the job as a monetary incentive to be brutally honest with someone about bad their ideas are (attacking the idea is a much better idea than attacking the person);
- Dreams? http://sextechandmergers.blogspot.com/2014/10/dreams.html

Day 17 (Oct 24, Fri)

- started reading CrunchBase emails. CrunchBase daily emails seem like a good way to get to know this ecosystem that I clearly know very little about. #bubble. I figure in 12 months I'll have a pretty good idea of what the VC market is doing - public information, that is. But I need to have a better intuition about the numbers.I like to know where the herd is going so I can stay out of its way. 
- The strategy of a lazy person is to go only where they can over-achieve, without trying to achieve anything. The default state of such a person, is therefore destructive.
The strategy of a lazy achiever is to go only where she can over-achieve, without trying to achieve anything. The default state of such a person, is therefore on a path to destruction. Her instinct for survival prevents her from destruction at a normal pace, and therefore she beats the benchmark.
Absolutely daft week. Scared, lonely, and bored. And wondering the only way to get somewhere is to flame out like ye olde' dress designers.
hehehe. such is life.

Day 18 (Saturday)

Art is harmless until the medium is other people.

TOTD: What will the "Atlassians" of the 2020s be doing?

- looked into dressmaking with Blender (heh: recreation)
- picked up gcloud+docker studies; picked up docker automated builds

Day 21 (Tuesday)

Learn all the languages : ok.
Maintain all the bad code : physically sickening
Hypoglycemia after morning swim : HARD VERY HARD

Day 22

Over-caffeinated nights - reading up on Chinese etymology, and chatting with friends about dev-ops team optimisation.
天 : product
立 : architecture

(perhaps , if the former is the market, and the latter the enterprise)

Day 23 (Thursday)


Review of Quitting

This excludes short-term contracts, but includes long-term engagements without a contract.

J-0 (2014): quit, due to negative value (redundant work).
J-1 (2014): quit, due to strategic misalignment.
J-2 (2014): quit, due to negative value (high travel costs).
[2013: end of the "gradschool" era]
J-3 (2012): quit, to focus on "gradschool".
J-4 (2010): quit, due to strategic misalignment.
J-5 (2009): quit, for improved cash+learning opportunity.
J-6 (2008): quit, due to strategic misalignment.
[2007: beginning of the "gradschool" era]
J-7 (2007): quit, in order to pursue "graduate studies"
J-8 (2006): quit, for improved learning opportunity
J-9 (2006): quit, for improved learning opportunity



About 6 years ago, I raised my asking price at all salary queries by 7-10x my previously drawn salary, as a matter of taste (I never "expect" anything from talking to anyone). This seems extraordinary to most people, but it is one of the less interesting adaptations of my MO. The results have been interesting, in the sense that I have now several years of collected responses to this MO. It's even more interesting to study what sort of experiences it has given me - I'm a lot better at demanding quality from my environment, even if I don't expect to get any. I'm a lot harder. Of course, I work for whatever monies come my way, but never once have I found myself impressed outside the range demanded.

On we go. More data. More stories. More life.


The initial motivation for this was to draw a line between what would be worth working for, and what would be ignorable in favour of gradschool. Gradschool is done now, but I haven't stopped asking for what I calculate my time to be worth.

The initial calculation was based on what I would be willing to fork out in tuition fees, if I had an unlimited budget, and less time to teach myself things. I guess my inherent tendency is to quantify everything in terms of information.

Asking RM15-25k and taking RM1.5-2.5k is becoming a norm. LOL


Software Engineering Management

Notes for a friend who's rising into management:

Graham, 2009, on the maker/manager schedule:

A similar perspective on splitting the day in two:


Don't stop coding:

Managing people:

More, on managing people:

AI and the Cosmos

I'm very excited for Stamplay. I've been hoping since 2010 that more of this would come into the market. (And I haven't prioritised building it, myself.)

If you think, "we're going to be out of a job!" - no we're not.

I took this job to make this happen. We move on.

There's always more work for programmers to do. We just have to go closer to the metal. It'll be a long while before we can't tell the difference between meat and metal people (but hopefully before I die).

You know what? Meat is just an implementation of God's cosmic AI experiment anyway... ;P;p


Memories Are Lies

When I was 17 I couldn't imagine what I'd be like at 30. At 31, I think I'm pretty close to what I was at 14, and I am surprised that I managed to stay this consistent.


Is Software Architecture a Service, Needed by Small Companies in Kuala Lumpur?

So Ispecificaseen the same problem in four software projects I've worked on over five years. Lots of developers everywhere. No architects. Every week someone comes up to me and asks for software development services like headless chickens. I'm getting over this - f.k.oherent with flexible / fail-fast / iterative / agile work-flows and culture: whatever conventions you're relying on, you can derive more efficiency from a clear set of blueprints and a whip. I just pitched back to on RFQ that I'd be up for software architecture services, on a long-term low retainer:

1. Focus primarily on usability concerns,
2. manage the critical chain,
3. pick the right implementation libraries, tools and methods & manage choices on an on-going basis, and
4. site-manage the development/dev-ops (* arguably the most important bit).

Pretty much what architects do in brick-n-mortar projects.

I don't know if there's much demand for this in the market, but I think the positioning of my service layer is clearing up a bit now.

Arguments for/against this approach would be appreciated.
It's quite interesting. As a profession, software architecture is a bit stuck in the 70s with flow control diagrams.

Civil architecture is a 4-8 year liberal arts and sciences degree requiring calculus and physics. (In some places.)

I wonder how long it'll be before software architecture becomes a thing, like civil architecture is a thing. ("thing" reads: "social norm")

Later in the month:
Can't hire a CTO? Maybe a full-time employee is not in budget.

If this is your situation, would you consider partnering a software services company to fulfill the CTO role in your company? (Scope: usability + commercial concerns -> technology cost/scalability strategy -> development architecture -> project management of development.)

Possible duration of contracts: 2-5 years to ensure continuity.

Possible price of retainer: as low as RM2,000/month, depending on requirements.

Where I'm going with this - I'd like to start a firm. I tend to think of this set of services as being close to "architecture," the way civil architects work on realestate projects. It's an experimental model. I'm looking for traction. To discuss the model, please post in this thread: https://www.facebook.com/jerngatwork/posts/336456446535069

To discuss actual engagements, please post below. (I'm preparing for a lot of F***Us, lol.)
Let it be noted, that there are companies on the market that have been working in a consulting capacity and matching CTOs to startups. I don't think that's what I'm curious about, at the moment. Also it is not good for an architect to have an overly broad scope of work, as the business of knowing how people interact with technology, and how to make a net profit from this, is already rather broad.

#meatShop #scopeSalad

In our industry, the business users usually know what they want, and often hire a series of staff to implement it (often by accident, since turnover is so high). I'm just sick of the situation where in three years a company has to build *the same features* three times because different people disagree on the implementation, and the company has no long-term view. Saw plenty of money burn this way a few years ago. Still seeing money burn. Not happy.


And then there's the business users who don't actually knoww what they want: those who have an abstract intuition, but are unable to signoff on concrete plans. Sometimes they signoff on abstract plans without realising how vague their plans are until implementation fuckups occur. So then who should they blame, the implementors, the architects, or themselves? It is not *always* clear.


I'd prefer it to be scoped within "architects" for hire; but someone told me CTO-absences would be a good copy/channel strategy. I don't want to displace CTOs, since CTOs have very different scopes in different companies. I DO want to take all the long-term responsibilities for maintaining and monitoring architecture of implementations. I DON'T want to take development, maintenance, and key operations risk (as opposed to strategic risk) responsibilities. Just testing the market here.


I'm quite aware that people need operational headcount, as I've done that job before here and there (not always in IT). However, I'm not particularly interested in taking on ops risk for anything other than top rates. 

I notice that your service offering is fairly broad, including some business planning and hand holding of non-technical founders. Not sure I want to go there with this project (I have delivered, and in the future would do those services under a different brand from the firm I'm exploring here). That stuff is easily defined and rather unchallenging to me at this point.

I'm specifically interested in pitching a clearer definition of the scope and definition of software architecture as a business function, for a low fee, over 2-3 year time frames at least, especially in agile teams where it tends to be neglected (debateable, of course). So yeah, internally I'm approaching an old market with a new approach. Too bad if it doesn't work out :) but NPD is the fun part of startups.


let me throw some number out there for context. I've worked from RM5/hr to RM319/hour in this town. I've been yelled at for missing deadlines I didn't promise, as well as thanked for REMOVING value from a project. While all of that is quite entertaining... I've generally tended to hedge my approach. (a) charge a ton to put up with anything (b) charge a little, or whatever the customer wants, and give them what they ask for even if it's crap (c) still pivoting. Heh. TLDR: my life is designed to keep running on minimum wage. Heh, most of the time though, I'll take what the market offers and GTFO everyone's way got better things to do.


Two Thoughts at Bedtime

Every so often I'm reminded that I'm a technologist by career choice, and not because I care much for technology. I spend years studying the craft, because it is a discipline. Otherwise I would probably be some sort of careless creative. And then I have to listen with all the folks who say, that one cannot excel in a field where one is not impassioned. I spit on you.

Meanwhile, all around me people wonder about my country, and my continent. Indeed I live in the rectum of vainglorious democracies.

Flat tire. Waiting for mechanic. I should buy a jack.
Thoughts at bedtime not entirely accurate. I'm a career technologist in the sense that I was motivated to begin study engineering details in order to become a better manager. At the end of the day, I'm only in commerce to pay for my hobbies, and so it's really about the bottom line.

What might those be?
Information architecture. (tldr)

All the liberal arts and sciences, to know what needs to be copied. Engineering to know how to do the pasting. I'll move on to other hobbies once we have machines that are equal poets, physicists, and lovers then our meaty peers.

Client-side JavaScript Frameworks

A buddy of mine at ServiceRocket mentioned Ember, Backbone, and Angular to me a couple of months ago. I just picked up Rails, and am looking into the most minimalistic way to extend it to build apps that live mostly in the browser. So I was reading up.

The first three-way comparison that I read.

Related for comparison:

Why this guy wants to use Riot.js (1kb) instead:
- https://muut.com/blog/technology/frameworkless-javascript.html (Now, THIS is something I can agree with.)

More three-way comparisons:
- http://www.100percentjs.com/backbone-or-angular-or-ember-here-is-my-choice-and-why/
- http://blog.fusioncharts.com/2014/08/angularjs-vs-backbone-js-vs-ember-js%E2%80%95choosing-a-javascript-framework-part-2/

Broader comparison:
- http://sporto.github.io/blog/2013/04/12/comparison-angular-backbone-can-ember/


I Like Julia

Finally had time to check it out, and I'm sold. I'll have to get more used to it, to know how it works vs Haskell.

Vs haskell:
- J is more team "engineering / ops" focused
- JIT default runtime
- more straightforward type system (see point 1)
- DARPA backed, so I worry less about platform maintenance if say SPJ, god bless his soul, were to disappear from GHC
- and omg, the langdocs are so much clearer (again point 1)


Swim Journal

A swim in the rain.
Back to work.
I need to start a swim studies journal.

End September 2014

Day 1: the pool is 6-8 meters wide on the shorter edge. I do a few laps with my head above the water. One at a time, catching my breath on the edge, in between.

Day 2: I study buoyancy and lung control. More laps this time.

Day 3 or 4: I travel farther, but not yet the length of the pool. I study the rate at which gas escapes from my lungs, as I exhale with my face just under the surface of the water. I realise what is most discombobulating is the sound - everything is louder once the ears go under, and that seems to be what bothered me the most in the past.

8 October 2014

Today I did two lengths of the pool on the long side, and two more on the short side. Arms as breast stroke, legs mostly fluttering, a bit of kicking, a bit of trying to get the dolphin thing going. It was probably ugly to look at. 

15 October 2014

- long laps with breaks: 1 + 1 + 0.7

Risk On

Perhaps banning myself from plan-Zs for the next 8.5 years will help focus my effort. No coffee shops, tuition centres, or the like for a while. But I still want to wear on my sleeve, the mark of zero ambition.


What products or services in the HCI space would be interesting to attack, as the core focus for a new startup?

Compilation is merely translation.

Translation from natural speech to machine thought, is harder than translation from machine thought to natural speech; the main reason for this is the intelligence of the system which encompasses the co-domain of the translation function, in either case. The more intelligent system is more fault-tolerant.

Perhaps then, a HCI company today should first develop the capability to enable machines to speak more naturally.

#‎groundworkForTheMetaphysicsOfAStartup‬ ‪#‎lol‬



Time to chronicle the events of the past 50 days before I forget. I was brought into a company, with a content and product listings page, to be a "senior programmer". The interview was not very technical, we simply discussed some Erlang code I had posted on Github during my year of full-time study, frameworks, and code editor preferences - that was with the CTO. It was a Rails shop. Everyone involved was aware that I hadn't worked in the Ruby language or the Rails framework, before this. The CEO had experience in technology companies, but had played a more operational role. The CTO had a background in outsourced software development.

The CEO was introduced to me a couple of years earlier, by a mutual friend, and I had kept track of his progress over time. He seemed to have had trouble hiring programmers, and I thought it might be mutually beneficial for us to work together on the company's software requirements. I was presented with a six month contract, which seemed like a ray of clarity following the two jobs I had exited over the past year and a half.

For my first project, I was tasked with building a new website. I was introduced to the head of marketing communications activities, and to a graphic designer. The former was said to have been involved in earlier discussions regarding the sitemap, links, and certain aspects of the user-interface design - but he later faded from any active role in managing the site's delivery. The latter had no experience in designing websites, nor in building them.The CEO requested meetings to be weekly, and not daily. I understand he had a lot on his plate. I was asked by the comms head (in email) how I would recommend the project to proceed, whereupon I detailed a reasonably firm agile method in an email... which got no response. I suggested a proper technically advised design of user interface elements, to enable cascading styles, but was gently told that designs had been agreed upon, and that we would proceed with those. I asked if it would be possible for me to report back and advise alternatives if any drawings were technically ill advised, and I was told this would be acceptable. I was asked at this time if it would be possible to have the new site up in a month, and I said there was at that time, no reason to expect otherwise.

The CTO suggested that instead of merely changing the client-side layers, we should rewrite the server side layers of the application as well, as the existing app was an amalgam of mediocrely curated freelance contributions, and then some. We discussed various architectural concerns, such as the choice of libraries ("gems") and datastores. At various points, when queried for direction, his directive was that I should pick a path and handle it by myself. I spent a week or two studying the existing application and its data. The data was highly denormalised, with many itemised descriptions scoured from product marketing collateral stuffed into a single "miscellaneous" text field in each product's row. I ended up proposing a single table for all products, with a tree of models to enable shared code for grouped types of products. Each product row would have a hash of keys and values, easily amended to allow analysis of currently blobbed fields. (Due to portability concerns, the CTO preferred that I use a Text type column, instead of a Hstore or Json type column, for storage of the hashed data for each product. The opportunity cost: sorting and filtering of data would be conducted in the app, as a Text column did not appear to support operated queries of JSON inside, whereas a Hstore or Json column would have enabled keys and values to be queried by Postgres, using special built-in operators). A similar approach would be taken to implement all tickets submitted by users. In the long run, I argued, a fully normalised analysis of the data into stark relations would allow us to revert to a strict RDBMS, but we needed to buy flexibility in the short time that we had. During this time, I also commented on the opportunity cost of responsive websites, and was told that no alternative would be considered in the foreseeable future. We discussed the use of the Bootstrap framework, which I had been familiarised with from a previous job.

In week three, I struggled with the customisation of RailsAdmin, a third-party library, as it seemed to have been architectured somewhat differently from the Rails framework itself. This was figured out, and I requested an expected extension of the target delivery date into the first week of month two. In week four, I began developing the client-side application layers. I was instructed by the designer to implement a fixed (omnipresent despite scrolling) horizontal navigation bar, with a vertical navigation bar obscured by a sideways sliding drawer. This was not achieved easily within the conventions of Bootstrap, without looking unpolished, but by week's end I had a debugged layout that achieved this without squashing content during animations. I was quite proud of this, and showed it to everyone. Later, I was to discover that this was a mistake. I had also been unable that week, to get the designer to provide detailed measurements of any sort for his drawings, so I raised a flag saying that working from non-quantified drawings would likely require an extension of half a week. On the Friday of the fourth week, I was shown by the CTO a draft of the navigation widgets and home page which he had been instructed to prepare by the CEO. It was immediately clear that a benchmarking exercise had been underway for the past two days.

So then I had four merge problems: non-technical drawings, the Bootstrap conventions, my implementation that hacked around the Bootstrap conventions, and the CTO's unpolished implementation. My implementation on that Friday was stark and structural, while the CTO's alternative contained a fair representation of the entire homepage as it had been drawn. But then I had a three day weekend, over Independence Day, so I made a commitment to give all factors due consideration. On the third day, I'd completed the structural prototypes for a few form inputs, identified the non-Bootstrap compliant aspects of the drawings, and was ready for a Tuesday morning presentation on the way forward, which would involve minimal input from the designer until we had developed the entire front end in its right place. So I went on a splurge and joined the first available acquaintances for a brief dinner at some pub.

At the meeting on Tuesday, I was curtly told to revert to implementing the non-technical drawings as closely as possible, to the pixel. Without consideration of my presentation, I duely complied and demonstrated by the end of the day, with the homepage, that this was not hard to do, at the expense of code clarity. Bootstrap compliance was the first thing out the window. Undefined behaviour at various screen-widths was next. Many hours were spent polishing these undefined behaviours in the weeks to come. I also received hints that my termination had been considered.

For the rest of the fifth week, I was asked to deliver on a KPI of "pages". By Thursday this was getting incomprehensible, as the most pressing developmental concerns were special input widgets and responsive table behaviours that were non-standard HTML. I was asked for an estimate of time to completion for the rest of the client-side code, and decided that at this point a spectacular failure would communicate more than a waffling timeline, so I said I'd try to work through the night and get it done by Friday morning. I shot off an email around 7am on Friday morning announcing that I had given up, and that I would rather work the second month free of charge, if that would help to ease anyone's pain. On Friday evening, I was offered a 50% reduction in salary. I responded by saying the money was not important, and they should really get their money's worth, so my earlier offer still stood. I also underscored commitment to completion of the project before moving away from this company - I was quite frank in saying, I was too tired to think about options, and I just wanted to have the project end nicely. Management started heavily canvassing for outsourcing of the client-side code.

By Monday, the stakeholders were more optimistic, as I had done some stitching over the weekend. The sixth week was spent on building several static pages and forms, to the pixel, most of which were drawn differently from each other. The SASS file stood at about 3400 lines, at this point. The overall details received enough polish, for the CTO to announce a rapid improvement. Outsourcing was postponed.

By the middle of the seventh week, the stakeholders were agitated once more, and I again expressed that decision makers were not locking down the spec, leading to unnecesary reiteration. To his credit, the CEO jumped in and was a detailed project manager for the rest of the week, greatly helping to mop up loose ends. He expressed that this was unnecessary hand holding, to which I responded, that it was precisely the sort of work I had done in other jobs, which collectively we would have to do - I just happened to have my hands full with code, and to some degree, managing upwards unsuccessfully. The next weekend was then spent beginning to develop full functionality for main product pages.

On Monday of the eigth week, the CTO called into question the compliance of the database structures I was working with, in the light of Rails compliance, which they lacked. We had certainly discussed this previously, but now it was beginning to scare him. I argued that the optimisation roadmap had always been clear, but likewise encouraged him to form an executive opinion as a chief - encouraging him to act for the organisation, and not to yield his better judgment to me as a line-coder (as in line-chef). So on Tuesday morning, it was decided that the new backend would be shelved indefinitely, and that we would revert to vanilla Rails, saving time by stitching the old backend to the new frontend.

I tendered my resignation, as there really wasn't much to look forward to after that. That was ealier today. We still have work to do for a few more weeks. There is no doubt in my mind that I could have been a better project manager, if I had manhandled process control from day one. That was my main failing - overestimating the experience of my peers; they certainly feel that they had overestimated mine. We should have begun client side code implementation immediately, modifying only the old app, and leaving data structural developments to the future. No doubt, we lost certain venture opportunities over the missed timelines.

A good soldier shoots, where the officer directs. Ruthlessly, shamelessly, and unrepentently. It doesn't make you a good person in some abstract sense; it means you do jobs. Sometimes you get to be nice to people. Sometimes you take shit for other people's takes. Stick to the plan. There's operations, and there's fun. And sometime you only want to get the job done. Clean up your messes, and politely excuse yourself.

Time for a swim. If I can remember how to do that...

The next weekend, code cleaning. A fortnight to survive, without tripping the gag reflex, on myself or anyone else around me. Hurgh. 0.1% of the rest of my life, assuming a 70-year total. I'm gonna let this pass. It's been less than two years since gradschool, so I shouldn't complain. Moreover the strategy was to start careering without leverage on past achievements, in order to make it more challenging. However messy these 10 weeks will be, I have to admit the long game is going fairly well. Ups and downs in right balance.

At the end of the second month, I get a total of 1.5 months' pay. About $2290. On the drive home, between shifts. I did the math and figured that getting paid about $4/hr to learn Rails isn't such a bad deal in the grand scheme of things. But having it drawn out over two months, with a questionable working environment, and difficult people... ah, win some, lose some.

Aside, a thought that seems Confucian / Rationalist / Vulcan, of sorts: One should do what is right, regardless of personal convictions. This is how we establish society. Until of course, the day we expect society to die.

Week 9 or so: data entry done. For now. It's like that huge sigh of relief you feel at the end of a really long funeral service.


Talkers and Doers

Interviewers: "Are you a talker or a doer?"
Me: "Are you familiar with Hannibal Lecter?"
I hate this question.


Yellow Alert

Spent the public holiday undoing 10-15% of the work I did last week. (Repeated symptoms.)

2543 days since the last job with benefits. 1373 days since the last stable paycheck. It's been quite a ride. (Training against risk aversion.)

Time to load up the resume launcher. (Risk management.)

Fact of the matter: doing inefficient, ugly work which is of a technical nature... remains preferable to doing inefficient, ugly work which is of a non-technical nature.

So here we are. On we go, for a little while.



Coolest blind date ever. She doesn't put her photo on her profile. First girl I've snogged in over two years. She wasn't turned on. I'm not surprised. Perhaps a little disappointed. She says she's more of a schizoid, whereas I say I'm more of an ASPD type - I actually like people, but the crowd just makes me feel like a permanent condescension.Then I went back to the office for database migrations. Tis the season.


Fistful of Memes

Before I went home for the day, I took an hour's drive in Friday evening traffic to a nearby town where my parents reside. My mother had a stroke a few weeks ago, and I figured I might as well pay her a visit to get it out of the way before cleaning my flat latter in the evening. She asked me to sit beside her, patting the side of the bed where she lay, so I did. A food tube taped to her left nostril, her right side partially paralysed, water retention filling out the single large fold of fat where her neck used to be years ago, sagging breasts under floral shift, diaper visible between her legs lifted (left leg resting with sole of foot on bed). We chat about mundanities. Mostly that is where we get along - agreeing that a lot of things shouldn't matter. Her skin, I notice, is in excellent condition for her 63-some years of age. Interesting. This is where I came from, this is where I'll be some day, a lump on a bed in a semi-small town in the penis of Asia. I mention a red spider on the bed, and she complains - I tell her they are her friends, but she is afraid that it will crawl into her ear as she sleeps, so I pat the little creature (the spider, not my mother) and it leaps off the bed, running underneath. Later, I pat my mother on the head, give her a hug, and join my father for a quick supper. Father has been continuing his work in Christian circles, focusing on the spiritual formation of the church in Malaysia, then the brick and mortar aspects of economic empowerment in society, but shying away from politically sensitive topics, for now. We discuss the health and psychology of mother, and the management of some projects she can no-longer maintain. Rearranged, somewhat:
dad: isn't it time you got a better car?
me: maybe I should get a better paying job first. not a lot of money these days.
dad: i know you lost some in trading. how much was it?
me: the portfolio was about 40k when I started, at the highest valuation, it was around 90k, and when i existed it was 7k. well that was more of a study in resilience - i was trading with money i could afford to lose.
dad: well ok, if you have money to burn.
me: i did. it's training in the ability to have money, and to just let it go. poof. i had to let myself put some in high-risk assets and allow it to just, go.
dad: and what is that point of that?
me: it's training in the ability to walk away from anything. walking away from family is too easy. in order to know that you can walk away from money, you need to have some first, then let it go. in the future i'll be able to say that I did that. it's good preparation for dealing with larger sums. i can afford to do it because i don't have to make anyone else happy but myself. i certainly don't care what you guys think on this account, and I don't have a family to feed, so it's a good time for training.
dad: when are you going to think about what other people want?
me: like you?
dad: like god, and what he wants you to do with your life.
me: have you asked him what he wants me to do with my life?
dad: yes.
me: and what was the answer?
dad: [silent smile]
me: well then, let's find out the hard way.

Then I drive for an hour to my flat. Six weeks into the new job, I've managed to pull a couple of 100-hour weeks, and piss off a bunch of people. But it's been a fairly positive week, in terms of vibes that people have been sending me, so I made a point to take a half day off to go home and clean my flat. I hadn't been home in 3-4 weeks, having opted to do laundry nearer to the office, and pretty much shuttling myself between the office and a room I rented nearby. The cleaning of the flat was on my to-do list since before I started this job.

I took this job to help a friend who seemed to have had trouble hiring programmers, over the years. I was tasked with the building of a new website, already half-designed. The business value of the site was graphic refreshment, but the CTO suggested rebuilding the entire application as the existing code-base was somewhat messy and unconventional. I started with database architecture, and the selection of libraries to be used. After a month the project manager was annoyed that I had exceeded my initial one month estimate, and hit only 10% of expected delivery in his view - two weeks ago, at a meeting where I was about to explain how to take the non-technical drawings and modify them to fit our chosen styling framework, I was told to abandon work on anything but direct implementation of the drawings, as drawn. So I abandoned prioritisation of the styling framework. Needless to say, thirty pages of non-cascading styles resulted in a lot of code... about 3400 lines of SASS, including a weak attempt to reuse certain styles. He's in better spirits these days, since I've spent the last week building visible things.

Having been admonished, with my job on the line, I went about rustling up month-old leads for other jobs. Strangely enough, I happened to interview with a VC who had been considering involvement with this company. Speaking of VCs, I've seen so much press from the latest-greatest local government startup accelerator, that I've been wondering if the press is making fun of its CEO more than helping, or if the press is really helping to publicise the accelerator. We exchanged notes without ever mentioning the name of the company where I work.

These days, I've spoken to yet other women I admire. A rationalist, at a pseudo-startup. A former mathematics student, at a consulting firm. There isn't much to say. I started out by suggesting five stories, and we've reached the magic number.



So about a decade ago, in 2004 I stopped being able to find things that were impossible to fit into a quantitative model. I figured it'd take about ten years for me to wrap my head around it, and I'd let it rest while catching up on commercial pursuit. Here we are. Now to figure out what comes next.


Accidental Compliments

TOTD: is it better to be complimented for a quality that you lack, which you successfully play? Or is it better to be brutally honest?

Is it better to be a humane liar, or a practicising sociopath?

I wrap a pillow around my head and listen to the ringing of my nerves. In the dark, the environment of my training.


Abstract and Concrete Humanity

Most people don't know the first thing about humanity - they only know about themselves and the people who are near them. Humanity in general? They wouldn't have a clue. Many don't even want to have things in common with many others. This is true even among those who work in the "humanities", where notions of subjectivity in perspective dominate the landscape.

But humanity in general is not about special points of view. If you talk about the things that all humans have in common, people may say that you are being abstract. But the fact of the matter is that the thoughts of the common man are abstract - the simpler forms of thought that emerge from our animal brains, in our rich (read: complex and unquantified) cultures, results in concepts which are highly localised.

The notion of a person is a vast abstraction, but to many people, their personhood is something that they view as a most concrete thing. If you actually take a person's mind apart it falls into an array of many sensations, either externally experienced, or internally imagined. But none of these sensations amounts in solitude to more than a mark on a medium. We are composed of scratches on paper, living paper, but paper none the less.


Language, Made Worse by its Adoption


No one wakes up and aspires to commandeer an arcane DSL used to paint over the content of the world's media, but some are born great, some achieve greatness, and some have greatness thrust upon 'em kicking and screaming like a cat wrapped in the chilly hide of a freshly skinned chihuahua.


Staying Chipper

Always room for improvement. Today I got a negative review, so I asked for help on two things.

1. I need help focusing on small targets.

2. I need help compensating for my overall insensitivity.

(1. When people hand me a problem, I usually start by looking for one that's 1000x bigger... I don't do this because I think I'm smart/hot-shit - I do it because I inherently like trouble (not a good thing). Generally when I do project management, it is by by mapping out the critical chain with concrete dates - it helps me to stay focused.

2. I often do not get a whiff that folks are dissatisfied or annoyed by me, until long after it has destroyed our relationships. I am unfortunately likely to treat indirect questions as a theoretical discussion. I'm pretty stupid that way.)

The weekend provides more time for quality work.
Cheap. Fast. Quality. Pick two.
Unless you hire bored retired experts.
One day, perhaps I'll be a bored retired expert. Right now I'm just bored and retired. No expertise worth claiming.
Off to bed for the day...

You only need to get over someone if you get into them first. If work comes before love, then all loves lost are non-essential, but definitely worth the regular muse. Of late, I've been thinking a lot about work, and how few people actually like work. The last girl I dated was one of those who work in order to able to buy things.

I tend to work because I'm trying to get away from those things that a lot of other people want to get away from work to do. Crossed purposes. We all have different callings....



Relaxing first day of the week after a monster weekend. Now mandated to move fast, and break things. First casualty: Bootstrap.


Apparently, posting reverse job ads is a monthly thing on HackerNews.

Location: Kuala Lumpur

Remote: no objections.

Willing to relocate: no objections.

Technologies: I like math. I use Vim, Ubuntu, HTML, CSS, PHP (CakePHP in particular), spreadsheets and slides (the usual suspects, hosted and offline), Ruby (Rails in particular), Erlang (exercise: I wrote a code basic MVC and code interpolater), Haskell (exercise: I wrote a basic MVC framework with interpolation and RESTful sessions), MySQL, Postgresql, MongoDB, bits of the necessary web-servers.

Resume: http://linkedin.com/in/generalistforhire

Email: yangjerng ->gmail

My career is about intellectual history and the quantification of human experience (which leads me to hobbies like machine intelligence, and rewriting mathematical systems). I'm not a specialist in anything commerciable, except quantifying, acquiring, and distributing transferable skills, and general human/organisational conditioning. I do have experience across a swarth of industries, and notable experience with fledging companies. I am in an ambiguous patch where I'm 15% into a decade of focus on optimising for cash returns, just to play the game... to say that I spent a bit of my life giving it a shot. Hit me.
Modified version for LinkedIn:
Not ready to quantify the world? Let me do it for you.

My life is about intellectual history and the quantification of human experience (which leads me to hobbies like machine intelligence, and rewriting mathematical systems). I'm not a specialist in anything commerciable, except quantifying, acquiring, and distributing transferable skills, and general human/organisational conditioning.

I may be better at some of those things than self-proclaimed "specialists", but it's nothing I take pride it. Commerce bores me. But I do have experience across a swarth of industries, and notable experience with fledging companies.

I am in an ambiguous patch where I'm 15% into a decade of focus on optimising for cash returns, just to play the game... to say that I spent a bit of my life giving it a shot. Hit me.


"Learning is Overrated"

Well my friend, for you perhaps, and I totally understand that many people feel that way.

As for myself, I derive some, but relatively little pleasure from non analytical approaches to:
- popularity contests
- friends and family
- food, sex, drink, smokes

I mean, personally, it's all very repetitive to me. So where does that put people like me? The only curiosity we have to live for is a state of civilisation that does not exist. So we study to make it happen.



US alumni meetups.

2nd year consultants who likely make over RM15k/month chit chatting with friends about how long ago graduation was. Eventually someone asks me if I think age is just a number, and I'm like, "well, I graduated in 2005; this morning I had less than than $100 in my bank account, and no job security; I'm having a perfectly good time, just like I was in college..."

I still miss the eighth grade, actually. That was the last time I had a cohort.


In response to a friend's comment:

I don't move when I get bored. That's negative stereotyping of millenials ;)

I only move when the (financial, informational, political) risk-return prospects are in my favour, and after I have fulfilled or exceeded contractual obligations.

I move faster than average because I have a higher tolerance than average for risk in starting work conditions. My high tolerance for unlikely success only works in favour of my employers. I take all the hits. :p I'm sure that is debateable, of course.

I think the main attribute that is true of millenial stereotyping comes closer to "I'm meritocratic, and feel no shame in exposing the inefficiencies of a system, no matter how bad it makes everyone else feel." Actually it's more an INTP/cynic thing, perhaps - makes good TV these days, from what I understand. Funny how people love fictionalising it.

What can I say - I'm just trying to make an honest living? If you can't find weapons of choice, become the weapon of choice.


At least at this gig I can afford to outsource laundry and transportation (i.e. rent and launder), so it gives me about 12 extra hours per week for work (and physiological maintenance, which improves quality of work).


Beautiful Sheep

Two conversations came up today, on beauty and power. At the office, we discussed job applicants who put bits of their modelling portfolio on their CVs (i.e. any photo is unprofessional, on a corporate resume). On Facebook, a friend in the entertainment industry talked about a personal commitment to avoiding prejudice against beautiful people, based solely on the fact that they are beautiful.

I had a common response to both conversations. Beauty is a tool. Extended metaphysical discussion aside, is more than a tool, but it can be used as a tool in many situations. We don't want to judge people based on the tools they carry, but on what they choose to do with those tools. And then, there are the ones who carry tools without knowing what their tools do. This paragraph is really about tools in general.

A person who goes to meeting in presentable visual form is like someone who goes to a meeting with a sheathed but visible knife. They've done their homework, or they're just generally prepared. When someone turns up at a meeting with extraneous preparations, we do not want to judge their intentions, but from the point of view of operational security, we do note the preparations that they have made so far.

Neglecting to note the power of our tools, is neglecting the fact that our tools are tools at all. If you work in fields where beauty matters, you must pay more attention to politics, not less. Otherwise, you're running with the sheep.


A lot of people that I observe, like to talk about the things that they want, especially the things that they can't. Imma take a go at it... since I don't do that very often. (Because statistics advises that my expected return on any effort spent is far and deep into a profit regression.) Now, here we go, are you ready, in style with the folks that I listen to, yelling out into my earphones at work on a roll, to pay the bills, and avoid the chills of a skint tit with a skin tint. [All this is happening while I'm taking a break, from a casual inspection of a massively messy spaghetti type language of the PHP, Perl, and Python possession (it's Ruby, she's got her fans, but she reeks of bad crepes and motherfucking Javascript), Imma wring my hands.] I wish that more people would stare death in the eye, and talk shop with fools with a gleam in their eye, to be specific, as one terrific fellow quoted on TV, I wish more people would be like on the brink of abysses, chewing glass, spitting shards, and moulding flasks of disdain over tea and crackers. I wish more people would despise the flip side of doing what they enjoy, because it's a cop out for plebs of every meagre aspiring feel, and appearance, thoughtless, impassioned, clowns of the fecking flippin crowd of dispossession. But hey, if it makes people happy, it makes me happy, so generally I rest my case and let it be.
I think I've been listening to too much Eminem.


FPS? What about quality per frame? Or crap times frames?

I just wrote some code for a responsive drawer menu. I've heard a lot of people worry about performance crapping up the UI in apps, and I figure that my preferred solution is just to reduce the total time per animation. If you try to flip the whole screen over 1000ms, artifacts are clearly everywhere, because you're stressing out the video buffering mechanisms. But if you do the same in 100ms, it's a lot harder to notice them, even if the crap-per-ms is the same. The other thing I'm thinking about doing is actually forcing a low frame rate. Lots of hand-drawn animation came out of the eighties at no more than 6fps... the idea is to keep the user's thoughts elsewhere, if you can. heh


What's Your Number?

Old topic, new article.

In highly repetitive scenarios, like doing barista or call-centre work, my service life-cycles have been as short as 45 seconds per transaction. The article's model works fine, and even so into types of work such as project management, quantitative modelling, which are inherently reductive... the job mostly involves analytical work to improve SNR within a domain. But as we move along the gradient into work that is less analytical, and more synthetic, like the early stages of design... in media of any sort, from food, to machinery (even software), to culture, to scientific experiments, to big messy social efforts, it definitely seems that (a) is very low, so the 52:17 ratio ends up being more like a 180:60 or something.

There are a couple of factors limiting the domain of work, within which this article's rule works. Roughly modelling, productivity (p) = time (t) x quality of work. Let's denominate quality in units of displacement (d), rate of change in quality as its velocity (v), and rate of change of its velocity as acceleration (a).

What is / are your numbers?


I haven't seen a paycheck in six weeks.

Money is an interesting game to play. The first RM500,000 I ever made, I spent on studying the history of thought, the architecture of pedagogy, and the rudimentary structures of information in human minds. Then I took a few silly jobs in a silly little economy and got to say that I got those things done. Then I avoided silly jobs and silly money for a little while, and spent a few years studying computational structures again. RM15,000, RM25,000, RM50,000, little chunks of change here and there. And I spent it all on education. Not all of it on intellectual challenges - a lot of it on emotional ones too. Being able to have options, and to focus on the important ones. Not the girls. Not the cloth. Not the machinery. But on the ability to have it all, and to intentionally, carefully, put it down. I let the last RM70,000 or so go, while learning Haskell. It's not that I don't value money. I just like spending it on strange toys.

Then it was 18 months of lean work. The work is still lean. My body is very, lean. It's the day after weights and biking. My body is in starvation mode again. More food required. That is good. After 18 months of near non-stop eating out, and surviving on protein supplements, I'm going to look forward to eating cleaner food again. Today turned up a full kilometer in mid-foot stride, nearly effortless due to improved muscle responsiveness. Can't wait to get back in shape for longer runs. Maybe swims. Need to do more bridges. Gym tools are useful - I started using gyms 13 years ago, but decided not to take them too seriously till I had a regular job.

I feel like a pit fight. Or a date. On my budget, the former is a lot more likely. Let's hope I don't see trouble. Don't it come / looking for me.