Roy Tang

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

Blog Notes Photos Links Archives About

All entries tagged answers.

You can subscribe to an RSS feed of this list.

Jun 2016

  • Someone on quora asked:

    If you lost everything and had to start over from scratch, how would you do it?

    Even if I lost everything today, I’d still have my own confidence and skill sets to fall back on. So I’d probably still be able to find a job, maybe even freelance or something. If I need housing, I’d probably look for a friend to put me up temporarily while I look for a place. I’m very low maintenance so I can survive on a small amount of resources until I can save up

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

    Can I create a moderately simple back-end for the application / web site without knowing programming?

    It depends on what you mean by “moderately simple” and “without knowing programming”. If you only need to be build a simple CRUD website with no special logic of any sort, some frameworks such as RoR or Django have code generators that can automate all of that for you, but you have to provide the data structure first, which you’ll need to write in code, so it involves a “little” programming. If even that is too much for you, you can build some simple forms using online tools similar to Google Forms to capture input from users.

    Anything more complicated than simple forms to capture data will probably require programming

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

    Why don’t computer programs determine whether a potential criminal is guilty or not?

    Seriously? Determination of guilt or innocence isn’t a purely computational matter. There are no algorithms that can compute guilt. Adding to the complication are varying intricacies of law in different jurisdictions. If humans don’t know how to get it right, then we can’t program computers to do so either.

    Arguably, we could build programs that learn to make such judgments, but in order for such programs to work we would need more data to train them. A lot of data, given the impossibly large number of possible ways that a crime can be committed. Way, way more data than we have criminal cases worldwide. We are probably two or three generations away from such a thing being even conceivably possible.

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

    I can’t seem to focus and remain passionate and stick to a single career or field.How do I find my passion in terms of work and live a happy life?

    Despite what many might say, people can change. That is, people’s interests and passions can change. It’s not right or wrong, it’s just being human. The key is to keep living your life proactively. If you feel like the passion in your work is waning, think of what used to excite you about it and see if you can recapture that excitement. Or try to identify whether the problem is with the work you’re doing or the company you’re working for. Perhaps working for a different company or in a different environment might reingite the spark. Explore your options.

    At the same time, explore your options in other areas as well. It’s good that you tried taking courses about something, but if you find it doesn’t hold your interest very well, don’t be afraid to try other things. Be open to new opportunities or new areas to expand your character or your interests.

    Living life is pretty much a game of exploration. You try things out and see if they make you happy, then you keep doing those that make you happy until they don’t. Then either you try to make it better or you search for other things to make you happy.

    Good luck!

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

    Have you ever made something that you ultimately regret making? Why?

    I thought about answering this with some of the products I helped develop in the past, but as I was writing it I realized that “regret” was the wrong word to choose. There were a lot of mistakes made during design and implementation that ultimately led to the failure of those products, and I suppose the company might regret spending time and effort and money on those products, but for me personally I learned a lot from them, especially on what kind of mistakes to avoid in the future

    I think the only way I could say I regret making a product would be if it were something that ultimately turned out to be harmful to other people, i.e. something that might have caused injury or harm

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

    What part of software development makes people leave the profession?

    Most common is burnout due to inordinate amounts of stress. It’s usually the schedule pressure + some form of bad management.

    Some things that can stress software developers out:

    • poor team dynamics
    • having to work too many hours
    • crisis-driven development
    • having to do substandard/low-quality work
    • incompetent managers not listening to developers or not respecting estimates
    • having to deal with constantly changing client requirements

    All of the above are part and parcel of “enterprisey” software development though, but combined with intensive schedule pressure it can make developers question the industry altogether

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

    How do I identify a good programmer? Do I start learning how to code so it is easily identifiable?

    Learning to code is not strictly necessary. It would be sufficient to simply have an understanding of how programs execute step-by-step instructions and algorithms. If you’re interviewing programmers, you can simply give them a moderately complex problem and ask them to verbally walk through / explain to you how they would approach the problem (you yourself would need to understand how the problem is typically solved). Sorting algorithms for example, can easily be explained with a few whiteboard diagrams instead of writing code

    The larger problem is that it is never easy to identify a good programmer. Even for people who do know how to code! The best way to identify a good programmer is actually to work with them on a project, but of course that option is unlikely during an interview. In general look for high-level skills: ability to step through the solution to a problem (and explain it well), ability to spot possible problems in a given solution (you might try describing a problem you encountered in a previous project and ask how he would address it), ability to work well with others, etc

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

    How can I become more pragmatic?

    Practice doing without thinking. Be spontaneous

    It can be small, low-risk things. Say hi to strangers. Impulse buy a chocolate bar. Take a different route to work. Eat at unfamiliar restaurants. Buy a book in a genre you don’t usually like. Skip work one afternoon to see a movie. Etc

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

    What’s the best way to document coding projects so non-technical people can make sense of them?

    It depends on what the purpose of the documentation for the non-technical people is

    If you’re trying to convince them to try/buy your software, that’s marketing and copywriting, and you have to focus on feature sets and how it will be used by the end user

    If it’s for users, to give instructions on how to use the software, typically developers will include some sort of user manual detailing the way to execute various tasks within the application

    Regardless of the purpose, documentation written for nontechnical people will tend to focus on use cases and how the software satisfies requirements

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

    How can I relate more to my peers?

    Show an interest in what they’re into. Say you’re not too familiar and ask for details. People who like things like it when other people ask about those things.

    Please note though that it’s perfectly fine to have different interests from other people. People don’t have to like the same things. It doesn’t mean you can’t hang out with them or anything unless you really want to

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

    I want to create my own apps for computers & mobile phones. Which programming language is good for this case?

    For native mobile applications, there is little choice.

    Applications running on iOS must be written in either Objective-C or Swift.

    Applications running on Android must be written in Java.

    That being said, there are frameworks that allow you to write an application in a common language and export the output to be compatible for either Android or iOS. Unity is an example of such a framework, although it’s focused on games

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

    Is life boring for highly efficient people?

    Probably not more than inefficient people.

    The whole point of being efficient is to be spending less time doing things you don’t like so that you have more time to spend on things you don’t like (which presumably you don’t find boring). So it’s more likely that efficient people are less bored than inefficient ones

    Additionally, efficient people will usually find the act of optimizing to become more efficient in and of itself to be an endeavor worth their time, so that part is not boring either

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

    If we were to come in contact with intelligent life, and were able to exchange messages, how would we understand each other?

    This is something that often comes up in science fiction.

    Think about the scenario where you are stranded in a foreign country where nobody speaks your language. How would you communicate with the locals? You would look for common signals or signs that they would interpret the same way. For example, if you were thirsty, you would mime drinking from a glass and hope that they get the message. If they don’t understand you would need to try different signs or words and hope that they recognize one of them

    Any contact with extraterrestrial intelligence would likely proceed the same way. We have no guarantee of what medium of communication they would use (it is possible they do not use visuals or sounds, but instead through some sort of E-M radiation), so we would have to try all sorts of things to see what they would recognize. Obviously we can’t send out signals in English or such as this would be meaningless to them. One possibility is to use a universally recognizable language - mathematics. We can transmit recognizable mathematical patterns or sequences to establish that we are an intelligent species capable of communication. If we are lucky enough that the alien species can understand visual signals we can show them images to try to explain what we mean, then use a secondary medium such as sound to try to establish our language.

    In effect we would have to spend effort to learn how to communicate with each other, largely through trial and error until a reasonable approach can be found. It’s not too different from the usual scientific method approach

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

    If you are someone who hire programmers, what is more important for you: the personality of a candidate or the technology stack he is familiar with?

    The technology stack certainly isn’t very relevant unless you are hiring for a position where you cannot avoid the additional spin-up time of someone having to pick up your technology stack. For very good developers, the spin-up time will be very low, on the order of 1–2 days or maybe a matter of hours, so it’s unlikely that the technology stack is super relevant.

    The two things to look out for are personality (whether the person can work well with your culture or with a team; whether he can communicate well; whether he can be trusted to work independently with minimal guidance; etc) and general technical skill (how easy it is for him to pick up new technologies, assess technical options, etc.). Both of these can be difficult to interview for though

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

    How come some intelligent people don’t take much action towards their goals?

    (a) Knowing what is the right thing to do

    (b) Getting the right thing done

    The above two are two very different things. A person can be good at one but not the other. Being an intelligent person isn’t particularly relevant to (b), although it can be relevant to (a). (b) is more determined by drive, determination, motivation, etc. than intelligence

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

    Would venture capitalists invest money in a 16 boy that can code?

    Thousands, maybe millions, of people know how to code. Anyone can have a killer idea. I literally had two of them right before going to bed last night.

    Therefore, there is a nontrivial number of people who both know how to code and have at least one killer idea. Many of them will be way be more experienced than a 16-year old kid and will have a better idea of how the world works and will have better reputations and will be more likely to have contacts who can hook them up to VCs.

    If you are a 16-year old kid who knows how to code and has a killer idea, the best way to attract a VC’s attention is: implement your idea already. Start to finish, top to bottom. Prototype, iterate, then release it. Gather users, build a following. Be so big you become impossible to ignore.

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

    As a teacher, how do you grade an hand-written programming exam?

    As a computer science teacher, you really shouldn’t give this kind of an exam. It’s in no way reflective of how code is written in the real world

    If you must have an exam of this sort, you should focus on making sure the algorithm used in the code is conceptually correct, and disregard any problems in syntax that may fail a compiler. In fact, it’s probably better to have the students submit their answers in some sort of pseudocode or other informal format instead of actual program code, so they know not to focus on syntax

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

    Why do I feel guilty for having a good life?

    There is no need to feel guilty about your background, that’s not really something under your control or something you can change.

    Being close-minded however, you can do something about that. While you may never fully understand their situation, that shouldn’t stop you from being able to empathize with them. Spend some time with people worse off than you, treat them to a meal every so often, listen to their stories, see what you can do for them.

    There is great inequality in this world. It’s something we may never be able to eradicate. But that shouldn’t stop us from trying, from reaching out to one another and trying to connect, even with those who live different lives than us

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

    How do I improve my computer knowledge as a programmer?

    First, it isn’t necessary for you as a programmer to know these things

    Second, do you have a computer of your own? I’ve had and maintained my own computer for almost two decades now, so most of my knowledge of how computers work comes with that experience. I’ve encountered a lot of problems and researched how to fix each one so I have a good idea of how computers work and what fixes are available to common problems. Having your own computer for personal use (not just the one at work) will help a lot. Desktops are better than laptops, since they are more easily customisable

    Third, if you don’t already have a computer, build one yourself. Or even if you already have one, either build a second one for yourself and help a friend build one. And by “build” I don’t mean buying one fully assembled already; I mean buying each part individually and putting it together yourself. That means researching what parts are needed and what will serve your needs best and what will be compatible and canvassing for the best prices and finally sitting down and opening all the boxes and putting it all together. I’ve put together five different desktop builds over the past twenty years myself

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

    What is the best book to learn enterprise application development?

    The best way to learn is to actually participate in an enterprise application project. You won’t get everything you need from a book, particularly things on how to work well and communicate well with a team. That being said, I would suggest reading the following books:

    • Design Patterns: Elements of Reusable Object-Oriented Software by The Gang of Four
    • Refactoring by Martin Fowler
    • The Pragmatic Programmer by Andy Hunt and David Thomas
    • Peopleware - Productive Projects and Teams by Lister and DeMarco
    • Rapid Development by Steve McConnell

    That should give you a relatively good/balanced foundation to build on

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

    What was the first video game to have a real story?

    I suppose it depends on what you mean by “real story” and where you want to draw that line

    I mean, a plumber’s girlfriend is kidnapped by a giant ape and he has to climb some ladders to get to her, that’s a story. Donkey Kong (1981). It’s not particularly long or complicated, but it’s a story

    The first game in the Ultima series (1981), told a more complex story involving an evil sorcerer, a powerful artifact and a time travel twist

    Super Mario Bros (1985): Later they extended that concept to create an entire fantasy kingdom with a lineup of bad guys and castles, it was still a story then

    The Legend of Zelda (1986): How about a young boy who is given a sword by a mysterious old man and he has to wander lands filled with dangerous monsters cryptic npcs and recover powerful artifacts from deep dungeons?

    Dragon Quest (1986) and Final Fantasy (1987) introduced the epic fantasy tradition to consoles

    Maniac Mansion (1987) kicked off a whole new genre of adventure that focused entirely on story and puzzle-solving

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

    Why doesn’t the entire world just use ONE language?

    It would be a large and costly endeavor. Think about the cost involved to rewrite things like official documentation, street signs, that sort of thing. For many people it would also involve a lot of effort for very little gain. Older people especially wouldn’t take too well to having to learn a new language. People who don’t really need to communicate with people outside their local sphere of influence won’t have a great need of it.

    Sure, it would be good, but it’s largely unnecessary. Right now the people who need to communicate with foreigners on a regular basis already use English as a lingua franca for their business. The other big affected market would be tourists, and some even enjoy the idea of going to a place where people speak a different language.

    Lastly, take a look at current events around the world. We can’t even get people to agree on how to treat other people, how to end conflicts, which religion to follow, etc. We are a ways off from being modern enough as a species to be able to unify around a single language!

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

    Why are some people scared of programming?

    It’s a bit like how some people are scared of math. It’s hard and it looks arcane and exact and unforgiving and if you don’t understand it too well it’s easy to get lost and have no idea what’s going on.

    Sometimes it’s just a matter of presentation though. Maybe those people were first exposed to programming in a difficult way, focusing more on syntax and other arcane things instead of programming as a way of thinking and stepping through problems. Math has this same problem too!

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

    What do web developers mean when they say back-end?

    The difference between front-end and back-end is on which side executes the relevant code. HTML, JS and CSS are all interpreted, rendered, and in the case of JS, executed by the client browser. These parts are the front-end. The code for those parts is basically meaningless to the server. The server program looks at these parts and only sees simple text and just sends it through to the browser (or whatever client program made the request)

    For example in a *.php file, anything outside the <?php ?> brackets is not interpreted by the PHP runtime, they are just returned to the browser as-is. The server does not “load the HTML for the user”, it simply returns the HTML code to the browser and the browser loads that HTML and displays the rendered HTML.

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

    I do work as Android developer and most of the time I use a lot of code from the stackoverflow or open source Apis is it normal for a dev to do so?

    As long as you understand what the code you’re copying is doing and how it applies to your needs there should be no issue. This is something perfectly normal and most devs will do it. The internet is pretty much one of the most important tools for the modern-day developer

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

    I am 28 and feeling very stuck in my job. I would love to start something of my own, but how do I do this?

    Well, first you have to have a better of idea of what the “something” you want to do is. It doesn’t have to be super detailed or anything, just a direction you want to go. Then list down whatever small steps you need to do to take you down that road. You don’t need to figure out a complete roadmap, just something to get you started. And if you can’t figure out what steps there are, then that’s one of your first steps. After that, it’s like walking - you simply take one step after the next.

    I don’t know what it is you plan or want to do, but here are some general ideas for next steps:

    • look for a mentor. Look for people who have walked the path you have chosen or are already experts in the chosen field. Contact them and ask for advice. There’s a good chance they will decline, but some or a few may have a few small pieces of advice as to how you can start
    • talk to your family and your friends about what you want to do. Even if they don’t have direct knowledge of the area, they may be able to suggest ways for you to move forward or have contacts that can give you advise
    • read! Try to spend each day learning a bit more about what path you want to take and what you would need to get there
    • if you’re planning to start your own business, try to find out what are the specific legal requirements in your area to be able to do so. The admin staff at your office may be able to help you with this

    Good luck!

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

    Did the events of Civil War II #1 take place before or after the events of Captain America Steve Rogers #1?

    I suspect that in the long run this will be one of those things that doesn’t matter and it will turn out that either before or after works. I would guess that Nick Spencer is writing his first story arc independently of Civil War II. Besides, the focus of CWII is on Tony Stark and Carol Danvers, apparently Steve Rogers doesn’t have that big a role

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

    How would you improve as a competitive player: by playing vs people of the same skill level or by playing vs people of a higher skill level?

    Playing against better people forces you to improve faster. But at the same time, if there is too large a gap in skill level, you may not be learning too much because what they’re doing may be too far above your skill level. Losing too much due to the skill gap will also increase frustration which will dampen your learning as well

    There is a sweet spot where you are playing against people who are slightly better than you such that you still have a small chance of winning and at the same time you are still able to effectively learn and sharpen your skills.

    Playing against others of the same skill level can also still help - but instead of learning new skills or techniques, the practice will help develop and reinforce the basics of your execution.

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

    How do I get over the feeling that I’m not good enough at any job?

    There is a phenomenon among competent individuals known as Impostor syndrome - it basically means that even though you are doing well, you feel like you are not really that good and maybe you’re just lucky and that sooner or later someone will figure it out

    The easiest way to rid yourself of this mentality is to seek out honest feedback from your peers. Ask them if you’re doing well! Ask them what you need to improve! Be willing to accept and learn from criticism, because when people know that about you they will be more likely to give you honest feedback

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

