I had just left another hardware meet up (called Hackware) and I’m emanating inspiration now, so I thought I’d write it all down while things are fresh.
The theme was Single Board Computers, so everyone who spoke had to talk about them. That includes the world renown Raspberry Pi, but also other less known things like an Intel Edison chip and so on. All very geeky and so interesting to an outsider like me.
What left the strongest impression on me was the presentation by two secondary school students. They showed that they’re conversant in computer and engineering speak as they presented two of their projects — both drones.
They’re just in secondary school… this fact is really profound. I was busy chasing after my current wife when I was their age, occasionally studying because I (think I) knew in some fuzzy way that it’d affect my future. That was my grasp of the life then, and this is their grasp of life now. They’re building drones and have an understanding of technology like it’s their mother tongue.
While I’m doubtful that they have as great an understanding of the applications of the things they’re building as professional engineers, the fact that they understand how to put technologies together into a useful project is amazing. Just think about what they’ll do when they’re in university, and what they can do when they’re done!
So at the end of today’s session, I moved one seat over to ask one of the team mates (they’re schoolmates, essentially): How did you learn so much, enough to make these incredibly sophisticated things while having what seems to be a complete understanding of how it works by yourself? What resources did you use to learn?
I had nothing but admiration for them, and asked in the humblest way I could. And his answer was ridiculously simple: google. That’s google with a small ‘g’, because I’d just realised the crucial difference between them and me —they grew up with google by their side.
Google is a word, not a company name to their generation and those after them.
I believe that that has a profound impact on how they think. This is not to say that every 16 year old is like them. The fact remains that guys like them make a very small percentage of their generation. Most still spend their time looking at and going after girls, trying to be cool, or maybe trying to ace every test to clinch some fuzzy idea of a bright future.
So they googled
What’s the big deal? Everyone can google. I speak like I’m some old man but in fact, I’m only 26. Google became mainstream when I was in junior college, and I’ve since learned a thing or two about how to get search results that I want.
But the big deal is this:
How many of us make use of google in a manner that is proactive to learn something new altogether?
Judging my own behaviour and that of my friends’, I’d say almost none of us do. Most of us search for learning resources for keep-sake, not for immediate use. Having come into close and regular contact with technology much later than these boys means we are older when we stumble upon the treasure trove of tutorials online. Older means less time to learn (as we like to think about it, anyway), and we end up being resource hoarders.
Thing is, there’s really nopoint in bookmarking sites like Code academy or Free code camp or some Udemy course. It’s like a pill — it only starts to work when you ingest it. Then you slowly digest it. To become newly skilled at something (like say, programming), you will need to take multiple pills as part of a course. It’s like antibiotics. You just have to keep going and finish the course.
You just need to use it
Google is there, you just need to use it. That’s basically saying that the manuals and tools are freely available, and all you need to do is manage your time and show up.
Taking inspiration from these young guys, I’m going to build some stuff I’ve been wanting to build for a while but have been putting off mainly because “I’m not technically sophisticated enough yet”. That’s actually my excuse to myself and to people who ask, verbatim. It’s flimsy considering the power of google is just a few centimeters above on my screen in that search bar.
The list of projects I want to do over the rest of the year:
A drone that can fly, and can be controlled by a person.
Some security camera that records footage whenever movement is detected.
Single-board computer based home server.
A video camera + server setup that records footage and automatically uploads them to my own server.
An automatic electronic door lock with PIN access.
The plan from here for the rest of the year
I don’t really know just how achievable this is, but I know only one way to find out.
And if my progress learning web development full-time using Free Code Camp since almost two months ago is any indication, then I think it’s doable, though probably by a stretch when it comes to time.
A blink of an eye and it’s been almost a month since I posted anything here.
Nope, I haven’t got an epiphany to write about some big idea. I just miss logging things and having the option of a guided walk down memory lane whenever I feel like one. So I’m going to talk a little about what’s been happening this past month.
I’ll start with today.
We played a nice game of badminton in the morning with my university friend Ezra at NTU. Mei has only been playing with twice and I can tell she’s already getting better at the game. I mean, she was kicking our asses. Part of my shoe sole came off halfway though (because she served the shuttlecock to the wrong half of the court and I stupidly ran after it by reflex), so I didn’t get the chance to claim victory. Or so I tell myself.
Then our usual lunch at the Business School, and then back home.
At home I spent the remaining 3-4 hours coding. I’m currently coding a simple Wikipedia search engine webpage that works in this sequence: User enters search query –> backend code sends the query to Wikipedia’s server –> Wiki server returns data related to search query –> front-end code displays data in human-friendly results. Been working on this for the second day straight now. Should be done by the time this post goes online.
Before long, my parents came to pick us up for dinner. We ate some delicious Chinese food at an upmarket restaurant called Pu Tien in an upmarket shopping mall, Ion Orchard.
That about sums up my day today.
May-June 2016: Post-US trip
Since we got back from our month-long trip around the US (from New York to Los Angeles), I’ve been busy coding. It’s the first time I’m learning to code this furiously. My hunger to know how to code is growing by the day, and it feels great.
These are interesting times. Code is not like English, though they’re both languages. Knowing code isn’t exactly going to let you ‘talk’ to your computer. Programming language syntax is like English vocabulary, but the grammar is completely haywire. A lot of times I want my webpage to do something but it ends up doing everything else but what I intended. If it were like talking to a computer, I’d be able to tell it like in a conversation. Nope, we’re not there yet with technology.
Programming also differs from talking because of the logic involved. In speech and in writing, we imply certain things, like who’s saying what in a dialogue between two characters in a novel, or the fact that the car we’re talking about has four wheels and runs on petrol.
To a computer, though, nothing is implied. Instead, everything is and must be spelled out. Firstly for the computer to understand what you want it to do, and then secondly for other humans who might have to read your code to understand what you were trying to accomplish when writing different lines of code.
It’s not easy learning to code from scratch. But the good news is, ‘scratch’ is no longer below sea level. In 2016, learning from scratch is no longer starting from zero – all the free resources online that have been made by people to teach and empower others to make software have made the barrier to entry significantly lower.
That said, I must maintain that it’s not easy to learn. Don’t listen to the “programming is easy!” hype. Nonsense. Quincy Larson’s post gives newcomers a better preview into what it’s like psycho-emotionally to learn to code. (Larson is the founder of Freecodecamp, the free online course where I’m learning to code from.)
The tools and scrolls are more attainable than they’ve ever been in history, but becoming proficient at reading and writing code still takes a great deal of patience and time. It is, after all, a skill.
(Becoming good is also difficult because programming languages and protocols and standards continue to evolve quickly. HTML5, Ruby on Rails, etc.)
Last week I was stuck on a coding challenge where I was supposed to write a web app that tells you the weather in your city. The sequence of events that the code needed to handle was something like this:
Ask you for permission to get your location.
Get your location through Chrome’s built-in geolocating feature (works only with Chrome users).
Send a ‘get’ request to a weather server with your location.
Receive location-specific weather data and display them on screen.
I worked on it everyday for close to two weeks, hitting obstacle after obstacle.
I know, I know, I’m new to the whole thing so that pace is normal! But here’s where I stop you. Though you’re probably right, the way that is said makes it sound too easy.
You see, I was stuck on a very specific problem. I could write out the sequence of events that needed to take place for the programme to work right from the moment I received the challenge – the structure wasn’t the problem. It was what code to use to implement that sequence that baffled me.
For example, while asynchronous processes made sense to me (multiple things happening at the same time to reduce a user’s waiting time on a webpage), actually trying to put them in a queue (so that code chunk B is able to execute using some data returned from code chunk A which operates asynchronously) wasn’t at all straightforward when you have to code (not write) it out. It wasn’t easy, until it become easy – when I finally figured it out.
Now it’s really quite straightforward to me. When an async operation has successfully completed, you can declare a callback function whose code will then be executed, and the way you do that is to…
Okay, I’m not quite ready for technical writing yet so I’ll skip the details.
All’s going well so far. My mind’s still set on the long game of creating a company that’s good for society. Coding is the means to that end, and I’m focused on getting good at it right now. The rest should fall in place bit by bit, pun proudly intended.
It’s 4:55pm. I woke up at 5am today to send Mei to her freelance gig nearby and went home and slept for two more hours after, read some books and articles on the internet, met Mei for lunch after her hairstyling exam, indulgently window shopped the aisles of Marks & Spencer’s food section before heading home. Then I woke from an afternoon nap by showering in cold water (leaving Mei sound asleep), and it’s 4:55pm.
I think about what to do now, the time I actually have to myself till dinner at about 6:30pm, which I think I’ll be cooking, and a list quickly emerges from the top of my head:
Read one of the books I’ve started on (Adam Grant’s Originals looks good)
Read up the histories of the cities we’ll be visiting in the US so that we know what we’re looking at while travelling (sitting on our coffee table are 4 guides about cities, national parks and road trips)
Make a list of other things that I ought to be doing to prepare for the trip, like “buy microfibre travel towel” and “change money”
If I were to be honest, some of those sneaked in there as I was thinking of what to write, but that fact too lends weight to what I’m trying to articulate. I have so many options, choices and responsibilities as an adult that deciding what to do when is actually a struggle. What a darned problem to have!
It didn’t use to be like this when we were still in school. School work preceded everything else most of the time. Structure was forced upon us as students. But adults just starting out don’t have such structure, and without some protocol to prioritise decisions, they are tough to make.
I can see how this could be the source of stress for freelancers and solo company founders around the world. Life is short and time is limited; what shall we spend today’s currencies on?
Right now I can’t say I’ve successfully developed any way of forcing structure back into my life. I’ve tried a few things from paying for a ‘hotdesk’ to work on my original startup idea (did that for 6 months but started to feel its structural effects diminish by the fourth) to telling people about the projects I’m working on to supercharge their significance in my schedule. Being comfortable with being offbeat and unorthodox, the latter doesn’t work for me. Or perhaps I haven’t shouted loud enough about the projects I’m working on for the social steroids to take effect.
Common ‘hacks’ I’ve found people preaching:
Doing the same thing at the same time everyday, like meditate at the same spot every morning after waking up, to create a habit
Doing trials using time differently for a few days and comparing which one works best for your personality and biological rhythm
Figuring out and falling back on a default activity (say, reading a book) whenever you’re asking yourself “What should I do now?”
Use the 7 Habits way of listing everything on a Important-Urgent diagram and doing the important and urgent tasks first
I’ll give some of these a shot soon, though it’s starting to feel dreadful. Going about these meta quests of finding out what works for me is always a tiring affair to me. I don’t know how self-fashioned life hackers do it!
At least I’ve checked off ONE thing on that list so far. Onward to more! After I decide which one…
Brownie, my toy poodle, might just be Buddha. I seriously think that to myself about once a week.
I’d be sitting in bed with my laptop thinking what I should be doing first and what’s next in a list of 5 things to do, and I’d find him lying with his belly on the floor next to me resting his jaw on his little paws, eyes wide open and looking at me as if asking, “Lost in your mind, again?”
It was 8:30pm when I entered into the Youtube search bar: “George Foreman vs Muhammad Ali”.
Earlier in the day I was driving around Singapore as a deliveryman for a friend’s company. Manual transmission is interesting until I got the hang of it again. Then, it began to require almost no cognitive resources at all. My hands and feet were on autopilot and boredom soon kicked in.
I plug in my headphones into my smartphone, hooked it up to the in-car charger and placed it on the dashboard as a GPS. And I tuned in to my favourite podcast, the Tim Ferriss Show. Today’s guest was Cal Fussman, someone Tim Ferriss introduces as one of the world’s greatest question-askers.
Should you renovate the whole house at once or little by little?
Let’s start by clarifying your situation.
Do you have the option of living elsewhere during the renovation, like your parents’ home or a rented place? Your question only applies if the answer is yes. Otherwise you’ll have no choice but to live in the same home while it’s undergoing renovation! (Seems like I’m stating the obvious, but I imagine some of us should consider our personal circumstances–eg. can I live with my in-laws for a while?–as a prelude to your question).
Ok, with that out of the way I’m going to try to answer your question with a combination of (objective) consideration and (subjective) experience.
I got married last year to my wife at the age of 26, and I’m incredibly fortunate to have parents who paid a significant portion of our mortgage for our first home here in Singapore (where property prices are astronomical; either that or wait 3-5 years for a built-to-order [we literally call them that] flat subsidised by the government).
But to save money we decided to think up the interior design of our new home by ourselves (ie. we didn’t engage anyone to do anything for us except for hooking up some light fixtures). It helped that we both appreciate interior design and thought we had enough taste between us to be able to make our home look decent. So began our journey.
Due to our circumstances (I don’t dislike my in-laws), my wife and I had to move in early. For the first 2 months whenever the sun set, our day would end because there were no lights around the house, just wires dangling from the ceiling. I remember these days fondly now and sometimes when I walk down our small walkway I smile, satisfied with what we’ve done to let there be light when the sun is resting.
Moving into a bare 110 sqm apartment also meant that in our sacred master bedroom–seriously, isn’t that the room that the heads of the house get to sleep in?–we had to sleep on a thin mattress on the floor that we borrowed from my parents. Between no light evenings and sore backs, we prioritised spinal health and quickly got down to choosing and buying a good king-sized bed (of course!). It came about a month into our stay. We still love having it.
The renovation process went on for 6 months, little by little, like building a castle with lego. Each piece that we deliberated and finally decided to buy/make, we’d carefully put up. We took special care because it took us time and effort to source for each lego piece. Overall, we saved a lot of money (in the region of tens of thousands) by:
Not engaging an interior design specialist ($1,000’s saved there)
Ordering stuff online whenever possible (our king bed was ordered online)
“Importing” things like lighting fixtures from our trips to China at less than half the retail price in Singapore with similar quality (you don’t necessarily have to go to China if that’s out of the way, but go to a city with lower costs of living) – you’d be surprised at how much you can pack into a big roller luggage!
Learning to do things on our own, like working with plaster to put up roman pillars, drilling and installing curtain rails and storage racks, buying from IKEA and personally putting furniture together
In hindsight we are immensely satisfied with what we’ve done with our home. Not only did we save a couple of thousands of dollars, we became more than home owners – we were home makers. This made the new home feel much more like our home. In Singapore and, I imagine, many cities around the world, this is the closest thing to building your own home.
Oh, and because of our experiences, we relish every opportunity–hopefully without being insufferably self-satisfied–to tell friends whenever they visit of the countless stories we collected…
Of how we quarrelled while having both hands in the air attempting to paste wallpaper on the ceiling with perfect alignment while sweat rolled down our backsides, how we dreaded working with those hollow plaster roman pillars because we had no freakin’ clue where to even begin and how they ended up sitting on the living room floor for months before we ever did anything, or how we spent New Year’s Eve lying on a cheap mattress looking at each other saying how lucky we are to have our own home (and living in the master bedroom!) before eventually dozing off, until the entire neighbourhood went “3… 2….. 1…. !!!” and momentarily woke us up. We just laughed and went back to sleep.
So, I’ve very haphazardly described the pros and cons of renovating bit by bit. While I don’t have personal experience renovating a home without living in it, I can tell some of the most obvious pros and cons, especially when juxtaposed against the bit-by-bit approach.
PROS (of a big renovation project where you temporarily live elsewhere)
No bad air to breathe in (dust, toxic gases)
One-off house moving instead of frequent smaller moves (especially shifting things from one room to another)
You don’t have to live in an inconvenient transitory state (if you’re both living where you currently are)
Less memories embedded in or associated with parts of your home (this is going to be true even if you did do some of the renovating yourself because you won’t be seeing little changes in your home everyday)
Typically more expensive, especially when costs are added up (ie. contractors, electricians, interior design specialist, etc.)
You have to put up with either: (1) living in a rented apartment, or (2) with either of your families
Back to your question. Should you carry out a big renovation project in a short span of time or take it one step at a time?
I think you should discuss with your fiancee what you’d each be doing (together or separately) in either case. Then ask yourselves whether you’d be happy or stressed living in a transitory state where various things are missing (you might get backaches sleeping on cheap mattresses, for example), knowing that you’d probably save some money and have a lot more memories (fond or not, you decide; but stories are what we live for) if you did.
All the best! Remember to savour this phase while you’re at it – once you’ve crossed the chasm of living in the master bedroom, you never go back!