Search Results: "nma"

7 March 2006

David Welton: Ruby vs Tcl, part 1

Actually, "Ruby vs Tcl" is just a dramatic title. I like to think of myself as somewhat of a connoisseur of programming languages, which means I find something to like about most of them. Also, having put my toes in the water by creating my own, Hecl, I have way too much respect for the people that do the work to really pick on any language too much. However, comparing and contrasting is fun, as long as it stays productive! I'm a long time Tcl fan, having known the language for something like 7 or 8 years. Recently, I've started picking up Ruby, because I've decided to follow the herd and use Rails (which is every bit as pleasant as its made out to be, but more on that another time). Where Ruby shines Coming from Tcl, which has to be one of the most misunderstood languages out there, one of the things that I enjoy most about Ruby is all the buzz. It's a pleasant change from the "trying to hold the line" mentality in the Tcl world. Of course, marketing and the inclinations of 'the herd' are fickle things, and as the Python folks are discovering, what popularity giveth, popularity can take away. In any case, learning a new language is fun and not all that difficult with Ruby, so I'm enjoying riding the wave. Point in Ruby's favor, even though sometimes I'm left scratching my head that it took Rails to convince some of the Java guys that scripting languages really are that much more productive. The other thing that really sticks out about Ruby compared to Tcl is that it's Object Oriented (henceforth known as 'OO') through and through. At the low level, I don't really care too much (puts "hello world" is valid Ruby and valid Tcl), but Ruby's OO is nice for organizing more complex data structures. Tcl has OO as well. Actually, Tcl has several, competing OO systems, which is a classic case of "choice is not good" because none of them is standard and something you can count on being present. Also, most of the Tcl object systems don't do a great job of deleting unused objects. I don't suppose it would be that hard to add that if there were one good, standard one. Luckily, such a beast is on the horizon, but it's awfully late for a language that's more than 15 years old. Point goes to Ruby. Ruby also wins in the 'available libraries' department, although probably not by that much, being relatively new to popularity. What Ruby really has going for it is that: 1) The standard distribution is pretty big, with lots of good stuff, an approach that the Tcl world hasn't taken. This means that Ruby out of the box does a lot more than Tcl. 2) Via Ruby Forge and the gems system, Ruby is attempting to centralize and standardize the distribution of extras, something which Tcl has never really managed. Things they both do well In terms of community, both languages seem pretty well off. The Tcl newsgroup, comp.lang.tcl, is one of the friendliest, most helpful corners of usenet, and reflects very positively on Tcl. I'm newer to Ruby, but by and large, they seem to be handling the massive influx of new people with aplomb, and without much, if any, of the snotty "I was here way before you" attitude that sometimes crops up in these cases. I'd call it a tie. Both languages are very flexible, but in different ways. They both support 'eval', and let you do all kinds of nifty introspection. I fear I don't know Ruby well enough to come up with a definitive answer, but I Think I'd still give the edge to Tcl, just because of its ultra-simple syntax and command-based style lets you redefine Tcl commands in Tcl itself - and everything is a command, even if, while, and the lot. Like I said though, this is a vague enough requirement, and they are both very malleable languages that you could make a case for "everyone being a winner". In terms of syntax, de gustibus non disputandum est. Ruby has more of it, which can sometimes be helpful. For instance, foo[1] vs lindex $foo 1. On the other hand, Tcl's
array set hash  
    foo bar
    bee bop
 
