Archive for 2016
Posts (105) :: Photos (553)Posts
-
Just in time for the end of the year, I finally finished Xenoblade Chronicles X, which I started playing around the first week of August (5 months!), with 120+ hours of game time. The game doesn’t have the best graphics (WiiU, etc), but I really like how it looks and how the world is built and all the different environments and the weird and sometimes absurdly large beasts. (Click to view full-size)
-
In one of my most recent projects, a large system that had gone through a relatively long and unstable period of many, many changes due to sales demonstrations, different clients and whatnot, one of the “fun buffer tasks” I always kept around for devs was code cleanup. Because of the unstable nature of the project, there was always a lot of duplication, unused/unnecessary/obsolete classes/functions/files and so on. Unnecessarily large CSS files where most of the selectors were no longer really needed or JS libraries that weren’t actually used.
-
I traditionally try to save some time on the week between Christmas and New Year’s Day to do some cleaning up and decluttering of my stuff. One would assume that having more time meant I would be better able to organize my stuff and all that, but one would be wrong. My room still has stacks of books, toys, Magic cards and other stuff in random places. Or maybe I just have too much OCD that I want everything to be neat and organized, but I’m not industrious enough to make it happen.
-
-
Related: Learning new skills While many people working as programmers/software developers are happy enough specializing in a single programming language or platform, I generally consider it a better idea to have a wider toolset and the ability to easily pick up new programming languages as needed. The benefits should be obvious: when you have a wide variety of tools under your belt and are able to quickly learn to use a new tool, the number of work options you have increases greatly.
-
When Hanamichi Sakuragi from the manga Slam Dunk tries to get into the basketball club, he insists he’s a genius who doesn’t need to practice the basics and instead wants to go immediately to doing spectacular things like Slam Dunks. Sadly, the vast majority of us cannot claim to be geniuses at anything, and we are forced to undergo a bit of hard work if we want to learn a new skill.
-
In any reasonably large software project, the system will be so large that no one developer will have a good grasp of the details of every function in the codebase. The tendency is for developers to specialize – that is, developers tend to focus only on certain parts of the codebase and become more familiar with that part, while not having much knowledge about the other parts. This tendency is self-reinforcing – once it becomes known that the developer is an “expert” in the given module, there is a tendency that he will be assigned the most difficult and urgent tasks or fixes related to that module, further cementing his expertise.
-
Often I have these days where I’m supposed to be writing something or drawing something or coding something and I just can’t get to it. Some kind of mental block makes it difficult. And you try to focus your mind and clear your thoughts, but it just doesn’t help. Here are some ideas for how to get past mental blocks. (Click to view full-size)
-
I was in a meeting once with my boss (literally the CEO, a Malaysian) and some representatives of another company (Americans) where we were discussing the technical details of a possible future partnership. At one point, one of the Americans said to my boss that he was pleasantly surprised that I was openly speaking up independently of my boss and willing to correct him on some points when he didn’t quite get the technical details right.
-
As I recall, today was at least my fifth Nanowrimo attempt; the first one was sometime before 2003 (I would guess it was in 2000 or 2001 before I graduated from college), the second one was in 2003, then 2006, then 2011, then finally the fifth one this year. My best prior attempt was back in 2011, when I made it up to 22,000+ words. At just around 1am on the early morning of November 30th this year, I beat that record and have won Nanowrimo for the first time.
-
In JavaScript, referencing variables that are declared outside of a function’s scope can be tricky. If you have code like this: var btn = document.getElementById("BTN"); var test = 1; btn.onclick = function() { alert(test); } test = 2; The click handler above retains a reference to the test variable even though it falls out of scope as soon as the script block finishes execution. When you actually click the button, the alert will show the last value of the variable when the block finished execution (2) instead of the value at the time the function was initialized (1).
-
If a friend found out your work was horrible, would you want to know? Or would your feelings be hurt? If your coworkers think you’re doing something wrong, would you prefer that they keep quiet or that they call you out? As a leader, do you prefer to have sycophants who sing your praises or people who are willing to tell you that you have no clothes? Is your ego more important than doing a good job or self-improvement?
-
The Amber Spyglass by Philip Pullman My rating: 3 of 5 stars Pros: - I liked having the bear back - Diamond-legged creatures with wheels! - An honest effort to tie up all the loose ends and give each character decent endings - A decent read, at least Cons: - allegories aren’t very subtle - people get miraculously redeemed, even Mrs Coulter who was such a great villain - build up of Asriel’s awesome plan to take the War to Heaven only to find out he didn’t really know what he was doing until he found out he had to somehow help two kids find their pets
-
This is a story of something I consider to be one of my worst mistakes in software product development. Some years ago I was asked whether it was feasible to write software that would be integrated with Software X that allowed us to export that software’s output into a format that was compatible with Standard Y. I took a look and after a while came back with “Well sure. We could use Programming Language M that has an API that lets us integrate into Software X so we can export the output data.
-
The Subtle Knife by Philip Pullman My rating: 3 of 5 stars Well, the knife may be subtle, but the allegories are not. I can see why some religious folk might find the trilogy’s themes controversial, but as far as I can see they’re still just fantasy stories. We’ll see how things ramp up in the last book. I kind of miss that bear though. View all my reviews
-
The series was a bit formulaic, and towards the end really preachy toward’s the authors personal philosophies, but Terry Goodkind’s Sword of Truth series always comes back to me because it codified one of life’s most important truths: Wizard’s First Rule: “People are stupid. They will believe a lie because they want to believe it’s true, or because they are afraid it might be true.” That doesn’t mean you’re stupid or I’m stupid, just that collectively, we’re kind of dumb.
-
-
“Button for non-service floor does not light up." For more than a decade I regularly went to an office building where the elevators verbally spouted this nonsense message whenever you tried to go to a floor that the current elevator car did not service. For context, the elevators in the building were zoned programmatically – this means that they only service a particular subset of the floors that are provided on the elevator panel itself.
-
Recent events both in my country and abroad, both of wide importance and personal importance, have made the past week or so difficult. Bad news and bad events have no master or timing, they do not consider giving us a break, they come and go as they please no matter how bad the situation already is. I fully understand why many people choose to withdraw from daily news or shut it out altogether or even just avoid social media completely.
-
There was this project we had where there was a strange bug. The developer working on it found that the problem only appears when the record ID was 12. When it was 11 or less, everything was fine. When it was 13 or more, everything was also fine. After some investigation, it was found that there was some code that executed with a condition of “if record id == 12”, which was already a WTF.
-
There’s a very rare, privileged group of people for whom everything in life goes well and they experience great success all the time. You and I are not part of that group (most likely). Like the vast majority of other people, sometimes our lives are good and sometimes our lives are bad. Sometimes life can feel cruel or unfair or exhausting. In those times it’s easy to forget the times when life was good and to wallow in your misery.
-
The software development process is already difficult mainly because a lot of it so imprecise. Requirements are often only vague wishes that the client has, with no regard to the sheer number of instructions needed to implement those requirements. Throughout the entire process it’s important to use feedback loops to determine whether development is on the right path. And like all feedback loops, their effectiveness often hinges on how quickly we are able to turn around and give and incorporate feedback into future iterations
-
A feedback loop happens in a system when you are able to use an output of that system to influence the inputs, which in turn influences the outputs and repeats the cycle In engineering, feedback loops are useful to generate steady-state outputs. We had an entire subject dedicated to feedback loop controllers back in college. I enjoyed the topic so much I took the subject twice! An example of the use of feedback loops would be a thermostat that has a sensor to detect the current temperature.
-
In Tagalog: “Madali lang naman diba?" Probably one of the most annoying things a programmer can hear, especially from a client or a manager who has no appreciation of how complex software development is. It’s presumptuous at best and actively damaging to schedule and morale at worst. We already know estimation is hard, there is no need to make it more complicated by automatically assuming the best-case scenario (or in many cases, an impossible scenario)
-
I’ve picked up quite a few daily habits since the start of the year. To name a few: I’ve been doing daily sketches, I’ve been going on a daily walking routine, learning Spanish on Duolingo, I have a quick stretching/exercise routine I do in the mornings, etc. (I’m also supposed to be writing daily, but this has proven more difficult to keep doing consistently… ) I like those daily habits that can be easily tracked with technology.
-
“Composition over inheritance” is an object-oriented programming principle that I’m sad to say many devs I’ve encountered aren’t too familiar with. Composition provides greater flexibility, modularity, and extensibility in large software systems as compared to inheritance, especially for statically typed languages like Java that don’t support multiple inheritance The most common examples of the problems caused by too much inheritance involved generic object such as the game objects example in the wikipedia page linked above.
-
Sometimes I write something and at the end I find that it upsets me. Or I think about something I haven’t thought about in a long time just before I sleep, then I have a nightmare about it and it saddens me to think that my subconscious still hasn’t let go of it after all this time That’s a good thing though, right? One of the purpose of writing and introspection is to become more attuned to your inner thoughts and emotions, to better understand and work with your own self.
-
For the better part of my software development career so far, I’ve had the doubtful pleasure of being one of the devs using and maintaining our in-house web development framework. Framework coding is a bit different from the actual application development. At the core it’s a simple idea: you have a whole bunch of code that helps do programming tasks that you expect will often be necessary in a certain set of projects, so you write that code with the intent of reusing it across multiple projects.
-
I’m kind of a serial project starter. I’m sure it’s a very common thing. I’ll often have random ideas for projects I could do, big or small. I’d have a dozen of them percolating in my head at any one time. And somewhere between four to five dozen scattered down in various documents, notepads and what not, waiting to be explored. (I literally have two such small post-it notes with 5 such items in front of me right now)
-
The Golden Compass by Philip Pullman My rating: 5 of 5 stars Well, the book started off a bit slow, with the protag meandering about while the author did his worldbuilding and all, but the pace picked up quickly after the first third or so of the book; I finished the rest of it one sitting I don’t see anything too Church-controversial yet, though I’m told it becomes more obvious by the third book.
-
“We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.” — Larry Wall, Programming Perl (1st edition) Hubris is a fancier word for an excessive sense of pride. Why is this to be considered a great virtue for a programmer? Programming is at least partly an act of creation, which means there is an element of craftsmanship involved. A craftsman imbued with hubris is able to take pride in his work – he is driven to create work that is the best quality he can provide.
-
(A bit of Philippine politics in this post, if that sort of thing bothers you) Recently as the whole world watched one of our political leaders display his expected lack of diplomatic finesse on the global stage, I couldn’t help but think about how in my younger days there’s a good chance I might have approved of his frank, straight-talking, shoot-from-the-hip brand of diplomacy. I have a bit of a reputation myself for preferring to speak frankly and directly instead of dancing around the issues, although these days I understand the wisdom of adapting to the situation as needed
-
… especially for strongly-typed languages. In one of the bigger Java projects that I took over, I was often annoyed to find some devs had written method signatures like public void doTheThing(HashMap<K, V> params) Which is silly – not because of the naming, that’s obviously not a real-world function name. The silly part is requiring a particular implementation (HashMap) instead of the generic interface (Map). It unnecessarily restricts your API and makes it less flexible.
-
A recent post on Wait But Why had me thinking about lying. (Click to view full-size) 27 Sep 2016 1:30amClose Some people will scoff if I say I don’t lie. They’re not wrong. I once spun a tall tale about a childhood rival I had visited in the province who challenged me to a swimming contest to explain why I had lost my glasses to the sea.
-
It’s no secret that many are unhappy with the way the congressional investigations into the so-called “drug war” and related killings here in the Philippines. If I were in charge of these investigations, these are the some of the questions I’d want answered: (Disclaimers: I’m not a lawyer or any kind of expert. Understandably, the resource persons may be reluctant to answer some of these in open session, in which case an executive session could be done.
-
Overhead scale up rapidly as project team size increases. Every time you add a new person to the team, he comes with a lot of overhead such as the need to learn the project details, responsibilities of other team members, who to consult when there’s trouble, custom project procedures, and so on It’s a reinforcing cycle too. As overhead increases, the team imposes more processes and restrictions to make sure everyone is doing the right thing and there are no screw-ups.
-
Asians, and maybe Filipinos more specifically, have this cultural bias towards trying to avoid conflict. So often there will be people who don’t like to speak up when they think something is wrong, either just tolerating it or hoping someone else will take it up. A software dev in another company once told me that he felt like he was complaining so much that he was looking like a bad guy
-
Overtime in software development projects seems to be a given. Sure, there are projects and companies that don’t need it, but those feel like the exception rather than the norm Overtime in software development is a natural consequence of schedule pressure and the fact that estimation is hard, which is why it’s understandably common, but that doesn’t mean we shouldn’t try to avoid it More than once I’ve been in a situation where the team stays overnight to try to get a build or release ready for the next day only to run out of time and have to delay the deployment anyway.
-
Almost six years ago, I had to undergo minor surgery and had to endure the pain of being administered spinal anesthesia. I was reminded of this recently because a loved one with an even lower pain tolerance than I did recently had to undergo a similar procedure I have a pretty low tolerance for pain myself. I tried to spin it a bit positively in the blog post linked above, but there’s no question many times during the procedure I felt miserable and in lots of pain.
-
A while back, news came out that an AI was able to perform a diagnosis after the human doctors were stumped. Having just finished binge-watching the entire run of Star Trek Voyager, I immediately thought that was the sort of AI advancement that could lead to such things as Voyager’s Emergency Medical Hologram, an AI which could replace a human doctor. Of course, it is still very unlikely for this to happen anytime soon, medicine is a very complex field and new things are still being discovered all the time.
-
I remember having a discussion with a friend a few years back where I made the following list to emphasize a point: 8-9 hours at work (possibly more) 7-8 hours of sleep 3-4 hours commuting in Metro Manila 2 hours for meals That leaves you between 1-4 hours for all forms of recreation including exercise, sports, TV, derping around on the internet, hanging out with friends, and so on.
-
Without a doubt, the number one problem in software development projects is **schedule pressure, **that is, the pressure to meet unreasonable deadlines and targets Almost all other problems can be overcome if there were no schedule pressure: weaker developers could be mentored to become better, more productive, and commit less faults less faults overall will be committed anyway if there were no schedule pressure poor requirements could be threshed out in more detail difficult clients can be argued, worn-down, and eventually reasoned with problematic team members can be counseled, or replaced with new blood and so on But of course, the reality is that we live in a world with deadlines and targets, many of them set by people who have no idea about the complexities of software development.
-
Some days you are tired Maybe you are tired of all the work You can’t keep up with, it all piles up Of all the meetings and reports That come relentlessly without end Some days you are tired Maybe you are tired of all the time That you never have enough of Of all the deadlines and targets That you never meet but should’ve Some days you are tired Maybe you are tired of the world
-
Estimation is hard. Estimation has long been the bane of many software developers and software development projects. But there are two secret ways to be able to produce perfect estimates for software development work all the time! One is dependent on talent, and the other is dependent on technology Psychic precognition, i.e. be able to predict the future Have a time machine, so you can go back in time and tell yourself how long the work would have taken Such precognition is necessary to have perfect estimates because of all the unknowns present at the start of a software project.
-
When you’re young and in school memorizing math formulas or history dates or whatnot, all of it seems so silly and you wonder if you’re really going to be using all of this knowledge in real life. However, the intent of a general education program isn’t specifically to give you knowledge that will be useful to you in the future (although it may turn out to be so) The stuff school teaches you – literature, mathematics, art, history, science, and so on – are intended to give you a broad enough base from which you can freely choose the direction you want to go in life.
-
If you follow me on Facebook or Twitter, you’ll know I have a tendency to be pretty vocal about any problems I have with our country’s erstwhile leadership. But for the most part I’ve restricted it to those channels and have tried to avoid posting about current events in the country on this blog (outside of my personal choices for the election), but I feel that now more than ever those of us who can speak out have a responsibility to do so whenever we can, for several reasons
-
Hyperion by Dan Simmons My rating: 4 of 5 stars I randomly decided to start reading a new book the other day and picked up Hyperion completely blind. I knew it was sci-fi, but that was about it And it turned out to be some really good sci-fi too. Simmons introduces new concepts and the history of his universe and human society quickly and unapologetically. Even the prologue bandies around the terms Hegemony and Ouster with little explanation save what we can glean from context.
-
I like to say that software development is a challenging career because no two projects are ever the same and there are always new challenges to face and new concepts to learn, but the truth of the matter is a bit more complex. Writing software is about breaking down large problems into a series of very small technical problems for which we already have solutions. Examples of small enough technical problems include list sorting, comparison, arithmetic operations, path traversal, string concatenation, returning a string as an HTTP response, rendering text to the screen, retrieving submitted parameters from an HTTP request, and so on.
-
No, not that kind of history, don’t worry. Twenty-five years ago this month, the first website went up on the world wide web. That was 1991. It took a few years for the Philippines to catch on, the first internet connection in the country was only set up in 1994. My personal experience with the internet came a bit later, during our freshman year in University, sometime in the schoolyear 1995-1996.
-
So, Stranger Things It’s true, it’s great. I thought it might be overhyped, but it’s not. And I can see why people find it hard to explain without spoiling things. It’s about strange things happening in a small town. Creepy things. It’s a mystery. It’s suspense. It’s not a jump-scare sort of thing if you’re not into that. Well, there’s maybe a little bit of jump scares. The best description I’d say it’s about as scary as an X-Files or Doctor Who episode.
-
I was originally going to write a post about the problems development teams face as they get larger, but the section on development standards was long enough by itself so here we are. Having some sort of development standard in a project development team becomes a lot more important as project size goes up (for obvious reasons). There are different kinds of standards to consider, but generally I break them down into design standards and coding standards.
-
Equal Rites by Terry Pratchett My rating: 4 of 5 stars I bought a used copy of this book a while back and finally decided to read it, it wasn’t particularly long. I’d found however, that I’d already read it before lol. Anyway, I still managed to read through it a second time, it was pretty good. I like the Discworld books, they’re ridiculous, popcorn fantasy reads, and this one was no exception.
-
Thirty eight lessons I’ve learned through the years, in no particular order: Do not be beguiled by pretty things; not all that glitters is gold Remain true to yourself in the face of adversity You can’t help people who aren’t willing to change People will believe what they want to believe You don’t have to do what everybody else does Happiness often comes from small things Be thankful for what you have and appreciate the people who are there for you Other people think about you a lot less than you think Time you enjoy wasting isn’t wasted time Spend some time alone with your thoughts regularly; solitude has its benefits In most situations, a balanced approach will serve you well.
-
Pros: It is a very rewarding career financially. Software development often ranks in the top 10 highest-earning careers in most countries There is a lot of scope – you could be developing web applications, mobile applications, embedded applications, client-side, server-side, data analysis, artificial intelligence, games, etc It is very difficult to be bored. You can always automate away the boring stuff. Different projects always present different challenges. The field is evolving rapidly so there are always new things to learn.
-
The Trading Code by Jason Cam My rating: 4 of 5 stars Pretty informative and helpful stuff for beginners to stock trading, although I reckon it will still take time and experience to get the hang of stock trading. I was interested in the math so I’m happy that the book discussed the formulas for most of the indicators used (with the exception of the ADX) View all my reviews
-
Motivation is a fickle mistress. It comes and it goes. It’s easily distracted. It can vanish in a blink of an eye. When it’s there, it’s great, but when it’s not you don’t get anything done and you don’t feel terrible. Motivation is based on the principle that you need a certain emotion or state of mind to get things done. Motivation is burst damage, you can get a lot done but you don’t know when it’s gonna come out.
-
Evaluation of programmer performance is notoriously hard. You want to be accurate and at the same time fair such that all programmers on your staff are evaluated in the same matter. However, there are no good, objective, universally accepted standard metrics. It follows from the fact that there are no good, objective, universally accepted standard metrics for program size. Typically each programmer in a team will not be doing the same task or even the same type of task, so in order to produce fair evaluations you will need some standard metric of program size to normalize any evaluation.
-
When blogging and social media started to explode in popularity, it held a great promise: it would give a voice to the masses. Where previously there were gatekeepers in traditional media channels who controlled whose opinions could be published or broadcast, the internet meant that anyone with an internet connection could publish and voice out their thoughts and people would be all smart and there would be lots of intelligent discussion and it would be great.
-
****Since I wasn’t a graduate of computer science, there were many concepts of software development I really only got exposed to when I started working. One of those was the concept of a relational database, and hence SQL. The company I worked at gave all new hires a training regimen that started with about a week of SQL. Despite not knowing anything about it beforehand, I took to it like a mouse takes to cheese.
-
I found this draft blog post that I had written back in 2010. I’m not sure why I never published it, though it does end on a dire note and seems a bit incomplete. Perhaps I had some further thoughts percolating in my brain back then that never came forward. I am also not sure if I wrote this before reading about The Great Filter. I figured I’d just publish it now without further comment:
-
I never really put much stock in certifications. I felt that they were no guarantee of knowledge or expertise, and that many people who did have knowledge or expertise wouldn’t necessarily have a certification to say so. Add to that it often seem overpriced to even apply for the certifications, so I didn’t have a high opinion of them. That being said, I have had the opportunity to take professional certification exams twice in my life (both luckily paid for by my employer at that time).
-
During my the first semester of my second year in University, I failed four out of five classes I was taking due to slacking off a lot. Those same classes were only available during the first semester of each year, which meant I could not retake them during the second semester or over the summer to catch up. So effectively, I had fallen one year behind everyone I knew. When I got the news, it was devastating.
-
A friend of mine had an informal consultation with me the other day (read: asked me questions over FB messenger) about what their IT staff was telling them about a file upload vulnerability that had been recently exploited in one of their applications. Obviously it was difficult for me to judge given that I didn’t know all the details, but for me it was most likely a vulnerability introduced in the application code itself.
-
During my adult life, I’ve tried to learn or at least expose myself to one new skill or programming language every year. For example, over the past year or so I’ve been studying, dabbling, or trying out the following: game development using Unity, technical analysis of stocks, Spanish, driving a car, and even some simple cooking! I’ve also been regularly practicing to improve my skills in writing and sketching. I probably even forgot a few things I’ve tried to learn.
-
Some time ago, one of my many intrepid followers pointed out that this blog tested poorly on web page performance according to this Speed Testing Tool. Now, I’m of the opinion that for a personal blog such as this, web performance isn’t really a mission-critical sort of thing, but as a software developer who has often had to work hard to optimize the web applications we delivered to our clients, it kind of became a matter of pride :p
-
-
I read an article recently about how we should encourage entrepreneurial spirit in kids from a very young age. It made think of a time when we were kids and we tried running a business It was a summer from years ago. Perhaps 1988 or 1989, or maybe a year or two earlier, I can’t be sure. I was young, my brother was younger by a few years, my female cousin older by a few years.
-
I had my first taste with working with software testers during my first project where I was involved with porting an old system to a new version of the software. My first task involved porting reports which were to be generated by the users then printed out. The task wasn’t too difficult: basically you took the source code of the report (it was some weird binary format recognized only by the particular reporting tool – that was how it was done back in the day) and open it using the newer version of the tool, and the tool did some sort of migration magic to adapt it to the new format, then you just save it back again.
-
Grammar note: “Biased” is an adjective. “Bias” is a noun. It is not appropriate to say that a person or an entity “is bias”. Unless you are talking to like a prejudice elemental or something (takes note of that for hypothetical hipster RPG) In a (long-winded) discussion during the recent election period, someone told me that I “obviously had a bias” and my answer was “Of course I do! Everyone does!
-
In the modern era of online services and applications, it is getting more and more common to hear of databases and systems being hacked and user data being exposed. The most dangerous of this data is the user’s password since it may allow access not only to your own service but to other services as well. As an application developer, the below is probably the bare minimum you need to know when handling user passwords:
-
Around the first week of June 2016, Mark Zuckerberg, well-known nerd and founder of Facebook, was hacked. If even the founder of the world’s largest social network can be hacked, anybody can! So it might be a good idea to review how you manage and secure your online passwords **Avoid using short, simple, or commonly-used passwords! **These are subject to so-called “brute force” attacks where bad actors just try a whole lot of passwords until they find one that works.
-
More stories from the early days. Evaluating someone’s programming ability is hard, especially someone fresh out of college. A student’s grades is in no way indicative of how well he can program after all. So most nontrivial programming jobs have some sort of complicated application process involved. I remember going in and taking an exam. Most application processes will have some sort of written exam to filter out people who look good on paper, but can’t actually do anything.
-
“Do you know what’s there, waiting beyond that beach? Immortality! Take it! It’s yours!” – Achilles, Troy Each person has a different view of what their life’s purpose is, but I’ve found more often than not it relates to some form of immortality. Usually that means leaving something behind, some trace of yourself so that the world remembers you, something that says “I was here, I existed.” For many people that means offspring, for others it may mean some other legacy: children taught, people helped, ideas expounded, inventions created, companies founded, and so on
-
-
I once had to advise someone who found himself irritated at receiving lots of comments during code review. I think my response was good enough to quote verbatim: Remember: You are not your code. You are not the hundred or so lines of C or Java or JavaScript or whatever that you wrote today. This problem arises because you are too attached to your code. Your ego is associated with the code you write and you feel that any comments or defects found reflect upon you as a person.
-
Totally different yo (Click to view full-size) Totally different yo 31 May 2016 7:49amClose I am of course a long-time Magic the Gathering player. Over the past year or so I’ve also been playing Blizzard’s digital CCG Hearthstone (limiting myself to free to play since who has money to spend on two CCGs?) and I’ve been thinking about the design parallels and differences between the two.
-
A while back I answered a question over on Quora about how I got started down the path of programming. It’s not a particularly interesting story, but I still thought I’d record it here for posterity. Sometime when I was much younger, maybe somewhere between twelve to fourteen years old, I remember having some sort of QBasic programming learning book at home. I forget how we got it, I think my uncle brought it home for me sometime for some reason.
-
The Making of Karateka by Jordan Mechner My rating: 4 of 5 stars The book is literally a collection of journal entries detailing young Jordan Mechner’s days as a university student at Yale at the same time working on what would be his first published game. I found it both inspiring (though some might consider me the wrong age to be inspired by it) and amusing as a look into the life of a young man in the early 80s.
-
Relevant XKCD: Sometimes I have this inexplicable urge to argue with people. With recent events I’ve found myself getting into more discussions, debates and otherwise friendly arguments online. The quality of these interactions hasn’t always been the best, and many times I feel like I should have stopped engaging sooner or maybe not participated at all. I’ve considered some points to help me decide in the future whether to bother engaging other people online.
-
Mindfire: Big Ideas for Curious Minds by Scott Berkun My rating: 4 of 5 stars I’ve been following and reading Scott Berkun’s blog on and off for the past 5 years or so, so I already have a passing familiarity with this work. Mindfire collects some of the best essays from his blog into an easy-to-read format that you can digest in one-to-two sittings. Berkun writes about a number of diverse topics such as how to think critically and how to interact with other people and how to spend your attention.
-
"Everyone knows the third movie is always the worst" -- Jean still too much focus on Jennifer Lawrence/Mystique some great soundtrack choices Quicksilver scene maybe just a tiny bit too long. Tradition of defying the rules of physics continues (I hope someone does the math on how fast he was probably moving) nice 80s wardrobe lol not particularly faithful to the source material plot is all over the place, a lot of WTF moments here and there.
-
Or “How Did A Ceramic Pot End Up In Stellar Orbit”? (Click to view full-size) 18 May 2016 11:55pmClose Stellaris is a 4x space strategy game available on Steam. The game is created by Paradox, well-known for a number of other grand strategy games mostly with a historical basis such as Crusader Kings. I’ve owned Crusader Kings II for a while now but never got into it too deeply because (a) it’s just a bit too overwhelming; and (b) I find the combat way too obtruse.
-
“The price for being the best is always having to be the best”
-
We shouldn’t have to keep telling people that Ferdinand Marcos was a terrible president and that the Martial Law he imposed was terrible for the country. Imagine if a significant percentage of German citizens kept insisting that Hitler was a great man and the more sensible Germans had to keep trying to educate them on why that wasn’t true and why World War II was a terrible idea and that they wanted to elect Hitler’s descendant to a position of national prominence.
-
Cat’s Cradle by Kurt Vonnegut My rating: 5 of 5 stars Cat’s Cradle is only the second Vonnegut book I’ve read, after Slaughterhouse Five. I find myself fascinated with how he unveils his narrative in short, seemingly disconnected bursts, something much more obvious in this book. Like S5, CC’s plot starts close to normal ordinary fiction and ends in a completely different place that’s strictly in the realm of sci-fi. A great read, and very easy too given the structure of ridiculously short chapters View all my reviews
-
This has been one of the most divisive and shenanigan-filled election campaign seasons ever, and politics is normally crazy in this country so that’s saying something. There’s a strong use of social media this time around, and it’s led to the internet being a hotbed of opinions and propaganda and memes and lies and half-truths and threats of violence. I was hoping greater citizen involvement via social media and the debates would mean citizens have more information and thus would get to be more discerning, but it seems that things have only gotten worse.
-
Commentary thread for 3rd presidential debate (consolidated). [19:17] Dapat magtaas kamay na lang si Miriam at humingi ng enerhiya sa taong bayan para sa genki dama [19:35] Bakit pa ba umaattend ng debate etong si Binay? Ni hindi sinasagot ang tinatanong sa kanya #PiliPinasDebates2016 [19:44] Panalo, quinote si Batman! [20:19] Babawasan mga tax, pero andaming mga planong transportation at libreng healthcare [20:31] Looking forward to the pro roxas crowd posting about davao philheath beneficiaries at 8am tomorrow
-
The Catcher in the Rye by J.D. Salinger My rating: 2 of 5 stars This book was painful to read really. I might have received it better had I read it when I was younger, but reading it now, Holden just feels like this whiny entitled angry kid that has no idea what he’s doing or how the world works. The story doesn’t really go anywhere interesting; I understand that it’s not that kind of book, but what it is doesn’t really appeal to me too much.
-
[2021.04.08] This was originally a huge reddit thread where I had more than 100 comments, which resulted in so many posts to this site. I decided to merge most of the top level content into this large single post. Posted on r/Philippines: 2016 Senatorial Candidates Information Megathread Hello /r/Philippines! As we all know, the presidential and vice-presidential races are quite controversial and getting a lot of attention. This leads to the Senate race getting less attention and comparably less information is available about the senatorial candidates.
-
Surely You’re Joking, Mr. Feynman!: Adventures of a Curious Character by Richard P. Feynman My rating: 5 of 5 stars After reading this book, I’m quite envious of Feynman’s life haha. He’s lived a very interesting life and the stories are told with a general down-to-earth tone despite the fact that he often has to explain the math and theoretical physics which may be less accessible for laymen. For science-oriented people, this may be one of the best biographies to read View all my reviews
-
Commentary thread for the vice presidential debate today [18:55] Leni doing well. Calm, composed yet striking hard. Marcos following Binay strategy: deny deny deny #vpdebates [19:05] Apc asking opponents for a plan but when asked to elaborate on their plans: gagalingan lang namin [19:09] Omg this debate. So many savage burns [19:12] APC really hates BBM. Sya kasi ang kaagaw sa duterte supporters [19:15] So far APC, Trillianes, Leni doing well.
-
A Briefer History of Time by Stephen Hawking My rating: 5 of 5 stars I’ve restarted reading this book (and the original) a few times since I was still in school. In fact, when I opened my iBooks copy that I’ve left alone over the past few years, it was at around halfway through. I started over again and managed to finish it this time. Not sure why I had trouble finishing it before, it’s a fairly short book and the subject matter is interesting to anyone who has even a passing interest in science.
-
Perdido Street Station by China Miéville My rating: 3 of 5 stars Perdido Street Station is a difficult book to read, which is why it took me a lot of time to get through it (and this was my second attempt too! I had to restart because I did not even get very far the last time and did not retain anything). Not because the plot is convoluted or anything like that.
-
I’ve had a bit more free time recently, and I’ve been filling that time by starting up some hobbies (some old, some new). One of them has been sketching. I’ve been drawing things for as long as I remember – I have elementary and high school notebooks with more doodles and x-men drawings than there are notes. And even at work, I often find other meeting participants checking out the random sketches I had been absently doing while other people were speaking.
-
John Dies at the End by David Wong My rating: 3 of 5 stars 2016 book #12: John Dies at the End by David Wong. This book is all kinds of weird. It’s a bit like the author tried to think of as many weird things as he possible could then ties them together with an impossible plot that he doesn’t even fully resolved. It’s like the author was on crack while he was writing most of this (apt, since he’s apparently and editor at cracked.
-
The 4-Hour Workweek by Timothy Ferriss My rating: 3 of 5 stars 2016 Book #11: The Four Hour Work Week by Tim Ferris. Pros: - useful tips on reducing unnecessary work, remote working, automation, travel tips, etc Cons: - not for anyone who dislikes lying to people or some other form of “salesmanship" - not for anyone who doesn’t have an idea for something to sell that can be easily mass-manufactured and distributed to the potential buyers
-
Guns, Germs, and Steel: The Fates of Human Societies by Jared Diamond My rating: 3 of 5 stars 2016 Book #10: Guns, Germs and Steel by Jared Diamond. I actually started this a few years back, thought I’d actually get around to finish it. The book is an analysis of history, of what geographical advantages certain civilizations had that allowed them to triumph over others. He presents a lot of interesting topics covering linguistics, animal/plant domestication and food production that may explain these differences.
-
Harry Potter and the Deathly Hallows by J.K. Rowling My rating: 5 of 5 stars 2016 Book #9: Harry Potter and the Deathly Hallows. The book starts off with a lot of action before settling into a phase where the three protagonists wander around a lot and sleep in tents and finally into a big showdown at Hogwarts with virtually every character in the series showing up for one big brawl.
-
Harry Potter and the Half-Blood Prince by J.K. Rowling My rating: 5 of 5 stars 2016 Book #8: Harry Potter and the Half-Blood Prince. Someone had already spoiled me ahead of time about the death at the end of this book, although I hadn’t known when it would happen. But it started to become obvious as the book went on, so I wasn’t too surprised by the end. This book fleshes out the back story of the series’ villain Voldemort and finally tries to make Draco Malfoy do something of consequence.
-
Harry Potter and the Order of the Phoenix by J.K. Rowling My rating: 3 of 5 stars This is a long book, roughly three times as long as the first Harry Potter book was. That wouldn’t be so bad if it wasn’t so painful to read. Harry here is like a completely different character compared to the previous books, he’s irritable and whiny and keeps worrying about how other people aren’t treating him well.
-
Triumph of the Darksword by Margaret Weis My rating: 3 of 5 stars I read the first two books of this trilogy back in high school, and I recently decided to get a used copy from Amazon. I was pleasantly surprised that I was able to dive into the third book without having to re-read the first two, with a general recollection of the events from the first book still intact.
-
Harry Potter and the Prisoner of Azkaban by J.K. Rowling My rating: 5 of 5 stars The series started off a with rather straightforward stories that made obvious that JK Rowling was new to this business at the time, but Prisoner of Azkaban kicks off the world-building to a larger degree. Many elements of the world are expanded upon and added to and by now we get a better sense of the sort of wonders the world of Harry Potter represents.
-
(Originally posted on Facebook) Heaven knows we are in need of some serious income tax reform, and the government needs to work a lot on efficient utilization of the revenue they do earn, so of course when I first saw the image below like any middle-class Filipino I found it a bit enraging. But then I thought to myself: if Singapore has such low taxes, where does the government get their operating budget from?
-
Harry Potter and the Sorcerer’s Stone by J.K. Rowling My rating: 4 of 5 stars I had next to no Harry Potter knowledge before reading this book, save what I read in passing on the internets. Yup, I haven’t seen the movies either. Finished reading this in under 3 hours; I had been told ahead of time that it was a light read and that I can confirm. A welcome respite from the last book I read, this book has a straightforward plot, nothing too deep here, it’s very much meant for kids/young adults.
-
Words of Radiance by Brandon Sanderson My rating: 5 of 5 stars The first book I read for 2016 was Words of Radiance by Brandon Sanderson second book of the Stormlight Archive. It’s a huge book, and the first half took me more or less three weeks to slog through (I started it in late December), but by the time I got to the middle of the book, a lot of exciting things were happening and my pace improved considerably.