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


Forgot your password?

Comment Ah Yes (Score 1, Informative) 404

The old "If you're doing nothing wrong you have nothing to fear" argument. Except in the same week, it was demonstrated that if you said things the current administration didn't like, the power of an arm of the government would be brought to bear on you. We have a constitution that ostensibly limits the power of government to prevent just such abuses. In an ideal world we have a rule of law, are protected from government retaliation against the opinions we have and no person (including the executive branch) is above the law. In the world actually have, the safeguards against these things have been subverted and the most egregious offenses against law abiding citizens go unpunished.

So, I suppose, the question is, "What are we going to do about it?"

Comment Another Captain Obvious Thread (Score 1) 90

But really, since it's the UN and Captain Obvious, I really can't resist. Ok, for those of you who grew up with the Justice League, you should read the following in the voice of the announcer who always said stuff like "Meanwhile, back at the Justice League..."

Meanwhile, back at the UN, Captain Obvious finally makes an appearance! He has a lot of work to catch up on! First, he needs to stop by the security council and tell them Mahmoud Ahmadinead and Kim Jong Il seem to be big jerks! He might also say something about Syria, but I'm not certain what! He might also swing by the Japanese and tell them that killing whales for food is bad! Thank you, Captain Obvious! After that, he'll make a speech and mention that monitoring the internet seems to chill free speech! His work done, he returns to the Justice League, where everyone thanks him!

Eeh. I feel like I could have done better, but I want to get to sleep sometime tonight.

Comment Yes Yes (Score 1) 358

Blah blah digital dark age blah blah gay sex. Anything worth preserving is still written in books. Do we really need to preserve every byte of information on the internet for posterity? Most of us dildos just aren't that interesting. I'm pretty sure the future will survive just fine if every cat video on youtube doesn't last to be reviewed by future generations. If every movie for the past couple-three decades went up in smoke, anything of value lost? Really? Granted, I like to imagine some future-NPR blathering on about how that all-digital rendition of Snoop Dog's "All my Bitches" in D minor was one of the greatest works of the era, but it probably wouldn't really be all that funny. The world doesn't need to remember you or me or that guy over there. Hell we can't even learn from our history from few decades ago, much less from some guy who got nailed to a cross a couple thousand years ago (Probably not the one you were thinking of.)

Sure I am sometimes saddened at the thought of the video games of my youth being lost forever, but even if they weren't it wouldn't recapture the joy I felt upon encountering them at the time. Do you think you are more important than that? Think of the current year and then start going back a decade at a time and name one person you know of from that time. How long before you run out of people you know personally? Before you run out of people you have even heard of? I bet most people can't even make it a century. Millions of men fought in the world wars, many of their stories are still recorded. How many people bother to look at even one? My grandfather recounted a story of seeing the first automobiles in his town, how many people even think of a time when they didn't exist, or the time when they were new to the world? Precious few I reckon.

If you want to worry about what history will think of THIS time, perhaps you should be a more careful custodian of previous ones.

Comment Microsoft Can't Port Their Software (Score 0, Troll) 497

They'd be completely lost without the modal dialog box, an invention they must hold the patent to because I've never seen it on any other operating system. Tell their programmers they can't use a modal dialog and the Star Trek fight music would cue up immediately. A couple hours later, the entire city of Redmond would be in flames. Software engineers would attempt to construct post-apocalyptic vehicles to roam the barren cityscape but being software engineers they'd all be destroyed in their first encounter with a Nissan Stanza. The few survivors would have to go on to work at Accenture, giving lectures on why you should pay them six digits to come into your organization and convert all your dev teams to Agile.

Coincidentally this was also to be the plot of Titan. Whoops. Sorry. Gave it away.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

Possible. I wrote a resume generator in it, which stored my resume as a giant list with regularly occurring structures. I wrote some code to break this structure down and output chunks of text encoded within. It was very easy to change the output type to any markup language I cared to write an emitter for. I also wrote a database analyzer which read a database and looked columns with the same name in different tables. It would recursively find all the relationships between one table and another one, with a top bound on recursion so it didn't get out of hand. I didn't really use the language to its fullest, but I am pretty comfortable with how it stores its data, how to build useful lists and how to break lists down to process them.

I go through these phases where I look at LISP and think to myself that it's a wonderfully elegant language and I should try to write something in it. Then I realize I'd have to write all my libraries for sockets and low level machine access myself, which doesn't sound like much fun.

Comment Re: Hah! (Score 1) 91

It's a flavor of kool aid they want you to drink. It's composed od several other very bad flavors, most distinct of which are active record and magic. Active record is also very magic-flavored, which one might find confusing until they figure out what this is all about. If you read about it, it sounds delicious. Once you actually find out how it's made, you might change your mind. And you have to find out how it's made if you actually want to do anything useful with it.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