Makes me reach for the shift key significantly less than
hash =   :foo => "bar", :bee => "bop"  
Tcl's spare syntax is one of the reasons it is so flexible, but for everyday use, sometimes it's nice to have a little bit more. In the end, it's a question of taste, so we'll call it even. Where Tcl is rock solid Here's where the "part 1" in the title comes in. The following are things I don't care for in Ruby, but since I'm new to it, there's the chance that I'm missing something in these observations. Interpreters. Tcl lets you handle multiple interpreters not only at the C API level, but in Tcl itself. This is really cool - you can juggle different people running different scripts in your application, without them stepping on one another's feet. If you want, you can let them share stuff, too. This capability has also been extended to provide safe interpreters for the execution of untrusted code. Ruby has safe evaluation too, but it's not in a completely separate context, so it's just a different way of doing things, but still, I like the idea of having and being able to manipulate multiple interpreters. Tcl wins hands down. Event oriented programming. Tcl really shines here, as it's possible to create simple, fast servers without actually having to muck about with select yourself. The python folks have caught on to this with Twisted, and I suspect that Ruby will too, if it hasn't already and I'm simply not aware of it. Note that Ruby has a select call as part of the language, but what I'm talking about is being able to whip up servers in a few lines, without even needing to require any external modules. Modularity is an area where both languages could do better (well, at least for some users/uses). Both languages might be interesting in the embedded arena, but it takes some effort to cut them down to size. In Ruby on the Mobile, Matz himself states that this isn't an easy operation. Tcl is notable in that it has some small footprint implementations like Jim, but the core language would require non-trivial hacking to remove some of the bits and pieces that are 'welded on'. A few nitpicks about Ruby: no deep copy - you have to marshal/unmarshal, which feels wonky to me. File.split functionality is just dirname/basename rehashed, rather that Tcl's more correct/useful splitting of a path into a list of all its components based on the current platform's directory separator. Threads are another area where Ruby, at first glance, at least, could probably use some work. Tcl has real, OS-level threads, which are very easy to work with because each one gets its own interpreter. Because of this, they almost feel like separate processes, but of course, if you need to, you can do all the sharing and mutexing and so on that you need. Conclusions So, what conclusions can you draw from this? Well, they're both fine languages, and are more than likely capable of doing most anything you need. Something else that I was pleasantly surprised by is the fact that Tcl, despite its age, and its lack of buzz and O'Reilly/Web 2.0/the hot new thingness, still has a lot to show the world, and does a lot of things right, out of the box. It's also worth noting that most of the problem areas for Tcl are social, rather than technical, and could have been resolved easily/avoided with the right leadership.

5 March 2006

Uwe Hermann: HOWTO: Anonymous communication with Tor - some hints and some pitfalls [Update]

