Not the Gentoo Weekly Newsletter, Part 5

This is why violence has always been the favored recourse of the stupid: it is the one form of stupidity to which it is almost impossible to come up with an intelligent response. It is also of course the basis of the state.

Learning buzzwords: Turing-complete

There are times when you need some big words to impress people. Proactively embiggen your reputation, leveraging intellectual stimuli to cause synergetic paradigm shifts. That kind of big words. So here's a good one for all discussions about computer programming and programming languages:

Turing-complete

But we need to give you some context so you know when to use it and when it's not appropriate. So let's start with Turing. That's just the family name of Alan Turing, a british mathematician who committed suicide because he was gay and the secret service was unable to employ such perverted people (what a dark age that was ...). He was also involved in code cracking in the second World War and one of the early pioneers of digital computing. But because he was a maths guy he tried to model computers abstracly so he could deduce what they can effectively compute.

So as a thought experiment he abstracted a computing device to be a tape to store things, a read/write head that can move along the tape and some internal state of the machinery that decides what to do next. So for example the abstract turing machine would read a "1" from the tape, look in its state and then decide to write a "0" there and move one field to the left. Keep in mind that no such machine really exists, it's just a mental model for discussing computability. Also you may notice an interesting abstraction: Wether the machine reads a "1" or a "red flower" symbol is equivalent. Numbers are symbols, and symbols are numbers. Mmmmh ...

Anyways, now you have a theoretical model. And with that you can discuss wether a specific problem is computable, which just means "can a Turing machine calculate it". Of course there are other models of computation, but the Turing machine is a standard model that is surprisingly strong. And here comes the great trick: If you can write a turing machine emulator (with some restrictions) in a programming language it is considered turing complete, and you can do everything in it that other turing-complete languages can. So if Python and Java are both Turing-complete there is no Java program that can't be written in Python too. It may be very different, but the input and output should be the same.

So there, you've learned a nice lesson of buzzwords. Use them wisely!

Hypnosis

Donate all your money to meee ....

How to file bugs

(1) Realize if it is a bug

Can you reproduce it? For example compile failures can happen randomly when the computer overheats (CPU, RAM, mainboard), the harddisk is damaged or the filesystem is broken. All that can happen without prior warning. If there are hardware problems usually you can find some hints in the output of "dmesg".

Is it really a bug? Maybe what you are seeing is a documented feature. Think about what you just did and maybe check the documentation. Sometimes what you think is a bug is a conscious design decision!

(2) Try to narrow down the conditions under which it happens

"Gnome doesn't work" is not a useful bug description. It is always true, but it doesn't help narrowing down what just happened. Try to be as precise as possible in describing how it happens so that other people can reproduce it. "The Gnome desktop crashes when clicking on the weird foot-like icon thingy" is better. "After upgrading to gnome-1.4_beta2 the X-Server is killed when I try to start nautilus" is a very precise description.

(3) Check if your environment is sane

There's some rather trivial things that people tend to forget. But those little things can make jakub angry and close your bug as RESOLVED WONTFIX

(4) If you are now unsure what to do

consider joining #gentoo-bugs on irc.freenode.net. Some of our excellent support staff will take care of you shortly.

(5) File a bug

This is not really complicated, but if you're not used to it you may want to do it slowly and read exactly what you do. Filing a bug in the wrong category or filing it with incomplete data will cost you a beer, payable to jakub. But don't be scared, if you can read instructions it'll work fine

Now the bug will be assigned to bugwranglers automatically. At some point in time it will either be assigned to someone who is supposed to handle it or you'll be asked to provide more info. If that bug is closed as RESOLVED INVALID read the reasoning carefully. Feel free to ask for an explanation, but don't try to bully the bugwranglers. That'll only cause empty beer bottles to be thrown at you. Feel free to join IRC, as described above, to discuss it. Maybe you can convince people it is a bug, maybe you realize it's not a bug.

So the bug has been filed and assigned. Now you can only wait until it is fixed. Or maybe you understand what happens and you manage to fix it? Even better. If you can fix it you can add your patch to bugzilla. Don't use a pastebin website or other transient things, either add it as an attachment (uncompressed!) if it is reasonably small or put it on some webspace if it is larger. If you don't have any webspace just ask in #gentoo-bugs, there's always someone who can handle it for you.

And now you're done. Time for a beer!

Not the GWN in the news

Borrowed from http://icanhascheezburger.com/2007/01/29/invisible-facestab-knife/
Last week's interview with markey seems to have been an unexpected success. After being picked up on dot.kde.org it also was featured on lwn.net. This caused around 3500 pagehits, which is a magnitude more than earlier NotGWNs. There was even one request for a polish translation (which was of course granted). The lwn feature quoted selected parts and sparked a nice flamewar about which language is best, the kde feature had a small discussion that focussed much more on the humoristic parts of the interview.

Using bash for network communications

One of the little-known features of bash is network handling. It's quite convenient and can even be used to write complete webservers or IRC bots.
Soooooo ... how does it work?
Poke a timeserver:
cat </dev/tcp/time.nist.gov/13
Fetch a website:
exec 3<>/dev/tcp/www.google.com/80
echo -e "GET / HTTP/1.1\n\n"<&3
cat <&3
So that's that. Have fun with it!

