Hatori Kibble

Jo eh…

Archive for the ‘Perl’ Category

InetBib-Listenarchiv als RSS-Feed

with 5 comments

Viele LeserInnen die InetBib eher passiv konsumieren haben den RSS-Reed über Gmane genutzt.

Allerdings gab Ende Juli der Entwickler bekannt, diesen Dienst nicht weiter betreiben zu wollen:

So… it’s been 14 years… I’m old now. I almost threw up earlier tonight because I’m so stressed about the situation. I should retire and read comic books and watch films. Oh, and the day job. Work, work, work. Oh, and Gnus.

I’m thinking about ending Gmane, at least as a web site.

Als Alternative habe ich jetzt ein kleines Skript geschrieben, dass aus den Inhalten des Listenarchivs einen RSS-Feed baut.

InetBib als RSS-Feed

InetBib als RSS-Feed

Wer also will, kann ab sofort InetBib über https://200110.vs.webtropia.com/rss/inetbib.xml abonnieren. Das Perl-Skript dazu habe ich auf GitHub gestellt, es kann gerne weiterverwendet werden.

 

Written by Peter

August 16, 2016 at 9:14 pm

Veröffentlicht in Programmierung, Perl, Scripts

Tagged with , , ,

Die TwitterBot-Charts

leave a comment »

In meinem letzten Post hatte ich ja schon einmal darauf hingewiesen, dass man die Twitter-Statistikdaten als CSV-Datei exportieren kann.

Zur Auswertung habe ich dann ein kleines Perl-Skript geschrieben und mir jeweils die Top 10 der Tweets meiner Twitterbots erstellt, gereiht nach „Impressions“ (definiert laut Twitter als „Number of times users saw the Tweet on Twitter“).

Bei ddbKatzen ist der im letzten Post bereits erwähnte Neufundländer Hund an der Spitze:

 

  1. Internet, Katze; #ddb, ‚Neufundländer Hund. Alpenhund. Haus Katze. Wilde Katze‘: http://t.co/o2glN1pVq3 http://t.co/2K2kfVM7FT: 825
  2. Und schon wieder ein Katzenbild aus der #ddb: ‚Kleines Kätzchen vor einem Stoffhund‘: http://t.co/XtkMH7Iakm http://t.co/pVSSUiMMEF: 360
  3. #ddb überrasche mich mal! OK, ‚Hund Bonzo‘: http://t.co/MveSBrHDlT http://t.co/5HU2j6hOLJ: 331
  4. Immer nur Katzen ist langweilig! ‚Eichhörnchen‘: http://t.co/Z5NxiRrKT4 #ddb http://t.co/u7XYhjKyYb: 286
  5. Katze gefällig? Aus der #ddb: ‚Hauskatze‘: http://t.co/iVxPLsCPn5 http://t.co/ILABl74rJQ: 214
  6. #ddb überrasche mich mal! OK, ‚Der Iltis, Eichhörnchen und Wiesel‘: http://t.co/dFcMOoQkW6 http://t.co/sWQ1J7WAmj: 204
  7. Oh! Katzen in der #ddb: ‚Katzen‘ http://t.co/zYkhJ5CLba http://t.co/pV9tA0gO8P: 201
  8. Ganz etwas originelles: ‚Wasserspeier: Katze‘: http://t.co/m7DH84O0u4 #ddb http://t.co/7W5GrfUlT9: 178
  9. Immer nur Katzen ist langweilig! ‚Der Hamster‘: http://t.co/40xMtccVNN #ddb http://t.co/QMWGg4Oni9: 167
  10. Immer nur Katzen ist langweilig! ‚Eichhörnchen‘: http://t.co/9PHJDbF6cr #ddb http://t.co/ItKl8uLFR6: 167

Alle diese Tweets wurden zumindest einmal geteilt und haben so auch ein Publikum jenseits der eigenen Follower erreicht.

 

Beim EuropeanaBot hat sich die allgemeine WM-Euphorie auch auf die Tweetstatistiken ausgewirkt:

  1. The soccer team of #CHI takes part in #WM2014: #europeana has a picture: http://t.co/Hkf3iyiEwk: 664
  2. Look! A #europeana image of Nobel Prize winner „Wislawa Szymborska“: http://t.co/OzkrgKJ1e0 (#wikipedia:http://t.co/dyYTSKLnPj): 632
  3. Wanna learn more about the cooperation between Wikipedia and Europeana? Follow @wikieuropeana! #ff: 572
  4. OK, you got me.. Judging from my last two tweets, now I’m also a fan of #WM2014 (learn more at https://t.co/KG3FmEfp8W ): 469
  5. „Rugby league“: #guardian article: http://t.co/TvPOlrLyj5 #europeana picture: http://t.co/yuSvsEUiHe You are welcome!: 441
  6. Oh! An article about „#Books“ in the #guardian: http://t.co/ralHl4qRnb Here’s the #europeana picture: http://t.co/kXk3QX4trQ: 391
  7. Hi! The #guardian has a news item about „#Space“: http://t.co/EHso7XTkHR #europeana has a picture: http://t.co/btdsVewq7h: 363
  8. „Marino Grimani (doge)“: #wikipedia entry http://t.co/vVUMmMYscB #europeana picture: http://t.co/KroziuRip0 You are welcome!: 312
  9. Oh! An article about „#Syria“ in the #guardian: http://t.co/YrDtazxDaO Here’s the #europeana picture: http://t.co/SFNfYZAjAe: 299
  10. Oh! An article about „#Vodafone“ in the #guardian: http://t.co/AlYuMva1Zd Here’s the #europeana picture: http://t.co/9sDnTZi73W: 286

