roytang.net Posts Photos Archives About

2016 November

  • 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? But what if the guy is just being an asshole who hates me and wants to discredit me? Whether or not

    read more (191 words)

  • 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. Then we'll have to use Library N

    read more (368 words)

  • 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. Put another way by another wise character in popular culture, from the film Men in Black: Kay: A person is

    read more (326 words)

  • "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. They sometimes disable the zoning depending on the loading among the elevator cars so simply removing the buttons for the unsupported floors isn't a viable

    read more (579 words)

  • 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. Hearing the bad news can be disheartening, and it comes at us even when there is work to be done

    read more (288 words)

  • 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. It turns out that some behavior had been hardcoded for a previous demo to a client and was never reverted and made it all the

    read more (278 words)

  • 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. And I guess to some extent humans need a bit of that wallowing time, but try not to linger there

    read more (151 words)

    Tue, Nov. 8, 2016, 9:30 a.m. / / blog / #opinions / Syndicated: tumblr twitter / 151 words
  • 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 Feedback loops happen whenever someone gets to review something of course. Prototyping with the client is

    read more (592 words)

  • 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. Once it senses the current temperature, it compares that with the target temperature

    read more (754 words)