Hacking food: A few recipes

Banana Rice

Ingredients: Melt the butter in a pan. Add in the spices and stir. Add in the rice, let it fry a short while, then add ~200ml of water and the salt. Let it boil up, then leave it on low temperature for ~20 minutes. When all the water has evaporated the rice should be ready. Cut up the banana into nice small pieces and mix it in with the rice. Radiate away the happy photons and enjoy your meal!

Austrian special: Kaiserschmarrn

While it is considered a dessert in the rest of the world it's a rather normal meal in most parts of Austria. It's rather sweet and very filling. You need:
So that's not really precise, but cooking is about having fun and estimating. As long as it's proportional noone will mind if you use some more raisins or an egg less, but you should be aware of the effects it has.
Now mix the eggs and milk, add ca. 100g flour until it's a nice icky goo. You may wish to add some salt, but that's up to you. Now grab a pan, melt the butter. It should be covering the whole bottom of the pan nicely. Pour in the dough, sprinkle in the raisins and let it brutzel for a few minutes. Then either flip it (really messy but fun!) or just lift the edges so that the liquid part of the dough flows under it. When it's all nicely solid and getting lightly brown take a fork and shredder it into little bits. It might be a good idea to let it brutzel a minute or two more. Now throw it onto a plate or two (depending on how many people you want to poison with this creation), sprinkle some icing sugar over it and throw a nice blob of plum puree on the side. There, you just made some excellent food!

Beer: More good beers

Bell's Brewery in Comstock, Michigan

Ska Brewing in Durango Colorado

New Belgium Brewing in Fort Collins Colorado

Capital Brewery in Middleton Wisconsin

Contributed by quantumsummers

Discordian dates

If you ever meet a Discordian or five you may notice that they use an unusual calendar. But luckily Gentoo installs a great tool by default: "ddate". Just run it and see what discordian date it is.

Eternal Discordian Date Converter



Disclaimer

This product is meant for educational purposes only. Any resemblance to real persons, living or dead is purely coincidental. Void where prohibited. Some assembly required. List each check separately by bank number. Batteries not included. Contents may settle during shipment. Use only as directed. No other warranty expressed or implied. Do not use while operating a motor vehicle or heavy equipment. Postage will be paid by addressee. Subject to approval. This is not an offer to sell securities. Apply only to affected area. May be too intense for some viewers. Do not stamp. Use other side for additional listings. For recreational use only. Do not disturb. All models over 18 years of age. If condition persists, consult your physician. No user-serviceable parts inside. Freshest if eaten before date on carton. Subject to change without notice. Times approximate. Simulated picture. No postage necessary if mailed in the United States. Breaking seal constitutes acceptance of agreement. For off-road use only. As seen on TV. One size fits all. Many suitcases look alike. Contains a substantial amount of non-tobacco ingredients. Colors may, in time, fade. We have sent the forms which seem to be right for you. Slippery when wet. For office use only. Not affiliated with the American Red Cross. Drop in any mailbox. Edited for television. Keep cool; process promptly. Post office will not deliver without postage. List was current at time of printing. Return to sender, no forwarding order on file, unable to forward. Not responsible for direct, indirect, incidental or consequential damages resulting from any defect, error or failure to perform. At participating locations only. Not the Beatles. Penalty for private use. See label for sequence. Substantial penalty for early withdrawal. Do not write below this line. Falling rock. May cause irritability, sleeplessness or warts after prolonged use. Contents under pressure. BHT added to preserve freshness. Caution: this product has caused some laboratory rats to rip through their cages, fly across the room and brutally murder hundreds of innocent people. Shake well before using. No vacuum tubes or other user-serviceable parts inside. Not to be combined with other radioisotopes except under the advice of a physician. Avoid prolonged exposure to ultraviolet light. The truth is out there. Use no hooks. Not intended for use by children or liberals under the age of five. Printed on unrecycled dead trees and we're proud of it. Lost ticket pays maximum rate. Your cancelled check is your receipt. Add toner. Place stamp here. Avoid contact with skin. Sanitized for your protection. Be sure each item is properly endorsed. Sign here without admitting guilt. Slightly higher west of the Mississippi. Employees and their families are not eligible. Beware of dog. Contestants have been briefed on some questions before the show. Limited time offer, call now to insure prompt delivery. You must be present to win. No passes accepted for this engagement. No purchase necessary. Processed at location stamped in code at top of carton. Shading within a garment may occur. Use only in well-ventilated area. Keep away from fire or flame. Replace with same type. Approved for veterans. Booths for two or more. Check here if tax deductible. Some equipment shown is optional. Price does not include taxes. No Canadian coins. Not recommended for children. Prerecorded for this time zone. Reproduction strictly prohibited. No solicitors. No alcohol, dogs, or horses. No anchovies unless otherwise specified. Restaurant package, not for resale. List at least two alternate dates. First pull up, then pull down. Call toll free before digging. Driver does not carry cash. Some of the trademarks mentioned in this product appear for identification purposes only. Record additional transactions on back of previous stub. Decision of judges is final.

This supersedes all previous notices.

Feedback goes here