Interessant fand ich die weite Verbreitung eines Tweets zu einer Nobelpreisträgerin von 1996, allerdings scheint da eine Publikation bisher unveröffentlichter Werke die Autorin wieder stärker in den Fokus der Aufmerksamkeit gebracht haben.

Andere Tweets dürften wegen der generischen bzw. aktuellen Hashtags („Syria“, „Books“, „Space“) öfter gefunden worden sein.

Hier noch der Quellcode für das Auswertungsskript, allerdings dürfte für diese einfache Statistik auch Excel ausreichend sein.

Written by Peter

Oktober 26, 2014 at 6:06 pm

Den @EuropeanaBot zum Fußballschauen geschickt…

leave a comment »

Ich bin ja eher nicht so der Fußballfan, aber das ist ja kein Grund, nicht den EuropeanaBot in diese Richtung suchen zu lassen.

Denn sogar für die WM gibt es eine – wenn auch inoffizielle – API:

The kimonolabs World Cup 2014 API provides easy access to up-to-date player, team and match data for the 2014 World Cup as well as historical player performance across their respective club teams. The API is RESTful and uses standard HTTP response codes to indicate errors. We also support cross-origin resource sharing to allow you to interact with our API from client-side web applications. JSON will be returned in all responses from the API, including errors.

Und so fragt der Bot jetzt über diese Schnittstelle die teilnehmenden Teams ab und sucht in der Europeana nach fußballbezogenen Inhalten:

Noch ist Spanien ja offiziell noch dabei ...

Offiziell ist Spanien ja noch dabei …

Diese schicke Fahne fügt Twitter übrigens automatisch ein, wenn man die ISO 3166-1 Länderkennungen als Hashtag vergibt. Leider wird dieses Kürzel in der World Cup API nicht verwendet, daher nutze ich einen weiteren Dienst, um von den englischsprachigen Bezeichnungen auf die Abkürzung zu kommen.

Kleines Update (30.06.2014): OK, gerade gemerkt, dass ich mich wirklich nicht mit Fußball auskenne. Die FIFA verwendet für die Länderkennungen nicht ISO-3166-1, sondern hat eigene Abkürzungen. Glücklicherweise gibt es von der Open Knowledge Foundation eine entsprechende Datensammlung, die man als Konkordanz verwenden kann.

Written by Peter

Juni 22, 2014 at 9:06 pm

Veröffentlicht in Perl, Programmierung

Tagged with , ,

Mit offenen lobid-Daten raten!

with 3 comments

Für ein kleines Datenanalyseprojekt brauche ich die Gender-Verteilung einer Namensliste. Das manuelle Durcharbeiten und Anlegen einer Strichliste ist relativ öde, daher habe ich nach einer automatisierten Lösung gesucht und einen schönen Anwendungsfall für offene Daten gefunden…

Das hbz bietet ja mit lobid.org eine API für die Abfrage der „Gemeinsamen Normdatei“ an. In der GND-Ontologie ist ein Gender-Eintrag definiert und manchmal auch vergeben.

Jane Austen in der GND

Jane Austen in der GND

In weiterer Folge habe ich jetzt ein kleines Perl-Modul geschrieben, das die GND Personendaten durchsucht und für die ersten 100 Treffer die Gender-Einträge analysiert.  Daraus wird dann eine statistische Präferenz abgeleitet:

> perl guess.pl Peter
'Peter' is probably 'male'

 

Here's the statistics data that I've used: $VAR1 = {
          'GenderRatio' => {
                             'Female' => '8.33333333333333',
                             'Male' => '91.6666666666667'
                           },
          'GenderDistribution' => {
                                    'female' => 2,
                                    'male' => 22,
                                    'notKnown' => 43
                                  },
          'GenderCount' => 67,
          'TotalCount' => 100
        };
> perl guess.pl Sarah
'Sarah' is probably 'female'

 

Here's the statistics data that I've used: $VAR1 = {
          'GenderRatio' => {
                             'Female' => '95.4545454545455',
                             'Male' => '4.54545454545455'
                           },
          'GenderDistribution' => {
                                    'female' => 21,
                                    'male' => 1,
                                    'notKnown' => 41
                                  },
          'GenderCount' => 63,
          'TotalCount' => 100
        };