Warning: Very long post ahead. You have been warned! What? Tor is a Free Software project (revised BSD license), developed by Roger Dingledine and Nick Mathewson, which creates an infrastructure for anonymous TCP communication. From the project website:
Tor is a toolset for a wide range of organizations and people that want to improve their safety and security on the Internet. Using Tor can help you anonymize web browsing and publishing, instant messaging, IRC, SSH, and other applications that use the TCP protocol. Tor also provides a platform on which software developers can build new applications with built-in anonymity, safety, and privacy features. Tor aims to defend against traffic analysis, a form of network surveillance that threatens personal anonymity and privacy, confidential business activities and relationships, and state security. Communications are bounced around a distributed network of servers called onion routers, protecting you from websites that build profiles of your interests, local eavesdroppers that read your data or learn what sites you visit, and even the onion routers themselves.
Tor also allows you to set up and/or use a so-called Tor hidden service, i.e., a server which offers some service (a website, ssh access, or similar) without revealing its IP to its users. Why? Why would you want to use Tor? Well, because you probably don't want anybody (neither state agencies, nor companies, nor "hackers", nor any other individuals or groups) to be able to record, analyze, and (ab)use information about your web browsing habits, or any other communication habits. For instance, you don't want Google to have a complete search-profile of you, which — even worse — might some day get in the hands of other parties. In the days of massive data retention you don't want all your electronic traces to be recorded, stored for ages, analyzed, and data-mined for dubious reasons and with even more dubious results and false conclusions drawn which might negatively affect you. If you're a human rights activist in China, you want anonymous communication. If you're a whistleblower, you want anonymous communication. The list is endless. For securing your communications, so that nobody is able to sniff your emails, your chat messages, your passwords, your private documents and conversations, you use encryption. For communicating anonymously you can use Tor. Combine both, and you have secure and anonymous communication. In case you're wondering whether criminals might abuse Tor, read the Tor Abuse FAQ. Short answer: yes, but if you're willing to break the law, you already have anonymity (open access points, stolen/prepaid mobile phones, etc.). You don't need Tor to do bad things if you're a criminal. If you're one of those horrible "oh, but I don't have anything to hide" guys, consider this: Say you have a drug/alcohol problem and want to visit an anti-drugs/anti-alcohol website or forum for help. Would you want the whole world, your neighbors, your co-workers, your boss, to know that, or would you rather want to keep that a secret? Say you have AIDS and want to get information on the web? Or, to make the example even more dramatic: Would you want some random guys to be able to watch you while you fuck your wife? No? So you have something to hide after all, right? My point is: Everyone has something to hide, even more, it is a basic human right to have the ability to hide something. It's called privacy. How? Tor implements a form of onion routing to, basically, push encrypted data through multiple Tor nodes (servers), before it reaches the final destination (e.g. a website). The result is that neither the website owner, nor a local eavesdropper, nor any single Tor server knows who requested that specific website, hence you are communicating anonymously. For more technical details, read the Tor overview and the Tor documentation pages. In order to use Tor, you have to install and run a local Tor client/daemon (this is not necessarily a Tor server!). On Debian, type apt-get install tor, on other systems you can get the respective binary packages or download the sources and compile Tor yourself. Usually Tor is used together with Privoxy, a configurable HTTP proxy which sanitizes your web-browsing experience by removing nasty banner ads, pop-ups, JavaScript, webbugs, cookies etc. etc. So: apt-get install privoxy. After installing and starting Tor and Privoxy, you can now configure your webbrowser to use Privoxy as an HTTP proxy (see below), and Privoxy will in turn use Tor to anonymize your communication if you add "forward-socks4a / localhost:9050 ." to your /etc/privoxy/config. Anonymizing various applications Most (but not all) of the following information is also covered in the very useful Torify HOWTO in the Tor wiki (I will add the missing information there, ASAP). As I'm pretty paranoid, I have checked every single of these configurations with Ethereal to ensure that the traffic is really anonymized. However, if you are paranoid, you shouldn't trust me, but rather test this stuff for yourself! Warning: DNS Leaks:
The biggest problem with many applications is that they leak DNS requests. That is, although they use Tor to anonymize the traffic, they first send a DNS request untorified in order to get the IP address of the target system. Then they communicate "anonymously" with that target. The problem: any eavesdropper with more than three brain cells can conclude what website you visited, if they see that you send a DNS request for rsf.org, followed by some "anonymous" Tor traffic. The solution: use Tor together with Privoxy, that prevents DNS leaks. Many non-HTTP-based applications are usually torified using a small tool called torify (e.g. by typing torify fetchmail), but often this approach has DNS leaking problems, see below. You might also want to check out toraliases, a small shell script you can source from your ~/.bashrc file. It defines some functions and aliases which transparently direct the traffic of some (but not all!) programs through Tor. Applications which cannot easily be torified Anything not using TCP usually cannot be torified, as Tor only works for TCP. Pitfalls to be aware of More information More information is available in the Tor documentation, the Tor wiki, and especially in the Tor FAQ. In addition, there's an IRC channel on Freenode (#tor), some slides and a video (torrent) about Tor you might find interesting. If you would like to help, you can run a Tor server, donate some money, or volunteer to do other things (code, debug, document, translate, and more). That's it for now. I'm very grateful for comments and suggestions, especially for hints on how to anonymize more applications. Also, if you notice any dumb mistakes I made, please leave a comment. Update 2006-03-07: Fixed typos, added link to the toraliases project (thanks Benjamin Schieder).

4 March 2006

Andrew Pollock: [tech] Yes, MSN's crawler really is that dumb

So it isn't just me, who has noticed that MSN's crawler seems to be going a bit nuts on the downloading front. Chris Siebenmann from the University of Toronto has also got problems. Given that the mirror in question is intended to be benefiting Linux Australia members and Australian Linux users in general, and not some half-baked wannabe search engine that doesn't know when to stop downloading, I might need to take the step of banning MSNBot as well.

23 February 2006

Clint Adams: But there is no crime in outer space

[cosmonut]

14 February 2006

Erich Schubert: <tt>make bug</tt> with SERefpolicy

Aargh. Yesterday I spend hours trying to find out why SERefpolicy would not build. There was a suspicious message in the build process, about a circular dependency being removed, and it was obviously due to this dependency that the build did not work. But: I couldn't find anything like a circular dependency. The dependencies for this file were trivial, just two input files that are not being modified or generated or anything. Today I decided to downgrade make to the stable version (which unfortunately conflicts with current kernel-package...) - and now it compiles. Smells like "make bug" to me... You can grab the completely untested (last build didn't work, and my test machine is currently down) packages at http://selinux.alioth.debian.org/serefpolicy/ in case you want to try SERefpolicy yourself. I'd love to have a SELinux policy system which does not involve any such make and m4 black magic. The makefiles are a PITA to read, the whole thing is totally unmanageable IMHO.

