Instant Funnies: RSS Cartoon Delivery

Want to have your daily dose of cartoons sent to you every morning? I made my own cartoon RSS feed system last night. Rather than wait for Tapestry‘s David thomson to add more strips, I wanted to build my own feeds, and I made the code pretty generic, so adding new strips is usually a two minute job.

So despite what I said earlier, here’s my own list of links: The Instant Funnies. Like David, I am not a lawyer, and while I am pretty sure that under German law, this server is not hosting anything illegal, I may be wrong. In which case I don’t mind being corrected.

My feeds currently cover only the list of comics that I read and that aren’t on tapestry. Also, some strips like Sluggy Freelance are a pain to feed, because of the crazy sunday format. That aside, adding feeds for most strips is easy, and I feel generous enough: If you want your favourite strip added to the list, and it’s not on tapestry already, drop me a line, address is at the bottom of the feeds page.

Comic RSS

Tapestry makes me wonder what copyright law has to say about links to a comic in an RSS feed. This guy offers feeds for a number of United Media comics, PvP Online, and others. The idea is great – I don’t hae to hit the comics sites several times a day to find out if PvP has finally updated, and I save time because I can get all my daily strips on a single page (thanks to FeedDemon‘s execllent ‘Newspaper’ feature).

Since a lot of the strips I read are missing, and he hasn’t added feeds for a while, I’ve written my own script with a MySQL backend and plugins for different types of comic pages. All I have to do now to get another comic feed is to add a little data about the strip’s URL into a database, and run the feed update once. Dead simple. All in 150 lines of python. I’m not sure if I should make them public, though – copyright questions and the load on this server kinda make me want to keep them to myself for now. Although uploading them somewhere else would of course be possible…

Überall Reklame…

Eigentlich wäre mir am liebsten, der ganze Werbekram würde verschwinden. Aber selbst private Homepages und Hobbyseiten werden ja davon geplagt. Um zwanghaft noch einen Besucher mehr zu haben, wird das eigene Banner in Banner-Exchange Programme eingetragen, und im Gegenzug dafür dass man dann jeden interessierten Besucher Megabytes an blinkenden Bannern downloaden läßt, zeigen irgendwelche Sexseiten und andere Banner-Exchange Teilnehmer dann das Banner von Hänschens Fußball-Fanclub. Wahnsinn. Das hat sich dann sicher für alle Beteiligten gelohnt.

Advertising everywhere? Say no!

Da also seit Jahren jeder Hansel Werbebanner auf seiner Seite hat, filtere ich Werbung seit langem weg. WebWasher war eine Weile lang eine gute Alternative, kostet aber Geld für den Gebrauch auf der Arbeit, und filtert mir teilweise zu aggressiv. Ich brauche etwas, über das ich die Kontrolle habe, das ich leicht an- und ausschalten kann, und das lieber mal ein Banner durchläßt, statt etwas wichtiges zu filtern.

Mein neuster Kandidat für den Posten ist Proxomitron. Da bestimme ich selber, welche Filter angewendet werden sollen, kann sogar pro Site einfach eigene erstellen. Zum Beispiel, um die Porno-Banner aus dem PBEM-Spiele Forum zu entfernen.

Nokia N-Gage cracked

Nachdem die verkaufszahlen des N-Gage schon äußerst bescheiden ausgefallen waren, hat Nokia jetzt noch zusätzlich mit Raubkopien zu kämpfen, denn gerade mal einen Monat nach dem Erscheinen gibt es den Crack für den Kopierschutz. Ehrlich gesagt, das ist schon enorm stümperhaft, und erinnert ganz an DeCSS. Nur das im Gegensatz zum Crack für DVDs hier kein Hahn danach schreit – wer will denn schon ein N-Gage haben?

Link zur Story sind hier und hier.

Random cool link of the day: The Meatrix (Flash).

Warum tun die bei www.welt.de das?

Bei der Welt muß man sich jetzt registrieren, um Die Online-Ausgabe zu lesen. Und nicht nur dass, sie setzen ein Cookie, dass der Browser vergisst wenn man ihn beendet, was bedeutet dass ich mich permanent neu anmelden muss. Das geht mir so beim 3. oder 4. Mal echt auf den Zeiger. Kann sich bei denen keiner denken, dass viele Leute die online-Ausgabe nicht morgens beim Kaffeetrinken, sondern über den Tag verteilt lesen? Und überhaupt, wozu das ganze eigentlich?