Aus den Statistikdaten wird klar, wie schlecht die Datenlage eigentlich ist, in den meisten Fällen wurde in der GND notKnown vergeben. Trotzdem ist das Ergebnis für „Standardnamen“ relativ eindeutig.

Schwieriger wird es für Vornamen, die sowohl weiblich als auch männlich besetzt sind (Uli, Kim, Andrea, etc..).

Bei „Andrea“ schlägt auch noch die automatische Trunkierung zu  und der Name wird zu 92 % als männlich klassifiziert.

Trotz dieser Schwächen ist dieses Verfahren aber immer noch eine pragmatische Lösung und ein schönes Beispiel für die (Nach-)Nutzung bibliothekarischer Arbeit.

Wer das Modul verwenden will, oder Bugreports oder Verbesserungsvorschläge hat: hier geht’s zum GitHub-Repository!

Written by Peter

April 26, 2014 at 5:26 pm

Veröffentlicht in Perl, Programmierung, Scripts, Software

Tagged with , , , , ,

Neulich im Feedreader (Teil IX): Gut abgehangene Ratschläge, GitHub und literarische Rätsel…

leave a comment »

So, diese Rubrik gab es hier schon länger nicht mehr…

I play a bit of football in the park with my friends, and it’s not regulation NFL American Football or anything, but I’m curious if it’s cool when going for a punt to start a game, a friend of mine likes to pull the ball at the last possible second. She says it’s a big joke and my other friends laugh a bit too so maybe I’m just being too sensitive. Are there rules I can point her to showing this isn’t allowed?
posted by RoundHeadedKid to Sports, Hobbies, & Recreation at 17:04 – 13 answers  +
Long story short, I’ve been away a long time, but it’s time to go home. I need to get from Troy to Ithaca ASAP, but don’t trust my old map and my transportation is not always reliable either. Any tips for finding the best, most direct route and avoid annoying traffic snarls and other delays? Difficulty: No GPS. [more inside]
posted by Ody to Travel & Transportation at 21:10 – 28 answers +

 

 

 

Written by Peter

April 7, 2014 at 9:23 pm

Der @EuropeanaBot: Jetzt noch europäischer!

leave a comment »

Begonnen hat der EuropeanaBot ja etwas provinziell:

Also bin ich auf Ortsnamen umgeschwenkt: Die Statistik Austria bietet auf ihrer Homepage eine Liste der 2 376 österreichischen Gemeinden zum Download an. Zu einigen davon müsste es ja historische Aufnahmen, Pläne, Urkunden, etc. geben.

Mein Programm nimmt sich jetzt diese Liste, mischt einmal gut durch und sucht dann in Europeana nach Bildern, die den Ortsnamen im Titel der Aufnahme enthalten. Das erste Ergebnis wird dann jeweils bei Twitter mit Jahreszahl und gekürzter URL gepostet.

Aber natürlich gibt es auch außerhalb Österreichs interessante Orte … Daher habe ich von OpenGeocode.org eine Liste europäischer Hauptstädte heruntergeladen und benutze diese jetzt als Ausgangspunkt für Europeana-Suchen.

Natürlich wird auch hier wieder ein Zufallsergebnis genommen um möglichst verschiedene Bilder aus unterschiedlichen Epochen zu zeigen. Mit der englischen Sprachvariante wird dann auf die Wikipedia verlinkt um auch noch etwas für den Bildungsauftrag zu tun:

Der obligatorische Verweis auf das GitHub-Repository …

 

Written by Peter

März 20, 2014 at 9:07 pm

Veröffentlicht in Perl, Programmierung

Tagged with , ,

Der KatzenBot: Mehr Bilder! Mehr Vielfalt! Mehr Hamster!

with 4 comments

Beim KatzenBot hat sich einiges getan:

Die Titel der Katzenbilder sind ja manchmal wenig aussagekräftig:

Damit klar ist, dass sich „Hauskatze“ und „Hauskatze“ durchaus unterscheiden können, werden jetzt die Vorschaubilder gleich in den Tweet eingebettet:

Tweet mit Bild

Tweet mit Bild

Eine andere Sache, die etwas unschön am Bot war, waren „Tweet-Doubletten“. Mangels Masse an Bildmaterial konnte es vorkommen, dass sich Bilder wiederholen:

Alle drei Tweets verlinken auf das selbe Bild

Alle drei Tweets verlinken auf dasselbe Bild

In der neuen Version verwirft die Suche alle Bilder, die in den letzten drei Tagen gepostet wurden. Ich bin schon gespannt, wie sich das in der Praxis bewährt und ob die DDB irgendwann einmal „leergefischt“ ist (die einzelnen Suchterme bringen zwischen 2 und 802 Ergebnisse …).

Die letzte Neuerung ergab sich aus einem Tweet-Wechsel:

Twitter Konversation

Und so kümmert sich der KatzenBot jetzt auch um Hamster:

Hamster Tweet

Die neue Version liegt wie immer auf GitHub und – ähem … – ich würde mich über die erste runde Zahl an Followern freuen 😉

Written by Peter

Februar 27, 2014 at 9:38 pm