Hmmm. Let's plug this scenario into my advance copy of GNU
Universe Simulator (running on a Beyweulf cluster of Playstation 6s).
(Plays Final Fantasy XIX for a while while the simulation runs.)
Aha! Here's what happens:
Governments and industry limits Internet access.
Some academics and hobbyists deploy an experimental IPv7 network
over dialup, WiFi and leased lines. It gets dubbed the Darknet.
More people connect to the Darknet. The operators get around
Internet regulations by declaring the Darknet to be inherently
insecure and unreliable and you use it at your own risk.
The Darknet develops a reputation for becoming the place where
you can get stuff not available on the Internet. This draws in the
hipster crowd.
Eventually, the Darknet goes mainstream. There's a huge stock
bubble reminiscent of the '90s as businesses fight tooth-and-nail for
market share, then a big crash that brings everyone to earth. The
Internet, meanwhile, is completely abandoned.
Michael Powell (now retired) calls for limited access to the
Darknet.
Don't give this thing the wings it so richly doesn't deserve.
Unfortunately, that approach doesn't work. If you don't vigorously deny an accusation, people tend to assume it's true. It's just like the way corporations handle rumours about them (e.g. the one about Proctor and Gamble being a Satanist organisation). They deny them any chance they get and that's the only effective way of dealing with something like that.
If ESR doesn't respond, a lot of casual readers will just sort of assume that Schwartz's claims are true.
Have you noticed how Alan Moore's comics tend to be a little skruffy in movie form?
Yup. It's because of how Alan Moore works. He usually takes something that is normally considered "low" art--Victorian pulp fiction, superhero comics, and so on--and gives it depth and realism. The Watchmen, for example, takes the idea of the superhero and thrusts it into the real world and the resulting slow-motion trainwreck is fascinating.
Hollywood does depth really badly. Even if they manage to fit all of The Watchmen into two hours while still keeping its shape, they're going to end up turning it into just another superhero team movie.
I don't have any old Lisp books around, alas, so the earliest citation I could find is from page 96 of Smalltalk-80: The Language by Adele Goldberg and David Robson:
~~ anObject
Answer whether the receiver and the argument are not the same object.
The book is dated 1989. However, it's the second edition and I'm reasonably sure that the operator is also described in the first, which dates back to 1983.
This sort of thing is really frickin' obvious for to anyone who's ever used a dynamically-typed language.
Recent research pointed out that the majority of domainkey users so far have been spammers, because it makes it more likely they pass the spam filters. Its really no better then the techniques used now, especially because a large amount of spam isn't using spoofed addresses, but completely valid ones.
It's a common misconception that things like SPF and domain keys are tools for stopping spam. They're not. They're infrastructure to be used for building anti-spam tools.
The real advantage to domain keys is that there's an immediate advantage for using them. Senders benefit because it gives their messages more credibility (making it practical for people to, for example, whitelist mail from yahoo.com,) and receivers benefit because they can identify some spoofed messages with absolute certainty, saving some bandwidth and thwarting some phishers. The more implementers there are, the more valuable the system becomes and the more implementers there will be.
And once anti-spoofing is in place, then we can leverage those into anti-spam techniques to root out throwaway domains.
(E.g. seriously throttle the incoming connection from any domain that is blacklisted, doesn't implement authentication and that has not sent out at least one message a month for the last six months.)
I agree. I have a couple of other thoughts as well:
Firstly, it's (often) a good idea to incorporate. That is, rather
than sell software which you've written and own, form a corporation
which you own, then work for it and take a salary and/or dividends.
This way, if someone sues you for any reason, your own assets
(i.e. your house, car, etc.) aren't vulnerable. The most you can lose
is the corporation's assets so even if you get sued out of existence
after ten years in business, you can keep those ten years' profits.
Secondly, remember that although all sorts of dodgy patents get
approved, most of them don't hold up in court. The patent leaches
work on a premise that it's often cheaper to just settle than to fight
it in court. Big corporations, in addition to having deeper pockets,
are a lot more likely to roll over just because it's going to be
better for the bottom line. A lone coder though, if you piss him off,
may decide to fight and get the patent overturned and that's not good
for the leach. This makes them bad targets.
Nope. Try getting model releases from everybody who happens to be in front of the camera.
Uh oh. I went and asked my garbage can for a release and it just sat there, silently seething. I think I might be in trouble now.
(Seriously, yes, taking pictures of a person without a release is going to be problematic, as is taking a picture of which includes copyrighted artwork. So don't do that.)
Delete the original layer (which you have no right to appropriate),
If you don't have the right to use the image, the above procedure won't get you off the hook. Tracing the outline creates a derivative work of the photo and the copyright holder of the original image can still make a claim on it.
Of course, you could always work around that by taking your own source pictures with a digital camera. I've done that a couple of times (without the tracing step, granted--I need to give that a shot) and it's come out not-too-horrible.
Short term: vote Kerry. Let's get rid of Presidents who start
wars for no good reason. (That goes for everybody. Kerry strikes me
as a mediocre leader but the Bush administration is scary.)
Long term:
Stay informed and understand the issues. Slashdot and The Daily
Show are good ways to do that although one or two good newspapers
(preferably with different biases) are better, if less fun.
Vote in every election you can. Even if you hate both
candidates, vote for the one you hate less.
Educate people. By which I mean writing the occasional blog
entry about voting reform or bringing it up when talking about
politics with friends. Big advertising campaigns are passe--people
know enough to distrust TV commercials. But word-of-mouth is
trustworthy.
Organize. If you're the sort of political person who can start a
grassroots organization, do so. If not, find one you like and donate
a few bucks to them.
Democracy isn't about getting good leaders. It's about keeping
out the bad ones. You won't ever get the leader you want and you
won't ever fix the system completely, but if you can improve things at
all or maybe just keep them from getting worse, that's something worth
doing.
I apologize for the harsh tone of my previous post. I don't know
you well enough to know whether it's justified and I really should be
giving you the benefit of the doubt. It's just that it pisses me off
when people use "everything sucks" as an excuse for not doing
anything about it and your post pushed that button, whether or not
that was what you meant to say.
In any case, I disagree with your premise that the system is
irredeemably broken. It's worked for over three hundred years, more
or less, and it's probably still working now. Democracy is a slow,
messy process. Real change doesn't come about until the consequences
are nipping at everybody's heels. That's normal.
That being said, there are some systemic things that should be
changed. I can think of three:
Replace the voting system with one that doesn't marginalize minor
candidates. (My favourite is the one where you get to tick off as
many names on the ballot as you want, but there are others.)
Require all parties to grant memberships to any registered
voter who asks, regardless of affiliation or other party memberships.
This would turn the primaries into the first-round elections.
Ban all TV. Television has made it so that the most important
qualification for public office is to look good on the tube. (Yes, I
know this will never happen. I also realize that it probably
shouldn't happen, it being a huge violation of personal
freedom. Still, I harbor in my heart a faint hope that with the
advent of the Internet, the power of many individual voices might
eventually render TV news irrelevant.)
As to my original suggestion (that you all vote in the primaries),
yeah, it's not ideal. You only get to join one party each term, so
you have to guess which primary looks more promising, so your options
are somewhat limited. However, you don't have to actually vote
for that party in the final election (or am I wrong?) so this way, you
get two says in who runs the country instead of one.
Sure, you'll never get the right man (or woman) into
office. Deal with it. That doesn't mean you shouldn't try to keep the
worst ones out.
In other words, register for one of the two parties (you have to guess which one will be more important) in order to help validate the existing duopoly in exchange for a slightly
larger franchise that will be totally invalidated by the large numbers of party True Believers who are the ones the primaries are REALLY for.
The system is broken. Spending more time working on this system will not make it less broken. We need a new system.
So what you're saying is that because the system doesn't make it easy enough for you to bring about change, you're not going to bother trying. Instead, you're going to complain about it on Slashdot and wait for the system to collapse under your l337 kvetching SK1LZ.
Vote Kerry, then vote third party locally, where they can make a difference to your life.
Also, don't forget to vote in the primaries. That's the place to vote for the best person. By the time you get to the actual election, you're pretty much stuck with voting for the second-worst candidate if you want to have any effect at all.
ObDisclaimer: I'm not American but I am influenced by American policy.
The news shows are like they are because people watch them. [...] Americans are so dumbed down most of them don't want to watch insightful debate or intelligent journalism.
It's more than that. The problem with TV news is that they have to fill a time-slot every day. This gives it the advantage of providing immediate, real-time coverage during a crisis. However, when there's no crisis, they have to find something to fill the time slot, which means that most news coverage is irrelevant most of the time. That makes it boring and needlessly depressing.
The Daily Show works around this by being funny. If there's nothing relevant to talk about it, at least you can get a few laughs off it.
I'm not sure what Fox News does, since I've seen maybe ten minutes' worth of it total, but from what I've heard of it, it looks to me like they're trying to fake relevance by pitching themselves as the last defender of All That Is Good And Decent from the Evil Liberal Conspiracy.
And frankly, if it's a choice of that or some talking head discussing the ramifications of the President's nasal polyps, I'd watch Fox News too.
Even Slashdot is a better news source. At least here, if nothing's happened today, I can read about the robot drum machine or look at pictures of some cool casemod.
Linux isn't immune to this problem either. It was designed to
sandbox users from each other, but a single normal user will find it
difficult to sandbox individual processes. [...]
A real solution is a fine-grained permission control.For example, a
Web browser should be able to read it's configuration files and
plugins/extensions, connect to any Internet address, and write to the
bookmark file(s) and download and cache directorie(s). It shouldn't be
able to do anything else.
Actually, you can already do this with bog-standard Linux (or any
Unix, actually).
There are two ways I can think of offhand:
Firstly, (as mentioned by another poster), you could run the
browser in a chrooted subdirectory containing only the cache, download
directory and bookmarks. This guarantees that a compromised browser
can't affect anything else. Ideally, you'd take downloaded files out
of the download directory between sessions to minimize the possibility
of malware corrupting a program you'd previously downloaded.
Downsides to this approach are:
You need to put all of the files--executables, libraries,
documentation, etc.--in the chroot directory before starting.
Fortunatly, you can get away with using hard links if the files you
need are already in the same filesystem, so space and startup time
aren't necessarily a huge problem. It will still be fiddly, though.
You need to be root in order to do the chroot system call. This
means we need at least one setuid root executable. We can limit the
potential for damage, though, by making it a very simple
wrapper that does nothing but make the chroot call, change its UID
back to yours and then launch the browser.
Malware can still corrupt local browser plugins. We can
eliminate this problem by either forbidding per-user plugins or by
combining this approach with the other one below.
The other strategy is to use a special-purpose user and group. It
works like this:
Create a special user and group (called bruser and
brgroup for the purpose of this discussion) with no password or
home directory.
Before using the browser for the first time, the user (or some
wrapper program) runs a special utility to create the browser's
configuration directory structure. This utility is setgid
brgroup so those files will be owned to the user but have
brgroup as their group. Additionally, all the directories and
files that the browser needs to write to will have group read and
write permissions set.
The browser runs setuid bruser and setgid brgroup.
This way, the browser can't modify any of your files since it's
not running as you.
The downsides to this approach are:
You don't own the files that you download. You can copy and
erase them so it's not hard to change that, but it can be
inefficient. One possible fix might be to have a setuid program to
change the ownership back once a download finishes.
A compromised browser can modify other users' browser
configuration directories. But this can be fixed by also using a
chroot as outlined above.
The combination of chroot, special-purpose accounts and
setuid/setgid is a really powerful and underrated security tool.
We used to love to hate it, back in the early days of the Web.
It was awful. It was even less stable than Mosaic. It was slow, ugly
and a memory hog that brought our multi-user Unix boxes to their
knees, something which sucked mightily if you were trying to compile
your assignments.
But that wasn't the worst of it.
HTML used to be a content-based markup language. It
was there to tell the browser what the text meant and deciding
how it looked was the job of the browser.
But Netscape went and added all of these formatting features to make
the desktop publishing people more comfortable. In the process, they
completely screwed things up for non-graphical browsers or, since the
extensions were proprietary, pretty much any other browser as well.
And because Netscape was there just as people were getting onto the
Web, it became synonymous with the Internet in the minds of the
general public so everybody had it and most web designers used
the Netscape-specific tags. It got to the point where all the
non-Netscape user could see was the little blurb telling you you
should switch to Netscape. They were well on the way to locking the
entire Web into their proprietary standards.
Then, Microsoft noticed the Internet and showed everybody how it's
done.
There are two things that bug me about this article.
Firstly, it claims to be about FAQ writing and then contains nothing but a lightweight software review. There's a lot more to writing a useful FAQ than just installing phpMyFaq, thank you very much. (And yes, I realize that whoever wrote that headline deserves most of the blame here, but still.)
In my opinion, using phpMyFaq is entirely the wrong thing to do. A FAQ should be concise and relevant. If it's long enough that you can't manage it on flat files with a text editor, it's too long. If it isn't written by someone who keeps fielding questions from new users, it won't contain the right questions and answers. If it's maintained by more than one person (and they aren't well coordinated), then the FAQ will bloat and you'll get duplicate entries with slightly different wordings.
Too many developers these days think that if they set up a Wiki or a FAQ server, the documentation will just magically appear. Then, they expect me to use their software.
Question: what's the difference between an integrated cryptography system that will protect your personal information from bad guys even if they steal your computer and an integrated DRM system that will take away control of your own computer and give it to various large corporations?
Answer: They are identical except that in the first situation, you have the all of the private keys and in the second you don't.
So Trusted Computing is a good thing if and only if I can replace all of the keys with ones I've generated myself.
This means they're going mainstream. That'll drive down the price and make it that much easier to carry Smalltalk images in my pocket.
See, the whole great thing about mainstream computing is that it subsidizes my--er, our--cool projects. The more it becomes fashionable, the more people will buy them and the cheaper the basic units will get. So I say we should be encouraging this trend.
Shouldnt we just be able to tune the VFS for aggressive cacheing and let that spin up and down the disk as needed.
The problem with that is that the OS is still going to spin up the disk too often. If you're using a ramdisk and leave the disk unmounted when not in use, the drive stays off until you tell it to come on again.
I think I'd do what the previous poster suggested, only I'd run the hard drive for maybe one minute per day, just long enough to backup my email. I'd also look into underclocking the system and getting rid of the fans so that it'd be completely silent most of the time.
The way to do it is to use something like fetchnews but get it to leave your mail on the ISPs POP3 server. Only after the mail has been copied to disk do you delete it from the server. This way, you won't lose your mail to a power failure.
(What I actually do is use an old PC and leave it in the basement where nobody can hear it. But that's not what the asker wanted.)
What this means is that we have a greater number of both low achievers (people who are functionally illiterate) and high achievers (people who can read highly technical and dense material). The US educational system has a much flatter distribution curve than the typical European country.
The reason for this is simple: there's no such thing as an American school system. Public schools are one of those things that are regulated at the state and municipal levels so that while Mr. Gatto's conclusions may in fact be completely correct, they only reflect one part of the country. Some areas have really good public schools and some have really bad. It all depends on where you live.
That's why the curve is flatter. There are good schools and bad schools and their results are being averaged together. To get a better picture, you need to rate by state or possibly by county.
Disclaimers: Haven't read the book, not American, making this stuff up as I go along.
The open-source community will never produce a leading-edge
commercial quality game. Period. This is because a game is a work of
art, which means that one person (or maybe two or three) has
to decide how everything is going to be, and that's a completely
arbitrary thing that everybody still has to go along with.
See, when you're working on a typical piece of software, the
ultimate goals are obvious. The program needs to be small, fast,
secure, bug-free, standards-compliant, portable and maintainable.
Even when you need to trade off one such property for another,
everyone usually knows up front what the trade is. It's easy to tell
more-or-less objectively whether a particular change is good or bad
for a project.
But with a game, it's all arbitrary. Some guy has decided how
it's all going to look and feel and the only way the game is going to
get done is if everyone goes along with him. Money seems to be the
only motivator that works because OSS developers want to work on what
they think is cool and that's usually not going to be what the
designer wants.
Ultimately, for a game to be coherent, everyone has to do what the
designer tells them and that's far too much like real work to expected
of unpaid volunteers. It's only fun if you can be a designer and that
limits the team size to a handful of people.
That being said, the day may come where there's enough open-source
infrastructure (engines, development tools, sound and 3D object
libraries) to make it easy for that handful of people to make a
high-quality game. We're getting to the point where you can't really
improve the realism of a game anymore and that means that graphics
engines are going to finally have shelf-lives comparable with normal
software. I predict that ten years from now, there'll be an
open-source game engine that everyone will use for games of
that genre.
I lived off-campus, renting a room from friends of my parents. They were an older couple who valued their peace. This meant that:
I had a place to retreat to when I needed to sleep, study, read, code or just be alone.
My sleeping area was always quiet enough that I could sleep.
My gear, such as it was, was secure. I could trust my landlord to not steal my stuff and since it was a house, there wasn't any public traffic nearby.
I got some exercise that way--a twenty-minute
walk to and from school each day. During winter, this was a downside but it was nice when the weather was good.
I needed to use headphones when listening to loud music. Oh darn.
I still managed to make lots of friends, despite missing out on the whole dorm experience, by joining clubs and lurking at various related hangouts, so I wasn't an anti-social loner or anything. But it saved my sanity to have a place I could go and get away from the noise.
Disclaimer: I'm somewhat introverted by nature (in that I need to be alone to recharge) and I'm not a party animal. This worked for me but it really depends on your personality.
On the other hand, I spent most of my non-sleeping time on campus so I don't think it would have been a problem for me were I an extrovert, nor do I think I missed out on campus life in general. It was just where I slept and kept my stuff.
As the fortune file puts it, "A language that doesn't affect the
way you think about programming is not worth knowing."
Learning C was a mind-expanding experience for me because it let
me do anything I wanted and because it taught me about
self-contained functions. Learning Smalltalk was a mind-expanding
experience because it was this giant, full-featured language built out
of a few simple principals. Learning Perl was a mind-expanding
experience because it was this hideous, misshapen monstrosity of a
language where every single wart turned out to make my life easier.
Learning Lisp was a mind-expanding experience because you could extend
the syntax of the language itself from inside the language.
And Java? It's basically just C++ with some of the better ideas
from Smalltalk (or Lisp, Eiffel, Sather, Modula-3 or whatever) grafted
onto it. Been there, done that, got the T-shirt.
That's not to say that Java isn't useful--it is. It's just not
exciting. There are jobs for which Java is the right tool and
some of those are even interesting from a hacker's point of view.
It's just that the language itself that isn't interesting.
The only time I consider brushing up on my Java skills again is when I'm looking for a job.
(As an aside, my take on Paul Graham's comments is that if a
company is looking for Java programmers, it's a bad sign because it
means that the suits are making technical decisions. I'm inclined to
agree with that--if the company is run by people who think Java is
cool, you have to wonder what other kinds of decisions they are
making.)
Disclaimer: I've done very little in the way of Java programming,
although I did once write a compiler for it.
Hmmm. Let's plug this scenario into my advance copy of GNU Universe Simulator (running on a Beyweulf cluster of Playstation 6s).
(Plays Final Fantasy XIX for a while while the simulation runs.)
Aha! Here's what happens:
And there ya go.
Don't give this thing the wings it so richly doesn't deserve.
Unfortunately, that approach doesn't work. If you don't vigorously deny an accusation, people tend to assume it's true. It's just like the way corporations handle rumours about them (e.g. the one about Proctor and Gamble being a Satanist organisation). They deny them any chance they get and that's the only effective way of dealing with something like that.
If ESR doesn't respond, a lot of casual readers will just sort of assume that Schwartz's claims are true.
Have you noticed how Alan Moore's comics tend to be a little skruffy in movie form?
Yup. It's because of how Alan Moore works. He usually takes something that is normally considered "low" art--Victorian pulp fiction, superhero comics, and so on--and gives it depth and realism. The Watchmen, for example, takes the idea of the superhero and thrusts it into the real world and the resulting slow-motion trainwreck is fascinating.
Hollywood does depth really badly. Even if they manage to fit all of The Watchmen into two hours while still keeping its shape, they're going to end up turning it into just another superhero team movie.
Lisp has had NEQ for at least 30 years.
I don't have any old Lisp books around, alas, so the earliest citation I could find is from page 96 of Smalltalk-80: The Language by Adele Goldberg and David Robson:
The book is dated 1989. However, it's the second edition and I'm reasonably sure that the operator is also described in the first, which dates back to 1983.
This sort of thing is really frickin' obvious for to anyone who's ever used a dynamically-typed language.
Recent research pointed out that the majority of domainkey users so far have been spammers, because it makes it more likely they pass the spam filters. Its really no better then the techniques used now, especially because a large amount of spam isn't using spoofed addresses, but completely valid ones.
It's a common misconception that things like SPF and domain keys are tools for stopping spam. They're not. They're infrastructure to be used for building anti-spam tools.
The real advantage to domain keys is that there's an immediate advantage for using them. Senders benefit because it gives their messages more credibility (making it practical for people to, for example, whitelist mail from yahoo.com,) and receivers benefit because they can identify some spoofed messages with absolute certainty, saving some bandwidth and thwarting some phishers. The more implementers there are, the more valuable the system becomes and the more implementers there will be.
And once anti-spoofing is in place, then we can leverage those into anti-spam techniques to root out throwaway domains. (E.g. seriously throttle the incoming connection from any domain that is blacklisted, doesn't implement authentication and that has not sent out at least one message a month for the last six months.)
I agree. I have a couple of other thoughts as well:
Firstly, it's (often) a good idea to incorporate. That is, rather than sell software which you've written and own, form a corporation which you own, then work for it and take a salary and/or dividends. This way, if someone sues you for any reason, your own assets (i.e. your house, car, etc.) aren't vulnerable. The most you can lose is the corporation's assets so even if you get sued out of existence after ten years in business, you can keep those ten years' profits.
Secondly, remember that although all sorts of dodgy patents get approved, most of them don't hold up in court. The patent leaches work on a premise that it's often cheaper to just settle than to fight it in court. Big corporations, in addition to having deeper pockets, are a lot more likely to roll over just because it's going to be better for the bottom line. A lone coder though, if you piss him off, may decide to fight and get the patent overturned and that's not good for the leach. This makes them bad targets.
Note: I'm also not a lawyer.
Nope. Try getting model releases from everybody who happens to be in front of the camera.
Uh oh. I went and asked my garbage can for a release and it just sat there, silently seething. I think I might be in trouble now.
(Seriously, yes, taking pictures of a person without a release is going to be problematic, as is taking a picture of which includes copyrighted artwork. So don't do that.)
Delete the original layer (which you have no right to appropriate),
If you don't have the right to use the image, the above procedure won't get you off the hook. Tracing the outline creates a derivative work of the photo and the copyright holder of the original image can still make a claim on it.
Of course, you could always work around that by taking your own source pictures with a digital camera. I've done that a couple of times (without the tracing step, granted--I need to give that a shot) and it's come out not-too-horrible.
Disclaimer: I'm not a lawyer.
Seriously. What do you suggest I do?
Short term: vote Kerry. Let's get rid of Presidents who start wars for no good reason. (That goes for everybody. Kerry strikes me as a mediocre leader but the Bush administration is scary.)
Long term:
Democracy isn't about getting good leaders. It's about keeping out the bad ones. You won't ever get the leader you want and you won't ever fix the system completely, but if you can improve things at all or maybe just keep them from getting worse, that's something worth doing.
(Disclaimer: I'm not an American.)
(Yes, I'm replying to my own post.)
I apologize for the harsh tone of my previous post. I don't know you well enough to know whether it's justified and I really should be giving you the benefit of the doubt. It's just that it pisses me off when people use "everything sucks" as an excuse for not doing anything about it and your post pushed that button, whether or not that was what you meant to say.
In any case, I disagree with your premise that the system is irredeemably broken. It's worked for over three hundred years, more or less, and it's probably still working now. Democracy is a slow, messy process. Real change doesn't come about until the consequences are nipping at everybody's heels. That's normal.
That being said, there are some systemic things that should be changed. I can think of three:
As to my original suggestion (that you all vote in the primaries), yeah, it's not ideal. You only get to join one party each term, so you have to guess which primary looks more promising, so your options are somewhat limited. However, you don't have to actually vote for that party in the final election (or am I wrong?) so this way, you get two says in who runs the country instead of one.
Sure, you'll never get the right man (or woman) into office. Deal with it. That doesn't mean you shouldn't try to keep the worst ones out.
In other words, register for one of the two parties (you have to guess which one will be more important) in order to help validate the existing duopoly in exchange for a slightly larger franchise that will be totally invalidated by the large numbers of party True Believers who are the ones the primaries are REALLY for.
The system is broken. Spending more time working on this system will not make it less broken. We need a new system.
So what you're saying is that because the system doesn't make it easy enough for you to bring about change, you're not going to bother trying. Instead, you're going to complain about it on Slashdot and wait for the system to collapse under your l337 kvetching SK1LZ.
Ever wonder why the system is broken? Hmmm?
Vote Kerry, then vote third party locally, where they can make a difference to your life.
Also, don't forget to vote in the primaries. That's the place to vote for the best person. By the time you get to the actual election, you're pretty much stuck with voting for the second-worst candidate if you want to have any effect at all.
ObDisclaimer: I'm not American but I am influenced by American policy.
The news shows are like they are because people watch them. [...] Americans are so dumbed down most of them don't want to watch insightful debate or intelligent journalism.
It's more than that. The problem with TV news is that they have to fill a time-slot every day. This gives it the advantage of providing immediate, real-time coverage during a crisis. However, when there's no crisis, they have to find something to fill the time slot, which means that most news coverage is irrelevant most of the time. That makes it boring and needlessly depressing.
The Daily Show works around this by being funny. If there's nothing relevant to talk about it, at least you can get a few laughs off it.
I'm not sure what Fox News does, since I've seen maybe ten minutes' worth of it total, but from what I've heard of it, it looks to me like they're trying to fake relevance by pitching themselves as the last defender of All That Is Good And Decent from the Evil Liberal Conspiracy.
And frankly, if it's a choice of that or some talking head discussing the ramifications of the President's nasal polyps, I'd watch Fox News too.
Even Slashdot is a better news source. At least here, if nothing's happened today, I can read about the robot drum machine or look at pictures of some cool casemod.
Linux isn't immune to this problem either. It was designed to sandbox users from each other, but a single normal user will find it difficult to sandbox individual processes. [...]
A real solution is a fine-grained permission control.For example, a Web browser should be able to read it's configuration files and plugins/extensions, connect to any Internet address, and write to the bookmark file(s) and download and cache directorie(s). It shouldn't be able to do anything else.
Actually, you can already do this with bog-standard Linux (or any Unix, actually).
There are two ways I can think of offhand:
Firstly, (as mentioned by another poster), you could run the browser in a chrooted subdirectory containing only the cache, download directory and bookmarks. This guarantees that a compromised browser can't affect anything else. Ideally, you'd take downloaded files out of the download directory between sessions to minimize the possibility of malware corrupting a program you'd previously downloaded.
Downsides to this approach are:
The other strategy is to use a special-purpose user and group. It works like this:
This way, the browser can't modify any of your files since it's not running as you.
The downsides to this approach are:
The combination of chroot, special-purpose accounts and setuid/setgid is a really powerful and underrated security tool.
We used to love to hate it, back in the early days of the Web.
It was awful. It was even less stable than Mosaic. It was slow, ugly and a memory hog that brought our multi-user Unix boxes to their knees, something which sucked mightily if you were trying to compile your assignments.
But that wasn't the worst of it.
HTML used to be a content-based markup language. It was there to tell the browser what the text meant and deciding how it looked was the job of the browser.
But Netscape went and added all of these formatting features to make the desktop publishing people more comfortable. In the process, they completely screwed things up for non-graphical browsers or, since the extensions were proprietary, pretty much any other browser as well.
And because Netscape was there just as people were getting onto the Web, it became synonymous with the Internet in the minds of the general public so everybody had it and most web designers used the Netscape-specific tags. It got to the point where all the non-Netscape user could see was the little blurb telling you you should switch to Netscape. They were well on the way to locking the entire Web into their proprietary standards.
Then, Microsoft noticed the Internet and showed everybody how it's done.
The End.
On the other hand, Firefox is pretty good.
There are two things that bug me about this article.
Firstly, it claims to be about FAQ writing and then contains nothing but a lightweight software review. There's a lot more to writing a useful FAQ than just installing phpMyFaq, thank you very much. (And yes, I realize that whoever wrote that headline deserves most of the blame here, but still.)
In my opinion, using phpMyFaq is entirely the wrong thing to do. A FAQ should be concise and relevant. If it's long enough that you can't manage it on flat files with a text editor, it's too long. If it isn't written by someone who keeps fielding questions from new users, it won't contain the right questions and answers. If it's maintained by more than one person (and they aren't well coordinated), then the FAQ will bloat and you'll get duplicate entries with slightly different wordings.
Too many developers these days think that if they set up a Wiki or a FAQ server, the documentation will just magically appear. Then, they expect me to use their software.
Question: what's the difference between an integrated cryptography system that will protect your personal information from bad guys even if they steal your computer and an integrated DRM system that will take away control of your own computer and give it to various large corporations?
Answer: They are identical except that in the first situation, you have the all of the private keys and in the second you don't.
So Trusted Computing is a good thing if and only if I can replace all of the keys with ones I've generated myself.
This means they're going mainstream. That'll drive down the price and make it that much easier to carry Smalltalk images in my pocket.
See, the whole great thing about mainstream computing is that it subsidizes my--er, our--cool projects. The more it becomes fashionable, the more people will buy them and the cheaper the basic units will get. So I say we should be encouraging this trend.
And investing in sticker companies.
Cobra: The Musical.
No, really.
Or open source, but the open source solution is meant to mimic Microsoft's.
Hey, I'm writing this for free! If you want vertical as well, hire me to add it, ya cheapskate!
Shouldnt we just be able to tune the VFS for aggressive cacheing and let that spin up and down the disk as needed.
The problem with that is that the OS is still going to spin up the disk too often. If you're using a ramdisk and leave the disk unmounted when not in use, the drive stays off until you tell it to come on again.
I think I'd do what the previous poster suggested, only I'd run the hard drive for maybe one minute per day, just long enough to backup my email. I'd also look into underclocking the system and getting rid of the fans so that it'd be completely silent most of the time.
The way to do it is to use something like fetchnews but get it to leave your mail on the ISPs POP3 server. Only after the mail has been copied to disk do you delete it from the server. This way, you won't lose your mail to a power failure.
(What I actually do is use an old PC and leave it in the basement where nobody can hear it. But that's not what the asker wanted.)
What this means is that we have a greater number of both low achievers (people who are functionally illiterate) and high achievers (people who can read highly technical and dense material). The US educational system has a much flatter distribution curve than the typical European country.
The reason for this is simple: there's no such thing as an American school system. Public schools are one of those things that are regulated at the state and municipal levels so that while Mr. Gatto's conclusions may in fact be completely correct, they only reflect one part of the country. Some areas have really good public schools and some have really bad. It all depends on where you live.
That's why the curve is flatter. There are good schools and bad schools and their results are being averaged together. To get a better picture, you need to rate by state or possibly by county.
Disclaimers: Haven't read the book, not American, making this stuff up as I go along.
The open-source community will never produce a leading-edge commercial quality game. Period. This is because a game is a work of art, which means that one person (or maybe two or three) has to decide how everything is going to be, and that's a completely arbitrary thing that everybody still has to go along with.
See, when you're working on a typical piece of software, the ultimate goals are obvious. The program needs to be small, fast, secure, bug-free, standards-compliant, portable and maintainable. Even when you need to trade off one such property for another, everyone usually knows up front what the trade is. It's easy to tell more-or-less objectively whether a particular change is good or bad for a project.
But with a game, it's all arbitrary. Some guy has decided how it's all going to look and feel and the only way the game is going to get done is if everyone goes along with him. Money seems to be the only motivator that works because OSS developers want to work on what they think is cool and that's usually not going to be what the designer wants.
Ultimately, for a game to be coherent, everyone has to do what the designer tells them and that's far too much like real work to expected of unpaid volunteers. It's only fun if you can be a designer and that limits the team size to a handful of people.
That being said, the day may come where there's enough open-source infrastructure (engines, development tools, sound and 3D object libraries) to make it easy for that handful of people to make a high-quality game. We're getting to the point where you can't really improve the realism of a game anymore and that means that graphics engines are going to finally have shelf-lives comparable with normal software. I predict that ten years from now, there'll be an open-source game engine that everyone will use for games of that genre.
I lived off-campus, renting a room from friends of my parents. They were an older couple who valued their peace. This meant that:
I still managed to make lots of friends, despite missing out on the whole dorm experience, by joining clubs and lurking at various related hangouts, so I wasn't an anti-social loner or anything. But it saved my sanity to have a place I could go and get away from the noise.
Disclaimer: I'm somewhat introverted by nature (in that I need to be alone to recharge) and I'm not a party animal. This worked for me but it really depends on your personality.
On the other hand, I spent most of my non-sleeping time on campus so I don't think it would have been a problem for me were I an extrovert, nor do I think I missed out on campus life in general. It was just where I slept and kept my stuff.
As the fortune file puts it, "A language that doesn't affect the way you think about programming is not worth knowing."
Learning C was a mind-expanding experience for me because it let me do anything I wanted and because it taught me about self-contained functions. Learning Smalltalk was a mind-expanding experience because it was this giant, full-featured language built out of a few simple principals. Learning Perl was a mind-expanding experience because it was this hideous, misshapen monstrosity of a language where every single wart turned out to make my life easier. Learning Lisp was a mind-expanding experience because you could extend the syntax of the language itself from inside the language.
And Java? It's basically just C++ with some of the better ideas from Smalltalk (or Lisp, Eiffel, Sather, Modula-3 or whatever) grafted onto it. Been there, done that, got the T-shirt.
That's not to say that Java isn't useful--it is. It's just not exciting. There are jobs for which Java is the right tool and some of those are even interesting from a hacker's point of view. It's just that the language itself that isn't interesting.
The only time I consider brushing up on my Java skills again is when I'm looking for a job.
(As an aside, my take on Paul Graham's comments is that if a company is looking for Java programmers, it's a bad sign because it means that the suits are making technical decisions. I'm inclined to agree with that--if the company is run by people who think Java is cool, you have to wonder what other kinds of decisions they are making.)
Disclaimer: I've done very little in the way of Java programming, although I did once write a compiler for it.