The Cell is the thing for number crunching and pro applications where they are willing to spend the time optimizing for every single CPU, but for normal developers it is a step back.
The problem is that programming paradigmas need to change: a language like Erlang would be an excellent choice for such a processor, because it is designed for concurrent applications. Unfortunately everybody is used to object oriented programming, so a lot of people are sceptic about Erlang's approach of concurrent design which is quite different from the usual way software is designed. To see how well this concurrent design can work, have a look at this nice Apache vs. Yaws comparison. There is also the excellent book Concurrent Programming in Erlang that covers this topic.
Actually, he is right. The tachometer of cars (at least here in europe) are inprecise in that they almost always show about 10% more speed. If you the tacho shows 110, you are actually driving 100 km/h. A bike's tachometer is probably more precise and when it shows 60km/h it is faster than a car that also shows 60km/h.
Often newbies are better than experts. An expert is stuck with the knowledge and experience gathered over time, it is difficult to think outside this box. A newcomer instead can have fresh, unconvential ideas that most experts probably would laugh about but sometimes produce amazing results.
On the other side, this may just be an excuse for my laziness;-)
A software can never be perfect. This reminds me how Tex does version numbering: from release 3.0 on, they started adding one more digit of pi for each release. This is a nice pressure against featurism, and shows that the software is getting more and more stable. It will be perfect when the version number contains all digits of pi, which will take a loooong time...
Yesterday I have tried Xgl, Which also uses OpenGL to draw X. I think Luminocity and xgl are tightly related, but I am not really shure.
Anyway, what I got was a stable desktop with nice shadow and transparency features. It looks totally cool to have a transparent mplayer behind a transparent xterm that drops a soft shadow on it:-)
We already have a powerful, mature, and efficient language, proven effective for myriad successful Free Software projects. It's called C++
Are you joking? With the same thinking, we all would still code Assembler. There are plenty of other mature, powerful, efficent, proven languages available that are often a much better choice than C++. For example Ruby, Python, Perl, Java, Ocaml Tcl, C, to name only a few of them. The right tool for the right job.
OutputStream out = new FileOutputStream(filename);
next?
I have seen this little gem while learning Ruby, which realls shows how simple it is to code in such a dynamich language. The full functional program is a multithreaded server that offers the time to anyone connecting to port 1234:
require "socket" server = TCPServer.new(1234) while (session = server.accept)
Thread.new(session) do |my_session|
my_session.puts Time.now
my_session.close
end end
How much code would this be in Java? I have not tried it, but it shure will be a hell of a lot more complicated.
The Biometric Consortium is chaired by Jeffrey S. Dunn, the Technical Director of the Secure Network Technology Office,
U.S. National Security Agency (NSA), and Fernando L. Podio from the Convergent Information Systems Division in the Information Technology Laboratory of the U.S. National Institute of Standards and Technology (NIST/ITL)
And to your second point: of course, social engineering is just "lying a bit". This if often downplayed, but as you can see this might be a serious security problem.
One thing that I could NEVER get used to in university was programming "on paper"
I love it. I have always used a lot of paper before I have written any line of code. Using paper helps a lot, you can make UML like drawings of the program, of the data, and play it through in your mind to see if this can work. This way you can quickly find out a lot about the program.
Standing on the viewing platform of the Skytower (New Zealand, Auckland), looking through one of those free spyglasses into a nearby office building, watching someone browse Slashdot!
Your first suggestion is already possible now, with the great plugin StumbleUpon. This plugin compares your browsing behaviour with other users, and suggests pages from users with similar preferences. Appart from Google, this is IMHO one of the best ways to find new, interesting pages.
A lot of people have electrical heaters. Why not replace the heating elements with processors which are designed to be able to run at a very hot temperature? Imagine the processing power if every heater actually was a cluster of 20 pentium4 processors! And all these machines are networked. This could be expanded to every heat producing machine. Just imagine you toaster, boiler, hair-dryer are a beowulf cluster calculating seti@home packages - a geek's heaven. It could also be useful for companies who need that processing power to lend this for little money.
The idea behind "don't debug' is that you try to write such a simple code, that it is possible to understand everything to its fullest with one glance. If this is possible, no debugging is necessary. Unfortunately most common programming languages (C++, Java, C#) have such a complicated syntax that this is really difficult. With scripting languages like Ruby this works really cool.
Writing a temporary block of code in front of a program is a bad idea, because this code will be removed later on. A much better idea is to write a Unit Test, this prevents regression.
The people at the Risc Institute are creating cool stuff like Theorema, which helps in automatically proofing things. Some of these people teach math at a university in Hagenberg where I got the chance to see this thing in action, it is really amazing how well this works.
Everybody here has. Just use the Google calculator. Well, at least the first few digits can be compared.
Probably the simplest solution is to use Ruby: ruby -e "p 39807508642406493739712550055038649119906436234252 6708406385189575946388957261768583317 * 47277214610743530253622307197304822463291469530209 7116459852171130520711256363590397527"
which prints 18819881292060796383869723946165043980716356337941 73827007633564229888597152346654853190606065047430 45317388011303396716199692321205734031879550656996 221305168759307650257059
You have to remove the spaces, slashdot seems to automatically add them.
XDCC-Fetch is a very convenient tool to download from IRC. It works in both Linux and Windows.
Will trade 50 gmail invitations for one longhorn invitation
It seems these guys have been evaluating this new technology.
The problem is that programming paradigmas need to change: a language like Erlang would be an excellent choice for such a processor, because it is designed for concurrent applications. Unfortunately everybody is used to object oriented programming, so a lot of people are sceptic about Erlang's approach of concurrent design which is quite different from the usual way software is designed. To see how well this concurrent design can work, have a look at this nice Apache vs. Yaws comparison. There is also the excellent book Concurrent Programming in Erlang that covers this topic.
Actually, he is right. The tachometer of cars (at least here in europe) are inprecise in that they almost always show about 10% more speed. If you the tacho shows 110, you are actually driving 100 km/h.
A bike's tachometer is probably more precise and when it shows 60km/h it is faster than a car that also shows 60km/h.
Often newbies are better than experts. An expert is stuck with the knowledge and experience gathered over time, it is difficult to think outside this box. A newcomer instead can have fresh, unconvential ideas that most experts probably would laugh about but sometimes produce amazing results.
;-)
On the other side, this may just be an excuse for my laziness
why didn't they call it Blackbox 1.0? :)
A software can never be perfect. This reminds me how Tex does version numbering: from release 3.0 on, they started adding one more digit of pi for each release. This is a nice pressure against featurism, and shows that the software is getting more and more stable. It will be perfect when the version number contains all digits of pi, which will take a loooong time...
thanks, English is not my mother-tongue, but I should have known this.
Yesterday I have tried Xgl, Which also uses OpenGL to draw X. I think Luminocity and xgl are tightly related, but I am not really shure.
:-)
Anyway, what I got was a stable desktop with nice shadow and transparency features. It looks totally cool to have a transparent mplayer behind a transparent xterm that drops a soft shadow on it
Trying it out is fairly easy, just follow this description.
We already have a powerful, mature, and efficient language, proven effective for myriad successful Free Software projects. It's called C++
Are you joking? With the same thinking, we all would still code Assembler. There are plenty of other mature, powerful, efficent, proven languages available that are often a much better choice than C++. For example Ruby, Python, Perl, Java, Ocaml Tcl, C, to name only a few of them. The right tool for the right job.
Thanks, I could not have said it better :-)
I have seen this little gem while learning Ruby, which realls shows how simple it is to code in such a dynamich language. The full functional program is a multithreaded server that offers the time to anyone connecting to port 1234:How much code would this be in Java? I have not tried it, but it shure will be a hell of a lot more complicated.
And to your second point: of course, social engineering is just "lying a bit". This if often downplayed, but as you can see this might be a serious security problem.
- http://www.43things.com/ Nice amazon-like community thingy
- http://www.basecamphq.com/ Online project management sofware
- http://www.tadalist.com/ Todo-lists
- http://www.snowdevil.ca/ Snowboard stuff
Although, the first 3 links are somewhat related.YAML is a great alternative:
http://www.yaml.org/
One thing that I could NEVER get used to in university was programming "on paper"
I love it. I have always used a lot of paper before I have written any line of code. Using paper helps a lot, you can make UML like drawings of the program, of the data, and play it through in your mind to see if this can work. This way you can quickly find out a lot about the program.
Standing on the viewing platform of the Skytower (New Zealand, Auckland), looking through one of those free spyglasses into a nearby office building, watching someone browse Slashdot!
Your first suggestion is already possible now, with the great plugin StumbleUpon. This plugin compares your browsing behaviour with other users, and suggests pages from users with similar preferences. Appart from Google, this is IMHO one of the best ways to find new, interesting pages.
do you have any numbers (benchmarks?) about the advantages of NPTL?
And where are AMD's Biathlon and Triathlon?
A lot of people have electrical heaters. Why not replace the heating elements with processors which are designed to be able to run at a very hot temperature? Imagine the processing power if every heater actually was a cluster of 20 pentium4 processors! And all these machines are networked. This could be expanded to every heat producing machine. Just imagine you toaster, boiler, hair-dryer are a beowulf cluster calculating seti@home packages - a geek's heaven. It could also be useful for companies who need that processing power to lend this for little money.
The idea behind "don't debug' is that you try to write such a simple code, that it is possible to understand everything to its fullest with one glance. If this is possible, no debugging is necessary. Unfortunately most common programming languages (C++, Java, C#) have such a complicated syntax that this is really difficult. With scripting languages like Ruby this works really cool.
Writing a temporary block of code in front of a program is a bad idea, because this code will be removed later on. A much better idea is to write a Unit Test, this prevents regression.
The people at the Risc Institute are creating cool stuff like Theorema, which helps in automatically proofing things. Some of these people teach math at a university in Hagenberg where I got the chance to see this thing in action, it is really amazing how well this works.
Everybody here has. Just use the Google calculator. Well, at least the first few digits can be compared.
2 6708406385189575946388957261768583317 * 47277214610743530253622307197304822463291469530209 7116459852171130520711256363590397527"
1 73827007633564229888597152346654853190606065047430 45317388011303396716199692321205734031879550656996 221305168759307650257059
Probably the simplest solution is to use Ruby:
ruby -e "p 3980750864240649373971255005503864911990643623425
which prints
1881988129206079638386972394616504398071635633794
You have to remove the spaces, slashdot seems to automatically add them.
To make the movie even more enjoyable, everyone should try to act as described in this LOTR Survival Guide. You may even manage to get a Darwin Award!