One of the pleasures of living in a small village in the mountains is to light the fire in the evening. Me and Marti, we like to watch flames and we straighten arms and say 'hhhhh' when we finally sense heat. Virgi is also happy to see that we managed to put fire only in the oven and not to the entire house.
Salman Khan is kind of modern Prometheus who stole fire from Zeus and brought to humanity. This time, instead of a torch he brought youtube videos with him, where he explains on a blackboard calculus, algebra, analysis, physics, biology and history from the simplest concepts to the advanced topics. The videos are for free and distributed in the best 'Open' manner. You can download 30 giga of videos if you like, or watch them on youtube. I personally am working through the 'Laplace Transform" videos, stuff which I never learnt before. I think the videos (and examples to work through) are very useful both to students but also for people who already attended university and would like to fill some leaks in their knowledge.
To enter Khan Academy, click here, pick out some video, I am sure you'll enjoy the relaxed style used by Khan to teach about anything, even the most advanced topics. To read more on wikipedia about it, click here.
* I was recovered three days at the hospital to cut off the cystifellea as I had too much fast food when I was student. They should put on any fast food the photos of my cystifellea and the stones they found in it to better advertise their meals. WhenI was waiting for operation, I "repaired" the laptop of my room's neighbour by simply taking off the battery so that it could restart. He called me a "PC doctor" :-) I think it is easier to repair computers than humans. In fact they do not cry if you do something wrong, nor they need anaestesia. Anyway, this is the introduction to the next paragraph :-)
Heart Transplantation for Andromeda
The screen on my laptop "andromeda" broke about three months ago after 9 years of duty. It is an XE3 HP laptop 1GHz, 512 MB RAM, 40 GB of RAM, on which I developed most of my Open Source projects. It was one of the first laptops sold with Windows XP, on which I installed first Red Hat 8.0, Suse 9,9.2 and 9.3, Debian 5.0 and ended with Gentoo. I also used the laptop during my study in Zürich, computed stuff with Maple for physics and maths courses, wrote "Hubble in a Bottle" for the zBox supercomputer, deltasql and GPU. . By chance I found an older XE3 laptop with 900 MHz, 256 MB RAM, 30 GB hard disk and decided to execute the operation "make one out of two", which works with basically any device of the same or similar kind (my uncle did it with 2 BMWs). The main advantage is that no matter how you work you end up with lots of spare parts and the disadvantage is you need space to store them.
There were two possibilites: 1. take the screen of the older laptop and put into the newer, or 2. take memory and disk from the newer to the older. I did it in sequence, as the newer laptop is faster (although the plastics has so many rips), but when I exchanged the screen, the laptop mainboard answered with a beeeep which basically was the official last breath of the newer laptop.
I then chose the second option, not really a choice as the newer laptop died. So that now I am writing this blog entry on the older laptop, which was by the way almost never used, plastic intact and shiny. It has also a robust appearance. I hope to keep this one for another ten years :-)
The point of developing software on old things is that if you get it working reasonably on it, you know that on newer hardware it will fly ! Also it remembers you that the heuristics you choose is way more important than the hardware you are on top.
Fractal dimension of Internet
* This is left as an exercise for the reader:
Write a bash script that rolls 4 dices with 255 faces (quite a big dice!) and concatenate them with a dot. Scan the obtained random IP number to verify if there is something behind it. If you find very weak computers with IP numbers starting from 127.x.y.z try to break into them (when you realize that you are attacking your own 'localhost', you can leave this part of the exercise). From the ratio of computers which answer compute how many computers are attached to the Internet. Call this number N.
Next modify the bash script so that instead of scanning the IP number, it traceroutes the random IP number, so that you get the distance from your computer to the other computer (in 'hops'). Compute an average distance and call it 'l'.
Ok now take Mandelbrot formula N ~ l^d/d and solve numerically for d. d represents then the 'Fractal dimension' of Internet. Well, according to Wikipedia, the Internet is not fractal, only the WWW is :-(
Feynman Lectures on Physics
I bought the books three years ago, and now finally found a bit time to read among them. Some things which I understand a bit more are: how Maxwell completed Faraday law when applying it to the condensator; how Einstein looked at the problem of a moving charge feeling a magnetic force if moving in proximity of a rod with electric current: for reasons of symmetry, if the rod is moving with current and the charge stays, the charge should still feel a force, but there isn't any force in classical physics which does it. Einstein then put an electric force and explained its existence with a relativistic argument (- charge are travelling, plus charges are at rest, - charges are travelling fast, therefore there is contraction of length, which implies an overall positive charge of the rod which generates an electric field which attracts the charge). The quantization of spin discovered by the Stern-Gerlach experiment and how spin states relate to linear algebra in quantum mechanics, how Schrödinger wave equation explains the valence model, how the heat equation works, Green and Stokes theorems applied to Maxwell equations...
* and I should rewrite the heat equation in simclimate as well...
GPU II preview for developers
* This is taken from the project news:
GPU is currently undergoing its 4th rewrite, codenamed freedom (3th was named solaris which reached version 0.963, 2th polaris, 1th unnamed). The preview package has version 0.5.0. This package is solely intended for developers as there is still no client working, just a bunch of unit tests.
The package should sketch the whole idea of the next generation GPU. Some people might be disappointed that GPU moves away from peer-to-peer to become a client-server architecture, but we believe this is the only drawback. The highlights of the coming release (probably 6 months from now) are:
- client/server architecture should allow scaling of nodes up to several thousands of clients
- client is in Freepascal and can be compiled on Windows, Linux and Mac OSX
- Server is in PHP/mySQL and runs everywhere where LAMP stack runs
- All software used to develop GPU II is Open Source and available freely
- The plugin architecture of GPU I is retained, although the plugin layer has been rewritten (available in preview) and plugins need to be ported as well
- Communication is entirely over HTTP, workunits can be downloaded, and resulting workunits can be uploaded via HTTP back to the server (available on GPU preview package)
- HTTP makes GPU transparent to most proxies, so that clients can run also in companies and not only at home
- GPU II retains features like channels (to run whiteboard, chat and sensor networks), job management, clustering services, all rewritten in light of the experiences done with GPU I (available on GPU preview package)
- GPU II will stay a multipurpose distributed computing architecture, so that any client and any server will support any computation (unlike the BOINC architecture)
- Each server should be able to support 40-100 clients according to some initial computations, the network should scale with number of servers
- One superserver will manage the whole network of servers
The package contains most of the server, communication layer client and server side, plugin layer clientside. we hope the release will fuel some more interest into the GPU project. Have fun!
* I read the book Crypto by Dan Brown and end up thinking how I would build my 'Digital Fortress' algorithm
Digital Fortress à la dangermouse
Depending on what to cipher, I would first choose the best compression algo, e.g. for text .zip, for pictures PNG or JPG (with loss) and apply compression to the 'plain text'. Then generate a hash of 'plain text' and append it. With ISAAC, a good pseudorandom algorithm I had the chance to analyze (initialized with some PBKDF2 of the 'key') I would generate a pseudorandom sequence of the same length of the compressed 'plain text' plus hash. Then XOR 'plain text' plus hash and pseudorandom sequence and finally execute a set of predefined statistical tests to ensure that at least the standard properties of white noise hold.
* To conclude I would cipher 'I love you' and send it to Virgi so that she can cranck on it :-)