Roy Tang

Programmer, engineer, scientist, critic, gamer, dreamer, and kid-at-heart.

Blog Notes Photos Links Archives About

Notes: Microblog-like status updates. You can subscribe to an RSS feed of this list.

Feb 2016

  • Someone on quora asked:

    How can one trust a professional without being misled? (read details)

    It’s not just professionals. Everytime you go out and interact with other people you are entertaining some sort of risk. There is always a chance that a stranger you meet is a psycopath who might mislead you or worse. There’s also the danger that when you walk down the street, a car might accidentally hit your or when you pass by a construction site you might die in a freak accident.

    You don’t think about all those other small everyday risks do you? For the same reason you shouldn’t worry too much about people screwing you over. You could live life in a bubble, hiding away from all risk of danger and being paranoid about other people and never trusting them, but that’s not really what I’d call life.

    I’m not saying you just let people screw you over. You have to be smart. Before you consult a professional check their reputation or ask friends who have been their clients before. When working with a professional for the first time ask questions to assuage your worries. But as you say, you won’t be able to verify their work on every level so at some point you have to be able to trust them not to be an evil psychopath.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Why do people interrupt programmers when they are in the zone? Is it for deliberately reducing the company’s productivity?

    The problem with programming work is that it’s not intuitively obvious to non-programmers when you’re in the zone and actually working hard instead of just randomly tapping away at the keyboard. It looks the same whether you’re talking with someone over IM or actually rearranging some complicated piece of code.

    I don’t think many people deliberately try to reduce productivity, more of they don’t understand how programming works.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I quickly become more intellegent?

    First, might be a good idea to know how to spell.

    Second, “intelligence” isn’t going to come quickly. You will need practice, and an attitude that’s biased towards learning and critical thinking

    If you want to develop and improve your intelligence, here are some things to try:

    • Read more. Both fiction and nonfiction. For nonfiction, try to read a lot of different topics: finance, history, current events, etc.
    • Be well-informed, be aware of current events
    • Practice problem solving. It can be math problems (take out your high school algebra or trig book and see if you can still do the problems) or some sort of puzzles (crosswords, sudoku, etc). Try to solve problems of the appropriate difficulty - if it’s too easy for you, try to look for a bit more difficult problems
    • Practice critical thinking. This isn’t a straightforward skill to learn, and many people graduate from school without learning it. One way to practice this, especially if it’s an election year for you: study public statements made by politicians and ask yourself: are they telling the truth? What aren’t they saying? What kind of parties might be influencing their statements?
    • Hang out with people who have an intelligent mindset. Engage them in debates or conversations. Doesn’t have to be deep topics like the benefits of parliamentary vs presidential systems, it can be some trivial stuff like “which star wars movie is best"
    • Are you in school/college? Does your school have a debate team? See if you can join
    • Expand your horizons: Try new things.
    • Spend less time watching TV. Or maybe try to insert some documentaries in your TV watching.
    • Try to educate others. Learn to explain things to other people.
    • Be reflective: At the end of the day, think about what things you’ve learned during the day

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    When, why and where servlets, jsp, jstl, el come into picture?

    What exactly are you asking?

    Servlets are used for request processing.

    JSP is a template language for generating web pages (they can be used to generate any kind of HTTP response)

    JSTL is a standard tag library available for use inside JSP. EL is an expression language also used inside JSP.

    If you need a primer on this stuff, I’ve found the Head First Servlets and JSP book to be reasonably good.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Are programmers who developing OS or any software writing more lines in the source code that are not necessary in order to work longer time?

    If you need to fill up extra time, there are far better things to do than make up fake lines of code. The only reason I could think to do so would be if your company evaluates you based on LOC output. And if your company does that, you might want to consider leaving since it’s ridiculous.

    If you have extra time at work and need to fill it, the most productive things to do would be either to write unit tests or refactor some of the wonky parts

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Is being able to sell, one of the most useful skills in life? What other very useful skills are there besides selling?

    Selling is really just a form of communication, and it doesn’t apply only to selling products and services to other people for money. You’re selling whenever you’re applying for a job, or suggesting a place to eat, or trying to woo a girl.

    Engineers such as myself sometimes look upon selling and salesmanship with disdain - when I build/develop a good product, shouldn’t people just want to buy it because it’s good? Why do I have to spend effort to convince people to buy it?

    But the fact is there are far too many things in life competing for your limited resources - money, attention, and time, so you have to be able to decide which ones to pursue and which ones to set aside. And when making these evaluations, the options that sell themselves more or present themselves better will come out on top. So yes, the ability to sell is really quite a useful skill in life.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How does a senior developer deal with a poorly organized startup?

    Startups tend to have smaller dev teams, so as a senior developer in a start-up, you have a unique opportunity to influence the startup’s development culture and determine what kind of company it will be. I would suggest sitting down with whoever is your superior - maybe that’s the CEO or the CTO - and telling them your concerns and why improving the quality of the codebase should be a priority. You don’t have to convince them to do a full-scale refactoring or something like that. If you find it difficult to sell the idea because it would cost too much effort, feel free to suggest smaller-scale incremental changes to at least make sure new code is written up to better standards.

    Finally, your talk with the higher-ups should give you a good idea of what their priorities are for the startup and whether they value the same things you do. And if your values don’t align, it’s a good sign that you should consider looking for other opportunities

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I overcome this mental block of “not knowing what to do” as a self-employed worker?

    By “capable of so much more” do you mean you want to be able to grow your business to earn more? Or do you want to be more involved in your business?

    I would suggest setting up goals. Even small goals is fine, the more precise the better, i.e. instead of “earn 10% more this month” it’s better to have it be “land 1 additional client this month” or “sell 10 more units this week”. Keep a journal of what works and what doesn’t towards your goals. Then iterate over those goals and slowly increase the scope.

    Posted by under notes at #answers
    Also on: quora / 0
  • My reactions to the first #PiliPinasDebates2016:

    As expected, nothing too difficult was discussed, and we got mostly motherhood statements from the candidates.

    Format was a bit strange, what is the format for debates in other countries? Shouldn’t all candidates be allowed to respond to each question?

    Not enough time to give meaty answers really, and did we really need so many ads?

    Poe well-prepared, ready with answers and statistics, not much implementation details though

    Duterte having trouble articulating himself sometimes, keeps harping on fixing everything within 3-6 months, without elaborating how. IDK much about Davao, but my impression is he didn’t do that in 3-6 months. But I am happy that his “killing criminals” rhetoric now includes the rider that it must be within the scope of the law

    Binay’s preparation for this debate seems to have been to keep telling himself “I’m a decisive leader!!! I’m a decisive leader!!! I’m a decisive leader!!!”

    Miriam no longer has the fire she used to have, stumbled a few times. She could have a much stronger rebuttal as to why we the constitution has that ban on political dynasties if only her VP candidate’s family wasn’t the reason we needed to put that there!

    Duterte agreeing with people and insisting that implementation is the problem - upvotes. But none of the candidates detailed implementation plans.

    Discussion on policies and issues generally one-sided - everyone agrees with the stuff that has to be done, but no one really talks about details of how, etc. Reflection of the fact that we don’t really have parties with differing ideologies (aside from Duterte’s federalism. Oh and Binay’s insistence that political dynasties are cool LOL)

    Aside from Binay getting shot down a few times, nothing too fiery/exciting happened. Candidates didn’t really do rebuttals so much as elaborate on their own plans

    Roxas’ closing statement is a much better approach than all his political ads and strategies so far

    I know all too well that you can’t really form an accurate assessment of a person from one interview so I don’t really expect that the candidates will have room to espouse all the details of their platforms, but I hope the succeeding debates can at least give more challenging questions and a bit more time for the candidates to elaborate.

    I missed round 1 (rewatched the archive), but on my way home I noticed the security guards in our subdivision listening to the debate on the radio. Say what you will about the debate’s format and lack of challenging questions, but the fact that we are having any sort of discussion at all that manages to capture the public’s attention is already an improvement. Hopefully the organizers of the next two debates manage to learn something and try to improve on the first one

  • Someone on quora asked:

    Is working on a startup IT company better than an established one here in the philippines?

    It’s more risk (i.e. the company might go under). You might have to do a lot of admin work yourself (managing your SSS, Philhealth, taxes, etc).

    Established companies will tend to have better benefits (HMO, vacation days, etc) too.

    On the upside, working for a startup generally means a looser culture, and a smaller company means you have greater influence over the culture there. Established companies will already have a lot of policies and rules in place.

    In general, the difference between startups and big companies is the same in the Philippines as it is elsewhere, but startups here seem to be focused more on bespoke work for other companies, as opposed to the startup scene in silicon valley which is focused on products and apps.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can you tell how good a programmer is?

    Speaking as someone who’s had to evaluate the performance of developers in a project team of around 20-30: it’s not easy.

    If you want to evaluate programmers for recruitment purposes it’s particularly difficult. It’s hard to make an assessment from a couple of 30-minute interviews and code written for a toy problem. It’s best to observe them in an actual work environment, see how they interact with their peers, see how they react to crisis.

    If you’re evaluating a resume, you’ll want to look for signs of people who are passionate about programming - this might mean programming done outside of work/as a hobby (for example, open source projects, attending seminars, local programming group membership, etc). During an interview, ask them about best practices, refactoring, that kind of thing.

    Posted by under notes at #answers
    Also on: quora / 0
  • #PiliPinasDebates2016 Tomorrow will be the first Presidential debate. If I were hosting the debate, here are some of the questions I would want each candidate to address:

    1. if you weren’t running, who would you vote/support for president?
    2. how can we educate voters to make better decisions so that candidates are elected based on merit and not merely on name recall or popularity?
    3. how can we reform campaign finance, so that it becomes transparent and candidates are not beholden to campaign donors?
    4. how can we improve the slow pace of justice in the philippines?
    5. do you think there is currently too much power in the executive? what improvements can we make to have the legislature and the judiciary be more independent?
    6. how can we make it easier and more attractive to start small/medium enterprises?
    7. how can we minimize red tape in government transactions and make government agencies more efficient?
    8. how can we make it more difficult for government employees from extorting citizens or otherwise abusing their authority? how can we make it easier to catch those who do?
    9. what safeguards can we place in the procurement process to avoid getting bad deals for the government?
    10. what are your plans to use ICT to improve government services and transparency?
    11. what are your plans for reducing the high cost of electricity in the country?
    12. do you think the people are getting what they deserve for the taxes they pay? what are your plans for reducing the tax burden on our people?
    13. What plans do you have for improving our education system to increase literacy rates, reduce drop out rates and in general improve the quality of our schools?
    14. (Edit:) How can we get rid of the culture of patronage politics, or people expecting politicians to give them favors in exchange for support?
    15. What are your plans for making sure the economic growth experienced by the country improves the lives of more people?

    I suspect none of the above topics will be discussed tomorrow though. And if ever, most will reply with generic/motherhood statements. But maybe I’ll be pleasantly surprised.

  • Someone on quora asked:

    What are the most common life mistakes young people make?

    1. Loving too hard and too quickly

    2. Believing they are invincible

    3. Not learning to manage finances or debt

    4. Getting too attached to their ideas

    5. Believing they can control every situation

    6. Believing life is fair

    7. Not recognizing the wisdom of elders

    8. Not taking care of their teeth

    9. Limiting their social circle

    10. Not seeing more of the world

    11. Accepting everything without question

    12. Committing to a path before they are sure it’s right for them

    OK, I guess these are mistakes older people make too :)

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    [Tricks] How do you step out of the comfort zone?

    There are no tricks, there is only practice.

    Put yourself out there, even if only a little bit at a time. Do you have anxiety with public speaking? Try telling a short personal story to the cashier at the grocery or to your taxi driver. Do you want to be challenged at work? Ask for a little additional responsibility, or maybe commit to delivering your work a bit earlier than expected.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How do professional programmers deal with ignorant/unskilled colleagues, who don’t care about improving?

    In my opinion, you shouldn’t force them to improve if they don’t want to. For some people, programming is just a job: they come in, they do what they’re told to do, and go home. They don’t want to think about process involvement or anything like that. And that’s fine, if that’s the life they want.

    This applies to companies too: there will be companies that just want to get their projects done and out the door, and don’t want to think about process improvements, etc.

    My suggestion to you, if you are interested in that kind of thing, is to start looking around for companies more to your liking. It’s not really about talented/experienced programmers and more of about the company culture - although that will be driven largely by the senior programmers in the company. I would also prioritize working in companies that are primarily programming shops, instead of say, a programming department in a bank or some other type of business. Programming shops will be more focused on the dev process as one of their priorities.

    Or if you like your job and don’t want to leave, you can also try to persist. Don’t be obnoxious, but every so often when some problem is encountered you can say “we could have avoided this if we have done X” or something like that. Get to know the senior software developers on your team and try to discuss programming practices with them. If you stick around, eventually you will become the senior software developer and will have more influence on the culture.

    Good luck!

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Do you have to leave your friends behind if you want to achieve greatness?

    Not necessarily. But if they are preventing you from achieving your goals you should consider whether the goals are more important than your friends. You can also consider trying to get them interested in the things you do differently than them.

    Friendships are great, especially when they are a positive influence. But there are also friends who are toxic, negative people who can drag you down. You can try to change them or help them improve, but past a certain point you have to seriously consider just letting them go. It feels bad to give up on a friend, but ultimately you have to prioritize your own life goals.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I perform poorly on boring tasks at my software engineering job. Should I feel guilty?

    A lot of software developers deal with legacy code and horribly-designed systems, it’s hard to avoid. But the great thing with being a software developer is that we have a lot of avenues to apply creativity to boring tasks. Try to automate the boring parts, then you can get more work done. Or maybe build a tool to help map the horribly-designed system to make it easier to manage.

    If your job doesn’t allow you to do these sort of things, well I’d start looking for another job ;p

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I change my attitude towards exercise?

    First of all, stop letting other people’s opinions affect you so much. If your family questions you working out at home, explain it to them. If there are people making fun of you at the gym, ignore them, they are not relevant to you. You should be exercising for yourself, not for other people.

    There are exercises you can do on your own, outside of the gym. Running is a good start.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    How can I become less bored with life?

    Some things to try:

    1. Spend more time with your family, go out on trips or just hang out with them all day

    2. Find a hobby. What is something you always wanted to try?

    3. Start looking for a new job. Maybe finding a job will be hard for you, but simply looking around might expose you to opportunities you would never otherwise find

    4. Start an exercise program. I recommend running

    5. Meditate

    6. Find out what your friends do for fun and ask to be involved / more involved

    7. Don’t have friends? Find more friends :D

    8. Explore your neighborhood

    9. Start a side business to keep you occuped

    10. Chat up strangers everywhere you go

    11. Have an affair (just kidding, don’t do this)

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    What jobs can one get as a very junior, self-taught programmer?

    Since you don’t have the degree, try getting some experience first. Modern programmers have a lot of opportunity these days to earn experience without going through the traditional gatekeepers of HR and college degrees. Try working freelance (there are some websites that facilitate this, such as odesk or elance) or ask your friends if they have any small websites they need made. You can also try contributing to open-source projects, or create your own software project/tool that you can release online either for free or try to sell. You can try to develop an iOS or Android app too.

    Once you have a reasonable amount of experience, say you have an app or software with moderate following, or are a recognized contributor to an open source project, there will be companies willing to look past the lack of degree. The best software companies will know better than to be strict about the requirement for a relevant degree (I should know, my degree is in Electronics and Communications Engineering yet I’ve always worked as a software developer)

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Motivation: What is one thing that I can do every day that can change my life?

    Almost any new habit that you manage to pick up and do on a daily basis will change your life in one way or another. I assume you’re looking for positive changes so I wouldn’t recommend say, smoking

    Some ideas of things you can do on a daily basis:

    1. Learn something new, or improve on something you already know

    2. Challenge yourself

    3. Step outside your comfort zone

    4. Reach out to a friend you haven’t talked to in a while and try to reconnect

    5. Reach out to a stranger you find interesting and see if you can connect (it might be someone famous even, it’s ok if she fails to respond!)

    6. Read a book in your area of interest

    7. Some form of exercise, even if it’s light

    8. Meditate

    9. Get a proper amount of sleep and drink eight glasses of water

    10. Look for a way to help someone else

    Good luck!

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Software Engineers: How often do you code on the job?

    The hours you work in a week will vary wildly depending on where you work. But it is true that there are many companies where working extra hours is the norm.

    When you are starting out, most of your time will be spent coding; some will be spent reading specifications or requirements to figure out what you will be coding, and also clarifying the requirements to make sure your understanding is correct. A good amount of your time will be spent debugging (do you count that as coding).

    As you become more involved or more senior, you may start having to pick up more responsibilities that extend past simply coding. Examples would be code reviews, trying out tools or libraries for use by the team (though this involves coding as well), mentoring or teaching of junior developers (will involve coding as well), consultation with business analysts about technical requirements and feasibility, etc

    Posted by under notes at #answers
    Also on: quora / 0
  • A couple of TV shows have been added to @Netflix Philippines, but more importantly, Rurouni Kenshin now includes the entire Shishio arc

    Posted by under notes at
    Also on: twitter / 0
  • Someone on quora asked:

    Is it too late for me to be a software engineer?

    It’s never too late to become who you want to be. Also, you are still pretty young.

    It might be a bit difficult to get work starting out if you follow traditional channels  (many HR departments look for the degree), but the great thing about this industry is that there are a lot of ways to get software development work without going through HR hoops. You can work freelance/online easily and there are a number of websites that can help you do this. The industry is one that is more meritocratic than most; as long as you do good work, you will be able to find more work.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I am not a detail-oriented person but I like how software development can change people’s lives, would I enjoy coding?

    Coding is very much a detail-oriented task. The syntax of most programming languages makes that obvious - forget a semicolon somewhere and your entire program may fall apart. Even non-coding roles in a software development team such as business analysts require some degree of attention to detail as otherwise they would be doing substandard work.

    However, your question is whether you would enjoy coding. It is possible you may enjoy coding even though your attention to detail is low. If you love things such as problem-solving or learning how things work, there’s a good chance. The only way to be sure is to try it!

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    I am a software developer, working on dot net. I am fresher and 24 years old. I remain very nervous during work and during talking to my leads. How can I be more confident and bold?

    First of all, do good work. If you do good work and are aware of it, it’s easier to be confident when talking to other people.

    Sometimes, confidence can only come with time and experience.

    Since you are new, you may not be sure about certain things, whether you are doing them the right way or not. Don’t be afraid to clarify things you are uncertain about, it is a good quality of software developers to try to flesh out details. “Is this how the output is expected to look like?”, etc

    Don’t worry too much about making mistakes - everyone makes mistakes at some point. But be sure to show a willingness to learn where you made mistakes and how to avoid it in the future.

    Posted by under notes at #answers
    Also on: quora / 0
  • Someone on quora asked:

    Being a minor, what can I learn to help me become economically independent?

    It’s hard to answer unless you have specific goals, but here are some tips:

    1. Learn to save. Some say 10 or maybe 20% of your income, but I’d say “as much as you can”

    2. Understand how credit card debt works and how to avoid it

    3. Get a job, if you are legally allowed to. Even part-time is fine. Online freelancing could be great too

    4. Learn to control impulse purchases. Take some time before buying something big.

    Posted by under notes at #answers
    Also on: quora / 0