It tried to be, but it largely failed. People who don't program are't that great at breaking instructions down to that level. Not that they didn't try. There are still billions of lines of craptastic COBOL code out there. The difference in COBOL is that after it's written, trying to read it makes your eyes bleed whether it was written by a fantastic structural programmer or some manager somewhere.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 1) 404

Learning Lisp is really what changed my thinking in this regard. Lisp is another one of those languages where you can store arbitrary objects (more parentheses) in lists. Objects in Lisp don't have a type, they're just lists. If you want to store different types of data in the lists you're storing, you have to write some code to look at the list and figure out what type of data each component of the list is. You can further break those components down, if you're so inclined.

Doing all this really is a huge pain in the ass, kind of like maintaining your own objects in C using structs and pointers to functions. You can do it, but it takes a fair bit of discipline. And most of the programmers I know don't have that kind of discipline.

Comment Re:Do they have tail-recursion or lazy evaluation? (Score 5, Insightful) 404

Optional typing is not highly desirable. Everyone got all starry-eyed when they talked about how object oriented programming would allow you to have a container of objects and you could just put any arbitrary object into the container. Which is a great idea as long as you don't really think about it. Eventually you have to know what kind of object you're holding and you actually to use it to do some real work. The same thing goes for functional programming. Eventually you need to know what kind of data you're operating on, and you actually have to operate on it to do some real work. When the time comes to do some real work, you quickly realize just how much of a mess optional typing makes of your program.

I've looked at a lot of code over the years that pushes the actual work to be done around like a two-year-old pushes peas around a plate. I've gotten to the point where I can read the mind of the programmer through the code he's written. He's thinking "If I push this over here maybe it will magically go away and I won't have to deal with it." Most of the time this is because he doesn't actually understand the business logic behind the code he's writing. He's writing to a series of requirements but he has no understanding of why the requirements exist or how they drive the business. So he tries to keep his code abstract as possible and hopes that no one notices.

Sadly no one has yet written a language that forces you to actually understand the problem domain that you're coding. I'm sure it wouldn't be very popular if anyone ever did. Neither has anyone actually managed to write a language that allows you to write useful code without understanding the problem domain, and no one ever will. Now if someone could write a language that a non-programmer who understands why he needs code written to describe what needs to be done directly to the computer, that might fundamentally change my job description. Given that most of those people obviously can't even express this to another human being (Judging from their requirements docs,) I'm not losing any sleep over it.

What the people who flit from language to language or framework to framework like bees are looking for is a tool that allows them to write code without understanding a problem. Someone who actually understands the problem will always outperform them in any given language. In other words, just because your language has an expressive syntax or any specific feature doesn't mean you can hire chimpanzees to code your application.

Comment No Travel, But Adventure (Score 1) 187

Skydiving every weekend. And maybe some weekdays after work or over lunch. My new year's resolution was to get my skydiving gear together, get to 200 jumps, visit two new dropzones (Maybe Deland or Phoenix in the fall or early winter) and be ready for wingsuit training by next spring. I figure, take a year to get decently proficient at flying a wingsuit and the summer after THAT, travel to Hawaii and spend a week flying a wingsuit over the island.

This all started last year right about this time. I'd worked a fair bit of overtime and in late June my manager told me to take a week worth of comp time. On such short notice I couldn't think of anything to do. I thought maybe drive to Seattle (from Denver) for sushi again, but had just found a decent sushi joint in town and didn't feel like making that trip for only moderately better sushi. If I'd tried to fly somewhere, a ticket on a week's notice would have been brutal. And I didn't want to sit around in my underwear playing video games all week.

A short time earlier a team member had done a tandem jump over at the skydiving center about 10 minutes from my house, so I looked into that. Signed up for AFF ground school and my first jump the Saturday my vacation started and had four jumps in before the week was over. One hundred sixteen jumps in, I'm still going strong and am working toward my C license. At some point along the way I might pick up a coach rating, once I feel like any instruction I could give wouldn't be half-assed.

That's a suitably fun thing to do with a summer, assuming you're sitting on a decently sized pile of cash (figure on about 4000-5000 dollars to get your A license out of the way, depending on how much you feel you can trust Bob's Discount AFF training (Buy one jump, get one free!) and another 3000-4000 for decent second-hand gear (Rig, main and reserve canopies and AAD which will try to deploy your reserve if it detects you're still in freefall below a certain altitude.)

If the idea appeals to you except for the jumping out of an airplane bit, you can try to find a vertical wind tunnel (Google "Indoor Skydiving") near you and look into becoming a tunnel rat. It's less per minute than skydiving (Not much less, but less,) doesn't require a huge gear outlay, lets you fly "any" amount of freefall, and is also a lot of fun. If the nearest tunnel were as close as the nearest dropzone, I'd probably spend more time in the tunnel than I do skydiving (Which I think is what qualifies you for "tunnel rat" status.)

Slashdot Top Deals

"Free markets select for winning solutions." -- Eric S. Raymond