Sunday, 29 May 2016

A world of total emotional openess

https://www.psychologytoday.com/blog/the-power-prime/201409/is-emotional-openness-the-key-healthy-relationships

If you define synchronization it to be the key to good relationships,  then yes,  obviously.

This would lead to greater overall efficiency.

It would also spell the end of machiavellian schemes. That would be good for us not using these, of course.

On the issue of taxes

You have only two choices.

Serve, or be served.

Wednesday, 25 May 2016

The Story of Null

No Unrelated to that rather dull novel/film called the Life of Pi.

The concept of nothing first came out of some brilliant philosopher.

Nothing is better decomposed to No Thing where Thing can be anything.

In many languages, the ultimate nothing is Null.  Dev/null,  null...

Null has nothing,  can do nothing.

In some systems of logic,  programming,  trying to do things with true null gives exception is not allowed, because any attribute of null is undefined and yields undefined results.

Likewise, a null pointer exception shows that it is not only an object that can be null.  References to an object can be null too. This mistake has led to many crashes.

Of course,  you can always be explicit about nothing, if you want nothing to mean the absence of that thing,  and you know what the absence of that thing means. This is called a null object pattern.

In others, the fact that something can be undefined is acknowledged and accepted, and a default behavior prescribed.

The ideal language would handle these problems gracefully and intelligently,  aware of the context in which they are used,  instead of just crashing

Tuesday, 24 May 2016

Nature as software developer

Nature is a very bad bad developer. The DNA  code is totally unmaintable,  the system is full of side effects and programming of features is somewhat based on random changes.

How to Code most efficiently

This analysis only pertains to the code part.

What does it mean to Code efficiently?
Least context, mind frame switches
Least file,  scrolling switches.

Maximize both to find best method.

I believe the best way is to program by feature.

If you think about it,  the way we,  designers,  developers and users alike,  conceive of a program through its flows.

Flows are big,  but they can be broken down into units called features.

Ideally,  we would love to see features programmed directly. But that leads to redundant code which is also messy.

So what we want to do is trace through code paths of a feature. That is also the optimum way to read code and become productive.

So no matter how messy code,  specs are,  one can always straighten things out like this.

Of course,  code can have side effects. This increases the complexity the coder needs to understand, often overloading their poor minds. In this case,  minor refactoring,  documenting may be required and best for understanding.

There is a pitfall of the evil side effects story.  Event driven programming can seem like it is all about side effects. Nothing can be further from truth.  Every event fulfills a code path required by feature, while allowing each kind of event to be handled by totally independent modules.

Feature is forever the most important.  It is the why of developing applications in the first place.

Footnote.
I wish some CS professor could chain this up into a flowing story through development like I did here.

A Pattern in The Progression of Computer Science

Why are things cyclical? A is the fittest.
Paradigm A is moving along. It is the best solution to a problem.
A hits an issue.
Paradigm B addresses issue.
B leads for a long time.
Tech makes A possible again.
People come to A again.

Sunday, 22 May 2016

Thought of the Day #51: Follow up

Some inspiring nature to look at from your desk job.


Thought of the Day #51: Why are pictures of nature are so inspiring?

Because most of us very rarely go outside.

Most of us do not live in that Garden of Eden.

Saturday, 21 May 2016

Thought of the Day #50: Venezuela

Socialism... Socialism always fails.

http://www.nytimes.com/video/world/americas/100000004371789/shortages-in-venezuela-spark-looting.html?rref=collection%2Ftimestopic%2FVenezuela

http://www.nytimes.com/slideshow/2016/05/15/world/americas/public-health-emergency-in-venezuela/s/16venezuela-web1.html

Another Story

When I was still in Elementary School (aka Primary), we would have these breaks in between lessons, when the first teacher had left and the next one has yet to come. Now, some teachers are very late.

I found myself on the dirty blue floor, by the grey metal teacher's desk and the grey classroom cabinets. A friend, named Alex I think, was sitting next to me, and we were drawing tanks and submarines with pencils and crayons. We completed our masterpieces as best we could, before discussing

"Hey, we should send this to the People's Liberation Army."

"No, Singaporean Army lah, of course!"

LOL all you want, but we were dead serious back then.

We have learnt much since those days of innocent naive-ity. But one thing that I have had to relearn, was how one should always make bold moves in the face of uncertainty and it's part of life to be stupid and ignorant.

Friday, 20 May 2016

Monday, 16 May 2016

A bunch of hikes I'd do

Came across this wonderful site: http://www.hkadventurer.com

Moon Gully

Flat Bread Rock

Ape Valley


Saturday, 14 May 2016

What If Tinder Showed Your IQ?

http://nautil.us/issue/28/2050/what-if-tinder-showed-your-iq

Genetic Engineering is going to make society more efficient overall. Higher IQ people would start with the work suitable for them, the lower IQ people would start with the work suitable for them. When higher IQ people are stuck in jobs where IQ does not make a difference, they are wasting their time and society has to make do without them. When low IQ people do jobs that they are not good at, they are wasting everyone's time.

The only matter is who benefits most from this efficiency and to what ends the excess wealth is used. Right now, most of the excess wealth is lost through all sorts of government inefficiency and intervention. Everyone loses but the less money one has the more one is affected. In general, the larger the state, the more the suffering. Of course, low IQ person is statistically expected to make less. But they would still be better off, and if you think of compound economic growth as exponential, it's much better than words can make it sound.

