Klapaucius thought, and thought some more. Finally he nodded and said:
"Very well. Let's have a love poem, lyrical, pastoral, and expressed in the language of pure mathematics. Tensor algebra mainly, with a little topology and higher calculus, if need be. But with feeling, you understand, and in the cybernetic spirit."
"Love and tensor algebra? Have you taken leave of your senses?" Trurl began, but stopped, for his electronic bard was already declaiming:
Come, let us hasten to a higher plane,
Where dyads tread the fairy fields of Venn,
Their indices bedecked from one to n,
Commingled in an endless Markov chain!
Come, every frustum longs to be a cone,
And every vector dreams of matrices.
Hark to the gentle gradient of the breeze:
It whispers of a more ergodic zone.
In Riemann, Hilbert, or in Banach space
Let superscripts and subscripts go their ways.
Our asymptotes no longer out of phase,
We shall encounter, counting, face to face.
I'll grant thee random access to my heart,
Thou'lt tell me all the constants of thy love;
And so we two shall all love's lemmas prove,
And in our bound partition never part.
For what did Cauchy know, or Christoffel,
Or Fourier, or any Boole or Euler,
Wielding their compasses, their pens and rulers,
Of thy supernal sinusoidal spell?
Cancel me not -- for what then shall remain?
Abscissas, some mantissas, modules, modes,
A root or two, a torus and a node:
The inverse of my verse, a null domain.
Ellipse of bliss, converge, O lips divine!
The product of our scalars is defined!
Cyberiad draws nigh, and the skew mind
Cuts capers like a happy haversine.
I see the eigenvalue in thine eye,
I hear the tender tensor in thy sigh.
Bernoulli would have been content to die,
Had he but known such A squared cos two phi.
And that's translated. Lem wrote in Polish. He may have been a genius, but Michael Kandel, who was his English translator, must have been one too...
(Also, damn Slashdot for not allowing HTML entities in posts. The formula in the last line is supposed to be represented mathematically.)
Which is a shame, as it's top-quality pine and the most picturesque of fjords.
I do wonder whether the VM/JIT engine might be useful for implementing other languages, however. Such as Ruby! Just implement a compiler from Ruby source into Strongtalk bytecode, plug it in, watch it work...
Re:Should have used PHP.
on
Twitter On Scala
·
· Score: 2, Interesting
If someone threw the necessary money at Ruby, it could have easily the performance of a modern Smalltalk implementation, as Ruby is essentially Smalltalk in diguise.
You might be interested in StrongTalk. It's a Smalltalk-80 rewrite with optional strong typing and pervasive JIT, meaning that it's incredibly fast and robust. It is, unfortunately, Windows only at the moment, but it's all BSD licensed --- VM, image, source browser and all --- and they're looking for people to help with a Linux port.
One of Piers Anthony's books --- written back before he discovered that writing crap was more profitable than writing good stuff --- had all the aliens referring to humans as 'Earthian'. Admittedly, that book (The ESP Worm) is largely a spoof...
A quarter of a watt is a percentage of the static I gather walking...
250mW is actually quite a lot, processor-wise. Atmel produce microprocessors that will run Linux and consume about 100mW. If you switch to a true embedded processor, Microchip's PIC24 series are 16-bit processors that will consume about 20mW at 16MHz (and less if you run them more slowly), and if you're willing to go 8-bit, you start getting into silly numbers: their PIC10 series will run (flat out) at 0.4mW and sleep at 0.0002mW. If you're used to PCs, there's a whole new world out there...
One day soon I'm hoping to see someone produce a mini laptop based around one of these 16 bit or 32 bit microcontrollers and an e-ink screen. It may not run Crysis, but it would probably run off a single AA pretty much forever, and still be useful; it would, after all, still be able to outcompute an Amiga or Atari ST...
'Natural' doesn't equate to "OK". If mean sea levels are rising, and continue to rise to the point that a significant fraction of the human population is put at risk and a significant fraction of international economy is put at risk, it's still a problem. Whether the FSM causes it or human-derived CO2 is the main driver, it's still a problem.
It's also worth remembering that some of the most populated parts of the Earth are also very close to sealevel. It wouldn't take much of a rise to displace very, very large numbers of people --- like, billions, and they're not just going to sit there and drown.
If this ever happens, you're going to have an extremely large number of intelligent, highly motivated people looking, in order, for (a) somewhere to live and (b) someone to blame.
The simple technical problems involved with climate change will be nothing compared to the political problems.
...because the carbon produced by yeast comes from sugar, which comes from plants, which comes from the atmosphere. Remember, it's only new carbon that causes a problem. Recycling atmospheric carbon is fine.
Bottled carbon dioxide is likely to be new carbon, as one of the major production techniques involves decomposition of limestone with acid.
And, of course, any energy used in the beer production is likely to come from fossil fuels, which will release fossil carbon into the atmosphere.
What it's got is a little application that makes a standard telephone call to a Skype server, which gateways your call onto the Skype network. Which means you use up mobile call time as well as Skype calltime. No VOIP is involved.
Right now we're unlikely to see an aftermarket Skype client for Android because you can't do aftermarket native code on Android yet. (You can only do native code on Android if it gets built in when the phone OS image is made, which means it has to be done by the phone provider... and I'm sure Skype are working on that right now.)
...and I like it. In fact, I like most of Microsoft's peripherals. They're reasonably priced, reliable, feel nice to use, and are just generally a good buy.
The Internet Keyboard is a hefty standard QWERTY keyboard with number pad and a row of special purpose function keys along the top. It's a pretty standard rubber membrane job, but the feel is comfortable and the keys all move the right amount. I've never had the slightest bit of discomfort with it.
Best of all, it's actually designed for maintenance. The keys clip into the top shell, which curves down to meet the table on all sides; undo a couple of screws on the bottom and the entire top shell lifts off. You don't even need to unplug it. You can then unclip all the keys, drop the whole lot in the dishwasher, run it with no powder, and once dry reassemble it for a shiny clean keyboard. The key sockets have a little gutter to stop crud and minor spills getting into the works and the keycap transfers are robust enough that I've gone through several cleaning cycles and they're still not showing any signs of wearing off. The glyph keys are all the same shape, too, so if you're a Dvorak user you can just rearrange them.
The CTRL key is in the wrong place, at the bottom left of the keyboard, but you can't have everything.
I'd like to see a keyboard design that "catches" the key after it's pressed far enough to be detected as a "press" and consumes the energy.
Erm, I'm not entirely sure what you mean by this.
On any keyboard, the kinetic energy of the key has to be converted into something else. Otherwise the key wouldn't stop moving. Usually part of it becomes mechanic stress in the spring, part of it becomes sound, and the rest becomes waste heat in the rubber stop. When you let go, the energy stored in the spring turns back into kinetic energy, driving the key up again, and then it hits another stop, dissipating the energy into more noise and heat.
I'm not sure what you're suggesting here. Can you clarify?
...take a lot of frames using a cheap webcam [wildimaging.co.uk] and stack them together, weeding out the bad ones as you go.
You might be interested to have a look at some software called ALE, which can be used to do this more or less automatically; you give it a sequence of frames and it'll synthesize a superresolution image combing data from every frame.
(You can also use it to generate panoramic images from video pans --- it automatically locates, rotates and transforms every frame correctly, figuring everything out for itself!)
The only problem with it is that it's really slow, so you'll probably want as big a computer as you can humanly manage.
One day I should try taking some simple digital camera footage of the moon and running it through ALE just to see what happens...
When does a child become a citizen if not at birth?
When the child becomes responsible, of course. How can a baby be a citizen? They are physically, mentally and socially totally incapable of surviving in society. How can you vote when you don't even know language?
What's happening is a result of the growing gap between childhood and adulthood. What used to happen was that physical and social maturity used to occur at roughly the same time, about 14 or 15. At that point you stopped being a child and started being an adult. You left home, got a job, got married, etc.
What's happening now is that with more intensive schooling and better health care and nutrition, physical maturity happens early --- 10 is not uncommon for girls --- and social maturity happens later --- 20 or so. Sometime around World War I there suddenly emerged a new kind of creature called a teenager, which was largely physically mature but not considered competent to be an adult.
And society didn't know how to deal with teenagers, and right now is struggling to cope, with huge swings back and forth between extremes in behaviour. Some day we're going to have to get used to the fact that we've got sexually and physically mature children around, but it hasn't happened yet. Trying to pretend that they don't grow genitalia or working minds until they reach their 21st birthday isn't going to work. Likewise, trying to force responsibility onto children who aren't capable of handling it is equally wrong, and equally not going to work.
But you are right with one thing, of course; everyone considers the society they grew up in to be normal, regardless how damaging it was to them or to society as a whole. It's all too easy to assume your children are going to behave like your idealised memories of your own childhood...
The animal had gone to the back of the house, climbed to the upper story and come into the house through a little window high in the shower cubicle of the upstairs bathroom. Then it walked back down the stairs and into our room.
No, that's far too much effort. What actually happened was the cat read your mind, realised that you knew a plausible route by which it could get in, and so after being put out it just sat comfortably until you were out of sight and then teleported back onto your bed, knowing that you would never suspect anything.
Cats put the kind of effort into being lazy that the most hardened work ethic afficionado could only dream of.
Let's assume the Earth is only a few thousand years old. Where did the oil come from? Was it created in the ground with the rest of the Earth? If so, is there a way to predict where it might be found? Or perhaps it really did form from plants and dinosaurs, but about 10,000 times faster than any chemist believes it could?
Of course, the obvious answer to that is that the creator carefully placed all the oil where it would be as if it were the product of ancient plants and dinosaurs; and the same goes with all the rest of the Earth's geological strata, all observable astronomical events, etc. Anything older than 4000BC (or whereever else you put the crucial date) is planted evidence.
In other words: if you believe in Creationism, you believe that God is lying to you.
There's no other conclusion to come to. Everything in the universe hangs together too well for it to be a coincidence. Either it all actually happened the way it looks like it happened, or else Someone has spent a great deal of effort arranging things to make it look that way.
There are a number of interesting aspects to this, not least of which is the idea that if the universe has been carefully faked to look the way it does, would it not be against God's will to reject all that and believe something completely different? Might Creationism actually be blasphemous?
This is, by the way, one reason why most scientists reject Creationism (both young-Earth and old-Earth; the only difference between them is philosphical hair-splitting, anyway). Contrary to popular belief, a lot of scientists are deeply spiritual people who believe strongly in their quest to explore the universe. I can easily imagine whole idea that anyone wants to simply dismiss such a wonderful, exotic, complicated thing as being a lie would be deeply distasteful to them --- it certainly is to me.
I expect the future of CPUs will be heterogeneous multicore.
You may be interested to know that, as far as I can tell from the rather fuzzy documention, the MSM7201A processor used in the G1 smartphone has at least three dissimilar cores, and potentially five:
an ARM11 for the application stack
an ARM9 for the radio stack
a QDSP4000
possibly a QDSP5000, the spec is unclear as to whether you get both this and the QDSP4000
a PowerVR 3D accelerator unit, although the spec is again unclear as to whether this is actually in silicon and not just a particular firmware load for the DSP
I gather that it's pretty hard to make them share address spaces, even the two ARMs; so SMP is probably not feasible. Message-passing via specific shared memory segments is the usual approach.
When you resize it, the text moves smoothly, the way old-fashioned Xlib apps used to do. My Firefox installation gets about two redraws a second.
Render speed seems to be decent, and it generally feels snappy in a way that Firefox doesn't.
However: this is in no way ready to be used as a browser, even if you're masochistic. No dialogue boxes, so no setting of options. No tab control; you always see the most recent tab, and there's no way of selecting another one. Rendering glitches; Slashdot won't render, for example (although this might be considered a feature). And it's unstable. Five minutes playing made it crash three times.
But I'm going to continue watching with great interest. I'd love to ditch Firefox.
The popularity of DART rises and falls in inverse relation to gas prices. But, it's primarily used by people to commute to downtown Dallas, as there isn't much at the rest of the stations except a parking lot.
No kidding --- getting off at the George W. Bush Turnpike station, I found myself in a square of uncrossable roads containing me, the DART station, a car park, and Fry's Electronics. I could see the CompUSA I wanted to get to on the other side of the road; I just couldn't get there...
If you can somehow get to one of the DART stations, that will give you some options. Another possibility: ask your employer if they will allow you to expense a car for a weekend day. Even if they don't, you can rent from a place like Enterprise [enterprise.com] starting at $32/day. Enterprise will bring the car to you.
Yes, I've been using the DART --- Galatyn Park is about five minutes walk from my hotel. I never knew Dallas had public transport! And apparently, neither does anyone here, because whenever I mention it I get blank looks.
Work will give me a car if I need one, but so far I haven't seen the need. I'd only use it at weekends, and usually only on Sundays due to spending most of Saturday recovering from the week, and given that I'm used to driving on the left and having had a look at the traffic on I-75 I think I'd prefer to live.
As others have posted, traveling for business can be a real grind: you are typically there to do a specific job as fast as humanly possible. I work all day at the client's office, get dinner, go back to the hotel and catch up on my email with the rest of the company, then go to sleep.
Right now I am in a hotel in Dallas doing a job for my home company, which is based in the UK. So far this year I've spent more time here than at home. And to your comment I have to say: hell yeah.
Work travel is work. My company is spending a hell of a lot of money for me to be on site with $CLIENT, and they want to get their money's worth. What's more, it's alienating, antisocial work, as there's nobody to talk to, nobody to socialise with, even if I had the energy --- I'm getting nine hour's sleep a night and I'm still too tired in the evenings to do anything other than eat, play some WoW, and sleep.
So far I've been here about two months, and I don't have a car. In Dallas. I do not have a car in Dallas. That should give you some idea of the kind of opportunities I have to go out and do stuff.
So work travel is really hard work. It's fascinating and interesting and I volunteered for this job because of that, but it's not fun. I enjoy the job and the challenge and being in strange places, but I'm certainly not relaxing.
If anyone here's interested in coding for an embedded operating system, I'd strongly recommend running the hell away from Symbian. It's awful.
Let us gloss over the lousy documentation (in which it's impossible to find anything, and where there are no links between chapters --- so, e.g., you can't follow a superclass chain up through the S60 chapter into the Symbian core chapter). Let us also gloss over the lousy build system (a horrible maze of crappy perl scripts, which, apart from being so hideously slow that our project takes the best part of ten minutes to build even if no source files have changed, doesn't allow you to have two source files in the same project with the same name. Even if they're in different directories). Let us also pass quickly over the debugger, trying not to make eye contact, that's unreliable, will only let you debug one task at a time, and which tends to crash if you do the wrong thing.
No, let's talk about the language.
You program for Symbian in C++. Good, you might think. No. This is C++ with all the good bits taken out and replaced by badly designed bits.
Let's take exceptions. There are no C++ exceptions. What there are instead are Leave codes; a macro-and-longjmp framework that replaces exceptions which allows you to throw an integer value and then catch it further up the call stack. Unfortunately because this is implemented without compiler assistance it doesn't unwind the stack frame, so destructors of locals aren't called! All is not lost, though: there's a complicated and easy-to-get-wrong manual cleanup stack on which you can push stuff that you want the system to free for you in such situations. God help you if you forget to push something, or pop something at the wrong point...
Let's take strings. There's no standard string class, of course. What there are are an even dozen different classes for storing strings in different ways: on the heap, on the stack, constant strings owned by someone else, etc. There are some superclasses that will allow you to pass references to these things around without having to worry about the implementation.
Except... it doesn't actually work. The various different string superclasses are incompatible. You can cast a TDes (mutable abstract string) to a TDesC (immutable abstract string). You can't cast a TPtr (mutable pointer to mutable string data) to a TPtrC (mutable pointer to immutable string data). Some of their system functions require you to pass in a reference to a concrete string type, so god help you if want to use a different implementation. You can't use certain implementations in certain contexts. The result is that for some operations you have to allocate a fixed-size buffer on the stack, call a system function to populate it, then copy the buffer into another buffer on the heap, because the buffer-on-heap object is immutable! Despite being resizeable and assignable!
Things get even worse when you want to store multiple strings. There's a labyrinthine maze of string array classes: arrays of fixed sized strings, arrays of descriptors, arrays of pointers to strings, arrays of pointer strings (which are different)... add this to Symbian's bizarre convention where a data storage class allocates memory in its constructor but does not free it in its destructor (which means the user must manually Close() method on all member variables) and simply figuring out who's responsible for freeing a particular object becomes non-trivial. I once spent three days trying to find out how to store an array of strings without leaking them. I kid you not.
(To be fair, they have been trying to fix this with OpenC++, a new programming environment based on, like, standards. It doesn't actually work. The interface to Symbian C++ code is patchy and poorly specced which means it's only really useful for running chunks of third-party code in a sandbox --- you still need to write your actual application in Symbian C++.)
Now lets move on to the OS proper. Like the languag
You make it too complicated. You don't have to pick up the fragment, move yourself, then drop the fragment. You just have to exchange velocity with the fragment during a very brief interaction, flinging you every-so-slightly outside your orbit,and flinging it every-so-slightly inside it's orbit. Gravity takes care of the rest.
Unfortunately all gravity is going to take care off is steering both objects around the earth in perfectly normal orbits. Remember, there's no such thing as an unstable orbit (excluding certain complicated interactions with other bodies) --- all orbits are stable unless they hit something (like the atmosphere). Any debris low enough to be easy to deorbit is most likely going to do so soon of its own accord anyway. To deorbit the rest, you're going to have to change its velocity by a lot. Otherwise you achieved nothing.
The only way of changing the velocity of such an object is either rapidly, which means a collision, or slowly, which means your vehicle's going to have to grab the target object and do an engine burn. A collision is going to produce secondary debris, and will most likely kill your vehicle. Grabbing the object is a horribly complex engineering problem.
Again, too complicated. What you need is something large, light weight, and sticky. A simple cylinder filled with an aero-gel just needs to fly through the debris cloud, letting the pieces impact the gel and get stuck there. The added mass, plus decreased speed, would automatically deorbit the collector.
No, not really --- if you're going slowly enough to let the particles stick, rather than just vaporise (causing secondary debris), you're not going to transfer enough momentum to do anything useful. Attaching your aerogel to a vehicle which you can use to deorbit the whole lot might be potentially useful, though, but you'll still need a hell of a lot of it. Debris clouds are huge. China's 2007 antisatellite test filled everything on a particular orbital plane from about 200km up to about 4000km up.
What's more, aerogel's only good against stuff small enough and light enough to capture --- that debris cloud contains an estimated 35,000 objects bigger than 1cm. These are likely to punch straight through your aerogel, causing yet more secondary debris...
For example a small craft to grab and safely drop items (lower their speeds at the right time ) could take down items that are 30 CM and bigger.
Harder than you'd think. To deorbit a fragment like this you need to:
Change your orbit to match that of the fragment
Rendezvous with fragment, then grab it
Change your orbit to intersect the atmosphere, then let go of the fragment
Change your orbit so that you don't deorbit
So that's three major orbital manoeuvres, per fragment. And that sort of stuff is really expensive: in order to move from a circular orbit around the equator to a circular orbit around the pole, you need twice the delta-V that you used to get into orbit in the first place!
So it would probably be cheaper to use a single disposable vehicle that you launch to a specific debris cloud, and then it collects as much crap as it can and then deorbits. But even that's going to be a major project --- and much of the debris up there right now is on the order of paint flecks, which are damn hard to pick up (or even find).
So this sort of thing isn't nearly as simple as it first sounds...
I use Firefox on Linux as my primary browser. I'm having a huge problem with random slowdowns, however. It seems to be fairly random, exacerbated when multiple tabs are open, and possibly related to Flash. When the slowdowns start occuring Firefox will start eating 99% of CPU and become unresponsive. A strace will show dozens of gettimeofday() calls every second.
I had something similar to this and managed to fix it by changing my X configuration --- either from EXA acceleration to XAA acceleration or vice versa, I forget exactly. The issue was that my X server was claiming to support a particular kind of 2D acceleration that Firefox wanted to use, but the support was buggy and very slow. Using the other acceleration method fixed things.
A key symptom was that Firefox would be horribly slow at rendering a page with fixed items on it. e.g., Slashdot's comments section with the floating comment control panel in the top left corner (that I'm looking at now). Firefox would be perfectly fine at the top of the page, but slow to a crawl as soon as you scrolled down enough to cause the control panel to detach.
And that's translated. Lem wrote in Polish. He may have been a genius, but Michael Kandel, who was his English translator, must have been one too...
(Also, damn Slashdot for not allowing HTML entities in posts. The formula in the last line is supposed to be represented mathematically.)
Which is a shame, as it's top-quality pine and the most picturesque of fjords.
I do wonder whether the VM/JIT engine might be useful for implementing other languages, however. Such as Ruby! Just implement a compiler from Ruby source into Strongtalk bytecode, plug it in, watch it work...
You might be interested in StrongTalk. It's a Smalltalk-80 rewrite with optional strong typing and pervasive JIT, meaning that it's incredibly fast and robust. It is, unfortunately, Windows only at the moment, but it's all BSD licensed --- VM, image, source browser and all --- and they're looking for people to help with a Linux port.
Approximately 0.00004 kg m^5 s^-3 (that'll be 5 ton inch^5 s^-3 to Americans).
Oh, wait, you said jigga, not jigger...
One of Piers Anthony's books --- written back before he discovered that writing crap was more profitable than writing good stuff --- had all the aliens referring to humans as 'Earthian'. Admittedly, that book (The ESP Worm) is largely a spoof...
A quarter of a watt is a percentage of the static I gather walking...
250mW is actually quite a lot, processor-wise. Atmel produce microprocessors that will run Linux and consume about 100mW. If you switch to a true embedded processor, Microchip's PIC24 series are 16-bit processors that will consume about 20mW at 16MHz (and less if you run them more slowly), and if you're willing to go 8-bit, you start getting into silly numbers: their PIC10 series will run (flat out) at 0.4mW and sleep at 0.0002mW. If you're used to PCs, there's a whole new world out there...
One day soon I'm hoping to see someone produce a mini laptop based around one of these 16 bit or 32 bit microcontrollers and an e-ink screen. It may not run Crysis, but it would probably run off a single AA pretty much forever, and still be useful; it would, after all, still be able to outcompute an Amiga or Atari ST...
It's also worth remembering that some of the most populated parts of the Earth are also very close to sealevel. It wouldn't take much of a rise to displace very, very large numbers of people --- like, billions, and they're not just going to sit there and drown.
If this ever happens, you're going to have an extremely large number of intelligent, highly motivated people looking, in order, for (a) somewhere to live and (b) someone to blame.
The simple technical problems involved with climate change will be nothing compared to the political problems.
...because the carbon produced by yeast comes from sugar, which comes from plants, which comes from the atmosphere. Remember, it's only new carbon that causes a problem. Recycling atmospheric carbon is fine.
Bottled carbon dioxide is likely to be new carbon, as one of the major production techniques involves decomposition of limestone with acid.
And, of course, any energy used in the beer production is likely to come from fossil fuels, which will release fossil carbon into the atmosphere.
No, it doesn't.
What it's got is a little application that makes a standard telephone call to a Skype server, which gateways your call onto the Skype network. Which means you use up mobile call time as well as Skype calltime. No VOIP is involved.
Right now we're unlikely to see an aftermarket Skype client for Android because you can't do aftermarket native code on Android yet. (You can only do native code on Android if it gets built in when the phone OS image is made, which means it has to be done by the phone provider... and I'm sure Skype are working on that right now.)
...and I like it. In fact, I like most of Microsoft's peripherals. They're reasonably priced, reliable, feel nice to use, and are just generally a good buy.
The Internet Keyboard is a hefty standard QWERTY keyboard with number pad and a row of special purpose function keys along the top. It's a pretty standard rubber membrane job, but the feel is comfortable and the keys all move the right amount. I've never had the slightest bit of discomfort with it.
Best of all, it's actually designed for maintenance. The keys clip into the top shell, which curves down to meet the table on all sides; undo a couple of screws on the bottom and the entire top shell lifts off. You don't even need to unplug it. You can then unclip all the keys, drop the whole lot in the dishwasher, run it with no powder, and once dry reassemble it for a shiny clean keyboard. The key sockets have a little gutter to stop crud and minor spills getting into the works and the keycap transfers are robust enough that I've gone through several cleaning cycles and they're still not showing any signs of wearing off. The glyph keys are all the same shape, too, so if you're a Dvorak user you can just rearrange them.
The CTRL key is in the wrong place, at the bottom left of the keyboard, but you can't have everything.
Erm, I'm not entirely sure what you mean by this.
On any keyboard, the kinetic energy of the key has to be converted into something else. Otherwise the key wouldn't stop moving. Usually part of it becomes mechanic stress in the spring, part of it becomes sound, and the rest becomes waste heat in the rubber stop. When you let go, the energy stored in the spring turns back into kinetic energy, driving the key up again, and then it hits another stop, dissipating the energy into more noise and heat.
I'm not sure what you're suggesting here. Can you clarify?
You might be interested to have a look at some software called ALE, which can be used to do this more or less automatically; you give it a sequence of frames and it'll synthesize a superresolution image combing data from every frame.
(You can also use it to generate panoramic images from video pans --- it automatically locates, rotates and transforms every frame correctly, figuring everything out for itself!)
The only problem with it is that it's really slow, so you'll probably want as big a computer as you can humanly manage.
One day I should try taking some simple digital camera footage of the moon and running it through ALE just to see what happens...
When the child becomes responsible, of course. How can a baby be a citizen? They are physically, mentally and socially totally incapable of surviving in society. How can you vote when you don't even know language?
What's happening is a result of the growing gap between childhood and adulthood. What used to happen was that physical and social maturity used to occur at roughly the same time, about 14 or 15. At that point you stopped being a child and started being an adult. You left home, got a job, got married, etc.
What's happening now is that with more intensive schooling and better health care and nutrition, physical maturity happens early --- 10 is not uncommon for girls --- and social maturity happens later --- 20 or so. Sometime around World War I there suddenly emerged a new kind of creature called a teenager, which was largely physically mature but not considered competent to be an adult.
And society didn't know how to deal with teenagers, and right now is struggling to cope, with huge swings back and forth between extremes in behaviour. Some day we're going to have to get used to the fact that we've got sexually and physically mature children around, but it hasn't happened yet. Trying to pretend that they don't grow genitalia or working minds until they reach their 21st birthday isn't going to work. Likewise, trying to force responsibility onto children who aren't capable of handling it is equally wrong, and equally not going to work.
But you are right with one thing, of course; everyone considers the society they grew up in to be normal, regardless how damaging it was to them or to society as a whole. It's all too easy to assume your children are going to behave like your idealised memories of your own childhood...
No, that's far too much effort. What actually happened was the cat read your mind, realised that you knew a plausible route by which it could get in, and so after being put out it just sat comfortably until you were out of sight and then teleported back onto your bed, knowing that you would never suspect anything.
Cats put the kind of effort into being lazy that the most hardened work ethic afficionado could only dream of.
Of course, the obvious answer to that is that the creator carefully placed all the oil where it would be as if it were the product of ancient plants and dinosaurs; and the same goes with all the rest of the Earth's geological strata, all observable astronomical events, etc. Anything older than 4000BC (or whereever else you put the crucial date) is planted evidence.
In other words: if you believe in Creationism, you believe that God is lying to you.
There's no other conclusion to come to. Everything in the universe hangs together too well for it to be a coincidence. Either it all actually happened the way it looks like it happened, or else Someone has spent a great deal of effort arranging things to make it look that way.
There are a number of interesting aspects to this, not least of which is the idea that if the universe has been carefully faked to look the way it does, would it not be against God's will to reject all that and believe something completely different? Might Creationism actually be blasphemous?
This is, by the way, one reason why most scientists reject Creationism (both young-Earth and old-Earth; the only difference between them is philosphical hair-splitting, anyway). Contrary to popular belief, a lot of scientists are deeply spiritual people who believe strongly in their quest to explore the universe. I can easily imagine whole idea that anyone wants to simply dismiss such a wonderful, exotic, complicated thing as being a lie would be deeply distasteful to them --- it certainly is to me.
You may be interested to know that, as far as I can tell from the rather fuzzy documention, the MSM7201A processor used in the G1 smartphone has at least three dissimilar cores, and potentially five:
I gather that it's pretty hard to make them share address spaces, even the two ARMs; so SMP is probably not feasible. Message-passing via specific shared memory segments is the usual approach.
...my god it's fast.
Start up in under half a second. From cold.
When you resize it, the text moves smoothly, the way old-fashioned Xlib apps used to do. My Firefox installation gets about two redraws a second.
Render speed seems to be decent, and it generally feels snappy in a way that Firefox doesn't.
However: this is in no way ready to be used as a browser, even if you're masochistic. No dialogue boxes, so no setting of options. No tab control; you always see the most recent tab, and there's no way of selecting another one. Rendering glitches; Slashdot won't render, for example (although this might be considered a feature). And it's unstable. Five minutes playing made it crash three times.
But I'm going to continue watching with great interest. I'd love to ditch Firefox.
The popularity of DART rises and falls in inverse relation to gas prices. But, it's primarily used by people to commute to downtown Dallas, as there isn't much at the rest of the stations except a parking lot.
No kidding --- getting off at the George W. Bush Turnpike station, I found myself in a square of uncrossable roads containing me, the DART station, a car park, and Fry's Electronics. I could see the CompUSA I wanted to get to on the other side of the road; I just couldn't get there...
If you can somehow get to one of the DART stations, that will give you some options. Another possibility: ask your employer if they will allow you to expense a car for a weekend day. Even if they don't, you can rent from a place like Enterprise [enterprise.com] starting at $32/day. Enterprise will bring the car to you.
Yes, I've been using the DART --- Galatyn Park is about five minutes walk from my hotel. I never knew Dallas had public transport! And apparently, neither does anyone here, because whenever I mention it I get blank looks.
Work will give me a car if I need one, but so far I haven't seen the need. I'd only use it at weekends, and usually only on Sundays due to spending most of Saturday recovering from the week, and given that I'm used to driving on the left and having had a look at the traffic on I-75 I think I'd prefer to live.
Sadly, I read too fast and saw this as "3rd level" human beings, and wondered immediately what game was being played.
You cast 'Seduce' on Attractive Woman.
Attractive Woman resists your 'Seduce'.
You cast 'Seduce' on Average Woman.
Average Woman resists your 'Seduce'.
You cast 'Seduce' on Ugly Woman.
Ugly Woman resists your 'Seduce'.
You offer 50sp to Prostitute.
Prostitute accepts your 50sp.
Prostitute casts 'Low Self Esteem' on you.
Prostitute casts 'Genital Parasite' on you.
Prostitute casts 'STD' on you.
Prostitute steals 5gp from you!
Pimp attacks you!
You hit Pimp for 5hp.
Pimp hits you for 387hp.
You are stunned!
Pimp htis you for 623hp.
Prostitute hits you for 142hp.
You have died. Your soul receives a 10% durability penalty.
Right now I am in a hotel in Dallas doing a job for my home company, which is based in the UK. So far this year I've spent more time here than at home. And to your comment I have to say: hell yeah.
Work travel is work. My company is spending a hell of a lot of money for me to be on site with $CLIENT, and they want to get their money's worth. What's more, it's alienating, antisocial work, as there's nobody to talk to, nobody to socialise with, even if I had the energy --- I'm getting nine hour's sleep a night and I'm still too tired in the evenings to do anything other than eat, play some WoW, and sleep.
So far I've been here about two months, and I don't have a car. In Dallas. I do not have a car in Dallas. That should give you some idea of the kind of opportunities I have to go out and do stuff.
So work travel is really hard work. It's fascinating and interesting and I volunteered for this job because of that, but it's not fun. I enjoy the job and the challenge and being in strange places, but I'm certainly not relaxing.
If anyone here's interested in coding for an embedded operating system, I'd strongly recommend running the hell away from Symbian. It's awful.
Let us gloss over the lousy documentation (in which it's impossible to find anything, and where there are no links between chapters --- so, e.g., you can't follow a superclass chain up through the S60 chapter into the Symbian core chapter). Let us also gloss over the lousy build system (a horrible maze of crappy perl scripts, which, apart from being so hideously slow that our project takes the best part of ten minutes to build even if no source files have changed, doesn't allow you to have two source files in the same project with the same name. Even if they're in different directories). Let us also pass quickly over the debugger, trying not to make eye contact, that's unreliable, will only let you debug one task at a time, and which tends to crash if you do the wrong thing.
No, let's talk about the language.
You program for Symbian in C++. Good, you might think. No. This is C++ with all the good bits taken out and replaced by badly designed bits.
Let's take exceptions. There are no C++ exceptions. What there are instead are Leave codes; a macro-and-longjmp framework that replaces exceptions which allows you to throw an integer value and then catch it further up the call stack. Unfortunately because this is implemented without compiler assistance it doesn't unwind the stack frame, so destructors of locals aren't called! All is not lost, though: there's a complicated and easy-to-get-wrong manual cleanup stack on which you can push stuff that you want the system to free for you in such situations. God help you if you forget to push something, or pop something at the wrong point...
Let's take strings. There's no standard string class, of course. What there are are an even dozen different classes for storing strings in different ways: on the heap, on the stack, constant strings owned by someone else, etc. There are some superclasses that will allow you to pass references to these things around without having to worry about the implementation.
Except... it doesn't actually work. The various different string superclasses are incompatible. You can cast a TDes (mutable abstract string) to a TDesC (immutable abstract string). You can't cast a TPtr (mutable pointer to mutable string data) to a TPtrC (mutable pointer to immutable string data). Some of their system functions require you to pass in a reference to a concrete string type, so god help you if want to use a different implementation. You can't use certain implementations in certain contexts. The result is that for some operations you have to allocate a fixed-size buffer on the stack, call a system function to populate it, then copy the buffer into another buffer on the heap, because the buffer-on-heap object is immutable! Despite being resizeable and assignable!
Things get even worse when you want to store multiple strings. There's a labyrinthine maze of string array classes: arrays of fixed sized strings, arrays of descriptors, arrays of pointers to strings, arrays of pointer strings (which are different)... add this to Symbian's bizarre convention where a data storage class allocates memory in its constructor but does not free it in its destructor (which means the user must manually Close() method on all member variables) and simply figuring out who's responsible for freeing a particular object becomes non-trivial. I once spent three days trying to find out how to store an array of strings without leaking them. I kid you not.
(To be fair, they have been trying to fix this with OpenC++, a new programming environment based on, like, standards. It doesn't actually work. The interface to Symbian C++ code is patchy and poorly specced which means it's only really useful for running chunks of third-party code in a sandbox --- you still need to write your actual application in Symbian C++.)
Now lets move on to the OS proper. Like the languag
You make it too complicated. You don't have to pick up the fragment, move yourself, then drop the fragment. You just have to exchange velocity with the fragment during a very brief interaction, flinging you every-so-slightly outside your orbit,and flinging it every-so-slightly inside it's orbit. Gravity takes care of the rest.
Unfortunately all gravity is going to take care off is steering both objects around the earth in perfectly normal orbits. Remember, there's no such thing as an unstable orbit (excluding certain complicated interactions with other bodies) --- all orbits are stable unless they hit something (like the atmosphere). Any debris low enough to be easy to deorbit is most likely going to do so soon of its own accord anyway. To deorbit the rest, you're going to have to change its velocity by a lot. Otherwise you achieved nothing.
The only way of changing the velocity of such an object is either rapidly, which means a collision, or slowly, which means your vehicle's going to have to grab the target object and do an engine burn. A collision is going to produce secondary debris, and will most likely kill your vehicle. Grabbing the object is a horribly complex engineering problem.
Again, too complicated. What you need is something large, light weight, and sticky. A simple cylinder filled with an aero-gel just needs to fly through the debris cloud, letting the pieces impact the gel and get stuck there. The added mass, plus decreased speed, would automatically deorbit the collector.
No, not really --- if you're going slowly enough to let the particles stick, rather than just vaporise (causing secondary debris), you're not going to transfer enough momentum to do anything useful. Attaching your aerogel to a vehicle which you can use to deorbit the whole lot might be potentially useful, though, but you'll still need a hell of a lot of it. Debris clouds are huge. China's 2007 antisatellite test filled everything on a particular orbital plane from about 200km up to about 4000km up.
What's more, aerogel's only good against stuff small enough and light enough to capture --- that debris cloud contains an estimated 35,000 objects bigger than 1cm. These are likely to punch straight through your aerogel, causing yet more secondary debris...
Harder than you'd think. To deorbit a fragment like this you need to:
So that's three major orbital manoeuvres, per fragment. And that sort of stuff is really expensive: in order to move from a circular orbit around the equator to a circular orbit around the pole, you need twice the delta-V that you used to get into orbit in the first place!
So it would probably be cheaper to use a single disposable vehicle that you launch to a specific debris cloud, and then it collects as much crap as it can and then deorbits. But even that's going to be a major project --- and much of the debris up there right now is on the order of paint flecks, which are damn hard to pick up (or even find).
So this sort of thing isn't nearly as simple as it first sounds...
I had something similar to this and managed to fix it by changing my X configuration --- either from EXA acceleration to XAA acceleration or vice versa, I forget exactly. The issue was that my X server was claiming to support a particular kind of 2D acceleration that Firefox wanted to use, but the support was buggy and very slow. Using the other acceleration method fixed things.
A key symptom was that Firefox would be horribly slow at rendering a page with fixed items on it. e.g., Slashdot's comments section with the floating comment control panel in the top left corner (that I'm looking at now). Firefox would be perfectly fine at the top of the page, but slow to a crawl as soon as you scrolled down enough to cause the control panel to detach.