Live data from Hacker News

Tell HN: Hello

news.ycombinator.com

11–20 of 190 posts

Re: Tell HN: Hello

#13
Wow, Mohamed, this is great. I'm glad I stayed up late enough tonight to see your post. Please feel free to give me a shout via the email address in my profile - I'd be more than happy to kick around any ideas to help you get started.

What kind of computer do you use - Windows, Mac, Linux? I'd like to give you some suggestions for programming tools (mostly free, some you might pay for), but of course the details will depend on which OS you're using.

I second nailer's suggestion that you may want to start with Python for some of your initial learning. It's an easy language to get started with, but also very powerful. Even if you end up using another language later on, your Python skills will remain valuable - it's great for writing anything from little scripts up to large apps.

Ruby is also really nice, you wouldn't go wrong with that either. And of course you'll want to learn JavaScript eventually too, regardless of what else you do. You could start with any of these really, but Python is probably the easiest to begin with. What you really want to start out doing is to get the basic concepts of programming down - and these carry over from language to language.

One suggestion I'll make right away: in every language you work with, find and learn how to use a good debugger. For JavaScript, every browser has a nice built-in debugger. (I like the one in Chrome, but they are all pretty good.) For Python or Ruby it will depend to some degree on which OS you use.

And a good IDE with built-in syntax checking, autocomplete, and all that is really great to have.

Some people will tell you not to use IDEs and debuggers and things like that, as if it were a sign of weakness to use good tools. Or that if you follow Test Driven Development you should never need to use a debugger. Don't listen to them!

I see so many people asking questions on Stack Overflow that they could have answered for themselves in a few minutes if they only knew how to debug their code. Testing is important and you should learn all about it and do it, but debuggers are for more than just fixing bugs. They help you explore and learn how your code works, and what the APIs you're calling really do, in an interactive and visual way.

Here's a Stack Overflow post of mine from a couple of years ago with screenshots of a few Python debuggers:

http://stackoverflow.com/a/16474706/1202830

Don't worry if there's a lot of stuff in those screens; it will all make sense as you get into it.

You'll also want to get into version control sooner rather than later. Most people use Git these days, although Mercurial is very good too. I recommend avoiding the Git command line though, at least at first. You have enough to learn as it is without having to deal with that arcane system. But there are some nice visual interfaces to Git. I like SmartGit a lot and recommend it. It's free for noncommercial use. Or you may want to start with something even simpler like one of the free clients from GitHub.

Again, let me know what OS you're on and I'll make some specific suggestions for various kinds of tools.

p.s. Top of Hacker News on your first post! Not too shabby...

Re: Tell HN: Hello

#14
Welcome, Mohamed..

A little word of advice that I hope will save you a lot of time and frustration:

- Don't wait to complete your training to start your project. Start with the knowledge you have and tweak it over time. If you have no knowledge right now, start by sketching in English. It seems stupid but just the fact of abstracting human needs that seem obvious to us and formalizing them into logical steps will help you tremendously.

- Write code about random stuff you think about. It will be ugly and you'll laugh at it, but you will be lightyears ahead than if you wait when you finish your training to start writing code. It doesn't need to be great, awesomely useful or something.

- Compare yourself with yourself. "..wrote 3,000 lines of Python in a day to build a Segway" made me hate myself. Fight that urge. I know I still am. Reading biographies of great people, seeing what people are actually doing and building makes me feel miserable, incompetent and good at nothing.

- Understand that the points above are for you just in part, they are mainly for myself :)

Here's something to make you feel less inadequate:

http://carlcheo.com/fascinating-posts-from-tech-founders-who...

Work to get better. When the itch presents itself, you'll have the skills to scratch it.

Good luck.

Re: Tell HN: Hello

#15
All the best. My advice to you would be to try and think how you can provide real value to people (which rules out 90% of "startups" in Silicon Valley) and make a positive change in their lives.

This does not mean you have to solve world hunger, it can be as simple as having identified a loophole which allows for corruption in jails and you use technology to close that loophole.

Re: Tell HN: Hello

#16
Good luck with your endeavors! Regarding learning to code, I'll just reiterate what others have said that Python is an excellent language to learn with (that said, it's not ideal for everything, but it is a great learner's language).

Also, if you haven't already, I'd suggest switching to Linux or OSX and get used to working on the command line. Most developers in the start-up scene will be working on OSX or Linux, and learning how to use the command line will benefit you enormously.

Re: Tell HN: Hello

#19

All the best. My advice to you would be to try and think how you can provide real value to people (which rules out 90% of "startups" in Silicon Valley) and make a positive change in their lives. This does not mean you have to solve world hunger, it can be as simple as having identified a loophole which allows for corruption in jails and you use technology to close that loophole.

Or fix that exploitative phone call system in jails.

Re: Tell HN: Hello

#20
Mohamed let me tell you about my little sister. She was the opposite of me in that she hated school. Truly hated it. She said she'd never set foot in school again after graduating high school.

But, she wanted to be a police officer, and that required college. So she put herself through school by being a prison guard. My little 5'3" sister running around bossing grown men like it was nothing.

She made it through school and got hired as a police officer. She spent the next five years as a dispatcher. Nobody wanted to put her on the streets. But she persevered and eventually she won the day and became a patrol officer. I dare say except for getting married it was the happiest day of her life.

Don't let anything stop you, man. Smart isn't everything: perseverance counts for a great deal.

Post reply on HN