he's such a mental midget that he only managed to be elected to the office twice!
I think that says more about the voters than about him...
Maybe, maybe not. Remember the old observation that it doesn't matter who casts the ballots; what matters is who counts the ballots. And some of the people paid to manage the counting did promise beforehand that they'd deliver the election to Bush and the Republicans.
Of course, this works best if the voters are divided roughly 50:50, which does seem to have been approximately the situation in both elections. It'd have been a lot more difficult if the voters had been divided 60:40.
There's also the wisecrack that Bush clearly won the 2000 election - by a 5:4 margin. It wasn't the first time that an American election was decided by a court.
(And I wonder why we talk of "casting" ballots. Anyone know? That's a rather bizarre metaphor. But a quick google didn't turn up any useful clues.;-)
Someone should tell the insurance companies and medical transcription outfits about that, though. They have no problem spreading our health information all over the goddamn planet.
Well, I was wondering how long it'd be before someone pointed that out.
Fact is that you and I don't own our medical records. The medical corporations do. And they see those records as a marketable resource.
We can talk about our "rights" all we want, but the simple fact is that we don't own our medical records. The records are in the hands of private, (mostly) for-profit companies, and the heads of those companies will decide what will be done with our medical records. And they'll profit from it.
Of course, Steve Jobs, being the head of a somewhat powerful corporation, likely does have some say over his own medical records. But unless he can get a lot more Apple computers into the medical system, he probably doesn't have all that much say in the matter.
Medical computers overwhelmingly run Microsoft software. So it's really Microsoft's management who can decide what's to be done with the medical data. The software could well be uploading all the records right now. By the time the medical organizations realize what's going on, it'll be far too late for them to do much about it.
(What, me paranoid? Hey, check my medical records to find out.)
The Apache setup in Debian and Ubuntu is one of the best around, and I've not had any problems with it - what exactly could you not do with it?
The problems I saw were probably all related to the way that the pieces of apache were spread around the disk. Some things I just couldn't find in a couple of hours.
The most bizarre was that I discovered right off that apache didn't deliver my public_html directory as usual. OK; that's often turned off by default. So where is it? I couldn't find "public_html" in any file associated with apache. I looked at all the matches for "User", but none of them dealt with the problem. Of course, I could have just copied that block from my old machine, but it was sorta unnerving. Sometimes it matters where you put things, and I didn't just want to copy a chunk from a previous version when it was obvious that a number of things had changed.
When I downloaded a fresh apache2 and did a default install into/usr/local/apache, the usual conf/httpd.conf contained the rather obvious line:
Include conf/extra/httpd-userdir.conf So I looked there, and sure enough, it had the code to enable public_html. I removed a few '#' chars, did an "apachectl restart", and it worked. This took me probably between 2 and 3 minutes, a big improvement over the time I'd wasted not finding it in the ubuntu version of apache2.
In my experience, this isn't anything unusual with ubuntu. Most distros do something like this. Rather than install the apache package in one directory, they spread the pieces around. And they don't explain where they put things or why, at least not anywhere that a dummy like me can find the explanation easily. And no two distros seem to put the pieces in the same places. So I've learned to not waste my time; if I run into problems, I just do a full install from the sources. That's simple enough that a dummy like me can do it and get it working in 15 or 20 minutes.
I'm not sure why I wasted 2 hours on the ubuntu apache; at 30 minutes I should have thrown up my hands, done an "apt-get remove apache2", and done a fresh install. I'd have saved 1.5 hours if I'd done that.
I think my mistake was following my usual practice with something totally new, and wanting to give them the benefit of the doubt. Ubuntu seems to have got a lot of things right. Maybe they got apache right, too, and I'd learn something better than what I already knew if I went with their apache config setup. But I finally faced the fact that I was beating my head against a brick wall. So I reverted to my standard fast way.
Now I just have to see if there's a way to get other updates to stop complaining that apache isn't installed. Why, for example, did I get this complaint when I installed Chinese fonts and a midi player? Why would a font package or a midi player have a dependency on apache? Something's screwy here...
Oh, yeah; I forgot about that funny '4'. I do recall wondering why the first release starting with '8' was '8.04'. I surmised that they'd actually had three "internal releases" that weren't ready for prime time. But I guess I was wrong.
Hardy Heron 8.04 is 2008 April. So the even/odd rule doesn't apply. Seems like more people are moving over to time based releases these days...
Hmmm... I hadn't noticed that. Funny thing is that I use dates for version numbers myself. If I had released something today (but I didn't), its version number would have been 20080725. But given the context of an OS release, I didn't recognize 8.04 as a date.
This is probably because I don't think I've ever seen a date in that format. But now it doesn't surprise me. One of the funniest stories I read back in the 1990s, as Y2K approached, was from a guy who wrote about examining several corporations' COBOL code and looking for date formats. When his count reached 185, he decided that he understood why there was a problem. (And apparently it did turn out that around 99% of the actual Y2K problems were in old COBOL code.)
I'd bet that his 185 date formats didn't include "8.04". But I'd only bet a small amount of money, because I've worked with COBOL programmers in the dim, distant past, and I have some idea of the deviousness of their minds.;-)
... KDE developers don't understand release version concept, confuse users with improper 4.0 version number, and gain a reputation for a buggy major release.
But doesn't everyone know that you don't buy a release that ends with ".0"?
More generally, one of the standard rules is that you avoid releases whose bottom digit is even. Those are the releases that contain new stuff. The next release, with the last digit odd, is the one that contains the bug fixes for all the new stuff.
That's why I didn't get KDE 4.0 on my new machine a few weeks ago. In fact, I decided to give Gnome another try, since it's been a few years since I last rejected it in favor of KDE. It seems to work OK now (though I do sorta miss Konqueror).
OTOH, I did install Ubunto 8.0. The Ubuntu crowd seems to have developed a reputation for violating the usual rule that.0 releases are buggy. Still, I held off for a while, to see the first reports. They were almost universally "thumbs up", so I decided to give it a try. It seems to work pretty well.
(Except that, as usual, I gave up after about two hours of trying to get their apache2 configured like I wanted it. I uninstalled it, downloaded the latest apache2,and in about 20 minutes had it compiled and configged. It ran correctly the first try. Why do the linux vendors insist on fscking this up so badly?;-)
Well, yeah, but I also went to the iTunes store. Their buttons are labelled "BUY SONG" and "BUY ALBUM". And most of them do have DRM. If you visit any online music vendor, you'll have a lot of trouble finding even one that uses any word other than "BUY". They never mention DRM or any other restrictions, at least not on their sales page. That's kept well-hidden off in the pages of legalese that most people don't read (and probably couldn't stay awake through if they tried;-).
The point is that the DRM vendors are explicitly telling customers that we "BUY" the music. This is, as others have pointed out, a pure lie when there's DRM involved. The common legal term for this is "consumer fraud". They get away with it because the legal system doesn't care, or is actively supportive of the fraud by enforcing things like DRM, EULAs, etc. against customers who thought they were buying the music.
But publicity of actions like this story might help people understand what's being done to them.
Look at time sports. If it was equal we would expect the fast times in male and female events to be close together. They usually aren't.
Actually, any number of commentators have pointed out that if you look at the best times today and 50 years ago, you'll find that most of the fastest females today easily beat the fastest males of 50 years ago. In some events, you only need to look back 20 years.
This is often used to argue that the time differences today are a measure of either training or drugs (or both). It does sorta make you wonder whether there would be a difference if there weren't social forces acting against the training (or drugging;-) of female athletes.
It's sorta difficult to design a scientific method of measuring this. And the same problem exists with math ability, where anyone with half a brain can see the obvious social pressures against female training.
There is evidence that boys and girls learn better in different sorts of environments.
The problem with such a claim is that, even if it's true in bulk, it misses the fact that the variance within each sex is greater than the variance between the sexes.
It's a lot like claiming that human males are taller than human females. Yes, on average, but the variance in either sex is greater than the difference in their means. It's quite easy to find specific male/female pairs for which the female is taller than the male.
You don't "solve" such problems by separating the sexes. That just gives you classrooms in which a few aggressive males dominate their male peers, and other classrooms where a few aggressive females dominate their female peers. You're a lot better off segregating them by their aggressiveness towards learning, putting like-minded students together.
As the undisputed top math geek in my high school, my two main competitors for the title were both female. And they were both the aggressive, argumentative sorts who could easily intimidate most of the guys with their superior math ability. Yeah, they violated the stereotype of the quiet female who's submissive to nearby males. I liked them a lot. So much for that other stereotype about how a female attracts a male.
Some years later, I find myself married to a woman who likes to tell people that her first official job title was "computer". Back in the 1970s, her first job was as the math wizard for a civil engineering firm. A few years later, they did get some of those new electronic computers, but by then, she was off doing a different job in a different state.
(Now she's a data analyst for a medical company, and spends a lot of her time working with medical statistics. She knows a lot more statistics than I do. But then, I like to observe that statistics isn't of much use for most software guys. We have a technical term for software that exhibits statistical behavior: buggy.;-))
That's why I pirate all my music, it avoids problems like this.
... You don't hold a right to listen to music just because it exists.
Well, maybe. But consider that there's some obvious fraud going on nearly everywhere. For example, I just went to amazon.com and looked up some of their MP3 music. I note that there are buttons that say "Buy MP3". The buttons don't say "Rent MP3". They're telling me that if I push the button, I'll be "buying" the music file.
Now others have pointed out that DRM'd files should be considered "rented" or "leased", not "bought". If you buy something, that normally means that you have the right to use it for the rest of your life (and maybe even bequeath it to someone else after you die). You can legally give it away to a friend, perhaps as a birthday or wedding present.
But you can't legally do any of these things with DRM'd files, despite the fact that the sellers always say that you're "buying" the files. The DRM means that they can take away your right to use the files at any time. It also means that you can't legally give them to someone else. Hell, you can't even move them to a new computer that you own, without getting their permission, and they don't have to give you permission. If they go out of business or stop selling that kind of file, they can pull all your permissions.
This isn't "buying". It's at most a sort of "lease" that gives you none of the usual ownership rights that the word "buy" usually implies. Once you've bought something, a "seller" usually can't legally take it back from you. That usually only comes with a rent/lease agreement.
I'll be a bit more sympathetic to the pro-DRM arguments when I see vendors stop using the word "buy", and replace it with something like "rent" or "lease". But I don't expect to see such honesty from the sellers (who aren't actually "selling" the goods) any time soon.
"Bob Jones, while working for Microsoft, developed new technology. And then the evil corporation STOLE IT FROM HIM WITH EMPLOYEE AGREEMENTS!!!!"
Yeah; that's probably how/. folks would react. But more likely we'd never hear the details. MS, like most corporations, is usually careful to bury the details of employee contributions so that outsiders can't learn the details.
Thus, I've usually found that if I put my name inside comments in code that I write, when I check it in, my name almost always gets stripped out. If I question it, it's made clear that it's "policy", and there ain't nothing I'm gonna do about it. So my name is even masked from most corporate insiders. Only the ones that know my login ids and knows how to use the code archive can find out what I contributed.
For a funny non-MS example, there was the case a couple of years back when Sun had stripped all the attributions out of the source to a lot of open-source software that they were distributing. When people found out about this, the shit really hit the fan. The FOSS crowd didn't object to Sun distributing their code, of course. But stripping out the attributions from the source was unforgivable. Of course, Sun was just following the usual corporate code-checkin practice when they did this. But a lot of people still remember this gaffe, and Sun has never quite recovered the good will they had in the FOSS developer community.
And, of course, a similar principle applies in most scientific fields. Copying someone else's words isn't wrong; in fact it's usually strongly approved. What's wrong is copying someone else's words without attribution. That's called "plagiarism", and is one of the cardinal sins of scientific writing.
But in corporate (and political;-) settings, it's the norm.
Microsoft has, for the very first time, invented something useful.
Heh. My first thought was similar, but was more like: OK, who really invented it, and how much did Microsoft pay them for the rights? In the past, whenever I've looked into the details of any "Microsoft invents" stories, this has been the actual story. Not that I've done this for every such story, but after a while you start to notice a pattern.
So what's the real story here? Was this actually done in a Microsoft lab by a Microsoft employee? Or was it like Microsoft products like the original DOS, the work of another developer, from which Microsoft bought the rights?
(You would think that after all these years, and all the billions of dollars profit, they would be developing some new things on their own by now, if only by accident. Big corporations do that sometimes. And it usually really is by accident.;-)
The obvious time to lift the NDA would have been the release of the iPhone 3G, but it seems it's still in effect. That's a pretty major oversight if it's a mistake. If it's not a mistake.... erm.... what the hell are they thinking?!?
Well, I've generally assumed that what they're thinking is that they don't want people like me to develop software for their stuff. Occam's Razor and all, that seems like the obvious explanation. If there's another explanation, I wouldn't mind reading it.
Back in the pre-OSX days, I never paid much attention to Macs, because I was interested in computers, and the Mac wasn't really a computer (although it contained one). A computer is defined as a machine that's programmable. The Mac was an appliance, with "no user-servicable parts". Programming had to be done on another machine with some expensive software development packages and copied over to the Mac.
Then they came out with OSX, and there were widespread suggestions in the software developer community that we should get one and get familiar with it. It had a lot of good ideas, and really, linux and solaris could use a bit of competition. So I got a Mac. It's been fun in some ways, but more and more I find it an appliance that's only minimally a computer. I have lots of software that I had working 5 or 10 years ago on linux, *BSD and solaris, but still doesn't work quite right on OSX. The docs aren't very good at all, and when I ask on the Apple forums, I mostly get a lot of "It Just Works" feel-good PR-like replies. Very friendly, but without the answers to my "How exactly does it work?" type questions.
Not that I feel any animosity towards Apple. It's more like, as a software developer, I'm not the sort of person that they're interested in. We're a small market, most people don't write software, they don't make money from my software, and they're happier not having to worry about customers making support calls about my stuff. I'm actually typing this on a Mac Powerbook, in a Firefox window. There's none of my stuff showing on the screen, due to the fact that writing even the simplest GUI stuff is like swimming in molasses. I do have a lot of little scripts and CLI tools that make my life easier, of course, but I doubt if I'll ever write a real "app" for OSX.
This could change, if they'd make the GUI stuff more open, but stories like this one imply that they're moving in the other direction. But I'm having fun playing with my new Ubuntu system. Everything there does "Just Work" (except for using CUPS to use the printer on my Mac's Airport Extreme;-). So it's more likely that, if you want to program a portable phone-like gadget, you'll find the linux-based phones a lot more amenable to real software development. They even encourage you to discuss problems with friends, share code, and all that.
We just have to do something about the lockdowns that the phone companies keep sneaking in.
You just got bit by what's being called "Muphry's Law. Briefly, it says that any time you write a criticism of someone's spelling or grammar, what you write will inevitably contain a spelling or grammatical error.
The law has had other names, but people seem to like the idea of giving it a name that's a mispelling of the famous Murphy's Law.
Hear! Hear!... It is better to be consistent and wrong than to be inconsistent.
Heh. I did work on one project where the style rules included one saying that all if commands had to have an else clause. This was in a language which, unlike C and perl, else clauses had to have at least one instruction. And the compiler was clever enough to produce a warning for simple instructions whose results weren't used. There were a lot of routines with a dummy global variable that was set to some random value in an else clause. Some programmers got quite clever in their ways to do nothing.
Even more fun, the checkin code spotted ifs of the form "if (v = expr)" and quietly changed it to "if (v == expr)".
The management wanted to protect us from common coding mistakes.
For instance, I develop a lot of web pages, mostly by writing code that generates the pages, but also by typing HTML myself. Big deal, you say; that puts me in the same class as N million other people.
Yeah, but I'm one of those that want their web sites to work for as many people as possible. So I have lots of browsers installed for testing. And, since 40% of my visitors are going to have "obsolete" browsers, if I have any sense at all, I'm going to test against some of the more common of them.
I'm typing this on my Mac, which Apple probably considers not up to date. It's a 5-year old Powerbook running OSX 10.4.11. Not only have I not upgraded to Tiger; the dozen or so browsers installed here include some that are intentionally old releases. This includes the IE5 that came with the machine, and also a late Netscape (RIP) release. I also have lynx installed on several machines, which is important if among other things you're working on sites that are accessible to the blind.
I wonder what fraction of the browser traffic is from conscientious web developers who test against a lot of browsers? I wonder if anyone has tackled the problem of distinguishing such visits from others?
Then, of course, there's the growing body of software that pretends to be a browser so that web sites won't just blow them off. "Web scraping" is a growing business, and most of the people doing it know quite well why their software has to impersonate a browser. But this usually just entails finding a UserID string that web sites accept; there's no real reason to keep your UserID string up to date. Is there any data on how much web traffic is of this type?
If the architects want to change to K&R or something else next release, fine - do it, just as long as everyone complies. Rogue developers can be a real PITA when it comes to this.
Well, I'd say that's not the right approach. If management wants coding style Foo, they shouldn't waste programmer time with it. It's a job for the computer. Just make the checkin command run the code through a formatter that converts to style Foo. And, to keep your "rogue" programmers happy, include the usual formatters that can convert to their favorite styles. That way, the programmers can get a compact, efficient style if they want it, while others can see the styles that they like.
But trying to get programmers to agree on a style is just a waste of everyone's time. That's the sort of jobs that's much better done by a computer. Then your programmers can spend their time doing something productive, rather than throwing away their time on dumb formatting tasks.
There's no shortage of code-formatting programs. And many of them are open source, so if your official style is unusual, you can add add its features to your formatters.
And exceeding the 80-column mark is plain WRONG. To have something hidden past the 80 column mark is dangerous. Don't do that.
Actually, the code shouldn't go past column 72. Columns 73-80 are used for the sequence numbers, for when you accidentally drop the card deck and need to sort it. Everyone with any experience knows that.
Youngsters these days with no experience; Jeez....
Of course if you get paid by lines of code things might be different...;)
I think you've hit onto something there. After all, counting lines of code is obviously silly. Do you really think it's a Good Thing if programmers are rewarded for increasing their line count? I can always make any piece of code take more lines. Nonetheless, nearly everything you can find about the "size" of software uses lines of code as the unit.
So it's not surprising that programmers (and their employers) would find excuses for increasing the line count. Putting braces on separate lines is a very easy way of increasing your line count without adding any value whatsoever to the code. Blank lines are even easier, at one keystroke per. Programmers are rewarded for doing this, so of course most of them will advocate it.
My other theory has been that the manufacturers of computer displays are also behind the "maximize line count" programming styles. A programmer can really only work with the code that can be fit onto the screen. If you encourage space-wasting coding styles, then obviously the programmers are going to need larger screens. If you can sucker programmers' employers into enforcing every-brace-on-a-separate-line styles, you have successfully sold them larger, more expensive displays.
I've long known that I can work fastest with compact coding styles. The reason is trivial: The more code I can fit onto the screen, the less wasted time I have scrolling around. Of course, I also need several windows for the output of test runs, and I'm most productive if those windows are as large as possible. And I always want the largest (most pixels) display I can get.
But it's been very clear to me on any number of projects that the managers aren't really concerned with maximizing my speed and efficiency. If they were, they'd never approve the sparse coding styles that they always seem to prefer.
(Actually, what I'm looking for is some valid time-and-motion studies of such things. All we're reading here is really untested BS, really. The few so-called studies have either had samples sizes so small as to be meaningless, or they don't even bother mentioning the sample sizes. Where's the data with error bars and levels of significance that will persuade me that people are doing anything other than pushing personal artistic preferences?;-)
One place I was in did try to come up with a coding standard, but it was abandoned as nobody could actually agree on much other than 'don't fuck it up'.
But you've missed something important in the discussion: Coding standards are rarely if ever produced by the agreement of the programmers. They are almost always decreed by managers who don't do the coding. When there's an official coding standard, it's not "Do you agree with this?" It's usually "These are the rules, and you will follow them."
Of course, most of the other people here seem to have missed that, too. Most of the messages so far have been people saying "I like this format, therefore everyone should use it." But in most organizations, you only get to say that if you're at a managerial level with power over the programmers. If a mere programmer says such things, the only result will be that other will reply with their favorite style (which everyone else should use). And that doesn't lead to any agreed-upon rules, except in the statistically unlikely case that every programmer likes the same format.
I was always under the impression that whatever the coder groks best is the most efficient style. People think differently and thus prefer different code styles.
I've worked on a few projects where we were provided with a batch of formatting programs. There was an official "archive" style, and a formatter that converted any code to that style. But every programmer could easily convert code to their preferred style.
This made the management happy, because all the archived code was in the official style. Also, when management decided to change the official style (which sometimes happens every few months if managers have too much time on their hands), it's fairly easy to write a script to reformat everything in the archives. And it prevents programmers from wasting their time dealing with the usual criticism from a manager that they didn't format one line correctly in some bug fix.
The only real problem is that sometimes the "pretty print" formatters will make changes that affect the meaning of the code. This is pretty obvious with languages like python, where line terminators have syntactic significance. I've also seen it happen in C, where a formatter doesn't quite handle the fact that line terminators are significant in lines that start with '#'.
There's also a generic problem that a lot of us like to put comments to the right of code, and most formatters destroy the alignment of such comments. Of course, this doesn't much bother the programmers who never read the comments.
A friend just showed me the programming style guidelines that had been handed down to his development group from on high. It included the common "terminal braces on a separate line" rule.
The fun part was that his group is doing almost all their work in python.
He wondered how long it'll be before his group is criticised for blatantly violating this style rule? (If he tells me, maybe I'll report it here.;-)
Given the BSA's other questionable activities, it couldn't hurt to tell their member companies what you think of their participation.
Huh? It certainly could hurt. If you tell the member companies what you think of the BSA's actions, the only likely result is that you'll be added to their list of suspects. You can then expect a letter from their lawyer if someone with a name or IP address similar to yours ever uses a P2P program (perhaps to download the latest linux ISOs;-).
You should be telling the appropriate legislators in your country and state what you think of it all. That's much more likely to have results that favor us "consumers". Remind them that the BSA have a bit of a history of suing grannies and children, often people who don't even use the Internet. The story of Prof Peter Usher's run-in with the RIAA is a good one to mention, to illustrate the extremes that the recording industry is going to catch "infringers".
I wonder if someone has a good collection of such stories online. It'd be a useful reference to send to legislators when "IP" bills are coming up for a vote.
All of this whole FOSS thing entails a lot of trust. I mean, you're really telling me that everyone on here whining about the need to see the source code has read every line of code in every OS they're using?
No, but given the "number of eyes", it's usually not necessary that every person has read every line of code. If a set of N people have read the relevant code and understand it, that's often sufficient to solve a problem.
I ran across an example just a few days ago. The details aren't too important here; the critical point is that I and others were getting an error message didn't agree with what we could see clearly. A bit of detail: CUPS sometimes reports that a printer is permanently "busy", when you can tell by just looking at the printer that it's idle. I googled the message, several of the first hits were pointers to the source code, and the message was in a block that started:
The definitions of those error codes are easy to find, and none of them includes the concept of "busy". So the error message is bogus and misleading; the actual error was some sort of failure to connect to the IP address used. At this point, the search becomes tricky, because the error message doesn't report the actual error code. Someone needs to hunt down and understand all the places in the code where any three of those error codes is generated.
But note that an important part of the answer has been determined from just this code fragment: The error message is wrong. The printer isn't known by the software to be "busy". The actual problem is failure to get a TCP connection. And it's highly likely that various people in the collection of hackers will know what to do to diagnose all of the three possibilities. Without access to the source code, we would know none of this. We'd be blocked at the error message claiming that the printer is busy, and we'd have no further clues.
Also, since the code is "free" (as in freedom), there's a good chance that down the road we can replace the current bogus error message with something that does a better job of informing the user about the actual problem. Without the freedom to modify the source code, we'd be dependent on a vendor's good will. And, since this problem arises in trying to deal with equipment from a different vendor, chances are that the vendor would give it very low priority.
And look up RMS's story of how he started on the road to the "software freedom" concept. It was dealing with problems he was having with a printer that didn't play nice with his computer. This problem is still with us. All too often, such problems can't be solved without access to the source code. It's quite common to see error messages that don't include significant information. In this case, the actual error code wasn't reported, making diagnosis very difficult for novice and expert alike. With proprietary code, there's little that a user can do. With FOSS, we stand a chance of improving the error messages regardless of the level of interest of the vendor.
(But this was only a few days ago. That printer still isn't working with that one computer, but does work with a different computer in the same room.;-)
Maybe, maybe not. Remember the old observation that it doesn't matter who casts the ballots; what matters is who counts the ballots. And some of the people paid to manage the counting did promise beforehand that they'd deliver the election to Bush and the Republicans.
Of course, this works best if the voters are divided roughly 50:50, which does seem to have been approximately the situation in both elections. It'd have been a lot more difficult if the voters had been divided 60:40.
There's also the wisecrack that Bush clearly won the 2000 election - by a 5:4 margin. It wasn't the first time that an American election was decided by a court.
(And I wonder why we talk of "casting" ballots. Anyone know? That's a rather bizarre metaphor. But a quick google didn't turn up any useful clues. ;-)
Someone should tell the insurance companies and medical transcription outfits about that, though. They have no problem spreading our health information all over the goddamn planet.
Well, I was wondering how long it'd be before someone pointed that out.
Fact is that you and I don't own our medical records. The medical corporations do. And they see those records as a marketable resource.
We can talk about our "rights" all we want, but the simple fact is that we don't own our medical records. The records are in the hands of private, (mostly) for-profit companies, and the heads of those companies will decide what will be done with our medical records. And they'll profit from it.
Of course, Steve Jobs, being the head of a somewhat powerful corporation, likely does have some say over his own medical records. But unless he can get a lot more Apple computers into the medical system, he probably doesn't have all that much say in the matter.
Medical computers overwhelmingly run Microsoft software. So it's really Microsoft's management who can decide what's to be done with the medical data. The software could well be uploading all the records right now. By the time the medical organizations realize what's going on, it'll be far too late for them to do much about it.
(What, me paranoid? Hey, check my medical records to find out.)
The Apache setup in Debian and Ubuntu is one of the best around, and I've not had any problems with it - what exactly could you not do with it?
The problems I saw were probably all related to the way that the pieces of apache were spread around the disk. Some things I just couldn't find in a couple of hours.
The most bizarre was that I discovered right off that apache didn't deliver my public_html directory as usual. OK; that's often turned off by default. So where is it? I couldn't find "public_html" in any file associated with apache. I looked at all the matches for "User", but none of them dealt with the problem. Of course, I could have just copied that block from my old machine, but it was sorta unnerving. Sometimes it matters where you put things, and I didn't just want to copy a chunk from a previous version when it was obvious that a number of things had changed.
When I downloaded a fresh apache2 and did a default install into /usr/local/apache, the usual conf/httpd.conf contained the rather obvious line:
Include conf/extra/httpd-userdir.conf
So I looked there, and sure enough, it had the code to enable public_html. I removed a few '#' chars, did an "apachectl restart", and it worked. This took me probably between 2 and 3 minutes, a big improvement over the time I'd wasted not finding it in the ubuntu version of apache2.
In my experience, this isn't anything unusual with ubuntu. Most distros do something like this. Rather than install the apache package in one directory, they spread the pieces around. And they don't explain where they put things or why, at least not anywhere that a dummy like me can find the explanation easily. And no two distros seem to put the pieces in the same places. So I've learned to not waste my time; if I run into problems, I just do a full install from the sources. That's simple enough that a dummy like me can do it and get it working in 15 or 20 minutes.
I'm not sure why I wasted 2 hours on the ubuntu apache; at 30 minutes I should have thrown up my hands, done an "apt-get remove apache2", and done a fresh install. I'd have saved 1.5 hours if I'd done that.
I think my mistake was following my usual practice with something totally new, and wanting to give them the benefit of the doubt. Ubuntu seems to have got a lot of things right. Maybe they got apache right, too, and I'd learn something better than what I already knew if I went with their apache config setup. But I finally faced the fact that I was beating my head against a brick wall. So I reverted to my standard fast way.
Now I just have to see if there's a way to get other updates to stop complaining that apache isn't installed. Why, for example, did I get this complaint when I installed Chinese fonts and a midi player? Why would a font package or a midi player have a dependency on apache? Something's screwy here ...
Oh, yeah; I forgot about that funny '4'. I do recall wondering why the first release starting with '8' was '8.04'. I surmised that they'd actually had three "internal releases" that weren't ready for prime time. But I guess I was wrong.
Computer people often count funny.
Hardy Heron 8.04 is 2008 April. So the even/odd rule doesn't apply. Seems like more people are moving over to time based releases these days ...
Hmmm ... I hadn't noticed that. Funny thing is that I use dates for version numbers myself. If I had released something today (but I didn't), its version number would have been 20080725. But given the context of an OS release, I didn't recognize 8.04 as a date.
This is probably because I don't think I've ever seen a date in that format. But now it doesn't surprise me. One of the funniest stories I read back in the 1990s, as Y2K approached, was from a guy who wrote about examining several corporations' COBOL code and looking for date formats. When his count reached 185, he decided that he understood why there was a problem. (And apparently it did turn out that around 99% of the actual Y2K problems were in old COBOL code.)
I'd bet that his 185 date formats didn't include "8.04". But I'd only bet a small amount of money, because I've worked with COBOL programmers in the dim, distant past, and I have some idea of the deviousness of their minds. ;-)
... KDE developers don't understand release version concept, confuse users with improper 4.0 version number, and gain a reputation for a buggy major release.
But doesn't everyone know that you don't buy a release that ends with ".0"?
More generally, one of the standard rules is that you avoid releases whose bottom digit is even. Those are the releases that contain new stuff. The next release, with the last digit odd, is the one that contains the bug fixes for all the new stuff.
That's why I didn't get KDE 4.0 on my new machine a few weeks ago. In fact, I decided to give Gnome another try, since it's been a few years since I last rejected it in favor of KDE. It seems to work OK now (though I do sorta miss Konqueror).
OTOH, I did install Ubunto 8.0. The Ubuntu crowd seems to have developed a reputation for violating the usual rule that .0 releases are buggy. Still, I held off for a while, to see the first reports. They were almost universally "thumbs up", so I decided to give it a try. It seems to work pretty well.
(Except that, as usual, I gave up after about two hours of trying to get their apache2 configured like I wanted it. I uninstalled it, downloaded the latest apache2,and in about 20 minutes had it compiled and configged. It ran correctly the first try. Why do the linux vendors insist on fscking this up so badly? ;-)
Well, yeah, but I also went to the iTunes store. Their buttons are labelled "BUY SONG" and "BUY ALBUM". And most of them do have DRM. If you visit any online music vendor, you'll have a lot of trouble finding even one that uses any word other than "BUY". They never mention DRM or any other restrictions, at least not on their sales page. That's kept well-hidden off in the pages of legalese that most people don't read (and probably couldn't stay awake through if they tried ;-).
The point is that the DRM vendors are explicitly telling customers that we "BUY" the music. This is, as others have pointed out, a pure lie when there's DRM involved. The common legal term for this is "consumer fraud". They get away with it because the legal system doesn't care, or is actively supportive of the fraud by enforcing things like DRM, EULAs, etc. against customers who thought they were buying the music.
But publicity of actions like this story might help people understand what's being done to them.
Look at time sports. If it was equal we would expect the fast times in male and female events to be close together. They usually aren't.
Actually, any number of commentators have pointed out that if you look at the best times today and 50 years ago, you'll find that most of the fastest females today easily beat the fastest males of 50 years ago. In some events, you only need to look back 20 years.
This is often used to argue that the time differences today are a measure of either training or drugs (or both). It does sorta make you wonder whether there would be a difference if there weren't social forces acting against the training (or drugging ;-) of female athletes.
It's sorta difficult to design a scientific method of measuring this. And the same problem exists with math ability, where anyone with half a brain can see the obvious social pressures against female training.
There is evidence that boys and girls learn better in different sorts of environments.
The problem with such a claim is that, even if it's true in bulk, it misses the fact that the variance within each sex is greater than the variance between the sexes.
It's a lot like claiming that human males are taller than human females. Yes, on average, but the variance in either sex is greater than the difference in their means. It's quite easy to find specific male/female pairs for which the female is taller than the male.
You don't "solve" such problems by separating the sexes. That just gives you classrooms in which a few aggressive males dominate their male peers, and other classrooms where a few aggressive females dominate their female peers. You're a lot better off segregating them by their aggressiveness towards learning, putting like-minded students together.
As the undisputed top math geek in my high school, my two main competitors for the title were both female. And they were both the aggressive, argumentative sorts who could easily intimidate most of the guys with their superior math ability. Yeah, they violated the stereotype of the quiet female who's submissive to nearby males. I liked them a lot. So much for that other stereotype about how a female attracts a male.
Some years later, I find myself married to a woman who likes to tell people that her first official job title was "computer". Back in the 1970s, her first job was as the math wizard for a civil engineering firm. A few years later, they did get some of those new electronic computers, but by then, she was off doing a different job in a different state.
(Now she's a data analyst for a medical company, and spends a lot of her time working with medical statistics. She knows a lot more statistics than I do. But then, I like to observe that statistics isn't of much use for most software guys. We have a technical term for software that exhibits statistical behavior: buggy. ;-))
Well, maybe. But consider that there's some obvious fraud going on nearly everywhere. For example, I just went to amazon.com and looked up some of their MP3 music. I note that there are buttons that say "Buy MP3". The buttons don't say "Rent MP3". They're telling me that if I push the button, I'll be "buying" the music file.
Now others have pointed out that DRM'd files should be considered "rented" or "leased", not "bought". If you buy something, that normally means that you have the right to use it for the rest of your life (and maybe even bequeath it to someone else after you die). You can legally give it away to a friend, perhaps as a birthday or wedding present.
But you can't legally do any of these things with DRM'd files, despite the fact that the sellers always say that you're "buying" the files. The DRM means that they can take away your right to use the files at any time. It also means that you can't legally give them to someone else. Hell, you can't even move them to a new computer that you own, without getting their permission, and they don't have to give you permission. If they go out of business or stop selling that kind of file, they can pull all your permissions.
This isn't "buying". It's at most a sort of "lease" that gives you none of the usual ownership rights that the word "buy" usually implies. Once you've bought something, a "seller" usually can't legally take it back from you. That usually only comes with a rent/lease agreement.
I'll be a bit more sympathetic to the pro-DRM arguments when I see vendors stop using the word "buy", and replace it with something like "rent" or "lease". But I don't expect to see such honesty from the sellers (who aren't actually "selling" the goods) any time soon.
"Bob Jones, while working for Microsoft, developed new technology. And then the evil corporation STOLE IT FROM HIM WITH EMPLOYEE AGREEMENTS!!!!"
Yeah; that's probably how /. folks would react. But more likely we'd never hear the details. MS, like most corporations, is usually careful to bury the details of employee contributions so that outsiders can't learn the details.
Thus, I've usually found that if I put my name inside comments in code that I write, when I check it in, my name almost always gets stripped out. If I question it, it's made clear that it's "policy", and there ain't nothing I'm gonna do about it. So my name is even masked from most corporate insiders. Only the ones that know my login ids and knows how to use the code archive can find out what I contributed.
For a funny non-MS example, there was the case a couple of years back when Sun had stripped all the attributions out of the source to a lot of open-source software that they were distributing. When people found out about this, the shit really hit the fan. The FOSS crowd didn't object to Sun distributing their code, of course. But stripping out the attributions from the source was unforgivable. Of course, Sun was just following the usual corporate code-checkin practice when they did this. But a lot of people still remember this gaffe, and Sun has never quite recovered the good will they had in the FOSS developer community.
And, of course, a similar principle applies in most scientific fields. Copying someone else's words isn't wrong; in fact it's usually strongly approved. What's wrong is copying someone else's words without attribution. That's called "plagiarism", and is one of the cardinal sins of scientific writing.
But in corporate (and political ;-) settings, it's the norm.
Microsoft has, for the very first time, invented something useful.
Heh. My first thought was similar, but was more like: OK, who really invented it, and how much did Microsoft pay them for the rights? In the past, whenever I've looked into the details of any "Microsoft invents" stories, this has been the actual story. Not that I've done this for every such story, but after a while you start to notice a pattern.
So what's the real story here? Was this actually done in a Microsoft lab by a Microsoft employee? Or was it like Microsoft products like the original DOS, the work of another developer, from which Microsoft bought the rights?
(You would think that after all these years, and all the billions of dollars profit, they would be developing some new things on their own by now, if only by accident. Big corporations do that sometimes. And it usually really is by accident. ;-)
The obvious time to lift the NDA would have been the release of the iPhone 3G, but it seems it's still in effect. That's a pretty major oversight if it's a mistake. If it's not a mistake .... erm .... what the hell are they thinking?!?
Well, I've generally assumed that what they're thinking is that they don't want people like me to develop software for their stuff. Occam's Razor and all, that seems like the obvious explanation. If there's another explanation, I wouldn't mind reading it.
Back in the pre-OSX days, I never paid much attention to Macs, because I was interested in computers, and the Mac wasn't really a computer (although it contained one). A computer is defined as a machine that's programmable. The Mac was an appliance, with "no user-servicable parts". Programming had to be done on another machine with some expensive software development packages and copied over to the Mac.
Then they came out with OSX, and there were widespread suggestions in the software developer community that we should get one and get familiar with it. It had a lot of good ideas, and really, linux and solaris could use a bit of competition. So I got a Mac. It's been fun in some ways, but more and more I find it an appliance that's only minimally a computer. I have lots of software that I had working 5 or 10 years ago on linux, *BSD and solaris, but still doesn't work quite right on OSX. The docs aren't very good at all, and when I ask on the Apple forums, I mostly get a lot of "It Just Works" feel-good PR-like replies. Very friendly, but without the answers to my "How exactly does it work?" type questions.
Not that I feel any animosity towards Apple. It's more like, as a software developer, I'm not the sort of person that they're interested in. We're a small market, most people don't write software, they don't make money from my software, and they're happier not having to worry about customers making support calls about my stuff. I'm actually typing this on a Mac Powerbook, in a Firefox window. There's none of my stuff showing on the screen, due to the fact that writing even the simplest GUI stuff is like swimming in molasses. I do have a lot of little scripts and CLI tools that make my life easier, of course, but I doubt if I'll ever write a real "app" for OSX.
This could change, if they'd make the GUI stuff more open, but stories like this one imply that they're moving in the other direction. But I'm having fun playing with my new Ubuntu system. Everything there does "Just Work" (except for using CUPS to use the printer on my Mac's Airport Extreme ;-). So it's more likely that, if you want to program a portable phone-like gadget, you'll find the linux-based phones a lot more amenable to real software development. They even encourage you to discuss problems with friends, share code, and all that.
We just have to do something about the lockdowns that the phone companies keep sneaking in.
You just got bit by what's being called "Muphry's Law. Briefly, it says that any time you write a criticism of someone's spelling or grammar, what you write will inevitably contain a spelling or grammatical error.
The law has had other names, but people seem to like the idea of giving it a name that's a mispelling of the famous Murphy's Law.
(And note my two mispellings in this post. ;-)
Hear! Hear! ... It is better to be consistent and wrong than to be inconsistent.
Heh. I did work on one project where the style rules included one saying that all if commands had to have an else clause. This was in a language which, unlike C and perl, else clauses had to have at least one instruction. And the compiler was clever enough to produce a warning for simple instructions whose results weren't used. There were a lot of routines with a dummy global variable that was set to some random value in an else clause. Some programmers got quite clever in their ways to do nothing.
Even more fun, the checkin code spotted ifs of the form "if (v = expr)" and quietly changed it to "if (v == expr)".
The management wanted to protect us from common coding mistakes.
For instance, I develop a lot of web pages, mostly by writing code that generates the pages, but also by typing HTML myself. Big deal, you say; that puts me in the same class as N million other people.
Yeah, but I'm one of those that want their web sites to work for as many people as possible. So I have lots of browsers installed for testing. And, since 40% of my visitors are going to have "obsolete" browsers, if I have any sense at all, I'm going to test against some of the more common of them.
I'm typing this on my Mac, which Apple probably considers not up to date. It's a 5-year old Powerbook running OSX 10.4.11. Not only have I not upgraded to Tiger; the dozen or so browsers installed here include some that are intentionally old releases. This includes the IE5 that came with the machine, and also a late Netscape (RIP) release. I also have lynx installed on several machines, which is important if among other things you're working on sites that are accessible to the blind.
I wonder what fraction of the browser traffic is from conscientious web developers who test against a lot of browsers? I wonder if anyone has tackled the problem of distinguishing such visits from others?
Then, of course, there's the growing body of software that pretends to be a browser so that web sites won't just blow them off. "Web scraping" is a growing business, and most of the people doing it know quite well why their software has to impersonate a browser. But this usually just entails finding a UserID string that web sites accept; there's no real reason to keep your UserID string up to date. Is there any data on how much web traffic is of this type?
If the architects want to change to K&R or something else next release, fine - do it, just as long as everyone complies. Rogue developers can be a real PITA when it comes to this.
Well, I'd say that's not the right approach. If management wants coding style Foo, they shouldn't waste programmer time with it. It's a job for the computer. Just make the checkin command run the code through a formatter that converts to style Foo. And, to keep your "rogue" programmers happy, include the usual formatters that can convert to their favorite styles. That way, the programmers can get a compact, efficient style if they want it, while others can see the styles that they like.
But trying to get programmers to agree on a style is just a waste of everyone's time. That's the sort of jobs that's much better done by a computer. Then your programmers can spend their time doing something productive, rather than throwing away their time on dumb formatting tasks.
There's no shortage of code-formatting programs. And many of them are open source, so if your official style is unusual, you can add add its features to your formatters.
And exceeding the 80-column mark is plain WRONG. To have something hidden past the 80 column mark is dangerous. Don't do that.
Actually, the code shouldn't go past column 72. Columns 73-80 are used for the sequence numbers, for when you accidentally drop the card deck and need to sort it. Everyone with any experience knows that.
Youngsters these days with no experience; Jeez ....
Of course if you get paid by lines of code things might be different... ;)
I think you've hit onto something there. After all, counting lines of code is obviously silly. Do you really think it's a Good Thing if programmers are rewarded for increasing their line count? I can always make any piece of code take more lines. Nonetheless, nearly everything you can find about the "size" of software uses lines of code as the unit.
So it's not surprising that programmers (and their employers) would find excuses for increasing the line count. Putting braces on separate lines is a very easy way of increasing your line count without adding any value whatsoever to the code. Blank lines are even easier, at one keystroke per. Programmers are rewarded for doing this, so of course most of them will advocate it.
My other theory has been that the manufacturers of computer displays are also behind the "maximize line count" programming styles. A programmer can really only work with the code that can be fit onto the screen. If you encourage space-wasting coding styles, then obviously the programmers are going to need larger screens. If you can sucker programmers' employers into enforcing every-brace-on-a-separate-line styles, you have successfully sold them larger, more expensive displays.
I've long known that I can work fastest with compact coding styles. The reason is trivial: The more code I can fit onto the screen, the less wasted time I have scrolling around. Of course, I also need several windows for the output of test runs, and I'm most productive if those windows are as large as possible. And I always want the largest (most pixels) display I can get.
But it's been very clear to me on any number of projects that the managers aren't really concerned with maximizing my speed and efficiency. If they were, they'd never approve the sparse coding styles that they always seem to prefer.
(Actually, what I'm looking for is some valid time-and-motion studies of such things. All we're reading here is really untested BS, really. The few so-called studies have either had samples sizes so small as to be meaningless, or they don't even bother mentioning the sample sizes. Where's the data with error bars and levels of significance that will persuade me that people are doing anything other than pushing personal artistic preferences? ;-)
One place I was in did try to come up with a coding standard, but it was abandoned as nobody could actually agree on much other than 'don't fuck it up'.
But you've missed something important in the discussion: Coding standards are rarely if ever produced by the agreement of the programmers. They are almost always decreed by managers who don't do the coding. When there's an official coding standard, it's not "Do you agree with this?" It's usually "These are the rules, and you will follow them."
Of course, most of the other people here seem to have missed that, too. Most of the messages so far have been people saying "I like this format, therefore everyone should use it." But in most organizations, you only get to say that if you're at a managerial level with power over the programmers. If a mere programmer says such things, the only result will be that other will reply with their favorite style (which everyone else should use). And that doesn't lead to any agreed-upon rules, except in the statistically unlikely case that every programmer likes the same format.
I've worked on a few projects where we were provided with a batch of formatting programs. There was an official "archive" style, and a formatter that converted any code to that style. But every programmer could easily convert code to their preferred style.
This made the management happy, because all the archived code was in the official style. Also, when management decided to change the official style (which sometimes happens every few months if managers have too much time on their hands), it's fairly easy to write a script to reformat everything in the archives. And it prevents programmers from wasting their time dealing with the usual criticism from a manager that they didn't format one line correctly in some bug fix.
The only real problem is that sometimes the "pretty print" formatters will make changes that affect the meaning of the code. This is pretty obvious with languages like python, where line terminators have syntactic significance. I've also seen it happen in C, where a formatter doesn't quite handle the fact that line terminators are significant in lines that start with '#'.
There's also a generic problem that a lot of us like to put comments to the right of code, and most formatters destroy the alignment of such comments. Of course, this doesn't much bother the programmers who never read the comments.
A friend just showed me the programming style guidelines that had been handed down to his development group from on high. It included the common "terminal braces on a separate line" rule.
The fun part was that his group is doing almost all their work in python.
He wondered how long it'll be before his group is criticised for blatantly violating this style rule? (If he tells me, maybe I'll report it here. ;-)
Bernie Sanders is probably the most liberal senator because, and get this
HE'S A FUCKING SOCIALIST. THE ONLY FUCKING SOCIALIST.
Hmmm ... Are there really a lot of celibate socialists?
Just curious. I don't think I know of any. But I'm willing to be enlightened.
Given the BSA's other questionable activities, it couldn't hurt to tell their member companies what you think of their participation.
Huh? It certainly could hurt. If you tell the member companies what you think of the BSA's actions, the only likely result is that you'll be added to their list of suspects. You can then expect a letter from their lawyer if someone with a name or IP address similar to yours ever uses a P2P program (perhaps to download the latest linux ISOs ;-).
You should be telling the appropriate legislators in your country and state what you think of it all. That's much more likely to have results that favor us "consumers". Remind them that the BSA have a bit of a history of suing grannies and children, often people who don't even use the Internet. The story of Prof Peter Usher's run-in with the RIAA is a good one to mention, to illustrate the extremes that the recording industry is going to catch "infringers".
I wonder if someone has a good collection of such stories online. It'd be a useful reference to send to legislators when "IP" bills are coming up for a vote.
All of this whole FOSS thing entails a lot of trust. I mean, you're really telling me that everyone on here whining about the need to see the source code has read every line of code in every OS they're using?
No, but given the "number of eyes", it's usually not necessary that every person has read every line of code. If a set of N people have read the relevant code and understand it, that's often sufficient to solve a problem.
I ran across an example just a few days ago. The details aren't too important here; the critical point is that I and others were getting an error message didn't agree with what we could see clearly. A bit of detail: CUPS sometimes reports that a printer is permanently "busy", when you can tell by just looking at the printer that it's idle. I googled the message, several of the first hits were pointers to the source code, and the message was in a block that started:
if (error == ECONNREFUSED || error == EHOSTDOWN || error == EHOSTUNREACH) { ...}
The definitions of those error codes are easy to find, and none of them includes the concept of "busy". So the error message is bogus and misleading; the actual error was some sort of failure to connect to the IP address used. At this point, the search becomes tricky, because the error message doesn't report the actual error code. Someone needs to hunt down and understand all the places in the code where any three of those error codes is generated.
But note that an important part of the answer has been determined from just this code fragment: The error message is wrong. The printer isn't known by the software to be "busy". The actual problem is failure to get a TCP connection. And it's highly likely that various people in the collection of hackers will know what to do to diagnose all of the three possibilities. Without access to the source code, we would know none of this. We'd be blocked at the error message claiming that the printer is busy, and we'd have no further clues.
Also, since the code is "free" (as in freedom), there's a good chance that down the road we can replace the current bogus error message with something that does a better job of informing the user about the actual problem. Without the freedom to modify the source code, we'd be dependent on a vendor's good will. And, since this problem arises in trying to deal with equipment from a different vendor, chances are that the vendor would give it very low priority.
And look up RMS's story of how he started on the road to the "software freedom" concept. It was dealing with problems he was having with a printer that didn't play nice with his computer. This problem is still with us. All too often, such problems can't be solved without access to the source code. It's quite common to see error messages that don't include significant information. In this case, the actual error code wasn't reported, making diagnosis very difficult for novice and expert alike. With proprietary code, there's little that a user can do. With FOSS, we stand a chance of improving the error messages regardless of the level of interest of the vendor.
(But this was only a few days ago. That printer still isn't working with that one computer, but does work with a different computer in the same room. ;-)