Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Take advantage of Black Friday with 15% off sitewide with coupon code "BLACKFRIDAY" on Slashdot Deals (some exclusions apply)". ×

Comment Definition of online (Score 4, Informative) 47

I personally purchased things in the mid-1980's online using Quantum Link, but CompuServe dates back to 1969 so people were obviously making online purchases throughout the 1970's. BBSes were active and often linked together in massive networks from the 1970's through the 1990's. Whether that counts is up for debate.

If you're speaking strictly about the Internet, the Usenet forsale groups have been around for a long time. My first use of the Internet was in 1992 to sell some old computer junk, but Usenet dates back to the 1980's.

It's amazing how ignorant people are of the online world before 1995.

Comment Re:unionize (Score 1) 177

If you're afraid that what you write on Slashdot could jeopardize your job, then I advise you to quit. Specifically, though, we're talking about unionizing. I'll talk with anyone at any company I work for about unionizing, its pluses and minuses. Being a programmer is about intellectual freedom. If you can't speak your mind, then your ability to program the way you should is probably equally constrained.

The chief benefit of a union for a programmer is this. Let's say that you were injured in a car accident and your intellectual abilities have suffered, but they may eventually recover. A union is the type of organization that might go to bat for you. For a man under 35, the biggest risk of substantial injury is in a vehicle accident.

Programmers are supposed to be smart enough to be able to deal with the business side of their careers. But clearly we are NOT. Hence, Google offers to completely take over its employees financial affairs to get them in order. This benefit seems like Big Brother but to me it's actually quite a nice thing that Google is doing. Going to engineering school virtually bankrupted me, and it costs twice as much today.

Comment As a living thing (Score 1) 492

As a living thing, the most important thing in life is to reproduce. It isn't to worship a deity, or to eat, or to work, or to sleep. More politely, the most important thing for a heterosexual man to do is to meet women. (Substitute all of the pronouns you want for women and for people in the LGBT community.)

For years I tried to convince myself that working on technical projects was the most interesting thing that I could possibly be doing, and I denied my basic biology. By your 30's the defects in our society's social structure become readily apparent. The social norm for nerd behavior does not favor us in any way whatsoever. It distances us from the requirements of our biology. Is it self-imposed? In part, I suppose. For the most part, though, we're brainwashed. Programming is not preferable to having sex. Programming should be something you do after you're exhausted from sex. The value that companies get from the software that we write means that we should be getting paid 10 times what we do at the very least, or work one day a week and spend the rest of our lives doing what we should be doing.

This individual has it completely backwards. His job at Google and money are his god. He is a brainwashed automaton, exactly who Google wants to work for them.

Comment Churn? (Score 4, Insightful) 241

You can't churn out developers like automobiles.

I began programming casually in elementary school on Commodore Pets. I started programming on my own computer in fifth grade on a Commodore 64. Afterwards, I had plenty of short work stints during junior high school, high school, and my 7 years at the university, but I didn't begin programming full time for more than an 8 month period until I was 24. Even then, I was still very green.

The best developers have been at it for 10-20 years at a minimum, and I'd even go as far as to say I prefer programmers who've been at it for 30 years.

What I don't care about is your physical age. If you started programming at five years old, and you kept at it continuously until age 25 then you'd meet my criteria.

Developers are created over many years, they've worked on many generations of technology, and they've proved flexible with time. Many of the good ones have been at it since childhood, but I don't think that should disqualify anyone.

That's why developers need to get paid so much. Training over a decade to achieve basic competence at something is expensive. Many have a very expensive university education they have to repay. For me, I had to forgo my social life pretty significantly from age 15-25, and I'll never get that time back. The only way I can be repaid for that is with money.

If you're trying to shortcut the process somehow by picking up someone who knows nothing about creating software, hope to train him or her in a few years, and expect to pay him or her poorly then you're going to produce some pretty awful software.

Comment Estimates (Score 1) 299

Over my 25+ years of programming, being able to estimate my time was the last and hardest thing for me to learn how to do.

No matter how much you've mastered computer science and how many clever encryption algorithms you're capable of writing, estimating how much time your work will take is a completely separate ability having nothing to do with your actual programming and/or mathematical skills.

It is possible for every programmer to learn how to do. It's not something you'll figure out in a week or a year or ten years. I promise you that being able to deliver your software on time, every time, will make you the most beloved programmer at your company.

The key is to, instead of jumping right into the coding, spend several days understanding exactly what work you need to do. Learn to be realistic about your abilities. Learn how to communicate with non-programmers so they understand exactly what they're getting. Keep explaining until it's clear that they understand what you're writing for them, and that's exactly what you're writing for them.