6 February 2006

Martin F. Krafft: Counting peas in Switzerland

Switzerland is bloody expensive, you surely don't want to be shopping here. For instance, I wanted to get myself the Lonely Planet Guide for Laos and Myanmar, both of which have had new editions released in 2005. Their price is a little more than 20 each, including the German VAT of 7%. If you buy the book in Switzerland, it's between 40 and 50 CHF (incl. 7.6% VAT), which is almost 10 more than the German price. Despite the fact that I cannot find the 2005 editions neither in Swiss stores nor on amazon.de, I'd be looking at a slight problem. Either, I can pay the higher price in Switzerland (in addition to shipping), or I can order with amazon.de (or the like) in Germany, who will subtract the VAT and ship it to Switzerland for free. Sounds great, huh? Well, it isn't really, because in Switzerland, receiving packages might mean you have to pay VAT, and not only that, they also make it unnecessarily complicated: If the goods you receive are valued less than 75 CHF, you do not have to pay VAT. However, if you do have to pay VAT, the VAT and a nominal service charge of 10 CHF count towards those 75 CHF, which means you effectively have to stay below (75 - 10 - VAT) CHF, which is 60 CHF or thereabout. Translate that to Euros, we're talking about 38 . Thus, if you want free shipping and no VAT, you have to place orders between 20 and 38 -- 20 is the minimum price to get free delivery if your order is not entirely made of books, in which case delivery would be free even below 20 . You do not want to place orders higher than 38 ever, because VAT in Switzerland is higher than the VAT for books in Germany, and the additional 10 CHF charge is not going to make up for it. So the only way for me to obtain the two books is either through the overpriced Swiss bookstores, or via two separate orders to amazon.de so as to not exceed the 38 limit. The maths gets more fun when you get away from books. For normal goods, VAT in Switzerland is still 7.6%, but 16% (and maybe soon 19%) in Germany. Thus, you will want to stay below 38 , unless the total value of the goods exceeds an amount where the cheaper 7.6% VAT + 10CHF service fee is lower than 16% VAT. This drives the limit up to 121 CHF, or about 77 . Now, if you think this is complicated, stay put. I am looking to buy myself the DrayTek Vigor 2900VG router, for which is around 265 in Germany including the 16% VAT, and 421 CHF including the 7.6% VAT in Switzerland. These prices square, but they're not including shipping, and if I would order the German product for delivery to Switzerland (which they are not willing to do, but anyway), I'd have to add the 10 CHF service charge and the 7.6% VAT. I also would not be able to claim the 16% VAT paid in Germany with EU customs because I am not a full resident of Switzerland. Man, no wonder taxes have had a long history of violence. Now I also received a 35% rebate offer from the Swiss distributor, driving the price down to 274 CHF, which is clearly a hell of a lot cheaper than the German product. So what am I waiting for? Well, Germany being an EU state and all, the German shop has to give you a 30 day return warranty and a 2 year product warranty. In Switzerland, you get no return warranty and only 1 year of product warranty. My dilemma thus becomes: are 30 days return warranty and an addition year of product warranty worth the difference of roughly 150 CHF? Seems like the answer must be "no". But I know that if I order it in Switzerland, it will break after 366 days, by the laws of Murphy. I have now asked the German distributor to match the 35% rebate. If they will, I'll order the device to my parents house in Germany. If they don't, I'll take it up with Mr. Murphy. PS: If you think the DrayTek Vigor 2900VG is not a good choice, speak up now!

28 January 2006

Norbert Tretkowski: Iron Man


You are Iron Man
Iron Man
60%
Green Lantern
55%
The Flash
55%
Spider-Man
55%
Catwoman
55%
Hulk
50%
Supergirl
45%
Batman
45%
Robin
42%
Superman
30%
Wonder Woman
25%
Inventor. Businessman. Genius.
Click here to take the "Which Superhero are you?" quiz...

27 January 2006

Norbert Tretkowski: Iron Man


You are Iron Man
Iron Man
60%
Green Lantern
55%
The Flash
55%
Spider-Man
55%
Catwoman
55%
Hulk
50%
Supergirl
45%
Batman
45%
Robin
42%
Superman
30%
Wonder Woman
25%
Inventor. Businessman. Genius.
Click here to take the "Which Superhero are you?" quiz...

