Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror

Comment Re:node.js (eye rolling) (Score 2) 319 319

I could go into a dozen technical reasons why javascript is a terrible, horrible, outrageously bad language

So is Java. It's unfair to call JavaScript's problems "product killing" ... unless you mean Java's are as well?

I juggle two day jobs, both for responsive, background-processing-heavy websites. One's in Node and one's in Scala (Java on steroids). To me, the Node way Makes More Sense.

Yes, Java can process in multiple threads at once; but then you need to worry about atomicity. Yes, Java it can delegate different jobs to different threads; but then you need to read up on ExecutorServices. Yes, Java is faster; but if you want async file reads, things get complicated pretty quickly. (If you're going to block your thread, you'd better adjust your thread pool....) Yes, Java is type-safe and compiled; but that hinders as often as it helps.

These are two different cultures. Java culture seems to whirl around huge infrastructures -- J2EE, JDBC, Swing, Ant, etc -- that have gargantuan learning curves and ten-year-old flaws. (One that bit me: Java 7's UTF-8 decoder accepts invalid UTF-8 to maintain compatibility with Java 5 -- that is, a ten-year-old version of the standard.)

In contrast, Node culture is about self-organizing chaos. You can deliver results really quickly, but you might need to rewrite your code in a few months to keep up with library changes. And your favourite dependency might not be there tomorrow.

Java and JavaScript (and any other language, really) can kill your product in different ways. Pick your poison.

Comment First, do no harm (Score 1) 112 112

MSF addresses severe problems (education shortfall, brain drain) that particularly impact the field of medicine. The problem is specific to medecine because it takes a decade of education to train a single doctor.

There is no equivalent problem in the field of technology, so there is no equivalent organization.

There are already people in developing countries who know how to use JavaScript and would love to apply their skills. And they'll (hopefully) be better at it than you, because they understand the local issues better than you ever will.

You can probably do more good, in a utilitarian sense, by getting a job in America and donating everything you can spare to a nonprofit in a developing country. That nonprofit can hire computer people with the money, building up that country's computer-person economy.

Volunteering overseas isn't a bad idea. But it isn't very humanitarian. Acknowledge that you're volunteering for your own reasons, and try not to make too much of an impact.

Comment Different jobs, different tools (Score 1) 204 204

If I'm writing a paper, I use LaTeX. Yes, the macros are a pain, but I find it takes less time than writing a paper in, say, Word (page breaks, sections, image placement, etc. need only be written once in LaTeX, but in Word they need to be revisited at each draft); and LaTeX's output quality meets my standards (while Word's, say, doesn't).

If I'm writing documentation, I use Markdown. It's simple and it has links. The output quality is far lower, because I expect readers to prefer reading plain HTML anyway -- a PDF would be inconvenient for them, even if it would be prettier.

Generalizing those notions:

1. The best tool for the job is the one that lets you produce and edit content as quickly as possible, while meeting your requirements. In other words: if monospace, left-justified text files are satisfactory, you should probably be using plaintext. When starting a document, first pick a set of features, then choose the tool that has those features and gives you the fastest workflow.

2. Distributing in multiple formats shouldn't be a concern: you can convert pretty much any open format to any other. Your _master_ copy needs to encode all the features you use.

Comment Volunteer Overseas (Score 1) 352 352

A CS degree may seem mundane, but the skills are in such demand you can do just about anything.

After graduating, I got sent overseas for six months to work for an AIDS-related organization in sub-Saharan Africa. The challenges were enormous and often unforeseeable; and while the job description suggested I would be doing nothing but programming, most of my job involved interacting with people.

For any white person volunteering overseas, the experience is extremely stressful and not at all glamourous--you won't save any lives, you won't earn bucketloads of cash, and congratulations will be few and far between. But overseas volunteers experience and learn things nobody else can possibly understand: your life would be changed forever.

Starting your search? In Canada, begin by looking for the CIDA internships page (the place to look); in the States, maybe investigate Peace Corps; in both, flip through CUSO-VSO and the myriad search websites Google will find for you. Organizations that pay you a stipend or salary are likely to provide both you and the recipient country with a much more useful placement (not to mention, they won't break the bank); unfortunately, though logically, those organizations are stricter about whom they interview and hire.

Watch the ground for snakes, and don't drink the water; why don't they teach this stuff in Computer Programming 101?

"You're a creature of the night, Michael. Wait'll Mom hears about this." -- from the movie "The Lost Boys"

Working...