Oh, it's not? What happens when there is a war or
other event that creates a situation where shutting
down Galileo gives the EU -- or certain member
nations -- a strategic advantage?
Then it's going to be all about politics.
In fact, I don't really know much about the EU
(should learn more), but it seems like this could
even be something around which a pattern of mutual
defense could crystalize. This could be the one
strategic resource in time of war that the EU
must decide on as a group, so it could
create political situations that virtually
nothing else could. What if, for instance,
one EU nation has a violent dispute with another
EU nation, and Galileo figures into it
strategically and forces the rest of the EU
nations to take sides in a way that wouldn't
be necessary if Galileo didn't exist?
I recall a company in the past that wouldn't sell you their software unless you purchased their hardrware. They were taken to court and forced to unbundle the OS from the Hardware since the OS was capable for running on other hardware.
If this were the case, it wouldn't be any different
than things were before the transition to x86.
There were, and still, other machines available
that run on the PowerPC (or the mostly-compatible
POWER) architecture other than Macs, so this issue
already existed.
In fact, it has existed from
the very beginning, because even back before
the transition to PowerPC, Macs ran on Motorola
680x0 processors, and there were other machines
that would have been capable of running Mac OS
back then. I had an Amiga (also a 68k processor),
and there was some company back then that sold
a board that allowed you to take ROMs out of a
dead Mac and put them on their board, and then
you could boot Mac OS up as a task under AmigaDOS.
And it worked just fine. If I recall correctly,
at first people were buying ROMs from Apple parts
dealers, and Apple got angry about this and
made it so the ROMs were no longer available,
and they may have even threatened to sue, although
I can't remember.
This isn't regarding public performance, as a CD/vinyl DJ would be equally obligated. This is solely an additional fee leveraged against digital music.
The pedant in me feels obliged to point out that
Compact Discs contain digital music as well.
Probably the actual distinction has to do with
whether the original media is being read at the
time that the music is being played, or maybe
whether the music being played at any point
existed as a permanent copy (rather than
transitory copies made in the process of playing
it, which even CD players must do since they
have a small amount of buffering).
in some applications this [cost]
is actually not a factor. [... ]
give me a 4gb flash drive and i'll be all over it!
OK, if price is not actually a factor, and you
really want a 4 GB flash drive, then by all
means, have at it. They're only about $1200 to $1500 for
4GB flash drives (with an ATA interface).
In a related story, after being told that U Mich now has
quantum microchips working, Steve Jobs was
heard saying, "Crap!
FUCK! We just finished switching to Intel
chips, and now THIS happens?! Now we're going to
have to, I mean this will make us, I mean... DAMMIT!
DAMN. IT.
Stupid fucking processors -- we should've just stayed
with m68k. I mean, what's the point?"
Oh yes, I forgot to mention: we are talking about
NASA JPL here. So, it's important to consider
what "the lab" means in context of that. And
remember that "JPL" stands for "Jet Propulsion
Laboratory". So, "the lab" probably refers to
all of JPL. And that's a lot of people. I
don't know exactly how many, but it is a few
thousand if I recall correctly.
The point being, Brack could have said,
"At NASA JPL, the most common Linux distro
is RedHat, but in my own group at JPL, we
use pretty much exclusively Mandriva".
In Brack's group however, the name of the game is exclusively Mandriva Linux. In fact, it should be noted that this Mandriva deployment is the largest in the world.
"In terms of [Linux] distros for the overall lab though, we actually run more Red Hat Linux," Brack said.
So let me get this straight, the name of the game is exclusively Mandriva Linux, but they actually run more Red Hat Linux?
There are two different groups here: there is Brack's group, and there is "the overall lab". Brack's group
is presumably part of the lab, but based on these
statements, must make up less than 50% of it.
Think of a pizza with canadian bacon on one half
and double pepperoni on the other. You can say
"my half is exclusively canadian bacon" and you
can also say "there is more pepperoni than canadian
bacon on the pizza overall", and these two statements
are perfectly consistent.
But v-tables are only created when virtual functions are used in classes, and only then. If no virtual functions are used then a C++ program can use static linking the same as for a C compiler.
And even then, it may not happen. Imagine you have
a class Beer with a method named drink(). The following code might use
the v-table to get to the drink() method:
void drink_beer (Beer *b) { b->drink(); }
The reason is, the compiler doesn't know at this
point whether you are going to subclass Beer
so it has to allow for b having a type
where that function has been overridden. But
with this code it can generate a direct call:
void drink_beer (Beer b) { b.drink(); }
The reason is, at the point it makes the call
to drink(), it knows the type for sure,
so even though it's a virtual method, the class
of the object on which it is being called is
already known, so this can be optimized into
a static call and the v-table can be ignored.
Could it be that that your experience with Linear Algebra did not teach you how to do advanced Math, but rather how to pass that particular test.
It always seemed to me when you had a teacher that they would give questions on the test which didn't much look like the examples from the book we had done, similarly with their chalkboard lectures. It's easy to memorize, it's difficult to understand.
I think I see what you're getting at, but I can't
say I noticed any difference in that area between
the correspondence courses and the numerous other
courses I took during college. In particular,
with the linear algebra course, I think it's
unlikely I was learning by rote since both the
problems in the book and the problems on the
final exam (and the midterm?)
required me to prove theorems I hadn't seen
before.
I've used computer instruction of one form or another since around 1985. I have yet to be impressed with any of them.
I've not been impressed with most of what I've
used. And in fact, I will go a step further and
say that I've never seen any compelling evidence
that computer instruction is ever more effective
than a book with the same material in it. But I
still think that computer-based instruction could
easily be as effective as a book (and since there
is more flexibility, possibly more effective),
and a book is sufficient to teach math or history
in my experience.
I really agree with this synthesis. Computers per se can't teach you the most critical skills - including reading, writing or mathematics. The interaction with a teacher is so much more richer than with any machine yet devised.
I would have to mostly disagree. Even though I
think computers in education are the most
wasteful, overhyped thing in decades, I think a
properly made computer program probably
could teach you to read. And I know you can
learn math from a computer: in college, I took
M311 (Linear Algebra and Matrix Theory)
by correspondence, and I did just fine in it
and got an "A", despite not being that great
at math (for example, I failed second-semester
calculus the first 4 times I took it).
In fact, that Linear Algebra experience taught me
just how superfluous the teacher can be. I just
had a book and a guide that told me what to read
and what problems to work, and I did fine. I
had the same experience with the other correspondence
course I took, which was US History. All I did
was read the book and mail in an essay for each
chapter to be graded. I got an A in that too,
and I still remember what the prof wrote on
one of my essays: "I have rarely seen this kind
of insight from an undergraduate."
Now, this might all have more to do with my
learning style than anything. But the point
is that I was able to learn just fine without
ever even meeting the teacher and just
reading a book. Obviously, any content you
can put in a book, you can put on a computer,
so you should be able to learn anything from
a computer that you can learn from a book.
Of course, that does require that the software
isn't so brain-damaged that it detracts from
learning.
That would be tantamount to promoting Windows. I don't think that would help Apple's ledger, never mind what it would do to their reputations.
OK, then, he could fire up a copy of Linux running
under VMware for demo purposes, and then say
something like, "and of course it can also run other
operating systems, including a particular one from
Washington State, if for some reason you're
into that kind of thing."
Or cart in an Mac that has several instances of
VMware already started up, with one running Linux,
one running FreeBSD, one running Solaris, and
one running Windows XP. Then quickly flip through
them and say something like, "And you can run a
variety of other operating systems under VMware
if for whatever reason you feel the need."
The point is, it doesn't have to be done in a
way that implies running Windows is a positive
thing or that emphasizes Windows in particular.
The point is the emphasize, instead, that you
have a new level of flexibility.
If these Intel Mac laptops arrive, and they really can be dual booted into XP, these two problems go away.
Another possibility is that eventually you will
be able to run Windows XP on such a Macintosh
under VMware. That would kick very serious ass.
If I were VMware, Inc., I'd be porting the thing
to OS X as fast as possible. In fact, if possible,
I'd want that to be the bonus surprise announcement
at the keynote. (Imagine if Jobs got up there and
announced Intel Macs, and then while he was
demoing them, he nonchalantly fired up a copy
of Windows running under VMware. Many copies of
VMware would be sold.)
Hmm, I wasn't thinking of using the flash as a writeback cache, I assumed you were talking about using it as a read cache. (Since overall, more reading is done than writing with most usage patterns.) The problem with using flash as a read cache from the hard drive is that you have to write something to the flash in order to read from it, and the flash memory's low write speed will be a huge bottleneck here.
Hmm, I think you'd
pretty much have to use it as both a
read and write cache if you want to achieve
power savings, because otherwise even an
occasional write will require you to spin up
the hard drive really often (or leave it spinning
most of the time).
As for the bottleneck,
the I/O subsystem in the OS can
mostly eliminate that bottleneck by reading stuff
to RAM temporarily, then queueing it up to be
written to flash later. A background thread
could do the transfer from RAM to flash whenever
the flash isn't being used for something else.
If the background thread can't keep up with
whatever is in the queue, just toss it -- it's
only cached data anyway, which means by definition
it's available on the hard disk. (And with
I/O that heavy, you are probably going to have
the hard disk running anyway.)
On a really busy server,
this would probably not be practical since there
might not be much spare bandwidth to the flash,
but on a laptop, I would think it would work
pretty well, because the flash should be idle
much of the time.
You poor soul - you still have a job? I though Palm OS was pretty much Dead? Whats the state of your industry?
On the one hand, the rumors of its death have been
greatly exaggerated. Palm has announced
a Windows-based PDA/phone, and that wasn't exactly
a vote of confidence, but they have basically
said they will continue to make new Palm OS devices.
And the idea that Palm OS is being dumped and
they are switching to Linux is a misconception:
they are replacing the proprietary kernel that
Palm OS runs on top of right now with Linux,
but apparently the upper levels will look very
similar to how they look now. (It may not even
be immediately obvious to the user that it is
Linux inside.)
On the other hand, PDA sales in general have
been declining as cell phones have duplicated
most of their functionality. The two most
useful things a PDA has are a calendar and
a contacts list. Most cell phones have both
of those now. And many cell phones can
synchronize to your desktop via Bluetooth or
USB. And nobody wants to carry TWO devices
in their pocket (a PDA and a cell phone),
and if they have to choose, guess which one
loses? So, the Palm OS market is not really
a very pretty picture unless Palm OS can
break into the smartphone market, which so
far it hasn't succeeded in doing very well.
To make matters worse, in a sense it doesn't
really matter if Palm OS is dead. What
matters is whether people believe
Palm OS is dead. If they believe it is,
they're not going to buy a Palm device.
And then it becomes a self-fulfilling
prophecy.
So yes, I still have a job, but it may not
be a very good area to be in long term.
Or even medium term.:-(
Flash memory has slooooooooooooooow write speeds. Far slower than the hard drives' read speeds.
That's a good point, but I think there's a way around
it. Simply put, on a laptop, at any given time, the
hard drive is either spun up or it's not. So
we have two cases:
The hard drive is spun up. In that case,
you can just bypass the flash and write straight
to the hard drive. Performance is never worse
than with just a hard drive, because you can
always adopt a write-around policy for the cache.
(For what it's worth, ideally your I/O architecture
would keep the write buffers around in RAM and then
try to write those to the flash cache when the flash
is idle, since anything you recently wrote probably
ought to be in the cache.)
The hard drive is not spun up. In that
case, you are fairly well screwed on writes without
the flash, because even if you only want to write
one byte to the hard drive, you are still blocked
until it spins up, which could be several seconds.
When you add flash as a write cache, you can start
writing immediately. Even if the flash could only
write at 1 MB/s, that's still a win because while
the hard drive is spun down, the alternative is
to be writing at 0 MB/s. And anyway, it seems
like modern flash can handle writes much more
quickly than that, on the order of 15 MB/s.
However, I do have to admit there is one wrinkle
in this idea: the whole purpose of the flash is
to be able to keep the hard drive spun down most
of the time. Therefore, with this scheme, you
will be more likely to need to have the hard
drive spin up, because the odds of needing to
spin up the hard drive on any given I/O increase
as you increase the percentage of time that the
hard drive is spun down. So, in situations where
you have a cache miss, you will pay a big penalty,
and assuming your flash really is slower at
writes than the drive, you will pay a bit of a
penalty (a smaller one) when your flash can't
keep up with the writes and you have to spin up
the hard drive to keep pace.
Still, I think for many workloads, the speeds could
be quite good, and they'd be better with flash cache
in some cases, and it could definitely result in
power saving.
What is the expected lifespan (in cycles) for flash memory? I thought it was only good for a few thousand writes.
As I understand it, this is basically a solved
problem. For one thing, the number of write
cycles before a location dies is actually more
like 10,000 or 100,000.
But more importantly,
apparently most all modern flash controllers
automatically and transparently
cycle writes through various parts of the flash,
so that if you tell the controller to write to
the same block several times in a row, behind
the scenes it will write to different physical
blocks in the flash each time.
It somehow maintains a constantly-changing mapping
between block addresses
and actual, physical blocks.
This process is called "wear leveling", and by
doing this, the problem of wearing out one
particular location is mostly eliminated. In
fact, given the number of cycles that each
block can be written, and given the transfer rate
of a flash device, it might take years
and years of continuous writing 24 hours a day
before you can wear it out. Eventually, it
will wear out, but most hard drives wouldn't
stand up well to that kind of activity either,
so you're no worse off with flash.
Most solid-state memory is pretty darn slow, and the stuff that's fast costs major $$$... I'll buy it when it gets faster & cheaper
As a guy who works on apps for Palm OS for a living,
I've learned that flash memory has two really nice
properties that hard drives don't have:
Its access time is pretty much negligible.
There is no head that has to be moved
across the disk. Sure, there are bound
to be advantages to one large read (or write)
compared to several smaller ones, but the
penalty for reading from (or writing to)
different spots all over the place is way,
way smaller than it is on a hard drive.
Probably more importantly, flash devices
can come out of power saving mode much
faster than hard drives can. This is for
one simple reason: when a hard drive goes
into power saving mode, it has to make a
big change in angular momentum of the platter
in order to come out of power saving mode.
Since the penalty is so high, you have to
make a compromise: either you must use more
energy and keep the drive powered on longer,
or you must wait for sometimes 5 or 10
seconds just to get a single byte off the
disk. With flash, you don't have this
problem, because it takes more like 1/2
second or less to bring the thing out of power saving
mode to full functionality.
#2 is such a big benefit that I'd really like
to have a laptop with a few GB of flash
memory that acts as a read and write cache for
the hard drive. With a good caching algorithm,
it should be possible to keep the hard drive
spun down most of the time and save a ton
of energy.
But it's quite a bit harder to come up with ways in which this device could be used legally. It's a music player - so people aren't likely to be using it for copying photos they've taken or software they've written - such as is the case with P2P on the Internet.
[... ] I would be quite utterly amazed if I got one interesting and legal track in a year of use.
I think it's possible. I live in Austin, TX,
a city which calls itself the "live music capital
of the world". That's partly hype, but there is
a lot of live music here. There are literally
thousands of bands here who want to promote their
music. Not every bands wants to be signed to a
big record company (maybe they have a day job),
but pretty much every band at least wants to get
the word out and get as many people as possible
to come to their gigs, if for no other reason
than making the club/restaurant owner happy so
they'll get another gig there.
So, imagine you're a local band that gigs somewhat
regularly, and you want to get people interested
in you. You're not going to "open source" all
your music, necessarily, but you might be really
into the idea of putting 2 or 3 songs out there
for people to listen to in order to build interest.
These days, any idiot with a computer and $500
worth of hardware can make a demo of a few songs.
So even if you are nowhere near making a commercial
recording, you can still make a promotional
recording on your own.
And, I don't know how every city in the US is laid
out, but here in Austin, there is Sixth Street,
where gazillions of young people go party every
weekend. They close off the street to vehicle
traffic, and on a busy night, there are thousands
of people walking up and down the same street.
If you're an enterprising club owner, you can
put one of these devices in your front window
and put songs on there of the bands that are
going to be at your club in the coming week.
Or if you're an enterprising band member, you
can convince several of your friends (who
already goes to 6th Street regularly) to put
your song on one of these devices and carry
it with them when they go.
Local music is the obvious thing to use this,
but there are other ideas too: a record
label could easily pay someone $25 to put
some songs of bands they're trying to promote
on their device. If you're a club hopper,
you're already going to be wandering around,
so effectively you're getting paid to go get
drunk and party. And presumably, if the
marketers are smart, they will put out music
that people would actually be interested in.
(That could be based in part on what clubs
you visit.)
Also, it doesn't have to necessarily be about
partiers either. I'm a sound guy at a church,
and we record parts of the services every week.
Right now, we have a CD duplicator and we make
copies and distribute them that way, and we
also convert it into MP3 and upload it to our
web site. But if this device were widespread,
we could easily transfer it over to the thing
and people could get a recording of the service
automatically, which some people might like.
There are other types of recordings that often
aren't copyrighted, too. A college professor
could record his lecture and then at the end of
the class let everyone automatically download
a copy for future reference. Anyone who wants
to get a message out there (concerned citizens,
activists, etc.) could do it with this technology.
Also, a note about marketing and unwanted
content in the system: people will tend to
delete the junk, and things that have been
deleted can't spread. It should be trivially
easy to quarantine newly-received stuff to a
sort of an inbox, and then set the system up
to only offer stuff to others if you've
reviewed it (moved it from quarantine into
your personal library) first. No, this won't
stop marketing people from putting someone on
the subway whose device is handing out
advertisements, but that will be effective only
to the degree that they can pay enough people
to drown out the masses of regular users, who
would (normally) only choose to make stuff
available that they actually like.
The only carrier I know of in North America with an true "unlimited" data plan is T-Mobile.
[... ] Unlimited talk time is useless to me - I want mobile data access dammit!
Well, I guess you could switch to T-Mobile then.
Just an idea.
For what it's worth, I couldn't take a week off
work this Christmas, but I went up to see the
family for a week anyway. I took my computer
and my T-Mobile
GPRS/EDGE equipped phone (a Motorola V330) to
access the net, and it worked pretty well,
although it was painfully slow compared to
cable modem at home. The nice thing about it
was T-Mobile customer service was perfectly
willing to let me turn on the unlimited internet
feature just while I was on my trip and pro rate
the charges for a partial month. So I think I
paid about $8 for unlimited data access on my
trip. (I don't think they want you turning the
feature off and on several times a month, but
apparently they don't mind if you do it
occasionally.)
By the way, as long as we're on this subject,
if you're using T-Mobile's GPRS and you can
access virtually all sites but can't get to
google.com, set your interface's MTU to 768
bytes.
Why can't they just increase the amount of availble spectrum ear marked for general purpose use? The now famous WiFi uses public spectrum and is easily the most famous radio - except perhaps radio itself.
AM and FM radio are more well-known than WiFi, but
I think WiFi is also behind two other very
famous uses
of the spectrum: television, and cell phones.
Also, in the general population, I would think
Citizens' Band radio and Police / Fire / EMS radio
are pretty well-known uses. Also, GPS is
pretty famous.
Now the real quesiton is why did Apple switch? This is off topic, but it doesn't make sense that they switched to a 32bit chip FROM a 64bit chip.
There's a reason that doesn't make sense: it
probably isn't happening. Yes, Intel does make
32-bit chips, but most (all?) of its recent chips
have 64-bit extensions. It's entirely possible,
and I would say also quite likely, that Apple will
restrict itself to the subset of Intel
chips that have 64-bit capabilities. It's the
only sane thing to do, and as far as I can tell,
there's no penalty for doing it. Heck, for what
it's worth, I'll speculate that the reason Apple
didn't switch sooner was that they wanted
to wait until the x86 world settled on a 64-bit
instruction set architecture.
I do feel for all those poor saps who are going to buy PPC or X86 Mac in the next year or so. I feel for them because I went through the 68k to PPC migraiton and bought all the load of crap that Apple fed back then. It is the same load of crap they are trying to spin today.... fat binaries.... blah blah blah. The truth is that if you go with a new X86 machine a bunch of your old stuff will not work
It remains to be seen how well the PowerPC-emulating
technology will work. I personally thought that
the 68k-emulating technology in the 68k to PowerPC
transition worked pretty OK. I don't think it had
perfect compatibility, but it did run lots of apps,
and I never personally had a problem other than
speed of emulation. (And although I did not
personally own a Macintosh at the time, I was a
system administrator at a site that had lots and
lots of
Macintosh systems.)
Also, regardless of how Apple spun the thing,
doesn't it seem that some sort of transition
was necessary? As I recall, several other
manufacturers transitioned away from 68k
before Apple did (such as when Sun chose SPARC
for Sun 4 machines instead of the 68k processors
they'd used in Sun 3 machines), and it was
fairly clear that the 68k line was dying.
Even if it wasn't clear then, it is definitely
dead now (even Palm OS has transitioned to ARM!),
so it was the right decision to do. The only
question is whether Apple did it at the right
time and did a good job with it, and I can't
fault them for either one.
It's a rehash of that "push vs. pull" tech we heard so much about. It's obviously going nowhere, few people understand how to utilize it, fewer people use it, nobody needs it. Unless the RSS feed is from my bank account, showing me withdraws in real time on my cellphone, I don't see myself using it either.
I think the key is to understand the benefits of
push vs. pull. Real people don't sit around doing
nothing waiting for news to come in. Real human
beings often don't multitask well, at least a certain
percentage of them don't. "push" technology offers
one benefit: it notifies you as soon as possible
when something comes out. But there's a cost, which
is that you don't always need to know
everything immediately. So, "push" technology is
only useful if the method you're using already
to get the information isn't notifying you of new
stuff fast enough.
Or, to put it another way, RSS's benefit is that it
reduces latency, but the cost is a huge increase
in the number of interrupts. RSS is only compelling
if you both need its benefit and are willing
to pay the cost.
For what it's worth, I actually can see some
situations where it might be useful. It could
be useful for notifying people of security
updates to software. Rather than checking once
a day, you could be instantly notified when a
security update is available. That would be
useful because the increased interrupts' cost
would be insignificant compared to the benefits
of applying security fixes as quickly as possible.
Another area I could imagine being useful is
updates about dangerous weather. Generally,
I don't need to check the weather forecast
more than once a day, because if they refine
their predictions slightly during the day,
it's not enough to change my behavior (i.e.
whether I take an umbrella with me to work).
But if there's a tornado in the area, I want
to know RIGHT NOW.
I suppose one other area where it might be
useful is things that are updated so
infrequently that you basically never
check on them. For example, people who
read cnn.com or whatever tend to check
that site every day because there is always
new info being added, so there is a reward
for checking it most of the time. But what
about the news web page for, say, your model
railroading club? You might check it only
every
six months, but it would be nice if
they could notify you of some special event
that is going on (like a going out of business
sale at a hobby shop). In this case, new
items appear so infrequently that it's just
not worth it to check often, and therefore
latency is really, REALLY high on getting
the information out there. Since updates are
so infrequent, RSS might actually be more
efficient than checking periodically and seeing
nothing new 75% of the times that you check it.
This would be a good analogy if the only way you could defragment your hard drive was by clicking on links in firefox. When I click on an ftp link in firefox, firefox doesn't launch my ftp client. Why should clicking a torrent link be any different? To the average user, they're both just download links.
Because the bittorrent protocol requires you to
stick around and serve the file for quite some
time after you've downloaded it, or the whole
system collapses. Whereas with
the browser, it's OK to quit the application
as soon as you're finished viewing whatever
it is you want to view.
And yes, some people leave their browsers
open for days at a time, but other don't
for various reasons, such as bugs that
make the browser unstable and require you
to restart it, or just because they don't
like to have an app running that they're not
using (for the sake of neatness or memory
or CPU usage).
In object-oriented programming, you talk
about an object's lifetime, and it's important
to make sure you understand what the right
lifetime is for an object.
Some of the same issues apply for applications'
lifetimes. Taking a web browser and
adding a peer-to-peer protocol
that requires clients to stick around after
they've finished downloading creates a bit
of a conflict. It's not a horrible thing
that can't be worked around, but
it's not exactly a good thing either
I'm opposed to police state measures. I'm not afraid and I see little reason for anyone to be afraid. You have a much better chance of winning the lottery than being killed by terrorism.
The fascists are playing on people's unjustified fears.
With the transit union strike
going on in NYC right
now, it seems more appropriate than ever
to quote what
a certain Canadian songwriter wrote almost
25 years ago:
Strikes across the frontier and strikes for higher wage
Planet lurches to the right as ideologies engage
Suddenly it's repression, moratorium on rights
What did they think the politics of panic would invite?
Person in the street shrugs -- "Security comes first"
But the trouble with normal is it always gets worse
Elsewhere he's said of the song that part of
what he meant is that if problems aren't
addressed, things are only going to get worse.
Not that I know precisely what to do about this
particular problem, other than writing angry
letters to your government representatives,
and going to the polls and expressing your
opinion in that way.
It seems like no other website has generated as much controversy as Wikipedia; is the Wikipedia foundation to blame or is it a result of the fact that the open source idea is viewed with more skepticism if it's applied to encyclopedias?
Obviously, part of it is that it goes against the
grain of the traditional sort of gatekeeper model
of editorializing.
But, more than that, I'm not sure that the open
source model applies as well to the world of
reference information as it does to source code.
It's a matter of motivations. When you're writing
source code, your main goal is to produce something
that will compile, and run, and not crash, and
be useful. Although some people want to contribute
code to prove their own idea about how to
implement something is
really bitchin, for the most part, contributors
want the software system to work because they
probably use the software, and too much
playing around will very easily break the
software.
With a reference work, however, things are a bit
different. Your purpose in creating the
document is not to create something that
functions in a way that benefits you: it's
to create the document itself. I'm sure plenty
of people are willing to document something
solely for the sake of creating good documentation,
but other people are motivated by wanting to get
their point of view out there. And if you
screw up a single article by putting your own bias
in there, it doesn't degrade the whole very
much. If it were source code, screwing up a
single source file would cause serious problems,
and it wouldn't be practical to accept such
changes.
Maybe what the wikipedia world needs is (dare
I say it) a mechanism for allowing various
parties with their own motivations and
responsibilities (to customers and user base
and so on) to produce
their own editorialized versions of the wikipedia.
In such a system, the wikipedia becomes a
development version whose quality can vary
according to the whims of its contributors,
and the editorialized versions make their
own changes to create a stable, high quality
version that works better for broad consumption.
Those who are familiar with Linux will have
realized by now that I am talking about the
same model that is used by Linux and
distributions of Linux: the maintainers of
the distributions are largely responsible for
making editorial decisions about how their
version is different from what comes from
the fountainhead. They are like Linux
refineries. So perhaps Wikipedia could
benefit from having its own set of refineries.
Oh, it's not? What happens when there is a war or other event that creates a situation where shutting down Galileo gives the EU -- or certain member nations -- a strategic advantage? Then it's going to be all about politics. In fact, I don't really know much about the EU (should learn more), but it seems like this could even be something around which a pattern of mutual defense could crystalize. This could be the one strategic resource in time of war that the EU must decide on as a group, so it could create political situations that virtually nothing else could. What if, for instance, one EU nation has a violent dispute with another EU nation, and Galileo figures into it strategically and forces the rest of the EU nations to take sides in a way that wouldn't be necessary if Galileo didn't exist?
If this were the case, it wouldn't be any different than things were before the transition to x86. There were, and still, other machines available that run on the PowerPC (or the mostly-compatible POWER) architecture other than Macs, so this issue already existed.
In fact, it has existed from the very beginning, because even back before the transition to PowerPC, Macs ran on Motorola 680x0 processors, and there were other machines that would have been capable of running Mac OS back then. I had an Amiga (also a 68k processor), and there was some company back then that sold a board that allowed you to take ROMs out of a dead Mac and put them on their board, and then you could boot Mac OS up as a task under AmigaDOS. And it worked just fine. If I recall correctly, at first people were buying ROMs from Apple parts dealers, and Apple got angry about this and made it so the ROMs were no longer available, and they may have even threatened to sue, although I can't remember.
The pedant in me feels obliged to point out that Compact Discs contain digital music as well. Probably the actual distinction has to do with whether the original media is being read at the time that the music is being played, or maybe whether the music being played at any point existed as a permanent copy (rather than transitory copies made in the process of playing it, which even CD players must do since they have a small amount of buffering).
OK, if price is not actually a factor, and you really want a 4 GB flash drive, then by all means, have at it. They're only about $1200 to $1500 for 4GB flash drives (with an ATA interface).
In a related story, after being told that U Mich now has quantum microchips working, Steve Jobs was heard saying, "Crap! FUCK! We just finished switching to Intel chips, and now THIS happens?! Now we're going to have to, I mean this will make us, I mean... DAMMIT! DAMN. IT. Stupid fucking processors -- we should've just stayed with m68k. I mean, what's the point?"
Oh yes, I forgot to mention: we are talking about NASA JPL here. So, it's important to consider what "the lab" means in context of that. And remember that "JPL" stands for "Jet Propulsion Laboratory". So, "the lab" probably refers to all of JPL. And that's a lot of people. I don't know exactly how many, but it is a few thousand if I recall correctly.
The point being, Brack could have said, "At NASA JPL, the most common Linux distro is RedHat, but in my own group at JPL, we use pretty much exclusively Mandriva".
There are two different groups here: there is Brack's group, and there is "the overall lab". Brack's group is presumably part of the lab, but based on these statements, must make up less than 50% of it. Think of a pizza with canadian bacon on one half and double pepperoni on the other. You can say "my half is exclusively canadian bacon" and you can also say "there is more pepperoni than canadian bacon on the pizza overall", and these two statements are perfectly consistent.
And even then, it may not happen. Imagine you have a class Beer with a method named drink(). The following code might use the v-table to get to the drink() method:
The reason is, the compiler doesn't know at this point whether you are going to subclass Beer so it has to allow for b having a type where that function has been overridden. But with this code it can generate a direct call:
The reason is, at the point it makes the call to drink(), it knows the type for sure, so even though it's a virtual method, the class of the object on which it is being called is already known, so this can be optimized into a static call and the v-table can be ignored.
I think I see what you're getting at, but I can't say I noticed any difference in that area between the correspondence courses and the numerous other courses I took during college. In particular, with the linear algebra course, I think it's unlikely I was learning by rote since both the problems in the book and the problems on the final exam (and the midterm?) required me to prove theorems I hadn't seen before.
I've not been impressed with most of what I've used. And in fact, I will go a step further and say that I've never seen any compelling evidence that computer instruction is ever more effective than a book with the same material in it. But I still think that computer-based instruction could easily be as effective as a book (and since there is more flexibility, possibly more effective), and a book is sufficient to teach math or history in my experience.
I would have to mostly disagree. Even though I think computers in education are the most wasteful, overhyped thing in decades, I think a properly made computer program probably could teach you to read. And I know you can learn math from a computer: in college, I took M311 (Linear Algebra and Matrix Theory) by correspondence, and I did just fine in it and got an "A", despite not being that great at math (for example, I failed second-semester calculus the first 4 times I took it).
In fact, that Linear Algebra experience taught me just how superfluous the teacher can be. I just had a book and a guide that told me what to read and what problems to work, and I did fine. I had the same experience with the other correspondence course I took, which was US History. All I did was read the book and mail in an essay for each chapter to be graded. I got an A in that too, and I still remember what the prof wrote on one of my essays: "I have rarely seen this kind of insight from an undergraduate."
Now, this might all have more to do with my learning style than anything. But the point is that I was able to learn just fine without ever even meeting the teacher and just reading a book. Obviously, any content you can put in a book, you can put on a computer, so you should be able to learn anything from a computer that you can learn from a book. Of course, that does require that the software isn't so brain-damaged that it detracts from learning.
OK, then, he could fire up a copy of Linux running under VMware for demo purposes, and then say something like, "and of course it can also run other operating systems, including a particular one from Washington State, if for some reason you're into that kind of thing."
Or cart in an Mac that has several instances of VMware already started up, with one running Linux, one running FreeBSD, one running Solaris, and one running Windows XP. Then quickly flip through them and say something like, "And you can run a variety of other operating systems under VMware if for whatever reason you feel the need."
The point is, it doesn't have to be done in a way that implies running Windows is a positive thing or that emphasizes Windows in particular. The point is the emphasize, instead, that you have a new level of flexibility.
Another possibility is that eventually you will be able to run Windows XP on such a Macintosh under VMware. That would kick very serious ass.
If I were VMware, Inc., I'd be porting the thing to OS X as fast as possible. In fact, if possible, I'd want that to be the bonus surprise announcement at the keynote. (Imagine if Jobs got up there and announced Intel Macs, and then while he was demoing them, he nonchalantly fired up a copy of Windows running under VMware. Many copies of VMware would be sold.)
Hmm, I think you'd pretty much have to use it as both a read and write cache if you want to achieve power savings, because otherwise even an occasional write will require you to spin up the hard drive really often (or leave it spinning most of the time).
As for the bottleneck, the I/O subsystem in the OS can mostly eliminate that bottleneck by reading stuff to RAM temporarily, then queueing it up to be written to flash later. A background thread could do the transfer from RAM to flash whenever the flash isn't being used for something else. If the background thread can't keep up with whatever is in the queue, just toss it -- it's only cached data anyway, which means by definition it's available on the hard disk. (And with I/O that heavy, you are probably going to have the hard disk running anyway.)
On a really busy server, this would probably not be practical since there might not be much spare bandwidth to the flash, but on a laptop, I would think it would work pretty well, because the flash should be idle much of the time.
On the one hand, the rumors of its death have been greatly exaggerated. Palm has announced a Windows-based PDA/phone, and that wasn't exactly a vote of confidence, but they have basically said they will continue to make new Palm OS devices. And the idea that Palm OS is being dumped and they are switching to Linux is a misconception: they are replacing the proprietary kernel that Palm OS runs on top of right now with Linux, but apparently the upper levels will look very similar to how they look now. (It may not even be immediately obvious to the user that it is Linux inside.)
On the other hand, PDA sales in general have been declining as cell phones have duplicated most of their functionality. The two most useful things a PDA has are a calendar and a contacts list. Most cell phones have both of those now. And many cell phones can synchronize to your desktop via Bluetooth or USB. And nobody wants to carry TWO devices in their pocket (a PDA and a cell phone), and if they have to choose, guess which one loses? So, the Palm OS market is not really a very pretty picture unless Palm OS can break into the smartphone market, which so far it hasn't succeeded in doing very well.
To make matters worse, in a sense it doesn't really matter if Palm OS is dead. What matters is whether people believe Palm OS is dead. If they believe it is, they're not going to buy a Palm device. And then it becomes a self-fulfilling prophecy.
So yes, I still have a job, but it may not be a very good area to be in long term. Or even medium term. :-(
That's a good point, but I think there's a way around it. Simply put, on a laptop, at any given time, the hard drive is either spun up or it's not. So we have two cases:
However, I do have to admit there is one wrinkle in this idea: the whole purpose of the flash is to be able to keep the hard drive spun down most of the time. Therefore, with this scheme, you will be more likely to need to have the hard drive spin up, because the odds of needing to spin up the hard drive on any given I/O increase as you increase the percentage of time that the hard drive is spun down. So, in situations where you have a cache miss, you will pay a big penalty, and assuming your flash really is slower at writes than the drive, you will pay a bit of a penalty (a smaller one) when your flash can't keep up with the writes and you have to spin up the hard drive to keep pace.
Still, I think for many workloads, the speeds could be quite good, and they'd be better with flash cache in some cases, and it could definitely result in power saving.
As I understand it, this is basically a solved problem. For one thing, the number of write cycles before a location dies is actually more like 10,000 or 100,000.
But more importantly, apparently most all modern flash controllers automatically and transparently cycle writes through various parts of the flash, so that if you tell the controller to write to the same block several times in a row, behind the scenes it will write to different physical blocks in the flash each time. It somehow maintains a constantly-changing mapping between block addresses and actual, physical blocks.
This process is called "wear leveling", and by doing this, the problem of wearing out one particular location is mostly eliminated. In fact, given the number of cycles that each block can be written, and given the transfer rate of a flash device, it might take years and years of continuous writing 24 hours a day before you can wear it out. Eventually, it will wear out, but most hard drives wouldn't stand up well to that kind of activity either, so you're no worse off with flash.
This article has a section on wear-leveling.
As a guy who works on apps for Palm OS for a living, I've learned that flash memory has two really nice properties that hard drives don't have:
#2 is such a big benefit that I'd really like to have a laptop with a few GB of flash memory that acts as a read and write cache for the hard drive. With a good caching algorithm, it should be possible to keep the hard drive spun down most of the time and save a ton of energy.
I think it's possible. I live in Austin, TX, a city which calls itself the "live music capital of the world". That's partly hype, but there is a lot of live music here. There are literally thousands of bands here who want to promote their music. Not every bands wants to be signed to a big record company (maybe they have a day job), but pretty much every band at least wants to get the word out and get as many people as possible to come to their gigs, if for no other reason than making the club/restaurant owner happy so they'll get another gig there.
So, imagine you're a local band that gigs somewhat regularly, and you want to get people interested in you. You're not going to "open source" all your music, necessarily, but you might be really into the idea of putting 2 or 3 songs out there for people to listen to in order to build interest. These days, any idiot with a computer and $500 worth of hardware can make a demo of a few songs. So even if you are nowhere near making a commercial recording, you can still make a promotional recording on your own.
And, I don't know how every city in the US is laid out, but here in Austin, there is Sixth Street, where gazillions of young people go party every weekend. They close off the street to vehicle traffic, and on a busy night, there are thousands of people walking up and down the same street. If you're an enterprising club owner, you can put one of these devices in your front window and put songs on there of the bands that are going to be at your club in the coming week. Or if you're an enterprising band member, you can convince several of your friends (who already goes to 6th Street regularly) to put your song on one of these devices and carry it with them when they go.
Local music is the obvious thing to use this, but there are other ideas too: a record label could easily pay someone $25 to put some songs of bands they're trying to promote on their device. If you're a club hopper, you're already going to be wandering around, so effectively you're getting paid to go get drunk and party. And presumably, if the marketers are smart, they will put out music that people would actually be interested in. (That could be based in part on what clubs you visit.)
Also, it doesn't have to necessarily be about partiers either. I'm a sound guy at a church, and we record parts of the services every week. Right now, we have a CD duplicator and we make copies and distribute them that way, and we also convert it into MP3 and upload it to our web site. But if this device were widespread, we could easily transfer it over to the thing and people could get a recording of the service automatically, which some people might like.
There are other types of recordings that often aren't copyrighted, too. A college professor could record his lecture and then at the end of the class let everyone automatically download a copy for future reference. Anyone who wants to get a message out there (concerned citizens, activists, etc.) could do it with this technology.
Also, a note about marketing and unwanted content in the system: people will tend to delete the junk, and things that have been deleted can't spread. It should be trivially easy to quarantine newly-received stuff to a sort of an inbox, and then set the system up to only offer stuff to others if you've reviewed it (moved it from quarantine into your personal library) first. No, this won't stop marketing people from putting someone on the subway whose device is handing out advertisements, but that will be effective only to the degree that they can pay enough people to drown out the masses of regular users, who would (normally) only choose to make stuff available that they actually like.
Well, I guess you could switch to T-Mobile then. Just an idea.
For what it's worth, I couldn't take a week off work this Christmas, but I went up to see the family for a week anyway. I took my computer and my T-Mobile GPRS/EDGE equipped phone (a Motorola V330) to access the net, and it worked pretty well, although it was painfully slow compared to cable modem at home. The nice thing about it was T-Mobile customer service was perfectly willing to let me turn on the unlimited internet feature just while I was on my trip and pro rate the charges for a partial month. So I think I paid about $8 for unlimited data access on my trip. (I don't think they want you turning the feature off and on several times a month, but apparently they don't mind if you do it occasionally.)
By the way, as long as we're on this subject, if you're using T-Mobile's GPRS and you can access virtually all sites but can't get to google.com, set your interface's MTU to 768 bytes.
AM and FM radio are more well-known than WiFi, but I think WiFi is also behind two other very famous uses of the spectrum: television, and cell phones. Also, in the general population, I would think Citizens' Band radio and Police / Fire / EMS radio are pretty well-known uses. Also, GPS is pretty famous.
There's a reason that doesn't make sense: it probably isn't happening. Yes, Intel does make 32-bit chips, but most (all?) of its recent chips have 64-bit extensions. It's entirely possible, and I would say also quite likely, that Apple will restrict itself to the subset of Intel chips that have 64-bit capabilities. It's the only sane thing to do, and as far as I can tell, there's no penalty for doing it. Heck, for what it's worth, I'll speculate that the reason Apple didn't switch sooner was that they wanted to wait until the x86 world settled on a 64-bit instruction set architecture.
It remains to be seen how well the PowerPC-emulating technology will work. I personally thought that the 68k-emulating technology in the 68k to PowerPC transition worked pretty OK. I don't think it had perfect compatibility, but it did run lots of apps, and I never personally had a problem other than speed of emulation. (And although I did not personally own a Macintosh at the time, I was a system administrator at a site that had lots and lots of Macintosh systems.)
Also, regardless of how Apple spun the thing, doesn't it seem that some sort of transition was necessary? As I recall, several other manufacturers transitioned away from 68k before Apple did (such as when Sun chose SPARC for Sun 4 machines instead of the 68k processors they'd used in Sun 3 machines), and it was fairly clear that the 68k line was dying. Even if it wasn't clear then, it is definitely dead now (even Palm OS has transitioned to ARM!), so it was the right decision to do. The only question is whether Apple did it at the right time and did a good job with it, and I can't fault them for either one.
I think the key is to understand the benefits of push vs. pull. Real people don't sit around doing nothing waiting for news to come in. Real human beings often don't multitask well, at least a certain percentage of them don't. "push" technology offers one benefit: it notifies you as soon as possible when something comes out. But there's a cost, which is that you don't always need to know everything immediately. So, "push" technology is only useful if the method you're using already to get the information isn't notifying you of new stuff fast enough.
Or, to put it another way, RSS's benefit is that it reduces latency, but the cost is a huge increase in the number of interrupts. RSS is only compelling if you both need its benefit and are willing to pay the cost.
For what it's worth, I actually can see some situations where it might be useful. It could be useful for notifying people of security updates to software. Rather than checking once a day, you could be instantly notified when a security update is available. That would be useful because the increased interrupts' cost would be insignificant compared to the benefits of applying security fixes as quickly as possible.
Another area I could imagine being useful is updates about dangerous weather. Generally, I don't need to check the weather forecast more than once a day, because if they refine their predictions slightly during the day, it's not enough to change my behavior (i.e. whether I take an umbrella with me to work). But if there's a tornado in the area, I want to know RIGHT NOW.
I suppose one other area where it might be useful is things that are updated so infrequently that you basically never check on them. For example, people who read cnn.com or whatever tend to check that site every day because there is always new info being added, so there is a reward for checking it most of the time. But what about the news web page for, say, your model railroading club? You might check it only every six months, but it would be nice if they could notify you of some special event that is going on (like a going out of business sale at a hobby shop). In this case, new items appear so infrequently that it's just not worth it to check often, and therefore latency is really, REALLY high on getting the information out there. Since updates are so infrequent, RSS might actually be more efficient than checking periodically and seeing nothing new 75% of the times that you check it.
Because the bittorrent protocol requires you to stick around and serve the file for quite some time after you've downloaded it, or the whole system collapses. Whereas with the browser, it's OK to quit the application as soon as you're finished viewing whatever it is you want to view.
And yes, some people leave their browsers open for days at a time, but other don't for various reasons, such as bugs that make the browser unstable and require you to restart it, or just because they don't like to have an app running that they're not using (for the sake of neatness or memory or CPU usage).
In object-oriented programming, you talk about an object's lifetime, and it's important to make sure you understand what the right lifetime is for an object. Some of the same issues apply for applications' lifetimes. Taking a web browser and adding a peer-to-peer protocol that requires clients to stick around after they've finished downloading creates a bit of a conflict. It's not a horrible thing that can't be worked around, but it's not exactly a good thing either
With the transit union strike going on in NYC right now, it seems more appropriate than ever to quote what a certain Canadian songwriter wrote almost 25 years ago:
Elsewhere he's said of the song that part of what he meant is that if problems aren't addressed, things are only going to get worse. Not that I know precisely what to do about this particular problem, other than writing angry letters to your government representatives, and going to the polls and expressing your opinion in that way.
Obviously, part of it is that it goes against the grain of the traditional sort of gatekeeper model of editorializing.
But, more than that, I'm not sure that the open source model applies as well to the world of reference information as it does to source code. It's a matter of motivations. When you're writing source code, your main goal is to produce something that will compile, and run, and not crash, and be useful. Although some people want to contribute code to prove their own idea about how to implement something is really bitchin, for the most part, contributors want the software system to work because they probably use the software, and too much playing around will very easily break the software.
With a reference work, however, things are a bit different. Your purpose in creating the document is not to create something that functions in a way that benefits you: it's to create the document itself. I'm sure plenty of people are willing to document something solely for the sake of creating good documentation, but other people are motivated by wanting to get their point of view out there. And if you screw up a single article by putting your own bias in there, it doesn't degrade the whole very much. If it were source code, screwing up a single source file would cause serious problems, and it wouldn't be practical to accept such changes.
Maybe what the wikipedia world needs is (dare I say it) a mechanism for allowing various parties with their own motivations and responsibilities (to customers and user base and so on) to produce their own editorialized versions of the wikipedia. In such a system, the wikipedia becomes a development version whose quality can vary according to the whims of its contributors, and the editorialized versions make their own changes to create a stable, high quality version that works better for broad consumption. Those who are familiar with Linux will have realized by now that I am talking about the same model that is used by Linux and distributions of Linux: the maintainers of the distributions are largely responsible for making editorial decisions about how their version is different from what comes from the fountainhead. They are like Linux refineries. So perhaps Wikipedia could benefit from having its own set of refineries.