In a world with autocratic government (think Hunger Games), IQ and other resources merely become pawns in a win-lose game where people scramble over each other just to survive. This is stark contrast to a free market, where the games tends to be win-win.(Smart businesses will just see demand for intelligence enhancing tech and innovate.) There is much fear about how genetic engineering being one of these pawns, and this fear sounds well-justified, historically and empirically . Except that the fear is not actually directed towards genetic engineering, but government power, violence and the zero-sum games they create.

It is not genetic engineering or any tech that can sabotage society, it is government intervention and its acceptance by society. 

Since we have a mixed economy at the moment, I'd say the results are probably going to be midway between terrifying and spectacular.

And of course, overall IQ may rise.

Friday, 13 May 2016

Bytes in the Universe

10^10^123

10^90 photons to work with

10^21 in 2011.

We can know very little about the universe.

Source: Through the Wormhole by Morgan Freeman

Thursday, 12 May 2016

On Design: Translucency vs Opaque. STUB

Develop 1: Meet the people behind Android.

In Android, there are a few people with more influence than these 2 guys. 

Perhaps only in technology can a single person actually create the solution, by hand, AND become its evangelist.

The Developer behind many critical libraries: Jake Wharton.

http://jakewharton.com/

The Designer behind "Material Design": Roman Nurik.

https://medium.com/@romannurik/minimalist-interface-design-and-the-data-pixel-ratio-49df9dcd997a#.iadqmlp9u

Tuesday, 10 May 2016

Thought of the Day #50

Swimming against the tide is good exercise. It makes one stronger all the more.

Think different.

And then if you want power, get people to think the same as you.
If you don't care for power, get them to think different, too.

Saturday, 7 May 2016

Always be an Early Adopter

I make case for why to always be an early adopter.

Benefits:
- Tech advantage
- Marginally higher productivity over the time between early adopter and mainstream makes a huge difference that often increases over time, to fill up the market.
- The marginal increase in the value of an innovation diminishes exponentially over time.

Risky because...

Investing in the "wrong" thing.
Given that anything can eventually lead to anything else, failing in something that you believe in will still provide you with what you believed in and lead you to the next thing.

There is no reason not to invest in something new, if you know it is principally sound.

What if there are competitors?

Then invest in both, depending on how likely you think one is to win out.

Or if that doesn't work, know someone or something that can help you transfer to the other when necessary.

Friday, 6 May 2016

Thought of the Day #49: Sanctity of Human Life

Sanctity is a human concept. It doesn't exist and it isn't self-evident. It's one of those "social constructs" all societies require, or they disappear.

Emotionally, it is because empathy.

Wednesday, 4 May 2016

Wow! Smart Contracts! Who needs governments anymore?

https://www.ethereum.org/

And I thought Bitcoin was awesome.

Tuesday, 3 May 2016

People are stupid: Part 1 - People like stories more than facts.

People love stories. In fact, a good story will trump almost any fact you can throw at them.

So while I am in this world, people who may need persuading would expect a good story.

Here's one I haven't actually told anyone, but I guess it could pass, as the situation sees fit.




A Story of Integrity in a classroom full of SE Asians


It's the last day before exams of Spring Term, at a certain university in SE Asia. I am sitting in a class of 30-40 students, with 4 to 8 around each round table. In a very Singaporean matter-of-factly accent, the professor starts talking about business ethics and karma, how you should never make up results, treat your customers right, because what comes around goes around yada yada...

And then it's time for presentations. He checks the class student list, which has been divided into groups of 4 students. For this particular course, attendance counts as 10% of the final grade.

Knowing how much Singaporeans like things orderly and what they could do when things were not, I punctually went to every single class. But our group members were not so nice. They skipped almost every class besides the first and last. I didn't fake their attendance at all.

"What is this?! How can this sheet have so many ticks when less than half of you showed up each time?"

"You see? You tink I won't no-tice ah eh? "

"Your parents pay so much to send you to this college. Is this what you want to be? Cheat-ders and liars?"

" now this one is honest. Who is... Eugene?"



"Ah you see? This young man has honesty. Integrity. Come in once, tick once. What's wrong with you guys? Give him a round of applause!"





"You all get zero for attendance. OK. Let's move on to your final presentations. Who wants to go first?"

We do our final presentations and go for dinner.


Written in authentic Singaporean accent.

How to learn faster?

Ok. So we have this stack of books.

How do we actually get through this and learn effectively in the limited time that we have?

Suggestions:

1. We each pick something we are most interested in. We read it, and then teach each other the essentials?


Feel free to add!

Sunday, 1 May 2016

MI 5!

No, it ain't Mission Impossible 5.

It's MI 5! It's out! And I just got myself a lower-end one.

Arrrrgh!!!!

"Standard Working Hours"

A generation ago, before Chinese people rushed into Vancouver and housing prices hit new highs, things were pretty good. It didn't take 10 years to get a good place.

Without the money printing and myriad of taxes, the greater savings, investment, tech and free-market competition could only have made life better. People wouldn't have to work so much because a good income would be achievable in a shorter time, they would have more savings and costs would be much lower.

Since we aren't there yet, the governments are now trying to legislate something that could have been achieved through natural free-market economics.

I can understand it. And since I feel pretty busy too, I might even agree.

But it won't work. Government doesn't know how long it would take for us to do things, how long people want to work. Only negotiations between employer and employees can do this.