ngom's comments

ngom | 15 years ago | on: Ask HN: Burned out. How can I make the most of a sabbatical leave?

What is mediocrity, in your world view?

I hazard a guess that it's failing to live up to what you imagine. And then you feel like a failure. Mediocre. And when you give up, you feel like it's a cop-out.

It seems that you interpreted what I wrote through a filter of that sort of thinking. When I suggested that you give up on your current pattern of thinking you tell me it feels like a cop-out. It's the same pattern, as far as I can tell.

What you're dreaming up are intangible, speculative things with no basis in reality. That's fine if you feel good about it. But I don't think you do. You seem to be rejecting it on various levels.

What I am saying is link your thinking to tangibles. Test your ideation against reality. Stop pondering monks on misty mountain tops for a while. If you could imagine those monks with any clarity, you would already have had the experience. Instead - go and talk to monks. Go and visit mountain tops. Fill your mind with new experience.

Don't ponder this any further. Just take the first steps to seeking out new experiences.

Hopefully that makes some sense.

Again - all the best.

ngom | 15 years ago | on: Ask HN: Burned out. How can I make the most of a sabbatical leave?

I have read the great suggestions written so far - exercise, travel, etc. Great, I hope something hits the mark.

I have two things to suggest. I hope they help. If I'm being blunt, I apologise.

1. Simplify your thinking.

If you have a habit of overly abstract thought, you can make problems more complicated than they need to be. You could say it's a bit like spiritual java programming.

For instance, aims such as "become a virtuoso musician" don't mean anything. They lack concreteness. "become ascetic monk on mountain top". Also intangible.

You say you recognise them as daydreaming. But your whole way of thinking is daydreaming - "What I think ..", "What I fear ...", "doom", "failure". All abstract daydreaming. Do something about it. Stop daydreaming.

Make a promise to yourself: you will reject thoughts that don't have a tangible aspect you can act on immediately. They are tiring you. Let your brain rest awhile. And if you have to think about problems, think about other peoples' problems not your own.

That means real, tangible people. It could be anyone. This is not a moral injunction. It's practical - if you look to see how you can help other people it requires empathy and if you develop empathy you start to see other patterns of thought. It may help you see different ways of thinking and get you out of your rut.

Only think a few days in advance. Reject all thoughts of the future for a while.

2. Tone down the ambition.

You imagine a virtuouso musician or some epic bike journey, some massive startup. Therefore anything you actually you do seems crap in comparison - attempts noodling on the piano or going for a small bike ride around the neighbourhood seem silly. Trivial. Pointless. Why bother? Stop comparing yourself and your life to your daydreams (see point 1).

I write this because this is what helped me. Please ignore it if it doesn't feel right.

Best of luck, I wish you all the best.

ngom | 16 years ago | on: Ask HN: How to become a better programmer?

You need a sound understanding of CSS, HTML and javascript. Although you may have been messing about with them a lot, try and get an in depth understanding of CSS selectors, what semantic HTML mark up is, and how to write quality code in javascript -- unobtrusive javascript is something to look up.

Javascript is really worth learning in depth. It has some quirks that will gently introduce to some useful topics such as JSON, closures, elements of functional programming, prototype based inheritance, and so on. Further, it will help you understand how to get more out of other dynamic languages too; python, ruby, etc. Douglas Crockford has some great videos on Javascript that are worth looking up.

You're not restricted to client-side programming with Javascript either. For instance, look up nodejs - a nascent server-side javascript framework that looks quite promising. It will really make you think if you've just been a PHP guy up to now!

Try and get a handle on PHP's more advanced aspects - many of which have only really arrived in recent versions. Classes, name spaces, closures and so on. Although I'd really suggest another dynamic language altogether; python is a good choice, but ruby is splendid too.

Once you're confident with that stuff you may want to go in a slightly different direction. Try Java, C, Clojure or Erlang. Try reading some more general computer science books.

I hope that helps. Good luck and all the best.

ngom | 16 years ago | on: Bad programmer seeks advice

Thankyou for taking the time to respond. In a way I've done that in reverse order - spent a bit of time ith the web (HTML/CSS/Javascript/Actionscript) and some time with typical web app back end languages (Python, PHP, Java, etc). Your suggestion of reading through the "Structure and Interpretation of Computer Programs", and looking into C seem like splendid suggestions. LISP might be fun, too. Then I'll try and write something in both languages! Thanks again.

ngom | 16 years ago | on: Bad programmer seeks advice

Thanks for the response. Sorry for the scant description. I've done stuff in Python, Java, Javascript, C#, PHP, Actionscript. I like them all, they all taught me different things about the possibilities of syntax (I think I like python's syntax the most), dynamically typed versus statically typed, the perils of cross-browser coding, OO programming, and so on. But my approach has been very much coding on the run; and very much from a verbal point of view. That is, more about how modelling problems verbally, and viewing code as a way of expressing that.

I am really interested in investigating at a deeper level so I can think in a more mathematical way about programming problems. Efficiency, the basic algorithms you should know, and so on. I will look into those books you suggested. I haven't read any of them! Again, thanks for taking the time to respond. Then, perhaps, a startup, as you say!

page 1