Eating too much. Exercising too little.
HN user
JFred
Go for the weather and prices, not the politics. You can live as you want in the US. Plenty of hippy communes, survivalists, polygamists, vegetarians.
Work in the web, relax in good weather. The best weather in the US is either in Hawaii or on the coast north of San Diego.
Used to be people who wanted to get away went to the Soviet Union to help build the freedom of the Workers Paradise. I'd say be careful. It could be a one-way trip.
Tell us your politics, religion, sexual orientation and age and we can be of more help. I gather you're looking for a left-wing tech incubator. Don't know of any, but Israel and Ireland come close.
There are some truly free universities. But you've still got to pay for essentials. The MIT curricula are on the web somewhere for free. Including texts.
If you do your own open source project, it can work for you. It's hard work and it can stereotype you. If you do a great job at building a new test thing for, Ruby, say, you'll have a hard time escaping the stereotype for 'test' and 'ruby'. But it can work.
You can lie on your resume and then work crazy to get your jobs done. For certain lazy, pointy-headed bosses and certain smart and ambitious programmers this might be the best solution. You can easily do better than the idiots these fools would otherwise hire. If you do this then change jobs every 2 years. You'll then have enough of a real resume that you can drop off the original baloney.
Actually stealing the money to pay your way through school is against the law and the hard time simply isn't worth it.
I have friends in university administration and another whose a college guidance counselor; They say there are many more scholarships available than people think. If you're willing to dig you can find some. There are often local scholarships available, for example, there might be something from the banks or the Chamber of Commerce in Columbus. Or your church. Or your dad's union, or business group.
Spend a day on the web searching for federal and other scholarships. I understand it works.
I've had it, and it did get better slowly. It cost me many thousands of dollars of lost work. The doctors are pretty useless in many cases.
0. Proper sleep, exercise and nutrition are important.
1. Hit the keyboard more gently.
2. If you're a wide person, like me, your elbows are out to the sides and your hands come in from the sides. So get a split keyboard like the Microsoft Natural. There are plenty of other keyboards that are split and "Ergonomic".
3. I had to drop Emacs, as it overused the ^X and meta-x keys. I mapped them to Function keys but that wasn't enough.
4. Not all RSI is carpal tunnel. There are even other tunnels. The thing about tunnels is that both a nerve and a tendon will go through the same tunnel in bone. When the tendon inflames it enlarges and squeezes the nerve against the bone. Misery ensues. You're body has lots of tunnels. There's even a pair in the head.
5. The best voice software is or was from a company from "Dragon Systems". The business history of this company is fascinating. Their "Naturally Speaking" product might still be the best.
6. Find and talk to some people in your state who have been on Disability. In some states, your Disability claims get paid by the last company you worked for. This results in you being blackballed by the business community. The companies seem to share information on employees and this might be legal. That's what those industry organizations are for, among other things. People who go on Disability are likely to sue. They don't want that. In the US, it varies from State to State. Get local information.
7. In some times and places, Disability is a big con and the bureaucracy has learned to treat all claimants as crooks; you are guilty until proven innocent. This is an important psychological injury and leads to trouble.
8. RSI can cause people to hate their jobs, and hate computers, they become the enemy. Work attitude suffers. Some management knows this and will head of trouble by getting rid of injured employees at the first excuse.
9. Get three different styles of keyboard and two or three mice. You an actually plug them all in at the same time if they're all USB.
10. See a hand specialist and an orthopedist. There is also a chance that what you really have is some outlier; like cancer of the bone in the hands, or something weird. Nerve damage can also be caused by bone weakness or osteoporosis. Have it all checked.
11. Docs tend to look at bilateral problems (both hands) differently. The trouble might be in the common parts, the spinal cord or the brain. This could be good news if they're right, as some mental problems and neurological conditions are easier to treat than soft tissue injuries.
12. Physical therapy can be very annoying but also be very, very useful. Do whatever they say as if it is God Himself commanding you from the Mountain. Do it every day, if they say so.
13. Going Dvorak means a new keyboard for both home and work. Give up game-playing and some web surfing. TV is also bad for you. You need basic exercise, walk or run. No handball, racquetball, tennis, ping-pong, hammering. Make sure you have an electric screwdriver or don't do that at all. I found that swimming stressed my hands.
14. If you take as many breaks as the RSI experts say, your whole level of intensity will go down. I don't even know if it's possible to relax your body as you work your mind unless your a Zen master, or something.
15. If you research the subject, you can terrify yourself and be paralyzed with anxiety. If you research RSD/RSI together, you'll leave work and become a monk out on a mountaintop, and starve to death. Okay, I'm exaggerating, here.
16. Proper sleep, exercise and nutrition are STILL important.
17. You might checkout http://www.rsirescue.com/, I haven't looked that stuff for years...
18. The only way to sit up straight is to raise the monitor screens. If you raise them too high, you'll be looking up, which is just as bad.
19. The most expensive chairs, keyboards, and so on are worth it, financially, if they work. Lost work is more expensive than any of those.
20. In some states, employers have to assume that if you were out of work for a while, you must have been in prison. This is because prison records get sealed after a few years so that ex-prisoners can get jobs and rehabilitate. So if you've been out of work a few years ago and don't have a prison record, you look just like somebody who actually was in prison.
Very few of us have extensive experience in more than one library. JavaScript muddled along without standard libraries for a long time.
I use Ruby on Rails, which has support for Prototype/Scriptaculous, so that's what I use. I like it a lot better than straight JavaScript. The thing that the libraries do well at is papering over browser differences. One good aspect is they collect "fixes" and tricks that have been spread all over the web and concentrate them one place.
I'm mystified why Prototype doesn't download in minified format. It's easy and useful to do but I'm sure most folks don't think of it.
You'll also want to look at this recent NYT article on fatigue: http://health.nytimes.com/ref/health/healthguide/esn-chronic...
Some people do better without caffeine. There is also a condition called Mononucleosis that can cause fatigue, as well as other conditions. Lots of things from vitamin deficiencies to cancer can cause fatigue.
If you look up the pill on the web you can get information but they tend to list any side effect ever seen. Check out the list of problems with Tylenol and you'll see the kind of CYA exaggeration I'm talking about.
I've never heard of any treatment for restless leg syndrome beside the medicine.
In some places the message is "Leave". Leave this grody little town. I think it's been the message of Detroit.
Jerusalem, where I live, has a message, "Pray". The biggest industry in Jerusalem is the Israeli government (analogous to DC). The second biggest is tourism. The Arabs and the Jews actually quit fighting and cooperate in business to sell trinkets to the tourists.
So the other messages of Jerusalem are "Survive", "Fight", "Sell", and actually, "Leave". A lot of the Israelis are moving to Tel Aviv for business/employment reasons. But apartments are hard to get in Jerusalem because the religious rich keep on buying up the snazziest spots. There are a lot of very expensive apartments that are used maybe half the year. So another message is "Visit". And people do. If you're into real estate, the message is "Build Luxury". The luxury apartments are crowding out the poor.
The only ambitious people I've met in Jerusalem are the newly arrived, and some business folk. Actually, the Torah Scholars are very ambitious in a way that is about academics but also about power. They want to master their subject, but also want their religiosity to change history through a sort of Divine Intervention. That's pretty ambitious.
The reason you saw TV's was because the kids were watching. Mom and Dad were online working or studying. Were the offices of Via Web lined with dead-tree books up to the ceiling?
And the books you saw in Cambridge might have been from decades past, but the scholars in the residences might have been online. Even sociology is hard.
I haven't looked at Django, so I can't compare. I've used Rails on a few projects and I like it. I've coded for decades and Ruby is the most programmer-friendly language I've found.
For the amateur, it is easier to approach PHP and start banging around than to learn Ruby and Rails.
The Rails free docs just aren't as good as say, the free MySQL or the free Postgresql docs. Or as good as the MS .NET docs. But there are several good books. And both Ruby and Rails work as advertised, they aren't bug-laden.
Nothing left. It's the end of the internet. In a few years every person and machine on earth will have a couple of web pages. A public one for professional use and a private one for friends and family only.
We'll have to address by content, not by name. Search engines are the future, baby!
I don't think you can become a proficient C++ coder in one month unless you're really, really smart and unusual. Maybe not even then.
Although, it depends on what you mean by "Hack basic apps", doesn't it?
If you're working on existing apps then you'll need to know the same subset of the language that the original programmers knew. If you're going to write apps from scratch you might do very well by starting only with the Symbian programmers documentation, if it's good. Beyond that, just learn C and use C++ as a "Better C".
If you can avoid using classes and templates you can start quicker.
A lot of it will probably happen virally. Somebody will put up a "Web 2.0" intranet app inside the company that uses the corporate database for some small job. Then the change requests will come flooding in...
People do this from all over. I have a friend here in Jerusalem who is a translator between Japanese and English. Having made many contacts when in Japan, all the work is now done over the web in an apartment in Jerusalem.
I do web development, but I find that meeting people over the web to do this is not easy. Anybody could be anywhere and trust is a problem. Some people have a talent for self promotion, and some don't. The web is loaded with self promoters and spammers. Standing out on the web is hard. Business tends to be about personal relationships and personal trust.
I observe that the people who make contacts on the web are very talented bloggers. Joel Spolsky and 37signals come to mind, also Raganwald. Oh, and of course P. Graham and ycombinator...
I don't live near Staples but there happened to be several printshops all near each other in the local business district. I found one that gave me a hefty discount if I would just email them a PDF of the card (according to their specifications).
I made a PNG of what I wanted in Paint.NET and converted it to a PDF using ImageMagick, both free programs, and emailed it to them.
It required two visits, one to decide on the shop and get the email address, and the second to pick up the cards.
Color is more expensive than black and white.
There's a really cheap shop on the internet called Vistaprint that will do it, too. If you web search for 'vistaprint fraud' you find a lot of complaints that they charge your credit card once a month forever. I have no way of verifying if these accusations are true or false.
So I avoided giving my credit card out over the web and trekked to the local shop; They were very nice and friendly, much more human than a web site.
I've been through most of the rails books, at least partway, and none of them is a great programming book. The classic, AWDWR from pragmatic programmers is a bit out of date, otherwise I would recommend it. The "Rails in depth" chapters there are quite useful and could be taken out and used as a reference.
"The Rails Way" is a good book but the online version requires Adobe Digital Editions for the DRM and that interface is a pig. This book is clearly not intended as a first book on Rails, but you'll end up buying it if you do more than one project. There's supposed to be a new version coming out soon, so check out the date of publication.
I started Rails as one project of many, but I don't think that pollutes my fundamental finding: Learn Ruby First. In fact I'd like to put together a book of small Ruby tasks and samples to cover the language. The existing books are narrative-based.
The secret question for all Rails developers is: Should I learn the framework by looking at the source? Or should I code by reading the API docs? I started out as an old-fashioned software-is-a-contract guy and tried to build code by following the docs. The docs aren't good enough. The site 'api.rubyonrails.org' has docs that include source, lacking only an on-screen search box.
Finally, a good IDE that indexes the rails source (and your source) to produce a sort of visual-etags would be very useful. I haven't found one I like. That is, I would like to click on my call to 'number_to_currency' and have it bring up the source code in another window frame. I haven't found a solution I like.
1. Forget coding, study management. Managers get more money.
2. NEVER put the word 'test' on a resume. Do not mention it in any interview. If they ask if you tested anything, say no. Lie, if you have to. Say the other guys on the project tested. The kind of people who want to be coders usually do not want to be testers. But if you're a tester once, they'll make you do it for years.
3. As the twig is bent, so grows the tree. The title on your first job will stereotype you for your next, limit some opportunities and opening others. The first two combined will stereotype you even more strongly. And so on.
So be as demanding as you can get away with. Don't just accept what they tell you, unless you really have to.
4. Go to grad school instead. You'll end up making more.
5. A young programmer has to build a rep. One way is by making something famous and open-source. Another is to put "Google" or "Microsoft" on your resume as your first job. Or something like it.
6. Figure out where you want to live. If your career is in finance, the headquarters is often in New York. Embedded systems work is on the West Coast, but all over, too.
7. Defense contractors do a lot of software, mostly embedded. They've been known to write a compiler for an airplane. So drop your al-Queda membership and apply to Lockheed. But it's more bureaucratic and "Methodical" in that world.
8. There are three places to be employed in software: a) A software company. b) A hardware company. c) Everyplace else. Software people are first-class citizens in a software company, second only to the hardware engineers in a hardware company, and somewhere below that in stock brokers, banks, and shoe factories.
By hardware company I would include Intel, Cisco, and Sun, for example.
Web companies might be a 4th category, but I don't know those companies as well. Instead of MBA's or electrical engineers (finance and hardware) you have graphic designers.
What I'm getting at is that if you will be working with other professionals in their kind of company, you will need to learn their needs and their business. In a software company it's a bit of the other way around. At least in terms of status: who is in charge.
8. The right answers have to depend on you, otherwise the advice would be the same for everybody. And we'd all be trying for the same job.
9. I'm not rich, so why believe me?
Some ballpoint pen vendor agonized for who knows how long to come up with the name 'Pen Island' only end up with the domain 'penisland.com', so don't sweat the small stuff.
Postgresql is free, it is less encumbered, possibly, than MySQL in the long run. Postgresql is more totally Open Source, whereas MySQL is owned by Sun Microsystems. And it is not free for all commercial cases. Postgresql is.
MySql gets its speed rep from the 'MyIsam' table type. But you don't want that for financial data. You want a stronger database. They have another several table types that are more robust and standardized, but not as fast.
Postgresql is plenty fast for large installations when well tuned. And it has good referential integrity, a long-enough history so you can trust it, and stored procedures. MySql is simpler to get started with.
I've never heard that SQL Server was faster, but I'd estimate they have very nice integration with .NET, as it's the same company. This nice integration will undoubtedly lock you in to using their database forever, though. And who knows how their price will change?
Whichever you choose, you will gain if you have at least one person around who has used the DB before and (for MySQL) table-type before. Even once in a while.
Paid consultants are available for any database you choose.
Hey, if it's too easy everybody will be doing it. Nobody will be an employee again...
Lots of schools teach CS and say "Code it first and fix it later". They call this preventing "Premature optimization".
It's not totally wrong. But it's often wrong. The world isn't writing it's first program. Code that's too slow has a performance bug. And like any bug, it's better and cheaper to catch it early than late.
And you can't always use your own code. Eating your own dogfood is a reasonable idea but it can break the organization that is trying to fix and build the software. For example, if there's a bug in your new bug reporting system you'll lose the information that there's a bug and never fix it. And so on.
The performance gains that chip makers have given us have been stolen by the software makers to make generating software cheaper and faster, rather than being passed on to the users to make systems more responsive. Yes, there's a user benefit to having more software quicker, but that isn't enough.