As part of a last gasp effort to regain relevancy by showing command of the sky, a test battlestation was launched on one of the two Energia boosters that flew.
It's worth emphasising the word 'test' here!
The Polyus was based on a TKS logistics vehicle (combination man-rated cargo transport, tug and on-orbit living quarters module that was intended for Mir-2) that was surplus from a test stand (!), mated to a mockup of the Skif-D battlestation that had been under design for years but had no actual functioning hardware. The mockup contained a lot of hardware stolen from other programmes, including Buran, in order to meet the crash deadline; the guidance system that failed and caused the deorbit was a guidance sensor that had been ripped out of an existing Cosmos spacecraft. It sounds like a horrible mess and was obviously intended as a prestige project rather than as anything useful.
In terms of weapon systems, it did contain a cannon designed to defend against anti-satellite weapons. It's unclear whether it was actually loaded. Other military hardware included a targeting laser, a barium cloud release system that was an experiment in deflecting beam weapons, and some target release systems.
So from a dakka perspective it's much less exciting than you make out!
From a space hardware perspective, though, it's deeply cool; not for what it did, but because it massed 80 tonnes and was 37 metres long, and went up (and then down again) in a single launch. Energia was quite a beast. It was a shame it only flew twice.
the question is: did YOU achieve something, or did your modification achieve something?
Does it matter?
Defining what makes a person is a deeply complex and largely pointless exercise. Remember that we, all of us, use intelligence amplification artifacts so much as a matter of course that we don't even recognise we're doing it. And I'm not talking about such crude devices as calculators or computers, or even the kind of hit-and-miss tinkering the article's talking about, either.
Take vocal speech, for example. That's telepathy. It allows one human to transfer learning and memory to another human. That's incredibly valuable. I can say, don't eat the red mushrooms, they're poisonous, and now you know to avoid them. The fact that you didn't discover this personally doesn't make the knowledge any less valuable.
Now take written language. That's a prosthetic memory. Like speech, it allows knowledge to be transferred from one person to another, but unlike speech, the people involved don't have to be in proximity. They don't even have to be alive. Once I've written down my advice about the mushrooms, that knowledge can be passed to any number of people across time. Written language allows knowledge transfer to be so efficient that we very quickly end up with people knowing vastly more than they could ever learn themselves.
These are not superficial skills. Language is a key part of what makes us human, and is arguably the only thing humans can do that the other animals on the planet can't do. It's well recognised that if a child grows up without learning a language, they end up crippled for life; in a very real sense, a homo sapiens without language is not a human. Human minds aren't confined to our skulls; they're formed of a synergy between the overgrown-ape brain and the external tools that the brain uses to think with. Language is one such tool. Technology is another. The kind of neurosurgery that TFA is talking about is simply another tool (although, IMO, a rather risky one).
So simply saying, achievement is meaningless unless you do it on your own, is itself meaningless, because none of us can do anything on our own. The distinction between self and other is much fuzzier than intuition suggests.
I have a Psion Netbook. It's a stunningly nice machine, with a really good keyboard (I mean, really good; it's got full sized keys and is extremely comfortable to type on), a decent touch-sensitive colour screen, PCMCIA, CF and a huge battery life with no moving parts.
Unfortunately by today's standards it's pretty antiquated. It runs EPOC, which may have been good then but is pretty useless today, and the 32MB of RAM isn't quite good enough to run anything else on (although you can hack Debian onto it, you wouldn't want to do real work with it). Connectivity is lousy: no wireless, no USB, no ethernet, and the only expansion is a single old-fashioned PCMCIA slot. The two or three models of 16-bit wireless cards that EPOC supported are now landfill. The only alternative is to use a PCMCIA USB card --- but PCMCIA (not Cardbus) USB cards are like hen's teeth. It's got infrared which I've never made work and RS232 for which you can't get the cables.
So I've never actually found anything useful to do with my Netbook yet. If it had wireless it'd be great as a remote terminal. Alas, without it, it sits uselessly at the back of a cupboard...
Well, I used to run my home server on an NSLU2 with 500GB of USB disk, before the power supply packed in. This was my main world-facing machine, and did routing, firewalling, HTTP serving for my website, NFS/SMB internally, SMTP and IMAP, backups, etc.
32MB is not quite enough for this. Picking the right software helps a lot --- spamassassin no, spamprobe yes; apache no, thttpd yes. The biggest load was processing spam; adding a greylister wot I wrote myself helped enormously, as most spam now got rejected before transfer and before the enormously expensive Bayesian filtering stage. But even so, logging into it and working remotely was deeply frustrating as every time it processed an SMTP message the session would freeze; and unison/rsync/rsnapshot (my favourite file transfer and backup system) basically didn't work, as it would just sit and swap continuously until you nuked the process.
So this little box, which runs at 4.5 times the speed anyway and has scads of RAM, looks ideal to me. Right now my server is a PC of about the same spec, and it's a huge, loud, power-hungry monster. The whole stack, which includes an ADSL router, a WRT54GL, and two hard drives, is currently sucking down 90W!
So one of these gadgets, with a home-made SSD (4x16GB USB sticks and RAID. Half the price of a real SSD. Slower, but a low-end server won't care) and an external drive that only spins up on demand, would be cheap, small, and low power and silent...
Incidentally, by the looks of it the Sheeva SOC this thing uses does not have an FPU. Common on ARMs, but a bit of a shame, as the new ARM VFP FPU system kicks arse.
I thought we already had the signals with the sublimation we caught on camera. Then some more potential evidence with the snow. I think we should be reaching the point where we can start talking about this stuff as possible evidence rather than saying "signal" like we are surprised.
Well, there's a big difference between solid water and liquid water. Solid water exists at a vast range of temperatures and pressures, and sublimation can occur at a vast range of temperatures and pressures; liquid water, even liquid water loaded down with salts as in this hypothetical Martian mud, can only exist at a much, much smaller ranger of temperatures and pressures. So sighting stuff that looks like it's a liquid is significantly more interesting than seeing chunks of ice.
For example: consider that all our various Mars probes have landed at really dull, really inhospitable bits of Mars, because those are the only bits it's safe to land on. If we can see liquid water here, then there'll almost certainly be more of it elsewhere in more benign bits of the planet --- deep gorges near the equator, for example. And given that planets are very very big, there'll probably be an awful lot more of it, which makes it a possible candidate for a habitat for Martian life.
Wide chars is easy to work with. In fact you don't have to worry much about it. Just use W* types, and the *w* functions and it's just as if you where using plain old ASCII. Every wide char has the same size.
Oh, no they don't!
You've fallen into the classic trap of the ASCII programmer: you're assuming that Unicode strings are arrays of characters. They're not. Unicode doesn't even have characters; there are things called glyphs, which is what the user sees, and things called code points, which is what they're made out of, and one glyph may be made up of several code points. And if you split the glyph between code points, you break it.
Example: accents. e acute can be represented as two successive code points, one for the accent and one for the e. If you try to read a single character from the string, you'll either get the accent, which is gibberish on its own, or the e, which is just wrong. Split the string between the two, insert something in between, and now your accent's binding to the wrong code point and producing a meaningless glyph. And that's just Western scripts. Asian scripts are worse, and there are even more exotic scripts out there as well.
Things get even worse when you start dealing with UCS-2, which is the Unicode representation used by Windows and Java. You see, two bytes isn't big enough to represent all Unicode code points, so some code points are represented as two successive UCS-2 values. (Look up 'surrogates' in the docs.) So now a naive program comes along and assumes that each UCS-2 value is a character, tries to insert something between two surrogates which are in turn part of a larger glyph, and everything goes horribly wrong.
If you want to deal with Unicode correctly, you need to stop dealing with characters completely; instead imagine your string as being made up of a number of smaller, indivisible strings, each of which represents a different glyph. It's a rather different way of working, but perfectly reasonable once you get used to it. In addition, it's now trivial to work with UTF-8 directly, which gives you substantial memory savings.
IMO UCS-2 and wide characters was a horrible mistake. They make it look like the problem's been solved, but it hasn't, it's just been hidden. Even with UCS-4, where every code point is represented as a 32-bit value, you still have to deal with variable-sized sequences of code points to represent each glyph; the only advantage is that you don't have to deal with surrogates any more. You might as well stick with UTF-8, which is usually denser than UCS-2 or UCS-4 and has the advantage that most of your traditional libc string functions will still work.
I live in Reading, UK, which was under the Concorde flight path, and when it went over it'd make the windows rattle.
I'm not complaining, mind. I rather miss it now it's gone: twice a day, there'd be this throaty, world-filling roar --- not loud, but somehow intense --- and you'd look up and there would be that beautiful shape going overhead.
I was deeply disappointed about the weaselly way the British ones were decommissioned; they drained the hydraulic fluid from the systems, more or less wrecking them. The French were a bit more respectful, but even so there are only a few models remaining in decent enough condition to even tour. A sad end, for what's generally known as the largest jet fighter in the world...
Don't think for a second these lumbering giants can't get up and move... Those cruise speeds are chosen for maximum efficiency and to limit air frame fatigue.
IIRC, one of the design criteria for the 747 was that if the cabin depressurises at cruising altitude, and the oxygen systems fail, then the pilot needs to be able to descend to where the atmosphere is breathable before the passengers (or the pilot!) pass out. That's pretty extreme.
I've also heard it's even possible to do aerobatics in a 747, in a rather... large... sort of way, but given that I can't find any actual footage I suspect that's apocryphal. A shame, if so.
But they *do*. It's called first class! I know people who *do* pamper themselves when flying to their vacations, and it's a wonderful way to fly - but it's not for everyone, or indeed even a large portion of the traveling public.
I fly long distance (London->Beijing, London->Dallas, about ten hours for either trip) quite frequently, and usually go British Airways. The BA long-haul planes are usually 777s, and carry four classes:
Economy (a.k.a. cattle car class); three rows of three seats. They're very narrow, but there's a surprising amount of legroom, far more than in short-haul flights. Can be very cheap (£300 return from Heathrow to Dallas!).
Premium economy (a.k.a. business class lite); 2-4-2 rows. Wider seats, possibly a bit more legroom, and best of all there's actually a bit more space between you and your unwashed neighbour so you don't actually have to make skin contact if you don't want to. This is tailored to business budgets, so it's more expensive than economy but not overly so.
Club World (a.k.a. pod people class). Lie flat beds in your own little cubicle! I got into one once, via a free upgrade, and they're fantastic. The bed is powered and turns into a comfortable chair. You sit head-to-feet with your neighbour, but there's a privacy screen so you never have to talk to them. Decent food, a menu, real crockery, etc. The price is scary.
First Class (a.k.a. I don't know anyone that rich class). I don't know what these are like, they don't let people like me into that part of the plane. I assume it's similar to Club World but more so. The price is similar to those long numbers written on the back of your stereo.
Food and alcohol is free in all classes, and in fact these days, even in economy the food is pretty good. Snacks, drinks etc can be had for the asking; they encourage you to go to the galley rather than ring for a steward. Personal TVs all round, laptop power everywhere but economy. What's best, the staff have always been uniformly friendly and polite to me --- although it helps that I've flown enough to know how everything works and so know how to behave so I don't make their lives harder.
BTW, if you're ever travelling long haul, go visit seatguru.com. It'll tell you everything you ever need to know about where the best seats are. (On these 777s, you want the front row premium economy seats. Extra legroom and storage and you can get out without climbing over your neighbour! Pity that these days they send me out economy class...)
Acorns (BBC Micros) with co-processors date from 1984-ish...
Don't forget that the A in ARM used to stand for Acorn. The first ARM1 was developed as a coprocessor for one of those BBC Micros.
I sometimes wonder what the modern computing world would look like if Acorn had had anyone who actually knew how to run a business. Their hardware was so much better than IBMs (or Apple's!) that it's not funny...
But from the name only, is it a MIPS CPU or an Alpha CPU?
Yeah, I think those things are fascinating too. And no, I haven't been able to find out! I'm reasonably sure it's a MIPS but don't know for sure. I also don't know how hackable they are; I found one page describing how to get root on it, but no more than that. In particular, I haven't been able to find out how the boot loader works --- can't put Debian on it unless you can boot your own custom OS...
My understanding is that the software part of a software radio is considered part of 'the device', and therefore must be controlled by the manufacturer in order to get the type approval. Is this actually true, though, or is it just too risky to take the risk that it might not be?
For example, take modified devices: I know and you know that there's no real difference between me taking a GSM phone and soldering on a badly made high-power output stage, or me taking the same phone and modifying the radio stack firmware to increase the gain beyond the hardware's ability to produce a clean signal; either way I'm going to do horrible things to the GSM spectrum (with obvious public safety issues). It's intuitively obvious that the manufacturer can't be liable in the first case. It's not intuitively obvious about the second case. Have they actually made any statements on this kind of issue yet, or is it just another thing that it's to dangerous to risk?
Please provide references. I work with this stuff, and I would love for what you've said to be true, but so far I've found no evidence of this. There are a lot of people who claim it's true, but nobody I've talked to is willing to actually back their statements up! Have you found any official statement from a regulatory board saying that the hardware and software manufacturers are not responsible if a user causes their device to behave contrary to the license?
I wonder what they'd be like if someone gave them some real music. I bet they'd do a mean barbershop; I wonder if they've ever done a recording of Grandfather's Clock?
You're spot on. You can easily tell which artists heavily rely on post-production techniques based on their live performances. Some shine, and for those that fail miserably(Jessica Simpson, Nelly Furtado, here's looking at you) it is easy to tell why.
Absolutely right. I once saw a chat show where Sting was a guest. Half-way through he pulled out a guitar and sang something, and it was great. (I think it was Fields of Gold, which is a superb piece of music.) Despite the silly name, he's a real musician.
Interestingly, though, I once saw much the same thing happen with, of all people, the Backstreet Boys: one of the original glossy boy bands. Now, it was obviously carefully prepared, as four guys singing in close harmony doesn't happen spontaneously, so they could have sneaked in some postproduction, but the overall environment and production values makes me suspect they didn't. So it's possible that at least some of these people can actually perform.
Personally, I blame to songwriters --- a large proportion of the modern pap pop artists are just performers who sing whatever they're told to. One day I'd like to see a collection of music charts sorted by author rather than by performer and see if there are any interesting patterns...
By your formula if v==1 you have an infinite factor.... I think the actual formula for the factor is 1/sqrt(1-(v**2/c**2)) where v is velocity and c is the speed of light, both measured in the same units.
Yes; however, if you pick your units so that c = 1, which is what the OP was doing, the c^2 term vanishes and simplifies the whole thing. When v = 1, you're traveling at the speed of light, which means you're either god or a photon.
It's also the same for the relativistic mass of an object: Mv = M0/sqrt(1-(v**2/c**2)) where Mv is mass at velocity v and M0 is rest mass
Indeed. Once you've worked out tau, you just need to multiply M0 or v by it and you're done.
Relativity is one of those strange pieces of physics were understanding the actual maths is relatively trivial compared to the concepts the maths is describing!
But it seems to me that going faster and faster you reach a point where although it might only take the probe x number of years to reach the star, on Earth it takes significantly more time. Therefore in the case of an unmanned probe, since it's time passage on earth that matters, at a certain point it's not desired to have the probe go any faster.
Actually, it's the other way round; from the point of view of someone on Earth, clocks on a rapidly moving spacecraft appear to go more slowly.
The actual time dilation factor, known as the Lorentz factor, is a simple 1/sqrt(1 - v^2), so for your vehicle going at.12c the difference in speed in clocks is 1.007 --- as you say, negligible. An observer on Earth sees a second metronome on the vehicle tick every 1.007 seconds.
This usually works out to your advantage. Passengers on a fast-moving ship will have less time to get bored, and there'll be less wear and tear on the structure. A sufficiently fast moving ship can cross the galaxy in subjective days (see A World Out Of Time by Larry Niven), although you're still going to get to your destination at least 100,000 years later. (You'd need a Lorentz factor of about 5000000 for that, which means you'd need to be travelling at 0.99999999999998c.) OTOH you run into severe navigational problems: such as the inability to dodge oncoming obstructions. Because, of course, the faster you go, the less warning you have of them...
I'm currently on site at a customer's office. I have one of their PCs and one of ours; legal restrictions mean I can't copy our source onto their machines or their source onto ours.
The solution to this is to put a copy of our source onto a USB stick and plug it into their machine, and then use a NTFS junction point (aka a symlink) to let their Windows-based build system see our source. This works very nicely, and I can just unplug the USB stick whenever I leave and the lawyers are happy.
However:
- I have to use NTFS. This is because the two machines are set to use different time zones, and frickin' FAT stores timestamps in the local time, which means that if I were to touch a file on one machine and the move the USB stick, the build system will go horribly wrong.
- I have 'optimise for performance' turned on; the non-Windows world calls this write caching. This boosts performance on NTFS *hugely*. I see no mention of this in the review. I now have to remember to unmount the stick on the Windows machine before pulling it, but it's worth it.
- You have to use the command line format.exe to format a removable drive as NTFS, because frickin' Windows doesn't let you do it from the GUI.
- If you turn NTFS compression on, you get a tiny bit more speed boost. But while Linux will read compressed NTFS files, it won't write them.
- You need to do something obscure with NTFS file permissions if you're going to move the stick between two Windows machines, because otherwise you'll be creating files on one machine you won't be allowed to edit on the other. Linux, of course, just ignores NTFS ACLs.
I have investigated the Windows ext2 driver, but while it does work reasonably well, it's still pretty clunky, and ext2 isn't much better than NTFS. What I'd really like is a decent Windows JFS or XFS driver --- NTFS is *so* last century.
Javascript is still a pretty crappy and convoluted language that will probably never be able to perform as well as Lua(JIT) though.
Actually, the modern JITs like V8 and Tracemonkey are a whole lot better than they used to be; V8 actually approaches the speed of LuaJIT for some tasks.
Of course, V8 uses about two orders of magnitude more memory, and Mike Pall is currently working on LuaJIT 2 which will be faster and more lightweight, so it's very much damning with faint praise. But, while Javascript is still pretty awful, it's not nearly as awful as it used to be.
(I want to know why nobody's tried statically converting Javascript into Lua and running it that way. The languages are very similar, and all the differences favour Lua --- special cases in Javascript that can easily be handled in Lua. Given how fast and small Lua is, and how widespread Javascript is, I'd have thought that approach would be a good match. But there seems to be nothing...)
Subclipse, yes. I've tried Subversive, which is the recommended SVN plugin for Ganymede, but dislike it --- it appears not to store the SVN metadata in the standard.svn directories, which means its much harder to mix-and-match between the CLI tools and Eclipse. (With Subclipse, I can import a filesystem containing a checked-out SVN project and it notices that it's an SVN tree and Just Works. I haven't found an easy way of doing this with Subversive yet.)
Also, I particularly don't like the way that Subversive, despite being a standard part of Eclipse, won't actually *work* unless you install some third party files from another update site. This makes me suspect there's something dodgy with the licensing going on...
I'm trying to use git as much as possible --- I'm still pretty crappy at doing anything even slightly complicated with it, but even with minimal skills it's brilliant at keeping track of changes to local directories.
The only problem is that I'd really, really like a decent Eclipse git plugin. I'm used to using Subclipse for SVN, which is fantastic: I can point at a file or directory, say 'Synchronise with repository', and then get a graphical diff of every change and the ability to quickly and easily revert or commit changes on a per-change, per-file, per-group-of-file basis, etc. (And you can do this with any revision, which makes backing out one specific change very easy.) Doing the same with git's command line tools seems terribly clunky by comparison, especially when I'm struggling to remember the syntax, and the fundamentally unfamiliar workflow.
I do use the Eclipse git plugin at git.or.cz, but it's still very crude. The file decoration is invaluable, which lets me see at a glance which files are new/changed/pristine in the Eclipse project view, but actually trying to *do* anything with it is deeply unpleasant --- no synchronise view, no graphical diff, and some weird behaviour like if you point at a file, say 'commit this', you get a dialogue prompting you to commit *all* files. Which is not what I want. And there's lots of UI clunkiness all round, due to simple immaturity.
I've had some luck with giggle, but the UI is pretty bad, and some changes (I forget what; new files, perhaps) don't show up in it, which is a bit awkward. I've had a play with some other GUI frontends but they're all pretty nasty by comparison with Subclipse. Still, the git plugin is getting better with time --- I'm just hoping that Synchronise shows up soon...
a perfectly focused beam, if technologically possible to generate, would travel through a vacuum indefinitely
They're not just technologically impossible to generate; they're also theoretically impossible to generate. The beam aperture causes diffraction, which means that all beams diverge. You want to check out Airy Disks on Wikipedia for the full mathematical treatment, but very approximately, the beam spread is proportional to the wavelength and inversely proportional to the size of the aperture.
Since microwave antennae tend to be really big, particularly the kind of huge grid that a solar power station would use, and the wavelength is long, you won't get much beam spread in this situation; but you'll still get some, and there's nothing you can do about it.
Back in 2005 I entered Nanowrimo: National Novel Writing Month. You have to write a 50,000 short novel in the month of November. That's a lot of writing. It took me about two hours per day, every day, and as I suck at scheduling this meant I ended up doing it late at night instead of sleeping.
The result was that I would occasionally fall asleep at the keyboard. And keep writing. Some of it was gibberish:
I spent the rest of the night running things over in my head, tyo get them straight before running down, and helping a friend try and find a contact lens he once dropped on the beach.
Some of it made sense, but was just strange:
Personally, I suspected that those rock-eating worm creatures had just taken over the planet. It would probably sdve a lot of time.
(No, rock-eating worm creatures did not feature anywhere in the story.)
Some of it was my subconscious talking to me:
I was beginnig to become a veteran; the mind-numbing perspectives flashed by, until I became aware of a jagged corner on the side of another corner and cnother...
I shook my head and the nightmarish image faded. Must get some more sleep, I thought idly.
But I was really pleased with this, which is an entire appropriate nightmare dream sequence that I wrote in my sleep:
My dreams, such as they were, were haunted by the memory of magic: the feel of the magician rummaging around in the back of my mind; the inexpressible flow of power as I held the power stone; watching Chrana's grain of sugar skipping about on the table... power and energy flowed round in endless circles, while I was trapped in the middle unable to dip my hands into the flow. On one side of the vortex Sarah screamed and threw her hands up in front of her face as the car spun. On the other, Chrana gleefully juggled monstrous blocks of sugar. At last, with a burst of sheer willpower, I flung myself into the flow only to discover that I had limitless power but nothing to focus on. I strove for focus and perceived the universe, but was powerless to change anything...
(All typos original. This is all first draft stuff, straight from my subconscious!)
Unfortunately the whole thing, a technical fantasy novel, turned out to have pretty major plot flaws in it which I never got round to fixing. But if I ever end up finishing it, that last passage is definitely going in.
It's worth emphasising the word 'test' here!
The Polyus was based on a TKS logistics vehicle (combination man-rated cargo transport, tug and on-orbit living quarters module that was intended for Mir-2) that was surplus from a test stand (!), mated to a mockup of the Skif-D battlestation that had been under design for years but had no actual functioning hardware. The mockup contained a lot of hardware stolen from other programmes, including Buran, in order to meet the crash deadline; the guidance system that failed and caused the deorbit was a guidance sensor that had been ripped out of an existing Cosmos spacecraft. It sounds like a horrible mess and was obviously intended as a prestige project rather than as anything useful.
In terms of weapon systems, it did contain a cannon designed to defend against anti-satellite weapons. It's unclear whether it was actually loaded. Other military hardware included a targeting laser, a barium cloud release system that was an experiment in deflecting beam weapons, and some target release systems.
So from a dakka perspective it's much less exciting than you make out!
From a space hardware perspective, though, it's deeply cool; not for what it did, but because it massed 80 tonnes and was 37 metres long, and went up (and then down again) in a single launch. Energia was quite a beast. It was a shame it only flew twice.
There are some decent technical specs and photos here (with practically no mention of the military aspects), and some information about the programme as a whole here.
Does it matter?
Defining what makes a person is a deeply complex and largely pointless exercise. Remember that we, all of us, use intelligence amplification artifacts so much as a matter of course that we don't even recognise we're doing it. And I'm not talking about such crude devices as calculators or computers, or even the kind of hit-and-miss tinkering the article's talking about, either.
Take vocal speech, for example. That's telepathy. It allows one human to transfer learning and memory to another human. That's incredibly valuable. I can say, don't eat the red mushrooms, they're poisonous, and now you know to avoid them. The fact that you didn't discover this personally doesn't make the knowledge any less valuable.
Now take written language. That's a prosthetic memory. Like speech, it allows knowledge to be transferred from one person to another, but unlike speech, the people involved don't have to be in proximity. They don't even have to be alive. Once I've written down my advice about the mushrooms, that knowledge can be passed to any number of people across time. Written language allows knowledge transfer to be so efficient that we very quickly end up with people knowing vastly more than they could ever learn themselves.
These are not superficial skills. Language is a key part of what makes us human, and is arguably the only thing humans can do that the other animals on the planet can't do. It's well recognised that if a child grows up without learning a language, they end up crippled for life; in a very real sense, a homo sapiens without language is not a human. Human minds aren't confined to our skulls; they're formed of a synergy between the overgrown-ape brain and the external tools that the brain uses to think with. Language is one such tool. Technology is another. The kind of neurosurgery that TFA is talking about is simply another tool (although, IMO, a rather risky one).
So simply saying, achievement is meaningless unless you do it on your own, is itself meaningless, because none of us can do anything on our own. The distinction between self and other is much fuzzier than intuition suggests.
I have a Psion Netbook. It's a stunningly nice machine, with a really good keyboard (I mean, really good; it's got full sized keys and is extremely comfortable to type on), a decent touch-sensitive colour screen, PCMCIA, CF and a huge battery life with no moving parts.
Unfortunately by today's standards it's pretty antiquated. It runs EPOC, which may have been good then but is pretty useless today, and the 32MB of RAM isn't quite good enough to run anything else on (although you can hack Debian onto it, you wouldn't want to do real work with it). Connectivity is lousy: no wireless, no USB, no ethernet, and the only expansion is a single old-fashioned PCMCIA slot. The two or three models of 16-bit wireless cards that EPOC supported are now landfill. The only alternative is to use a PCMCIA USB card --- but PCMCIA (not Cardbus) USB cards are like hen's teeth. It's got infrared which I've never made work and RS232 for which you can't get the cables.
So I've never actually found anything useful to do with my Netbook yet. If it had wireless it'd be great as a remote terminal. Alas, without it, it sits uselessly at the back of a cupboard...
Well, I used to run my home server on an NSLU2 with 500GB of USB disk, before the power supply packed in. This was my main world-facing machine, and did routing, firewalling, HTTP serving for my website, NFS/SMB internally, SMTP and IMAP, backups, etc.
32MB is not quite enough for this. Picking the right software helps a lot --- spamassassin no, spamprobe yes; apache no, thttpd yes. The biggest load was processing spam; adding a greylister wot I wrote myself helped enormously, as most spam now got rejected before transfer and before the enormously expensive Bayesian filtering stage. But even so, logging into it and working remotely was deeply frustrating as every time it processed an SMTP message the session would freeze; and unison/rsync/rsnapshot (my favourite file transfer and backup system) basically didn't work, as it would just sit and swap continuously until you nuked the process.
So this little box, which runs at 4.5 times the speed anyway and has scads of RAM, looks ideal to me. Right now my server is a PC of about the same spec, and it's a huge, loud, power-hungry monster. The whole stack, which includes an ADSL router, a WRT54GL, and two hard drives, is currently sucking down 90W!
So one of these gadgets, with a home-made SSD (4x16GB USB sticks and RAID. Half the price of a real SSD. Slower, but a low-end server won't care) and an external drive that only spins up on demand, would be cheap, small, and low power and silent...
Incidentally, by the looks of it the Sheeva SOC this thing uses does not have an FPU. Common on ARMs, but a bit of a shame, as the new ARM VFP FPU system kicks arse.
I thought we already had the signals with the sublimation we caught on camera. Then some more potential evidence with the snow. I think we should be reaching the point where we can start talking about this stuff as possible evidence rather than saying "signal" like we are surprised.
Well, there's a big difference between solid water and liquid water. Solid water exists at a vast range of temperatures and pressures, and sublimation can occur at a vast range of temperatures and pressures; liquid water, even liquid water loaded down with salts as in this hypothetical Martian mud, can only exist at a much, much smaller ranger of temperatures and pressures. So sighting stuff that looks like it's a liquid is significantly more interesting than seeing chunks of ice.
For example: consider that all our various Mars probes have landed at really dull, really inhospitable bits of Mars, because those are the only bits it's safe to land on. If we can see liquid water here, then there'll almost certainly be more of it elsewhere in more benign bits of the planet --- deep gorges near the equator, for example. And given that planets are very very big, there'll probably be an awful lot more of it, which makes it a possible candidate for a habitat for Martian life.
Wide chars is easy to work with. In fact you don't have to worry much about it. Just use W* types, and the *w* functions and it's just as if you where using plain old ASCII. Every wide char has the same size.
Oh, no they don't!
You've fallen into the classic trap of the ASCII programmer: you're assuming that Unicode strings are arrays of characters. They're not. Unicode doesn't even have characters; there are things called glyphs, which is what the user sees, and things called code points, which is what they're made out of, and one glyph may be made up of several code points. And if you split the glyph between code points, you break it.
Example: accents. e acute can be represented as two successive code points, one for the accent and one for the e. If you try to read a single character from the string, you'll either get the accent, which is gibberish on its own, or the e, which is just wrong. Split the string between the two, insert something in between, and now your accent's binding to the wrong code point and producing a meaningless glyph. And that's just Western scripts. Asian scripts are worse, and there are even more exotic scripts out there as well.
Things get even worse when you start dealing with UCS-2, which is the Unicode representation used by Windows and Java. You see, two bytes isn't big enough to represent all Unicode code points, so some code points are represented as two successive UCS-2 values. (Look up 'surrogates' in the docs.) So now a naive program comes along and assumes that each UCS-2 value is a character, tries to insert something between two surrogates which are in turn part of a larger glyph, and everything goes horribly wrong.
If you want to deal with Unicode correctly, you need to stop dealing with characters completely; instead imagine your string as being made up of a number of smaller, indivisible strings, each of which represents a different glyph. It's a rather different way of working, but perfectly reasonable once you get used to it. In addition, it's now trivial to work with UTF-8 directly, which gives you substantial memory savings.
IMO UCS-2 and wide characters was a horrible mistake. They make it look like the problem's been solved, but it hasn't, it's just been hidden. Even with UCS-4, where every code point is represented as a 32-bit value, you still have to deal with variable-sized sequences of code points to represent each glyph; the only advantage is that you don't have to deal with surrogates any more. You might as well stick with UTF-8, which is usually denser than UCS-2 or UCS-4 and has the advantage that most of your traditional libc string functions will still work.
Yes, I did used to do this stuff for a living...
I live in Reading, UK, which was under the Concorde flight path, and when it went over it'd make the windows rattle.
I'm not complaining, mind. I rather miss it now it's gone: twice a day, there'd be this throaty, world-filling roar --- not loud, but somehow intense --- and you'd look up and there would be that beautiful shape going overhead.
I was deeply disappointed about the weaselly way the British ones were decommissioned; they drained the hydraulic fluid from the systems, more or less wrecking them. The French were a bit more respectful, but even so there are only a few models remaining in decent enough condition to even tour. A sad end, for what's generally known as the largest jet fighter in the world...
Don't think for a second these lumbering giants can't get up and move... Those cruise speeds are chosen for maximum efficiency and to limit air frame fatigue.
IIRC, one of the design criteria for the 747 was that if the cabin depressurises at cruising altitude, and the oxygen systems fail, then the pilot needs to be able to descend to where the atmosphere is breathable before the passengers (or the pilot!) pass out. That's pretty extreme.
I've also heard it's even possible to do aerobatics in a 747, in a rather... large... sort of way, but given that I can't find any actual footage I suspect that's apocryphal. A shame, if so.
But they *do*. It's called first class! I know people who *do* pamper themselves when flying to their vacations, and it's a wonderful way to fly - but it's not for everyone, or indeed even a large portion of the traveling public.
I fly long distance (London->Beijing, London->Dallas, about ten hours for either trip) quite frequently, and usually go British Airways. The BA long-haul planes are usually 777s, and carry four classes:
Food and alcohol is free in all classes, and in fact these days, even in economy the food is pretty good. Snacks, drinks etc can be had for the asking; they encourage you to go to the galley rather than ring for a steward. Personal TVs all round, laptop power everywhere but economy. What's best, the staff have always been uniformly friendly and polite to me --- although it helps that I've flown enough to know how everything works and so know how to behave so I don't make their lives harder.
BTW, if you're ever travelling long haul, go visit seatguru.com. It'll tell you everything you ever need to know about where the best seats are. (On these 777s, you want the front row premium economy seats. Extra legroom and storage and you can get out without climbing over your neighbour! Pity that these days they send me out economy class...)
Acorns (BBC Micros) with co-processors date from 1984-ish...
Don't forget that the A in ARM used to stand for Acorn. The first ARM1 was developed as a coprocessor for one of those BBC Micros.
I sometimes wonder what the modern computing world would look like if Acorn had had anyone who actually knew how to run a business. Their hardware was so much better than IBMs (or Apple's!) that it's not funny...
But from the name only, is it a MIPS CPU or an Alpha CPU?
Yeah, I think those things are fascinating too. And no, I haven't been able to find out! I'm reasonably sure it's a MIPS but don't know for sure. I also don't know how hackable they are; I found one page describing how to get root on it, but no more than that. In particular, I haven't been able to find out how the boot loader works --- can't put Debian on it unless you can boot your own custom OS...
My understanding is that the software part of a software radio is considered part of 'the device', and therefore must be controlled by the manufacturer in order to get the type approval. Is this actually true, though, or is it just too risky to take the risk that it might not be?
For example, take modified devices: I know and you know that there's no real difference between me taking a GSM phone and soldering on a badly made high-power output stage, or me taking the same phone and modifying the radio stack firmware to increase the gain beyond the hardware's ability to produce a clean signal; either way I'm going to do horrible things to the GSM spectrum (with obvious public safety issues). It's intuitively obvious that the manufacturer can't be liable in the first case. It's not intuitively obvious about the second case. Have they actually made any statements on this kind of issue yet, or is it just another thing that it's to dangerous to risk?
Please provide references. I work with this stuff, and I would love for what you've said to be true, but so far I've found no evidence of this. There are a lot of people who claim it's true, but nobody I've talked to is willing to actually back their statements up! Have you found any official statement from a regulatory board saying that the hardware and software manufacturers are not responsible if a user causes their device to behave contrary to the license?
As for everything else, I wrote a poem.
I wonder what they'd be like if someone gave them some real music. I bet they'd do a mean barbershop; I wonder if they've ever done a recording of Grandfather's Clock?
You're spot on. You can easily tell which artists heavily rely on post-production techniques based on their live performances. Some shine, and for those that fail miserably(Jessica Simpson, Nelly Furtado, here's looking at you) it is easy to tell why.
Absolutely right. I once saw a chat show where Sting was a guest. Half-way through he pulled out a guitar and sang something, and it was great. (I think it was Fields of Gold, which is a superb piece of music.) Despite the silly name, he's a real musician.
Interestingly, though, I once saw much the same thing happen with, of all people, the Backstreet Boys: one of the original glossy boy bands. Now, it was obviously carefully prepared, as four guys singing in close harmony doesn't happen spontaneously, so they could have sneaked in some postproduction, but the overall environment and production values makes me suspect they didn't. So it's possible that at least some of these people can actually perform.
Personally, I blame to songwriters --- a large proportion of the modern pap pop artists are just performers who sing whatever they're told to. One day I'd like to see a collection of music charts sorted by author rather than by performer and see if there are any interesting patterns...
By your formula if v==1 you have an infinite factor....
I think the actual formula for the factor is 1/sqrt(1-(v**2/c**2)) where v is velocity and c is the speed of light, both measured in the same units.
Yes; however, if you pick your units so that c = 1, which is what the OP was doing, the c^2 term vanishes and simplifies the whole thing. When v = 1, you're traveling at the speed of light, which means you're either god or a photon.
It's also the same for the relativistic mass of an object: Mv = M0/sqrt(1-(v**2/c**2))
where Mv is mass at velocity v and M0 is rest mass
Indeed. Once you've worked out tau, you just need to multiply M0 or v by it and you're done.
Relativity is one of those strange pieces of physics were understanding the actual maths is relatively trivial compared to the concepts the maths is describing!
But it seems to me that going faster and faster you reach a point where although it might only take the probe x number of years to reach the star, on Earth it takes significantly more time. Therefore in the case of an unmanned probe, since it's time passage on earth that matters, at a certain point it's not desired to have the probe go any faster.
Actually, it's the other way round; from the point of view of someone on Earth, clocks on a rapidly moving spacecraft appear to go more slowly.
The actual time dilation factor, known as the Lorentz factor, is a simple 1/sqrt(1 - v^2), so for your vehicle going at .12c the difference in speed in clocks is 1.007 --- as you say, negligible. An observer on Earth sees a second metronome on the vehicle tick every 1.007 seconds.
This usually works out to your advantage. Passengers on a fast-moving ship will have less time to get bored, and there'll be less wear and tear on the structure. A sufficiently fast moving ship can cross the galaxy in subjective days (see A World Out Of Time by Larry Niven), although you're still going to get to your destination at least 100,000 years later. (You'd need a Lorentz factor of about 5000000 for that, which means you'd need to be travelling at 0.99999999999998c.) OTOH you run into severe navigational problems: such as the inability to dodge oncoming obstructions. Because, of course, the faster you go, the less warning you have of them...
"If you're up against someone more intelligent than you are, do something insane and let him think himself to death." --- Pyanfar Chanur
I'm currently on site at a customer's office. I have one of their PCs and one of ours; legal restrictions mean I can't copy our source onto their machines or their source onto ours.
The solution to this is to put a copy of our source onto a USB stick and plug it into their machine, and then use a NTFS junction point (aka a symlink) to let their Windows-based build system see our source. This works very nicely, and I can just unplug the USB stick whenever I leave and the lawyers are happy.
However:
- I have to use NTFS. This is because the two machines are set to use different time zones, and frickin' FAT stores timestamps in the local time, which means that if I were to touch a file on one machine and the move the USB stick, the build system will go horribly wrong.
- I have 'optimise for performance' turned on; the non-Windows world calls this write caching. This boosts performance on NTFS *hugely*. I see no mention of this in the review. I now have to remember to unmount the stick on the Windows machine before pulling it, but it's worth it.
- You have to use the command line format.exe to format a removable drive as NTFS, because frickin' Windows doesn't let you do it from the GUI.
- If you turn NTFS compression on, you get a tiny bit more speed boost. But while Linux will read compressed NTFS files, it won't write them.
- You need to do something obscure with NTFS file permissions if you're going to move the stick between two Windows machines, because otherwise you'll be creating files on one machine you won't be allowed to edit on the other. Linux, of course, just ignores NTFS ACLs.
I have investigated the Windows ext2 driver, but while it does work reasonably well, it's still pretty clunky, and ext2 isn't much better than NTFS. What I'd really like is a decent Windows JFS or XFS driver --- NTFS is *so* last century.
I don't think even this could make Shatner sound good...
Aaargh! No! Now someone's going to go and do it!
(I'll see your Songsmith Shatner, and raise you a Songsmith Ballad of Bilbo Baggins.)
Javascript is still a pretty crappy and convoluted language that will probably never be able to perform as well as Lua(JIT) though.
Actually, the modern JITs like V8 and Tracemonkey are a whole lot better than they used to be; V8 actually approaches the speed of LuaJIT for some tasks.
Of course, V8 uses about two orders of magnitude more memory, and Mike Pall is currently working on LuaJIT 2 which will be faster and more lightweight, so it's very much damning with faint praise. But, while Javascript is still pretty awful, it's not nearly as awful as it used to be.
(I want to know why nobody's tried statically converting Javascript into Lua and running it that way. The languages are very similar, and all the differences favour Lua --- special cases in Javascript that can easily be handled in Lua. Given how fast and small Lua is, and how widespread Javascript is, I'd have thought that approach would be a good match. But there seems to be nothing...)
Subclipse, yes. I've tried Subversive, which is the recommended SVN plugin for Ganymede, but dislike it --- it appears not to store the SVN metadata in the standard .svn directories, which means its much harder to mix-and-match between the CLI tools and Eclipse. (With Subclipse, I can import a filesystem containing a checked-out SVN project and it notices that it's an SVN tree and Just Works. I haven't found an easy way of doing this with Subversive yet.)
Also, I particularly don't like the way that Subversive, despite being a standard part of Eclipse, won't actually *work* unless you install some third party files from another update site. This makes me suspect there's something dodgy with the licensing going on...
I'm trying to use git as much as possible --- I'm still pretty crappy at doing anything even slightly complicated with it, but even with minimal skills it's brilliant at keeping track of changes to local directories.
The only problem is that I'd really, really like a decent Eclipse git plugin. I'm used to using Subclipse for SVN, which is fantastic: I can point at a file or directory, say 'Synchronise with repository', and then get a graphical diff of every change and the ability to quickly and easily revert or commit changes on a per-change, per-file, per-group-of-file basis, etc. (And you can do this with any revision, which makes backing out one specific change very easy.) Doing the same with git's command line tools seems terribly clunky by comparison, especially when I'm struggling to remember the syntax, and the fundamentally unfamiliar workflow.
I do use the Eclipse git plugin at git.or.cz, but it's still very crude. The file decoration is invaluable, which lets me see at a glance which files are new/changed/pristine in the Eclipse project view, but actually trying to *do* anything with it is deeply unpleasant --- no synchronise view, no graphical diff, and some weird behaviour like if you point at a file, say 'commit this', you get a dialogue prompting you to commit *all* files. Which is not what I want. And there's lots of UI clunkiness all round, due to simple immaturity.
I've had some luck with giggle, but the UI is pretty bad, and some changes (I forget what; new files, perhaps) don't show up in it, which is a bit awkward. I've had a play with some other GUI frontends but they're all pretty nasty by comparison with Subclipse. Still, the git plugin is getting better with time --- I'm just hoping that Synchronise shows up soon...
a perfectly focused beam, if technologically possible to generate, would travel through a vacuum indefinitely
They're not just technologically impossible to generate; they're also theoretically impossible to generate. The beam aperture causes diffraction, which means that all beams diverge. You want to check out Airy Disks on Wikipedia for the full mathematical treatment, but very approximately, the beam spread is proportional to the wavelength and inversely proportional to the size of the aperture.
Since microwave antennae tend to be really big, particularly the kind of huge grid that a solar power station would use, and the wavelength is long, you won't get much beam spread in this situation; but you'll still get some, and there's nothing you can do about it.
Back in 2005 I entered Nanowrimo: National Novel Writing Month. You have to write a 50,000 short novel in the month of November. That's a lot of writing. It took me about two hours per day, every day, and as I suck at scheduling this meant I ended up doing it late at night instead of sleeping.
The result was that I would occasionally fall asleep at the keyboard. And keep writing. Some of it was gibberish:
Some of it made sense, but was just strange:
(No, rock-eating worm creatures did not feature anywhere in the story.)
Some of it was my subconscious talking to me:
But I was really pleased with this, which is an entire appropriate nightmare dream sequence that I wrote in my sleep:
(All typos original. This is all first draft stuff, straight from my subconscious!)
Unfortunately the whole thing, a technical fantasy novel, turned out to have pretty major plot flaws in it which I never got round to fixing. But if I ever end up finishing it, that last passage is definitely going in.