Uwe Hermann: Unmaintained Free Software is back (again)

Yeah, it's that time of the year (again)... Unmaintained Free Software is a wiki which collects and categorizes orphaned Free Software projects, in order to find new maintainers for the projects — just in case you didn't know or guess that already ;-) Well, the site was down for weeks (again), hosting support was non-responsive, slow and not very helpful (again), so I moved the domain to another, more pricey server (again), I waited for the domain transfer for a small eternity (again), and finally installed backups and put the site up (again) today. Email is not working yet on the new server, I still need to setup Postfix or something. But other than that everything should work fine, please report any issues you notice. Oh, and I plan for some more neat (technical) stuff soonish, e.g. https/SSL support and a properly signed certificate thanks to CAcert (got me some assurance points at 22C3, thanks to everybody who assured me!). Shameless plug: If you happen to know of any unmaintained project, just add it (it's a wiki). If you have too much time on your hands, go ahead and adopt one of the orphaned projects and eternal fame will be yours!

26 January 2006

Axel Beckert: about:blank ist unsicher sagt der MSIE

Ich habe auf meinem Windows-2003-Testrechner im Büro about:blank als Startseite des MSIE eingestellt. Trotzdem kommt seit einem der letzten Windows-Updates beim Starten des MSIE immer irgendeine Microschrott-Seite. Einmal nach einem Update kann ich das als Marketing oder sonstwas noch verstehen, aber jetzt dauerhaft? Zum Testen, ob wenigstens der Button “Startseite” noch tut, habe ich drauf geklickt. Und bekam das da:
Screenshot einer MSIE-Warnung davor, daß about:blank aufgrund der verstärkten Sicherheitskonfiguration nicht angezeigt werden könne
Die Konfiguration auf diesem Rechner ist eine etwas gelockerte Windows 2003 Standard-Konfiguration. Inhalt von about:blank ist übrigens:
<HTML></HTML>
Danke, Microsoft, daß Du mich vor einer solch gefährlichen Seite bewahrt hast!

12 January 2006

Joachim Breitner: Sneak: Terkel i Knibe

Heute stattete ich der Sneak-Preview der Schauburg einen Besuch ab. Gezeigt wurde der Film “Terkel i Knibe” aus D nemark, in deutscher Synchronisation. Da wohl die wenigsten von dem Film geh rt haben (und das wohl auch so bleiben wird), dazu etwas ausf hrlicher.Terkel i Knibe ist ein Animationsfilm, der in etwa wie eine 3D-gerenderte Version von Southpark anmutet. Erz hlt wird die Geschichte des 9-j hrigen Terkel und seinen Problemen in der Schule, vor allem mit Mobbing. Um dem Mobbing zu entkommen, beginnt er selbst zu Mobben, was eine in ihn verliebte Mitsch lerin in einen u erst spritzigen Selbstmord treibt und seine Freundschaft zu Jason gef hrdet. Das Ganze spitzt sich dann auf dem Zeltlager, von einem furchtbar beliebten ko-Lehrer organisiert, dramatisch zu...Einiges hat mich gest rt. So waren mir die animierten Gesichter zu steif und die M uler zu breit, so dass viel Mimik verloren ging, und die Muskeinlagen h tte man sich sparen k nnen - obwohl sie immerhin eher im Stile von “Charlie und die Schokoladenfabrik” als dem grausamen der Disney-Kinderfilme gehalten sind. Ich mag halt kein Rap, und das war es meist.Die meisten Meinungen im Foyer des Kinos schienen in Richtung “Rausgeschmissenes Geld” zu gehen. Ich selbst fand den Film eigentlich recht gelungen: Er stellt die Wirkung von Mobbing auf Kinder zwar bertriebern, aber doch glaubw rdig da. Auch die d nische Skrupellosigkeit, wie man sie aus “In China essen sie Hunde” kennet, was Gewalt und Sprache angeht, passte gut ins Bild. Da lernt man sogar nach 13 Jahren deutschem Schulalltag noch neue Beleidungen, und bisweilen machte die graphische Darstellung den “Happy Tree Friends” konkurrenz. berhaupt war der Film bisweilen so bizzar, dass kein l stiger moralischer Unterton aufkommt, ohne jedoch die Aussage zu verraten.Fazit: Wer die Gelegenheit einmal haben sollte: Warum nicht, macht euch ein Bild. Zum Lachen werdet ihr kommen! Nur allen wird es sicherlich nicht gefallen.

Joachim Breitner: Mumer nimmt langsam Gestalt an

Allerdings sehr lansam...Die Vorbereitungen f r Mundus Mercaturae (kurz Mumer), vor bald zwei Monaten angek ndigt, komme langsam voran. Ein Logo wird gerade von Jenny entworfen, w hrend ich mich um einiges auf der Serverseite gek mmert habe. Auf der Basis von Catalyst, einem Perl-Framework, entsteht die Webanwendung zum Abholen und Verarbeiten von Resourcen, und POVray soll einmal dynamisch die Residenzen der Bewohner zeichen, so dass diese sich ihr trautes Heim ganz pers nlich gestalten k nnen. Noch gibt es nicht viel Wahlm glichkeiten, aber immerhin schon zwei Zaunarten, im Beispielbild beide angebracht. Es gibt auch weitere Blickwinkel. Der gesamte Perl- und POVray Code ist per wsvn einsichtig, Kommentare und Patches willkommen. Vor allem was POVray angeht kann man sich leicht n tlich machen, wer Lust hat: einfach mal melden.

11 January 2006

MJ Ray: Phone Companies and bad selling

Martyn is having trouble with Orange and their minions over his mobile phone. I've had trouble with British Telecom (and again) following leaving them in 2004. I'm not writing more about it yet, because it's still ongoing, but I'm also having trouble with the company I moved to after BT, who used a similar sharp contract renewal practice to the one troubling Martyn, as far as I can tell. I do have a good solution for fixed lines and I'll write more here once it's ready. My advice to anyone who finds themselves on the receiving end of these bad contract attempts: Get leaflet OFT 143 on Unfair Contract Terms from the Office of Fair Trading web site. If you've never had details of the minimum term of the contact, it's probably void. Finally, if you want a better mobile phone deal, try the Consumer Association's Switch with Which site.

8 January 2006

Martin F. Krafft: Tendonitis, Epicondylitis, whatever -- potential escape to Asia

The epicondylitis gave way again to symptoms of tendonitis just before Christmas, and now it's back. I am switching therapist yet again, this time going for massages of the shoulder region, as well as accupuncture. Apparently, my back is in really bad shape, but the therapist is optimistic. In a week, he says, things should be going up again. One interesting thing he pointed out is that I always seem to be lifting my shoulders, so most of the problem's solution will be to learn to relax the shoulder region. In only hope he's right. I am beginning to disapprove of my endless vacation in which I cannot do what I want. On a related note, I am plotting a new trip to Southeast Asia in April. If I am cured by then, it's a wonderful vacation. If not, it'll get me further away from the keys. Any idea where to go to? Northern Laos and Myanmar are my candidates, but I am not sure about the bird flu problems in this region. Same thing for China, which I'd really like to visit soon. Feedback welcome!

26 December 2005

Clint Adams: No hay gracia en este elitismo

She was a fierce and majestic creature, with a fearsome bite and terrible claws. The anger of a thousand suns burned within her. She was a spoiled brat who needed to be the center of attention. In order to incite people to hurt her, she abused those who were foolish enough to pay her attention. She was a bandit, waltzing in the nighttime with a hundred sparkling rings. She was indigo, red, gold, green, light blue, red, yellow, orange, green. She was green. She was a fierce and majestic creature. She was GREEN.

Julien Danjou: I am a "not so bad" maintainer :)