May 2016

  • Someone on quora asked:

    Is there a good web tutorial that teaches you how to make a complex inventory management system?

    No. Web tutorials will only teach you the basics. Most probably you just need to learn how to implement form-based screens that do simple CRUD (Create, Read, Update, Delete) operations. Your “complex inventory management system” can be built upon those basics, and most probably will have specific requirements that web tutorials can’t cover. You’ll need to learn how to do the parts of it individually and put it all together.

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

    I often refuse doing things cause I am scared of the money. We aren’t poor. He tells me this makes him feel a low priority. Is this justified?

    Well, the first thing to ask yourself is: do you like hanging out with him? If not, the way forward should be clear.

    The second thing to ask yourself is: why are you so scared of spending money? This can happen if you grew up in a poorer family and are used to scrimping and saving, or it may simply be that your level of saving is justified and it’s your partner that has a problem because he is spending too much.

    The third thing is: since you prefer staying at home you are likely an introvert. If you want to be with your partner, you should also learn how to care for an introvert. At the same time, you can ask him to be more considerate of your needs as an introvert.

    Sit down with your partner and talk through these issues with him. One thing I can suggest is if the two of you decide together to allocate a budget, say a monthly budget, for “going out” activities, at a level you’re comfortable with so you don’t spend too much money. Discuss also the difference in the activities you prefer. Maybe you can agree to go out at most X times a month or a week, and he can agree to spend Y days a week at home with you, and maybe even have some days for the two of you to do things separately. Compromise on the activities you both can do together: “Okay, we’ll go out this often, but can we also spend some nights staying in and doing [activity you like]?”

    Good luck!

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

    I always have a hard time talking to people I don’t know. I hate myself because of this and it’s really hard to accept who I am. How can I improve my people skills?

    Whenever I see a question like “How can I improve [skill]”, there is almost always one obvious answer: practice. Improvement only comes with practice. You can read about it, think about it, watch youtube videos, but unless you practice you won’t be improving much.

    For talking to people, start small and work your way up:

    • Smile at strangers you interact with. Smile at the lovely couple walking down the street. Smile at the little kids you give the ball back to.
    • Greet strangers as often as you can. Greet the cashier at the grocery or the bus driver during your commute. Say something short and simple “Hey, how’s your day going?”
    • When you see a stranger carrying or wearing something you find of interest, strike up a conversation about it. “Hey, I love that scarf, where’d you get it?”, “How are you finding that book? I read it last month and found it great!
    • And so on

    At first you will find it difficult. You might even choke on what you wanted to say or say something completely inappropriate and run away. That’s fine. Failing and trying again is what practice it. Don’t worry so much about how people will react. If it’s someone you might see again (say, the cashier at the grocery or the bus driver), it gives you something to talk about again next time “Hey, sorry if I was an idiot before. I’m trying to be better at talking to people” can lead to good conversations too.

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

    How long should I try to solve a bug before asking a colleague for help?

    As soon as you become aware you’re stuck is a pretty good time in my opinion. If you already know you’re stuck and not going to move forward, why put it off? Sometimes a couple of minutes with a fresh set of eyes is all it takes to get some progress, so it makes no sense to hold off until you are truly desperate. That being said, be sure not to interrupt your colleagues when they are in the flow!

    Sometimes you don’t even need your colleague to answer or pay attention too much, the mere act of describing the problem to him may light up some neural pathways that make clear the way forward.

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

    Does emotional pain change someone mentally?

    I had a friend who underwent some serious emotional pain and it really changed her: she started distancing herself from people who used to be her friends and she became quieter and more withdrawn

    There is a quote, often attributed to Stephen Aitchison:

    “People change for two main reasons: either their minds have been opened or their hearts have been broken”

    I have found this often to be true, though it really only refers to drastic change. People also tend to change or evolve little by little slowly over time.

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

    How do I feel and do better at my Software job?

    If you were hired by Amazon, they saw something in you that made them believe you would be a good hire. Nothing can take that away from you.

    Look at your tasks and figure out what the problem is and try to correct.

    Are you being given tasks for which you don’t have the necessary tools, skillset or knowledge? Raise it to your manager and ask whether you could be given additional time to learn the necessary tools first. Or whether there is supplemental training the company could provide.

    One of the great things about working as a software developer is that we are always faced with new challenges in our chosen field. It’s never boring. You need to have that attitude of always being willing to step up to the challenge of new skills that need to be learned.

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