Ich lese Die Welt, seit es sie im Internet gibt. Damals noch mit ganz simplen Webseiten, deren HTML ich teilweise in Mails an deren Webmaster korrigieren geholfen habe 🙂 Für mich war es bisher das beste deutsche Nachrichtenangebot, weil einfach zu benutzen, voller Ersatz für die Tageszeitung und unkompliziert. Das ist jetzt nicht mehr so, und ich muß mich wohl mal nach was neuem umschauen.

Writing XML with libxml and iconv

In the past, I’ve always hacked my own XML output functions. The result wasn’t always good XML, and it took a lot of fprintf()-massaging.

Then I needed a DOM parser for C (not C++ or C#), and the only one I really liked was libxml. It’s got the proper license for me to use it, it’s simple to use, and has botth DOM and SAX parsers.

Here’s a libxml example of how to make your own xml output, taken from the Eressea II sources (you’ll find examples for making your own parser everywhere):

#include <libxml/tree.h> int main(int argc, char** argv) { xmlDocPtr doc = xmlNewDoc(BAD_CAST "1.0"); xmlNodePtr node = xmlNewNode(NULL, BAD_CAST "eressea"); xmlNewProp(node, BAD_CAST "game", xml_s("Ümläutß")); xmlAddChild(node, xmlNewNode(NULL, BAD_CAST( xmlDocSetRootElement(doc, node); xmlKeepBlanksDefault(0); xmlSaveFormatFile(argv[1], doc, 1); xmlFreeDoc(doc); }

That BAD_CAST is just a macro to convert char* into (xmlChar*), and you write it whenever you think that your input is already good UTF-8 and are too lazy to convert. Please see Joel’s article on Unicode first. For places where I don’t have that guarantee, my code uses iconv, a character conversion library to convert the internal char* to UTF-8. Here’s an iconv example for the xml_s function used above:

#include <iconv.h> iconv_t utf8; xmlChar* xml_s(const char * str) { static char buffer[1024]; /* it's enough */ const char * inbuf = str; char * outbuf = buffer; size_t inbytes = strlen(str)+1, outbytes = sizeof(buffer); iconv(utf8, &inbuf, &inbytes, &outbuf, &outbytes); return (xmlChar*)buffer; } int main(int argc, char** argv) { utf_8 = iconv_open("UTF-8", ""); puts(xml_s("ä߀")); iconv_close(utf8); }

That’s so much more fun than fprintf-wrangling.

Party

Am Wochenende habe ich Wohnungs-Einweihung und Geburtstag gefeiert. Mit deutschem Bier, habe mir extra ein Dutzend Paulaner aus dem Vinmonopol geholt. In der neuen Wohnung kann man 20 Leute ganz leicht verstecken, die nächste Party kann also ruhig größer werden. Spitze war es. Bis zum nächsten Mal will ich allerdings rausgefunden haben, wie diese komische Eismaschine funktioniert, die in der Küche steht.

Zusätzlich haben wir dann noch um 2 Uhr auf dem großen Balkon gestanden und bibbernd die Mondfinsternis angeschaut. Es war stenenklar, der Mond war voll, und wir waren sternhagelvoll (Tequila).

Am Sonntag 3 Stunden aufgeräumt, bis die Bude wieder normal aussah. Spülmaschinen sind eine feine Sache.

PS: Zur Erklärung für nicht-Norweger: 12 Paulaner = 55 Euro.

What do kids think about the games you grew up with

EGM has an article entitled ‘Child’s Play’ where they have kids age 10 to 13 – the PS2 generation – playing the games that my generation grew up playing. It’s hilarious.

Tim: What? There’s no power-ups in Pong. The concept of a power-up hadn’t been invented yet.

Kirk: I bumped into a dot.

John: But you can get this game on a cell phone. Why would you want to pay for it in an arcade?

I wonder if the comments from the kids would have been different without their peers around. It’s probably difficult to admit that you like something about a game that is outdated. And in the case of Tetris, hey had apparently not even been told what the rules are. Not how you do an objective study on whether these games still hold any attraction – more a way to get the most funny comments from kids trying to be the biggest smart-ass in the group. Makes for a better article, I guess.

On a side note: What’s disturbing to me is that the kids refer to games like Splinter Cell and GTA 3 when they compare the classics to today’s games. Those titles are all rated Mature – why do parents let a 9-year old play those? Peer pressure I guess – but it’s just terrible.

Random cool link I picked up today: Cat and Girl