These last two days I added a feature to the blog, which is to estimate the time it takes to read the entry. I added a table called BodyEntryDetail with EntryId as a foreign key. Then, I added Entry#word_count and Entry#estimate_in_minutes to compute how long it would take to read the entry; the estimate is based on the number of words in the entry body.
I made sure if the entry updated, then its body entry detail would update as well. I've been noticing article estimates at Medium and Slate, so I am excited to add it here!
posted 2015-04-27 23:08:36 -0700 by Belda
At work, I am part of a developer book club. This is a great idea because all professionals should be in the habit of getting better. My homework was to read Chapter 2 from Clean Code, which is about naming.
Clean Code is a well-argued work, which may be why it remains a classic. The rules seem so simple -- why focus an entire early chapter on naming? Because it's the foundation to our code work, and developers who think they have a handle on it could still learn more.
Sprinkled throughout the chapters is the theme that our code has to be handed down to newer colleagues, as well as future versions of ourselves. Names are one way we communicate -- more so than comments themselves. With effective names, we need fewer comments.
Quoted from Chapter 2:
We have to process so much when reading code. Names need to help us understand. Bad names do worse than not help us -- they prevent us from understanding, or lead us to misunderstanding. Surely ZYXXY is meaningless, but what if you saw a variable named productIdsList that was actually a mapping of product ids to their respective descriptions? (True story, by the way!) Not only does the name not help you, it actively encourages you to misunderstand it!
posted 2015-04-22 20:09:27 -0700 by Belda
After months without updates, I decided to spruce up this blog. I am a big fan of the Sean Wes podcast. Today, I listened to an episode that really spoke to me; it is called "Taking Action", which is what I am doing now.
The big takeaway from the podcast episode is to be a creator, not a consumer. Be a Creator. Do not be a Consumer. My reaction is that being a consumer leads to feeling at the whim of other forces. Being a creator helps with personal growth, gives me control, and allows me to inspire. It is easy and passive to consume. It takes initiative and planning to create.
One excuse for not creating is being "busy". I have serious doubts that people are as busy as they say. For example, I spend at least an hour a day reading the Reddit front page (entries and comments). That is what I have chosen to do with free evening time. After listening to the podcast, I wondered, "What if I spent half an hour improving my blog? I still have half an hour for Reddit."
After a few months, my blog would be much improved. How it could be better:
posted 2015-04-21 22:26:14 -0700 by Belda
In the spirit of trying new things, I signed up for the debate team during freshmen week. I still have great memories of playing board games into the night of our common room. Many of us freshmen were new to debate, so we went to novices training each week.
In some ways, standing up to be judged for a debate speech is not that different from white board interviewing. In APDA-style debate, the opposition (interviewee) does not know the topic in advance, though there are many common topics (questions/algorithms). In one training, we learned the "7 Deadly Opps" that can take down nearly any proposed case. I wish I had my handout from all those years ago, but the arguments included "too expensive", "bad implementation", "think of the children/elderly/etc". They were cliche arguments that provided a handy crutch for the leader of the opposition to construct a speech in the 7 minutes it takes for the first team to lay out their case.
White board interviewing definitely exercises some of those same skills, as well as inspiring the same nerve-wracking anxiety. In the spirit of debate's "7 Deadly Opps", I present my version of the "7 Deadly Whitboard Opps".
List to be updated as I think more.
posted 2014-03-08 12:54:23 -0800 by Belda
Documenting learning about computers.