I just fixed some RC bugs in my packages to get my ass not kicked.
I uploaded a small update for apt-build. I tried to use it, and it seems to be totally dead. Trying to build blackbox (my reference test, this is historical), make died with a segfault, and at the end, apt-build died with a segfaults. Yee-pee ! And I don't know why, this is weird. I also asked the removal of torsmo (superseded by conky) and orphaned manderlbot, since I have no skill in Erlang. I also find out why I could not fix the f****** FTBFS on svnmailer. And it was because the -I.svn option of dpkg-buildpackage I used, skipped the svnmailer.conf.example file, obviously... Raaahhh, bad shell alias configuration => headache !

24 December 2005

Uwe Hermann: 10 + 100 Creative Commons Christmas Songs

Christmas Tree So, it's Christmas today (or it will be tomorrow, depending on where you live). Wouldn't it be nice if you had a bunch of freely and legally available Christmas songs you could listen to all day? Burn on CDs and hand over to your relatives? Share with your friends without the fear of being sued to death by big record labels? Well, here's a list of 110 128 songs which are all explicitly released under a Creative Commons license (no, I did not consider songs which are merely "podsafe"!) and thus can be shared, listened to, and sometimes even modified freely. There's a great variety in style, mood, and genre of the songs: some traditional, some contemporary, some happy, some sad, and some just plain funny. So here's the list: Single MP3s: Compilations: This list is by no means complete, I'm sure. So if you happen to know some more Creative Commons licensed Christmas music, please leave a comment! I'd love to hear about it. (Btw., the nice image on the right is taken from the Wikipedia. The author is Malene Thyssen, and the image is dual-licensed under the GNU Free Documentation License 1.2 and the Creative Commons Attribution-ShareAlike 2.5 license) Merry Christmas everyone! Update 2005-12-24: Added "We Three Kings".
Update 2005-12-25: In the press: Boing Boing, Creative Commons Blog, netzpolitik.org, Technorati, digg.com, del.icio.us and lots more. Added "How George Stole Christmas". Added "Winter Rose". Added "Still, Still, Still".
Update 2005-12-26: Added "Homeless Babe". Added "Christmas Impro".