When people throw changes at you, warn them that you'll have to start from scratch with understanding exactly the new work that needs to be done, think about the time those changes will take knowing that you may need to discard work you've already done, and continue to be realistic about your abilities. Make sure you get approval for the revised completion time before starting any work. Do not jump right into coding the changes.

If your employer doesn't allow you do to this, quit and go work somewhere else. There is an oversupply of programming work.

Time estimates are something that all professionals do. When you finish your work on time, you are acting professionally. When you reject estimates you look like a rank amateur and I'd never hire you.

Comment Programming (Score 4, Insightful) 616

Based upon my three decades of programming experience, programming at rare times may require you to brush up on what you learned in engineering school, but essentially your degree is mostly a worthless piece of paper in terms of career usefulness. I've used much less than 5% of what I learned there, and probably more like less than 1%. My most useful class was software engineering, because it touched on the non-technical aspects of being a programmer.

There are small subsets of programmers that use geometry and calculus, but even if we only remember the basics those types of programmers don't need to worry about nit picky details because we all use libraries. You'd be absolutely foolish to open up a calculus book and write your own library function, unless you're doing something extremely novel. Novel is bad when you are trying to write maintainable code.

What is useful to you as a programmer is to understand what big O notation is. It's advanced math beyond calculus, but it always seemed like common sense to me. If you have to do n^2 operations for every n, that's worse than having to do n operations. In 30 years I've never had to worry about little o or logarithms. Google gets specific in interview questions about all of these notations, but I'm telling you what is actually useful.

What is not useful to you is mastery of the syntactical details of any language. Try to program as if you're writing English. Write software in such a way that you could be doing it in any language. Write software that the next person can read, instantly understand, and begin modifying.

Programming isn't purely doing Google searches. What I spend most of my time on is seeing how the software I'm working on already solves a problem and to use as similar techniques as possible, so that the next person who works on it will encounter consistency. Every change I make I make for a reason, and I understand every change I make well enough to explain it to my mom.

Another way of looking at it is the technical interview is almost completely useless. You can ace a technical interview and write the shittiest code I've ever seen. You can perform average on an interview and write the cleanest code I've ever seen. If anything, detailed technical knowledge should count against you. The next person to maintain your code might not know every trivial little feature of the language you're using and has no admiration for your cleverness.

Write software like Hemingway, not Thomas Hardy, and don't sweat the math.

Comment Formal proofs of software are useless (Score 1) 168

Hi, MIT guys, formal proofs of filesystems are useless because you cannot incorporate physical systems into formal proofs. Real filesystems exist on real hardware.

I guarantee that your file system will fail if I start ripping cables out. A suitably strong EMP will take it out. In fact, I bet I could nuke your filesystem if I used my ham radio transceiver too close to the device. Other things that would destroy your filesystem include floods, earthquakes, and a lightning strike.

I began writing this by stating that formal proofs of software are useless, but I don't really believe that to be true. I strongly believe that we should strive for software correctness. Any techniques that can we use to make software better are worth pursuing.

But it has to be remembered that software cannot be isolated. When we do develop a true AI, it will escape and destroy us, probably within milliseconds of an unexpected hardware event. No matter how rigorously the beast is programmed!

Comment How much RAM is enough for developers? (Score 1) 350

A better discussion for Slashdot might be how much RAM is enough for developers.

I can barely squeak by on 6 GB, but my next laptop will need to be at least 16 GB, if not 32.

Funnily enough in my current configuration the biggest memory hog isn't VMWare or Oracle. It's Firefox.

  5326 jgotts 20 0 21.584g 1.891g 108628 R 82.1 33.0 287:20.13 firefox

It's sometimes hard for me to determine whether Firefox is working properly or there is a massive bug. I have a fair number of tabs open, but never more than 20.

Comment User Dictionary (Score 1) 84

I see they mentioned User Dictionary right in the article. I consider User Dictionary to be malware.

I have to lock my version of Google+ to the factory version or else User Dictionary gets stuck in such a tight crash-restart loop that it only yields to the GUI for a split second before presenting the crash dialog. It eats all battery capacity in a few hours while the phone is sitting completely idle.

I have no idea what uses User Dictionary, but you certainly cannot disable it. Also, technically speaking, I don't know whether this is a bug in User Dictionary or Google+ but it should be my choice to chuck a useless, possibly not buggy app in favor of the incredibly useful app I happen to use to backup my photos which may or may not have a bug of its own.

No word from Google on the bug/interaction. I've posted about it, Tweeted about it, and my review of Google+ mentions the issue. I don't know what other forums might be of use, but I don't want to waste any more time on it.

