Let's face it, most programming languages suck from the point of view of teaching. Python's pretty cool, but the syntax has lots of special cases and many, many weird (but useful) language features, all of which are confusing. Ruby ditto. Java is useful but unspeakably complex. C++ is even more useful and even more unspeakable. C requires you to be anally retentive. Basic is a crime. etc, etc. If you pick any of these, you end up having to teach the language, rather than teaching the abstract concepts that underly the language.
My university got round this by designing their own custom language, S-Algol, and all the algorithms courses were done in it. Of course, it didn't help that it was a weird, half-implemented language (a garbage collected language with no actual garbage collector!) with lousy error detection (anyone who knows it will remember, and shudder at, the phrase 'void and void are not compatible in this context') and a half-assed IDE (the only editor I've ever seen where you had to move the cursor with the mouse. Yes, the arrow keys didn't work).
If you want an existing language that's powerful enough to teach proper algorithms and yet simple enough for novices, you could do a lot worse than Logo. Yes, yes, stop laughing. But underneath the cute turtle interface it's surprisingly powerful and rather deep: it's best described as a stealth Lisp.
Logo's biggest problem is that when it was introduced and heralded as the best thing since sliced strings, most affordable computers weren't powerful enough to actually run it; I remember Acornsoft Logo on the BBC Micro, running a Prolog-alike rules database, where a simple query took several minutes. Since the only thing that would reasonably run on a Logo on one of these machines were toys, Logo itself became known as a toy.
But if you have another look at it today, you might be impressed. Okay, the syntax is a bit weird in places --- particularly when it comes to local variables --- and there's no object oriented system (although it's pretty much trivial to write one), but it's pretty much ideal for teaching basic concepts such as conditionals, iteration, abstraction, data structures, etc. And that bloody turtle gives instant gratification, making simple programs considerably more interesting than they would be in, say, Python.
These days, you still won't find a better introduction to the utter basics of what computer programming's all about than the hoary old Logo tutorial. You know: "Let's move the turtle around! Let's draw a square! Let's make a procedure that draws a square! Let's draw several squares! Let's change the procedure to draw different sized squares!" That one.
Re:'pure' flash devices
on
Linux 2.6.27 Out
·
· Score: 3, Interesting
How about SD cards? They appear to be rather low on circuitry.
No, SD cards still have an on-board microcontroller. If you take the lid off, there are usually two chips in there: one's the flash itself, the other's the microcontroller.
(SD cards are awesome if you're a homebrewer. They speak a high-level protocol over a very simple four-wire serial interface. It clocks down far enough that it's possible to hook one up to, say, a C64 or Spectrum by just connecting it to some spare I/O pins and wiggling them manually. You can then read and write 512 byte sectors by sending the appropriate command, and you don't have to worry about any of that horrible flash stuff.)
As I understand it, the moon's gravitational pull works against the earth's and the two are in a sort of balance that determines the distance of the moon's orbit, or something.
Yes, but the mass of the object is irrelevant. Very approximately, an orbit is where the outward force due to centrifugal force[*] is equal to the inward force due to gravity; both these terms scale linearly with mass, so if you increase the mass of one, the other increases proportionately and the balance remains.
(This is why the space shuttle and the space station can be in the same orbit a few metres apart, despite being different sizes.)
Also, in general the human race is nowhere near able to do any kind of cosmic engineering, deliberate or otherwise. Even if we bent all our resources to it, we wouldn't even be able to significantly resculpt the surface of our own planet, let alone another one.
[*] To pedants: yes, I know.
(BTW, the moon already is lopsided. The same tides that pull water around on Earth pulls the rock around on the moon. The near side of the moon is significantly larger than the far side. Interesting factoid: the moon is so irregular that setting up a stable orbit around it is really hard.)
Don't forget Project Entropia (now Entropia Universe), one of the oldest, which explicitly allows conversion of currency from game money to real money, and encourages people to set up money-making activities there. They seem to be doing well; they're apparently profitable and the Wikipedia page claims a turnover of about 360M USD...
I haven't seen any specs yet for the A9, but it does look very, very cool. In more ways than one...
(I was actually thinking of the A8 in my post; that runs so cool that in the BeagleBoard dev kit, they actually glue the RAM to the top of the processor! I'd like to see someone do *that* with an Atom.)
My ideal notebook would not be Intel architecture.
Let's face it, designing a notebook around an Intel processor is like designing a bicycle around a V8 truck engine. Even recent attempts to make them low-power are laughable; the Intel Atom may draw an unheard-of 4 watts, but the new generation of ARM chips have about the same processing capabilities and draw *0.3* watts (plus you get a DSP and a PowerVR 3D accelerator for free).
The only possible reason for wanting an IA32 processor is if you're going to run Windows; which is fine, if you want to do that, but I don't. So why should I, and all the people like me, be restricted to having to using hardware that's crippled by the need by a ludicrously power-hungry processor and all the heat-dissipation hardware necessary to make it go? I have an Asus eee 701; it has a *fan* in it. That's simply absurd in a machine that size.
Lose the Intel processor, and it'll be cheaper, lighter and you're probably quadruple the battery life...
GUI-wise, it's a total win for Cocoa. The widgets and controls are an order of magnitude easier to understand and use than Java's swing/awt/swt nightmare.
Um, you are aware that Android does not use Swing, AWT or SWT?
In fact, as someone who's actually written code for a bunch of different mobile platforms, including some proprietary ones (shudder, shudder, 20 minute build cycles, shudder), Android is an absolute dream to code for.
In essence, Android encourages applications to be data-centric; and the Android UI allows to to hook up a custom View of your choice to a real SQL backend via automatic cross-process IPC (which allows you to export data to other apps) in about 100 lines of well-spaced code. Compared to, say, Symbian, where you have to spend half your time thrashing through their documentation trying to figure out the lunatic memory management model and the other half waiting for it to build, it's simply so nice. Instead of having to spend all your time on trivial data management issues you can simply press ahead to the application logic itself.
(Not to mention that the Android tools work. The debugger just works, and honours breakpoints, which is more than you can say for Symbian's.)
(Also, as the Objective-C object model was blatantly stolen from Smalltalk, and the Java object model was also blatantly stolen from Smalltalk but with C++ syntax, there's actually much less in it than you might think.)
As for being an ass, I have to say that it's a bit deserved. Participating in a discussion that's arguably about computer science theory and grossly misusing the word "infinite" doesn't make you very credible.
And yet, a number of people, not just me, were using the term as if it meant something... which should have been your clue that your understanding was flawed.
Here's the clue: Haskell is a *lazy* language. This means it only evaluates things as it needs to. This allows it to operate on representations of infinite amounts of data, by only actually needing to do the operations on the data required right now. So, you can construct a list that contains all the members of the fibonacci sequence, and while summing all the members will take an infinite amount of time, summing a finite subset of the members will take a finite amount of time.
This applies to I/O: your program is a function which takes, as a parameter, a infinite list of keyboard events. It returns a list of characters (which may be infinite if your program never halts). Your entire program logic then becomes a mapping between input events and output events. Something like:
main i = map i (1 +)
(very dodgy syntax, this was all years ago) returns an infinite list which is a copy of the input infinite list with all the elements incremented by one. Press an A, and it'll print a B. Of course, you're probably going to ^C it before very long, but it doesn't escape the fact that the program is quite happily operating on lists that it considers to be infinitely long --- one element at a time.
(In fact, that's a huge simplification; the real thing is significantly more complex and uses things call monads for dealing with all this that are infamously nasty. I don't pretend to understand them.)
Why should I? I spent time and effort composing a response to Dragonslicer's original query. Dragonslicer then responded by being an ass. Why should I waste any further time? I've got better things to do.
Might that be because infinite data structures don't often exist in mainstream and/or commercial software applications?
Sure they do. On my computer, there's an infinite stream of ethernet frames arriving, an infinite stream of video frames leaving, an infinite stream of keyboard events arriving, etc.
The thing about functional languages, and strict lazy functional languages like Haskell, is that the underlying principles are quite different from procedural languages like C. In C, you tell the computer to do things. In Haskell, you tell the computer the relationships between things, and it figures out what to do all on its own.
Personally, I suck at Haskell --- I'm too much of a procedural programmer. My mind's stuck in the rails of doing thing procedurally. But I'd very much like to learn it more, *because* it will teach me different ways of thinking about problems. If I can think of an ethernet router as a mapping between an input and output stream of packets rather than as a sequence of discrete events that get processed sequentially, then it may well encourage me to solve the problem in a some better way.
Shooting people who obviously intend harm to you or your property is not a morally ambiguous situation: you shoot to kill.
Nonsense.
'Hey, kid! Get off my lawn! I just planted that and you're damaging my grass!' *bang*
In the more general case, any outright statement like that is an invitation to sociopathy, because it's very easy to redefine the word 'harm' to mean whatever you like. ('Hey, kid! Stop downloading that MP3! You're harming my contractually obligated musicians!' *bang*) Not to mention that 'obviously intend harm' is a very fuzzy terminology; consider the case a number of years ago now when a drunk UK tourist in the US got lost, tried to knock on someone's door to find out where they were, and was shot dead.
Oh, yes, and your second sentence translates to 'I was only following orders!'.
Try:
'A judicious approach of force, up to and including deadly force, when faced with a threatening situation, is morally defensible.'
Unfortunately that's a rather less snappy phrase and as such is rather less likely to be popular among those predisposed to violence.
Ah, yes. But if you were actually a member of his target audience (dirt poor people in countries like Haiti making $2-$4 per day) then you couldn't afford that fancy $3000 turbine in your wildest dreams.
I remember reading about this last year; it's very, very neat. Not only is there a very low up-front cost to get started with a single unit, but they also have low maintenance costs.
A wind turbine, even a small cheap one, is a fearsomely complicated device that requires all sort of exotic tooling to build and maintain. Think of all those bearings, the gearbox, the generator coils, etc. The windbelt is an inert frame containing an inert ribbon, a couple of magnets, and a voice coil. The only bit of that you can't build by hand, using low technology, are the magnets, and they don't wear out. Possibly you might have trouble finding the right wire for the voice coil; but rewinding the failed one is a tricky but perfectly manageable job to do by hand.
So what these will do is not just provide accessible power, but rapidly bootstrap a complete power economy based around the technology. Which is the point...
(In fact, there are a few known traits which are hereditary which are not genetic: having the trait in the mother causes the embryo to develop in a certain way which causes it to have the same trait. Nothing very exciting, though, unless someone's discovered something new since I heard about all this stuff.)
No, that's not what I meant --- a lion embryo will develop in a tiger womb, and vice versa. I'm not talking about the ability to cross-breed (although the reason why they're developmentally compatible is because, as you say, they're closely enough related that they can almost cross-breed).
This sounds great at first. But if it's in space, then aliens will get hold of it, clone me a hundred million times, arm all the mes to the teeth, and then invade.
Nah, you're missing the upside; after the invasion, sue them for copyright infringement and get the court to award you damages. Given that they've just conquered the Earth, the damages should be quite substantial.
1. They store the sequenced DNA digitally. Do we *know* we can rebuild a fully functioning creature from just that?
We know we can't. DNA is, if you like, a program; but in order to make sense of that program, you need an appropriate computer to run it on, which is a human womb.
Some combinations of animals are compatible with each other --- lions and tigers, for example --- but most animals aren't. Try to grow an embryo of the wrong species in an incompatible host and it'll crash; either it'll just die, or else the mother will abort it.
About the only thing you could do with a DNA sequence in isolation is poke through it looking for interesting protein sequences.
Yeah, I agree. ReiserFS does its job really well. There are some issues --- apart from not getting terribly good maintenance any more, there's an issue with hash collisions meaning that you can't put some combinations of files into a directory, which Debian can trigger occasionally --- but it's still a perfectly serviceable, production quality filesystem. I'd love for someone to adopt it and do maintenance.
The show-stopper is(as of now) no NoScript/AdBlock! I've become spoiled with ad-free pages and seeing that first obnoxious flash ad was enough to convince me to keep FF as my browser of choice -- at least until a few plug-ins are made for Chrome.
Absolutely. I've been experimenting with Privoxy but it's just not as convenient and as easy to use as Adblock Plus with an subscription.
Are there any other adblocking proxies I can have a try with? As simple as possible, preferably...
That's Gliese 581c, which is merely five times the mass of the Earth --- and they only detected it because it orbits at one fourteenth of Earth's orbit. In other words, it's a heavy planet very, very close to its sun. The only reason it was described as 'Earth-like' is that Gliese 581 itself is a red dwarf, which means it's much cooler than Sol, which puts 581c in the star's life zone.
So, while it's theoretically possible that 581c could support life, it's still not really Earth-like. We're still a long way off from being able to detect Earth-sized planets at Earth-orbit distances from Sol-like stars.
I have a real modem that happens to be a PCI modem --- that is, the modem's output UART is wired directly to the PCI bus. It shows up as an extra serial port but ignores the baud rate.
There's actually a surprising number of them around, but as you say, there's a lot of winmodems and it's rather hard to tell the difference before the fact. The only thing I can suggest is to plug 'em in and look up the PCI IDs.
I'd actually prefer a USB modem --- that computer only has one PCI slot --- but ordinary, external POTS modems seem to be practically unheard of these days. It's very peculiar...
Let's face it, most programming languages suck from the point of view of teaching. Python's pretty cool, but the syntax has lots of special cases and many, many weird (but useful) language features, all of which are confusing. Ruby ditto. Java is useful but unspeakably complex. C++ is even more useful and even more unspeakable. C requires you to be anally retentive. Basic is a crime. etc, etc. If you pick any of these, you end up having to teach the language, rather than teaching the abstract concepts that underly the language.
My university got round this by designing their own custom language, S-Algol, and all the algorithms courses were done in it. Of course, it didn't help that it was a weird, half-implemented language (a garbage collected language with no actual garbage collector!) with lousy error detection (anyone who knows it will remember, and shudder at, the phrase 'void and void are not compatible in this context') and a half-assed IDE (the only editor I've ever seen where you had to move the cursor with the mouse. Yes, the arrow keys didn't work).
If you want an existing language that's powerful enough to teach proper algorithms and yet simple enough for novices, you could do a lot worse than Logo. Yes, yes, stop laughing. But underneath the cute turtle interface it's surprisingly powerful and rather deep: it's best described as a stealth Lisp.
Logo's biggest problem is that when it was introduced and heralded as the best thing since sliced strings, most affordable computers weren't powerful enough to actually run it; I remember Acornsoft Logo on the BBC Micro, running a Prolog-alike rules database, where a simple query took several minutes. Since the only thing that would reasonably run on a Logo on one of these machines were toys, Logo itself became known as a toy.
But if you have another look at it today, you might be impressed. Okay, the syntax is a bit weird in places --- particularly when it comes to local variables --- and there's no object oriented system (although it's pretty much trivial to write one), but it's pretty much ideal for teaching basic concepts such as conditionals, iteration, abstraction, data structures, etc. And that bloody turtle gives instant gratification, making simple programs considerably more interesting than they would be in, say, Python.
These days, you still won't find a better introduction to the utter basics of what computer programming's all about than the hoary old Logo tutorial. You know: "Let's move the turtle around! Let's draw a square! Let's make a procedure that draws a square! Let's draw several squares! Let's change the procedure to draw different sized squares!" That one.
How about SD cards? They appear to be rather low on circuitry.
No, SD cards still have an on-board microcontroller. If you take the lid off, there are usually two chips in there: one's the flash itself, the other's the microcontroller.
(SD cards are awesome if you're a homebrewer. They speak a high-level protocol over a very simple four-wire serial interface. It clocks down far enough that it's possible to hook one up to, say, a C64 or Spectrum by just connecting it to some spare I/O pins and wiggling them manually. You can then read and write 512 byte sectors by sending the appropriate command, and you don't have to worry about any of that horrible flash stuff.)
As I understand it, the moon's gravitational pull works against the earth's and the two are in a sort of balance that determines the distance of the moon's orbit, or something.
Yes, but the mass of the object is irrelevant. Very approximately, an orbit is where the outward force due to centrifugal force[*] is equal to the inward force due to gravity; both these terms scale linearly with mass, so if you increase the mass of one, the other increases proportionately and the balance remains.
(This is why the space shuttle and the space station can be in the same orbit a few metres apart, despite being different sizes.)
Also, in general the human race is nowhere near able to do any kind of cosmic engineering, deliberate or otherwise. Even if we bent all our resources to it, we wouldn't even be able to significantly resculpt the surface of our own planet, let alone another one.
[*] To pedants: yes, I know.
(BTW, the moon already is lopsided. The same tides that pull water around on Earth pulls the rock around on the moon. The near side of the moon is significantly larger than the far side. Interesting factoid: the moon is so irregular that setting up a stable orbit around it is really hard.)
Don't forget Project Entropia (now Entropia Universe), one of the oldest, which explicitly allows conversion of currency from game money to real money, and encourages people to set up money-making activities there. They seem to be doing well; they're apparently profitable and the Wikipedia page claims a turnover of about 360M USD...
Campbell's Condensed soup, which you dilute with equal parts water, is ideal for stocking your emergency bunker.
(It's also damned nice. I particularly like their tomato and rice soup, which they've discontinued, sob. And I don't even have a bunker.)
I get that from Yahoo. Usually it goes:
[random sequence of letters] [my username]?
It's convenient that they do it that way, because it makes it really easy to identify...
I still have an ICQ account. Thanks to Pidgin, I'm even logged in on it. And I don't think anyone has *ever* tried to contact me with it.
I haven't seen any specs yet for the A9, but it does look very, very cool. In more ways than one...
(I was actually thinking of the A8 in my post; that runs so cool that in the BeagleBoard dev kit, they actually glue the RAM to the top of the processor! I'd like to see someone do *that* with an Atom.)
My ideal notebook would not be Intel architecture.
Let's face it, designing a notebook around an Intel processor is like designing a bicycle around a V8 truck engine. Even recent attempts to make them low-power are laughable; the Intel Atom may draw an unheard-of 4 watts, but the new generation of ARM chips have about the same processing capabilities and draw *0.3* watts (plus you get a DSP and a PowerVR 3D accelerator for free).
The only possible reason for wanting an IA32 processor is if you're going to run Windows; which is fine, if you want to do that, but I don't. So why should I, and all the people like me, be restricted to having to using hardware that's crippled by the need by a ludicrously power-hungry processor and all the heat-dissipation hardware necessary to make it go? I have an Asus eee 701; it has a *fan* in it. That's simply absurd in a machine that size.
Lose the Intel processor, and it'll be cheaper, lighter and you're probably quadruple the battery life...
No, no, no --- this wasn't for a complete OS build. This was for a *relink*. That is, change one source file, compile it, link, flash, test.
(Actually, I should probably bump the time up to 30 minutes; flashing took forever, too.)
Um, you are aware that Android does not use Swing, AWT or SWT?
In fact, as someone who's actually written code for a bunch of different mobile platforms, including some proprietary ones (shudder, shudder, 20 minute build cycles, shudder), Android is an absolute dream to code for.
In essence, Android encourages applications to be data-centric; and the Android UI allows to to hook up a custom View of your choice to a real SQL backend via automatic cross-process IPC (which allows you to export data to other apps) in about 100 lines of well-spaced code. Compared to, say, Symbian, where you have to spend half your time thrashing through their documentation trying to figure out the lunatic memory management model and the other half waiting for it to build, it's simply so nice. Instead of having to spend all your time on trivial data management issues you can simply press ahead to the application logic itself.
(Not to mention that the Android tools work. The debugger just works, and honours breakpoints, which is more than you can say for Symbian's.)
(Also, as the Objective-C object model was blatantly stolen from Smalltalk, and the Java object model was also blatantly stolen from Smalltalk but with C++ syntax, there's actually much less in it than you might think.)
As for being an ass, I have to say that it's a bit deserved. Participating in a discussion that's arguably about computer science theory and grossly misusing the word "infinite" doesn't make you very credible.
And yet, a number of people, not just me, were using the term as if it meant something... which should have been your clue that your understanding was flawed.
Here's the clue: Haskell is a *lazy* language. This means it only evaluates things as it needs to. This allows it to operate on representations of infinite amounts of data, by only actually needing to do the operations on the data required right now. So, you can construct a list that contains all the members of the fibonacci sequence, and while summing all the members will take an infinite amount of time, summing a finite subset of the members will take a finite amount of time.
This applies to I/O: your program is a function which takes, as a parameter, a infinite list of keyboard events. It returns a list of characters (which may be infinite if your program never halts). Your entire program logic then becomes a mapping between input events and output events. Something like:
main i = map i (1 +)
(very dodgy syntax, this was all years ago) returns an infinite list which is a copy of the input infinite list with all the elements incremented by one. Press an A, and it'll print a B. Of course, you're probably going to ^C it before very long, but it doesn't escape the fact that the program is quite happily operating on lists that it considers to be infinitely long --- one element at a time.
(In fact, that's a huge simplification; the real thing is significantly more complex and uses things call monads for dealing with all this that are infamously nasty. I don't pretend to understand them.)
If you have an explanation, why not give it?
Why should I? I spent time and effort composing a response to Dragonslicer's original query. Dragonslicer then responded by being an ass. Why should I waste any further time? I've got better things to do.
You keep on using that word. I do not think it means what you think it means.
I suggest you go and look up what infinite data structures are actually used for. You might learn something...
Might that be because infinite data structures don't often exist in mainstream and/or commercial software applications?
Sure they do. On my computer, there's an infinite stream of ethernet frames arriving, an infinite stream of video frames leaving, an infinite stream of keyboard events arriving, etc.
The thing about functional languages, and strict lazy functional languages like Haskell, is that the underlying principles are quite different from procedural languages like C. In C, you tell the computer to do things. In Haskell, you tell the computer the relationships between things, and it figures out what to do all on its own.
Personally, I suck at Haskell --- I'm too much of a procedural programmer. My mind's stuck in the rails of doing thing procedurally. But I'd very much like to learn it more, *because* it will teach me different ways of thinking about problems. If I can think of an ethernet router as a mapping between an input and output stream of packets rather than as a sequence of discrete events that get processed sequentially, then it may well encourage me to solve the problem in a some better way.
Nonsense.
'Hey, kid! Get off my lawn! I just planted that and you're damaging my grass!' *bang*
In the more general case, any outright statement like that is an invitation to sociopathy, because it's very easy to redefine the word 'harm' to mean whatever you like. ('Hey, kid! Stop downloading that MP3! You're harming my contractually obligated musicians!' *bang*) Not to mention that 'obviously intend harm' is a very fuzzy terminology; consider the case a number of years ago now when a drunk UK tourist in the US got lost, tried to knock on someone's door to find out where they were, and was shot dead.
Oh, yes, and your second sentence translates to 'I was only following orders!'.
Try:
'A judicious approach of force, up to and including deadly force, when faced with a threatening situation, is morally defensible.'
Unfortunately that's a rather less snappy phrase and as such is rather less likely to be popular among those predisposed to violence.
I remember reading about this last year; it's very, very neat. Not only is there a very low up-front cost to get started with a single unit, but they also have low maintenance costs.
A wind turbine, even a small cheap one, is a fearsomely complicated device that requires all sort of exotic tooling to build and maintain. Think of all those bearings, the gearbox, the generator coils, etc. The windbelt is an inert frame containing an inert ribbon, a couple of magnets, and a voice coil. The only bit of that you can't build by hand, using low technology, are the magnets, and they don't wear out. Possibly you might have trouble finding the right wire for the voice coil; but rewinding the failed one is a tricky but perfectly manageable job to do by hand.
So what these will do is not just provide accessible power, but rapidly bootstrap a complete power economy based around the technology. Which is the point...
Um... yes. That's what I said.
(In fact, there are a few known traits which are hereditary which are not genetic: having the trait in the mother causes the embryo to develop in a certain way which causes it to have the same trait. Nothing very exciting, though, unless someone's discovered something new since I heard about all this stuff.)
No, that's not what I meant --- a lion embryo will develop in a tiger womb, and vice versa. I'm not talking about the ability to cross-breed (although the reason why they're developmentally compatible is because, as you say, they're closely enough related that they can almost cross-breed).
The same applies to donkeys and horses.
Nah, you're missing the upside; after the invasion, sue them for copyright infringement and get the court to award you damages. Given that they've just conquered the Earth, the damages should be quite substantial.
We know we can't. DNA is, if you like, a program; but in order to make sense of that program, you need an appropriate computer to run it on, which is a human womb.
Some combinations of animals are compatible with each other --- lions and tigers, for example --- but most animals aren't. Try to grow an embryo of the wrong species in an incompatible host and it'll crash; either it'll just die, or else the mother will abort it.
About the only thing you could do with a DNA sequence in isolation is poke through it looking for interesting protein sequences.
Yeah, I agree. ReiserFS does its job really well. There are some issues --- apart from not getting terribly good maintenance any more, there's an issue with hash collisions meaning that you can't put some combinations of files into a directory, which Debian can trigger occasionally --- but it's still a perfectly serviceable, production quality filesystem. I'd love for someone to adopt it and do maintenance.
Absolutely. I've been experimenting with Privoxy but it's just not as convenient and as easy to use as Adblock Plus with an subscription.
Are there any other adblocking proxies I can have a try with? As simple as possible, preferably...
That's Gliese 581c, which is merely five times the mass of the Earth --- and they only detected it because it orbits at one fourteenth of Earth's orbit. In other words, it's a heavy planet very, very close to its sun. The only reason it was described as 'Earth-like' is that Gliese 581 itself is a red dwarf, which means it's much cooler than Sol, which puts 581c in the star's life zone.
So, while it's theoretically possible that 581c could support life, it's still not really Earth-like. We're still a long way off from being able to detect Earth-sized planets at Earth-orbit distances from Sol-like stars.
I have a real modem that happens to be a PCI modem --- that is, the modem's output UART is wired directly to the PCI bus. It shows up as an extra serial port but ignores the baud rate.
There's actually a surprising number of them around, but as you say, there's a lot of winmodems and it's rather hard to tell the difference before the fact. The only thing I can suggest is to plug 'em in and look up the PCI IDs.
I'd actually prefer a USB modem --- that computer only has one PCI slot --- but ordinary, external POTS modems seem to be practically unheard of these days. It's very peculiar...