21 December 2005

Adam Rosi-Kessel: Doing It Right: BabyOp, Perl, and OOP?

I’m coding a new CGI application, tentatively entitled BabyOp. It is software to run a babysitting coop; I suppose it is a species of “social software.” The idea is to be able to track hours credits, schedule babysitting times, centralize contact information and other details about babysitting requirements. I considered using something like Zope or Drupal for the application, but I’ve never liked developing exclusively through a web-interface and found myself having to do a fair bit of “actual” coding to get the results I wanted. I realize there is a command-line interface for Zope, but it’s really pretty limited. I had some plans a couple of years ago when I designed my wedding site in Zope to extend it to be more useful, but sadly never got around to it. So I’m back in my comfort zone, perl. I’ve written a fair amount of unmanageable perl code, however, CoopOrder probably being a shining example (it was also my first perl program). I’ve certainly improved since then, and the fact that I’ve received several patches from others for randomplay suggests that my coding style is getting to a half-decent point. I’d really like to get it right this time, though. One thing I’ve learned over the years is always to look for a module to do what you want before setting out to do it yourself, since chances are the module writer is a better coder than you (or at least, than me!). To that end, I’m using CGI::Application, HTML::Template, and DBIx::Abstract, among others. I’m also trying to keep things really granular and avoiding long subroutines. Certainly taking the HTML out of the perl code helps with that. I’m amazed at how often my code now just “works” on the first try, similar to esr’s story about his first look at Python (“Brace yourself: this code only took me about ninety minutes to write—and it worked correctly the first time I ran it.”) I’m trying to figure out if it would be sensible to make this application more fully object oriented. Growing up in the ’70s and ’80s and having done a lot of database programming, I’ve always been unfortunately pathologically declarative. (My first major package was in Clipper—I was 13 years old). I find it a lot easier to modify a pre-existing object oriented package than to design my own. But then again, does it really make sense to attempt an object-oriented design where there is really only one important “object” — in this case, the babysitting unit?

20 December 2005

Norbert Tretkowski: Iron Man


You are Iron Man
Iron Man
60%
Green Lantern
55%
The Flash
55%
Spider-Man
55%
Catwoman
55%
Hulk
50%
Supergirl
45%
Batman
45%
Robin
42%
Superman
30%
Wonder Woman
25%
Inventor. Businessman. Genius.
Click here to take the "Which Superhero are you?" quiz...

Simon Richter: The desktop dilemma

Repeating and following up to my post on -devel yesterday, I think that the biggest hurdle for Linux on the desktop is indeed that there are no provisions that allow an ordinary user to mount USB drives or access the sound devices. There are a bunch of workarounds that work reasonably well for single unmanaged systems, namely adding an entry to the fstab and using a suid program. Both of those are neither foolproof nor secure. The solution I'm proposing is to go through X, where a number of system services connect to the X server and allow access to the devices they control to all clients. The filesystems would live in userspace, thus allowing the user to plug their own.

Next.

Previous.