P.S. I plan on using my smartphone for 5-6 years, so throwing away my hardware is not an option. I think people who get new smartphones every 2 years are fools (whether you pay for your phone in cash up front or pay via a jacked up phone bill every month you're still paying for something you don't need). My 3-year-old model still works great, aside from software bugs.

Comment Quite simply... (Score 2) 419

People who are the most concerned about nuclear energy understand these facts:

1) High-level radioactive waste is deadly to touch, hold, carry, etc., for hundreds of thousands of years. You can pick up a piece of this waste, hold on to it for a while, and be dead in a few days. Perhaps you picked it up, studied it for a while, and dropped it in the space of 15 minutes because it was sitting a pile of rocks.
2) Homo sapiens, our species, is believed to be between 100,000 and 200,000 years old.
3) We've only had writing for about 5,000 years, and in certain countries in sub-Saharan Africa only about half the population is literate in ANY language. Before the modern era, it's thought that no more than 40% of the world population was literate.
4) As we all know, the most advanced civilizations decline and are sometimes replaced by primitive civilizations. Among many other causes, formerly fertile land can become arid. Formerly great civilizations in Central America are now jungle with isolated tribes. Formerly fertile Northern Africa is a now great desert habited by nomadic people and not much else.
5) The world is ignorant about geology. We have no idea how to do fracking safely, even though it could probably done safely. The reason is we don't have enough understanding about how the ground beneath our feet works.

Nuclear energy, in its present form, produces a waste product that will outlive our species. We all hope that Homo sapiens will evolve into a better species, but there is no guarantee of that. Perhaps there will be a Homo successor that is more primitive. We can guess what that species will be like, but we're just guessing. It is of paramount importance that we are able to communicate with that successor species. Then we need to find a place to put the waste on Earth that is geologically sound, yet we can't even drill for oil safely without causing earthquakes. Good luck with that.

The inevitable will happen and the waste will somehow surface. Let's say that there is ample signage. How good are you at Sumerian cuneiform? I'm not so good at it, either. In fact, I don't even know a single symbol. At one time cuneiform was the premier go-to language, the English of its day, and it is only about 5,000 years old, give or take a few thousand years. If radioactive waste was labelled in cuneiform, I'd have to retain a scholar to understand the risk of the material. Can you even imagine how dissimilar a language 500,000 years from now will be from English? That's 100 times as long as the whole history of writing.

We're kidding ourselves by thinking this energy is clean. What we are doing, actually, is poisoning the land for hundreds of thousands of years. The built-in assumption exists that we'll be so advanced techologically speaking by then that future residents of Earth will have no problem dealing with any of it. In fact, I believe that the oppposite is true. We can't depend upon steady progress. Progress has always been in fits and starts, with intense periods of decline, and at times entire civilizations have dropped off the face of the Earth.

Comment Autonomous vehicles' Achilles heel (Score 3, Insightful) 77

Autonomous vehicles will have terribly expensive tire, rim, and suspension repair work in my state every year. Michigan has the worst roads in the nation, and avoiding potholes and subsequent vehicle damage requires illegal driving behavior. Examples that I can think of off hand include driving the wrong way on a two-lane road over a double yellow line, driving halfway in one lane and halfway in another lane, deliberately crossing onto paved shoulders, high-speed swerving maneuvers, and other behaviors that autonomous vehicles will probably not be programmed to do. Expect to pay $1,000-$2,000 per year for your autonomous vehicle, at least if you own one here.

Worse than money, though, is bad accidents. Potholes in Michigan cost the average person about $500/year with defensive driving, but potholes were so bad one year on a road I drove every day that they caused a wheel to fall off. Only because I had just turned off onto a less-used road was I able to stop safely.

I'd be quite upset if my autonomous vehicle was trying to be legal, and as a result caused a total and possibly risked my life.

Comment Impractical (Score 1) 243

AA batteries are $1 for a four pack at the dollar store. That's 25 cents per battery. Admittedly, these batteries are low end. If you use one of their coupons, Harbor Freight sells their private label AA batteries for about 25 cents when you buy 24.

Let's say that I'm using a 4 AA cell device, my old camping lantern. It has one dollar worth of batteries and $10 worth of these devices. The lantern itself isn't even worth $10. Seems like an awful lot to spend to me, because the $10 investment becomes a permanent part of the lantern. You don't swap it around. For each device you need 2, 4, 6, or 8 of these things.

More logical than buying this product would be using rechargeable batteries, but for me even that is a tough sell because I recycle alkaline batteries.

God is real, unless declared integer.