FYI there are no stable orbits around the moon: the perilune becomes smaller and smaller with time, so unless you periodically re-raise it using on-board fuel anything that orbits the moon will eventually crash on it.
I know that yours was a joke, but FYI crashing into the moon is the end of every mission in lunar orbit (yes, this includes the ascent stages of the Apollo Lunar Modules); those orbits are not stable due to the gravity of the sun, the Earth and irregularities in the moon itself.
And, considering that this is an ESA mission, why the summary has only a link to the NASA site? ESA has a lot of good information about the mission and the impact:
the SMART-1 divulgation site, which includes a "vodcast" (H.264+AAC encoding, plays fine with mplayer and VLC)
IMHO the most important results from this mission (beside a lot of nice detailed images) are the successful use of a ion engine with a very complicated low-power path (that thing passed through the L1 Lagrangian Point, switching seamlessly from earth orbit to lunar orbit) and the extensive mapping of the moon surface chemical composition using X-ray and infrared instruments.
Logo is another excellent suggestion. [snip...] Of course it's not a general purpose language (like Python, which I suggested in another comment).
Both are excellent suggestions, and the good news is that you can have the best of both worlds!
Simply download Python and xturtle.py (the module is a single.py file, no need for complicated installation and no dependencies beyond the standard Python library).
The xturtle site has extensive documentation, interesting examples and, of course, screenshots (because everyone love screenshots!).
Why this is modded informative? It's almost completely wrong!
A high latitude is completely non-influential for a launch to the moon, but suffers from a high penalty for launching to any orbit with an inclination lower than the latitude.
OTOH there are almost no benefits at all for a launch to a high inclination orbit wrt a spaceport near the equator.
IOW: if you want to reach orbit, you should launch from a site that has a latidute less than or equal to the inclination of your orbit.
Sorry to reply to myself, but I have found a good example: 2003 EL61 has a much bigger mass than both Charon and Ceres but its shape is clearly not round: 1960×1520×1000 km!
sufficient mass for its self-gravity to overcome rigid body forces so that it assumes a hydrostatic equilibrium (nearly round) shape
seems too fuzzy to me. Why not simply choose anything with a radius bigger than 1000 km so both Pluto and Xena (aka 2003 UB313) would fall into the definition anyway?
Since JAXA doesn't currently have a 100 ton-class heavy lift rocket or a human transportation system perhaps now is a good time for JAXA to join in with NASA on the Project Constellation rocket program.
You don't need a 100 ton rocket to go to the moon and NASA has already stated that the Constellation is an US-only project. What Japan will probably do is joining Europe and Russia on the ACTS (Advanced Crew Transportation System), that will be launched using existing Ariane 5 or similar rockets (20-25 ton to LEO, depending on the orbit inclination).
Instead of using some WYSIWYG editor I decided to strike it out on my own and write a page from scratch using the "standards" that the W3C touts.
Writing web pages following the standards is a good thing, but making a complex CSS layout work with some buggy browsers out there is hard. The solution is to not recreate the CSS from scratch, but starting from an already debugged existing layout. E.g.:
And people that use web frameworks in Python will probably be interested in WSGI 1.0 (the Python Web Server Gateway Interface) that will be added to the standard library in Python 2.5: it will probably be supported by all the major Python web frameworks.
Probably a lot of people already know this, but you can download (instead of just watching it in streaming) WMV files with a "mms://" URI under Linux using MPlayer.
I was in a team that built an humanoid robot for the robocup and I mostly agree.
In my experience a team that want to build a complex robot need really good experts in: mechanics, control, electronics, communication, machine vision, embedded programming, hard realtime kernel programming (we used Linux+RTAI with custom kernel modules for our robot).
YMMV
Both robotics and AI are still relatively young, so IMO they are still not ready to go together. Real advanced AI for the moment is only needed on computers, not on robot (we are still not here).
They chose soccer not because we need robots that play soccer, but because soccer requires almost all the capabilities currently missing from a useful robot: bipedal motion (for accessing places designed with humans in mind), coordination and collaboration between multiple robots, fast (fast for an humanoid robot means more than 0.1 m/s) and precise motion, and recognition of the position of mobile objects in the surrounding environment.
A few missing things are added by the Rescue League: recognition and movement in a complex unknown environment, and interaction with untrained humans.
And, of course, the soccer is also meant to stimulate the interest and competition in the robotics among the young minds.
I was in a team that built a humanoid robot for the robocup a few years ago.
Yes those robot have all the batteries on board and they have a very short duration: the absolute maximum was more or less 20 minutes, but some robots had batteries that lasted less than 60 seconds (the duration required for a single kick: the competitions in the humanoid league are pretty simple for now;-)).
Well, if a virus want to modify executable or configuration files on my OS, it has to ask the root password to me, so maybe even with virii the OS matters.
... thinking that the necessity for an Anti-Virus is the sign that an OS is not secure?
I know that no OS is 100% secure, but if virii can find their way in on a regular basis...
Indeed torque can be a big problem in space, even if you have gyroscopes.
If the propulsion engine has a small offset in thrust wrt the center of mass of the spaceship, this generates torque. The gyroscopes can absorb this by accelerating, but only up to a certain amount (because, obviously, they cannot continue to increase their speed indefinitely).
At that point the gyroscopes must be "unloaded" by firing some appropriate thruster and consuming propellant.
They have a similar problem on the ISS (but there the torque is generated by friction with the upper atmosphere and small gas leaks), where the american gyroscopes must be periodically unloaded firing the russian thrusters, using precious propellant (this, of course, isn't due to a fault in the gyroscopes).
One of the good things of ion engines is that they can very finely tuned to not have pratically any off-center thrust: the Smart-1 spacecraft has almost never had the need to use it's gyroscopes to absorb thrust generated by the ion engine.
And, of course, the torque generated by really big motors (e.g.: Space Shuttle or Ariane 5 main engines) must be corrected by the same engines with a closed-loop control, because there is no way a gyroscope can absorb that much torque.
[".LC0" is the string "Hello World"; warning:/. inserts some spaces in the longest identifiers] As you can see it's exactly what you can expect, with only two *direct* calls. Granted the "puts" version requires only a single call, but only because here the output is split in two parts, first the "Hello World" and then the newline.
I agree. Please don't mod the GP as funny. Anything but not funny.
Re:PyPy: a Python implementation written in Python
on
Guido Goes Google
·
· Score: 1
Reminds me of the hypesters (yeah I made it up) around Java that said it would be faster than C code eventually.
You are right, but this isn't only hype: what they mean when they write that "the secret goal is being faster-than-C" is not that your Python program will run faster than a C equivalent (although try to write a simple md5sum in Python that reads 64kB per loop and benchmark it against the GNU implementation... you will be surprised;-)). What they mean is that they hope to run Python programs faster that the C Python implementation.
And this can appear to be more plausible when you consider that in a loop like this (ignore the underscores):
n = 0 for i in range(100): _ _ n += i
the current CPython implementation consider both i and n to be completely generic objects, while a good optimizing compiler can understand that they are (almost) always guaranteed to be integers.
Re:I love Python, but...
on
Guido Goes Google
·
· Score: 4, Informative
WxWidgets?
Good point. I think that Python + wxPython + wxGlade is a very powerful combination for clean, fast and maintainable GUI development.
If you do GUIs I suggest to try these tools: they are simple and powerful (wxPython even contains additional classes that are not present in wxWidgets).
PyPy: a Python implementation written in Python
on
Guido Goes Google
·
· Score: 4, Informative
Python has moderately fast bytecode (google stuff could improve a lot here)
A very interesting project that aims to create a faster Python implementation is PyPy, funded by the EU, by google (with Summer of Code) and by a lot of programmers that donate their own time.
Even the Psyco guys say that the future is in PyPy!
FYI there are no stable orbits around the moon: the perilune becomes smaller and smaller with time, so unless you periodically re-raise it using on-board fuel anything that orbits the moon will eventually crash on it.
See question 5 from the ESA's SMART-1 FAQs for more details.
I know that yours was a joke, but FYI crashing into the moon is the end of every mission in lunar orbit (yes, this includes the ascent stages of the Apollo Lunar Modules); those orbits are not stable due to the gravity of the sun, the Earth and irregularities in the moon itself.
And, considering that this is an ESA mission, why the summary has only a link to the NASA site? ESA has a lot of good information about the mission and the impact:
IMHO the most important results from this mission (beside a lot of nice detailed images) are the successful use of a ion engine with a very complicated low-power path (that thing passed through the L1 Lagrangian Point, switching seamlessly from earth orbit to lunar orbit) and the extensive mapping of the moon surface chemical composition using X-ray and infrared instruments.
Both are excellent suggestions, and the good news is that you can have the best of both worlds!
Simply download Python and xturtle.py (the module is a single .py file, no need for complicated installation and no dependencies beyond the standard Python library).
The xturtle site has extensive documentation, interesting examples and, of course, screenshots (because everyone love screenshots!).
Why this is modded informative? It's almost completely wrong!
A high latitude is completely non-influential for a launch to the moon, but suffers from a high penalty for launching to any orbit with an inclination lower than the latitude.
OTOH there are almost no benefits at all for a launch to a high inclination orbit wrt a spaceport near the equator.
IOW: if you want to reach orbit, you should launch from a site that has a latidute less than or equal to the inclination of your orbit.
Sorry to reply to myself, but I have found a good example: 2003 EL61 has a much bigger mass than both Charon and Ceres but its shape is clearly not round: 1960×1520×1000 km!
I have nothing against that, but IMVHO they are choosing the wrong criteria: mass (see: a list of Solar system objects by mass) is usually more difficult to determine than size (see: a list of Solar system objects by radius), and the definition of the minimum mass:
seems too fuzzy to me. Why not simply choose anything with a radius bigger than 1000 km so both Pluto and Xena (aka 2003 UB313) would fall into the definition anyway?
You don't need a 100 ton rocket to go to the moon and NASA has already stated that the Constellation is an US-only project. What Japan will probably do is joining Europe and Russia on the ACTS (Advanced Crew Transportation System), that will be launched using existing Ariane 5 or similar rockets (20-25 ton to LEO, depending on the orbit inclination).
Writing web pages following the standards is a good thing, but making a complex CSS layout work with some buggy browsers out there is hard. The solution is to not recreate the CSS from scratch, but starting from an already debugged existing layout.
E.g.:
Too many CSS web developers are trying to reinvent the wheel.
FYI Guido van Rossum prefers Django (from his blog).
And people that use web frameworks in Python will probably be interested in WSGI 1.0 (the Python Web Server Gateway Interface) that will be added to the standard library in Python 2.5: it will probably be supported by all the major Python web frameworks.
Probably a lot of people already know this, but you can download (instead of just watching it in streaming) WMV files with a "mms://" URI under Linux using MPlayer.
Just do something like this:
This is useful if you have a connection too slow for live streaming or you simply want to do something with the downloaded file.
I was in a team that built an humanoid robot for the robocup and I mostly agree.
In my experience a team that want to build a complex robot need really good experts in: mechanics, control, electronics, communication, machine vision, embedded programming, hard realtime kernel programming (we used Linux+RTAI with custom kernel modules for our robot).
YMMV
Both robotics and AI are still relatively young, so IMO they are still not ready to go together. Real advanced AI for the moment is only needed on computers, not on robot (we are still not here).
I suggest to add to this article the tag: thinkofthewebdevelopers
I don't care if it's an improvement for end users if it's still an hell for web developers due to standard non-compliance.
They chose soccer not because we need robots that play soccer, but because soccer requires almost all the capabilities currently missing from a useful robot: bipedal motion (for accessing places designed with humans in mind), coordination and collaboration between multiple robots, fast (fast for an humanoid robot means more than 0.1 m/s) and precise motion, and recognition of the position of mobile objects in the surrounding environment.
A few missing things are added by the Rescue League: recognition and movement in a complex unknown environment, and interaction with untrained humans.
And, of course, the soccer is also meant to stimulate the interest and competition in the robotics among the young minds.
I was in a team that built a humanoid robot for the robocup a few years ago. ;-)).
Yes those robot have all the batteries on board and they have a very short duration: the absolute maximum was more or less 20 minutes, but some robots had batteries that lasted less than 60 seconds (the duration required for a single kick: the competitions in the humanoid league are pretty simple for now
Well, if a virus want to modify executable or configuration files on my OS, it has to ask the root password to me, so maybe even with virii the OS matters.
... thinking that the necessity for an Anti-Virus is the sign that an OS is not secure?
I know that no OS is 100% secure, but if virii can find their way in on a regular basis...
Thanks :-)
Indeed torque can be a big problem in space, even if you have gyroscopes.
If the propulsion engine has a small offset in thrust wrt the center of mass of the spaceship, this generates torque. The gyroscopes can absorb this by accelerating, but only up to a certain amount (because, obviously, they cannot continue to increase their speed indefinitely).
At that point the gyroscopes must be "unloaded" by firing some appropriate thruster and consuming propellant.
They have a similar problem on the ISS (but there the torque is generated by friction with the upper atmosphere and small gas leaks), where the american gyroscopes must be periodically unloaded firing the russian thrusters, using precious propellant (this, of course, isn't due to a fault in the gyroscopes).
One of the good things of ion engines is that they can very finely tuned to not have pratically any off-center thrust: the Smart-1 spacecraft has almost never had the need to use it's gyroscopes to absorb thrust generated by the ion engine.
And, of course, the torque generated by really big motors (e.g.: Space Shuttle or Ariane 5 main engines) must be corrected by the same engines with a closed-loop control, because there is no way a gyroscope can absorb that much torque.
I suggest:
Good reading.
Sorry to reply to myself, but if anyone finds the above x86 assembly code difficult to understand, the equivalent C source code is:
where f1 and f2 are provided by the standard library, in the basic_ostream class (f1 returns its first argument, cout).
The above code uses V-tables
m IT_T0_ES6_S 5_PKc
/. inserts some spaces in the longest identifiers]
No, it doesn't (or at least shouldn't with a decent compiler).
I have compiled the following code:
#include <iostream>
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
with G++ 3.3.1 on x86 (and pretty standard options: "-ansi -fomit-frame-pointer -O2") and the results for the "main" function where the following:
main:
.LFB1550:
pushl %ebp
.LCFI0:
movl %esp, %ebp
.LCFI1:
pushl %edx
pushl %edx
andl $-16, %esp
pushl %eax
pushl %eax
pushl $_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostrea
subl $12, %esp
pushl $.LC0
pushl $_ZSt4cout
.LCFI2:
call _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_E
addl $20, %esp
pushl %eax
.LCFI3:
call _ZNSolsEPFRSoS_E
leave
xorl %eax, %eax
ret
[".LC0" is the string "Hello World"; warning:
As you can see it's exactly what you can expect, with only two *direct* calls. Granted the "puts" version requires only a single call, but only because here the output is split in two parts, first the "Hello World" and then the newline.
Hope this helps the discussion.
I agree. Please don't mod the GP as funny.
Anything but not funny.
You are right, but this isn't only hype: what they mean when they write that "the secret goal is being faster-than-C" is not that your Python program will run faster than a C equivalent (although try to write a simple md5sum in Python that reads 64kB per loop and benchmark it against the GNU implementation... you will be surprised ;-)). What they mean is that they hope to run Python programs faster that the C Python implementation.
And this can appear to be more plausible when you consider that in a loop like this (ignore the underscores):
the current CPython implementation consider both i and n to be completely generic objects, while a good optimizing compiler can understand that they are (almost) always guaranteed to be integers.Good point. I think that Python + wxPython + wxGlade is a very powerful combination for clean, fast and maintainable GUI development.
If you do GUIs I suggest to try these tools: they are simple and powerful (wxPython even contains additional classes that are not present in wxWidgets).
A very interesting project that aims to create a faster Python implementation is PyPy, funded by the EU, by google (with Summer of Code) and by a lot of programmers that donate their own time.
Even the Psyco guys say that the future is in PyPy!