[ME] impressed

Het gebeurt niet vaak dat een programma mij (ten goede) verbaast. Maar ik was enorm ‘onder den indruk’ toen MarsEdit mij het volgende scherm aanbood:

Autosaved files were found and opened.

De Powerbook had het even laten afweten, net toen ik bezig was een fameus lange entry te editeren (zonder ooit op Save as Draft te klikken –vanzelfsprekend).
Het probleem? Soms –ik vermoed wanneer de CPU of HD extra warm staat– loopt er iets mis als je de computer in sleep modus brengt. Normaal gezien slaat alles dan af, inclusief het ventilatiesysteem, maar soms blijft de ventilatie doorblazen. En dan hangt het ding rotsvast (hard reset). Zo ook deze keer.

Groot was op dat moment mijn woede, maar nog groter mijn vreugde toen ik MarsEdit heropstartte. En dat voor programma van ocharme 25 USD –of gratis indien je NetNewsWire ook bezit. Een al even geslaagd stukje software BTW.

(Ja hoor, er zitten ook bugs in. Bestaat er nog software zonder?)

videodinges

Wat denken we? Zouden de harddisk videorecorders in 2005 (ook bij ons) echt doorbreken? Of loop ik nu al achter?

Deze ziet er in elk geval al behoorlijk patent uit.

The KiSS DP-558 DVD Player has it all. It can offer playback of many different formats, from DVD, Video with DivX? 3.11, 4 and 5 and MPEG-4, or Audio with MP3, Standard Audio CDs and Ogg Vorbis, or Pictures with JPEG. You will also find on it all the features that has made the KiSS DP-500 famous with an Ethernet Connection in the back. If connected to a Broadband Internet Connection it will enable the user to play Internet Radio Station on his Player with WebRadio or enable the user to view or play his Audio/Video/Picture files from his PC with the user Friendly Software KiSS PC-Link. On top of these well known features, the KiSS DP-558 offers recording facilities, thanks to its TV Tuner, recording TV on its built-in Hard Drive will be as easy as it was done on VHS, with some major advantages such as very high sound quality, a sharp and clear image, no alteration of the content with time or easy content search.

B&O heeft er een gepland voor 2005 (tegen niet zo democratische prijzen natuurlijk: 1.500 EUR), en maakt ook Toshiba dezer dagen geen reclame voor een DVD recorder met HD?

Laat maar komen!

phising

Hm: Lek in browsers maakt phishing ‘kinderspel’.

Het probleem komt voor in de meest recente versies van Internet Explorer, Mozilla, Mozilla Firefox, Opera, Safari en Konqueror. Ook eerdere versies kunnen gevoelig zijn voor het lek, aldus Secunia. Een oplossing is nog niet voor handen. Secunia adviseert internetters op te letten tijdens het surfen en niet blindelings op popups te klikken.

Wat het juist is?

De door Secunia ontdekte methode maakt het mogelijk dat content van de ene website wordt ingeladen in het venster van een andere website. Hiervoor is alleen de doelnaam van het venster nodig, zo schrijft Secunia in zijn ‘advisory’. Kwaadwillenden zouden dit kunnen misbruiken door internetters door te sluizen naar een vertrouwde site (zoals van een bank) en vervolgens de inhoud van popups te veranderen. Zodoende zouden phishers privé-informatie kunnen verzamelen.

De test van Secunia en meer uitleg vind je hier.

helpdesk generation

Mij viel vandaag de twijfelachtige eer te beurt zo’n computer uit te mesten. Symptomen: een vreselijk traag toestel, geen internet connectie (ADSL), een een waarschuwing van Norton Anti-Virus voor een Bloodhound.W32.EP virus.

  1. Terug internet: via een manuele connectie, waarop Internet Explorer automatisch wordt gestart, en naar de pagina slotch.com gaat, en passant nog en paar IP-adressen bezoekend. En er wordt een ID meegegeven. Vanzelfsprekend.
  2. De internet connectie toont een download op zo’n 2% van de capaciteit van de lijn, en een volle 100% capaciteit upload (192Kbps). Hmm.
  3. Gelukkig stond Norton Personal Firewall op de machine, evenwel nog niet geconfigureerd. Vlug de nodige instellingen gewijzigd, en dan Firefox gedownload, want alle upload gebeurde via Internet Explorer, zodat de Firewall niet zoveel zin had.
  4. Firefox geïnstalleerd, Zonealarm en Ad-Aware gedownload, en de verbinding verbroken.
  5. Alle Norton brol eraf gesmeten, en Ad-Aware gestart. Meer dan uur heeft dat ding gezocht, met als resultaat 519 New Critical Objects.
  6. Zonealarm gestart, meteen alles geblokkeerd, en per applicatie de toegang goedgekeurd of geweigerd. Op een minuutje meteen 30+ inbound connections verhinderd.

Helpdesk of niet, ik heb er iemand heel blij mee gemaakt. Volgende week nog eens een follow-up. Twee onmisbare toepassingen voor het windows OS overigens.

pudding

PlayPod 0.1 downloads podcasts (audio attachments) from RSS feeds. It can play the podcasts or automatically add them to iTunes to play or sync with an iPod. It also includes a built-in RSS newsreader and OPML import. PlayPod is available for Mac OS X 10.3. [via]

Et pour les windoze la même chose…

podcasting groot succes in vlaanderen

Podcasting is de nieuwe revolutie. Ontdekt door Adam Curry (MTVjay) –zo beweert hij zelf– zorgt podcasting voor de nieuwste rage in weblogging land.

Podcasters verspreiden zelf ingesproken stukjes via hun weblog, waardoor de bezoekers de teksten niet enkel kunnen lezen, maar nu ook beluisteren op hun audiospeler –bij voorkeur de iPod natuurlijk, maar beluisteren kan ook rechtreeks op de computer.

Bij een ondervraging van een aantal Vlaamse bloggers bleek zowat de helft geïnteresseerd genoeg om de nieuwe technologie van nabij te bekijken. Minstens 20% van actief bloggend Vlaanderen is achter de schermen bezig met podcasting, of heeft zelfs al podcasts gepubliceerd via het web.

De grootste concentratie van podcasters bevindt zich in Gent, waar maar liefst 8% van de webloggers podcast. Michel Vuijlsteke, van Tales of Drudgery and Boredom, wordt algemeen beschouwd als de eerste Vlaamse podcaster. In zijn eerste podcast verklaart Vuijlsteke het fenomeen, waarbij hij de eenvoud van het systeem benadrukt. Het is eigenlijk niet moeilijk. Podcasting is eigenlijk om ’t even wat dat opgenomen is. […] Ik heb de indruk dat het eigenlijk gewoon om terminologie gaat.

Vuijlsteke relativeert meteen ook de hype (over Adam Curry): Niet echt vernieuwend zou ik zo denken. ik kan mij indenken dat in de tijd dat hij nog echt radio DJ was ook wel al eens mensen zal gehad hebben die zijn show op tape zullen opgenomen hebben en later zullen beluisterd hebben en eigenlijk zie ik niet wat het enorme verschil is tussen dat en Podcasting.

Niettemin is podcasting een enorme hit. De kans is dan ook reëel dat de iPodders naar hun favoriete weblog luisteren ipv muziek. Want vanaf heden is de revolutie beluisterbaar.

(Zie ook: PodCasters.org en iPodder.org.)

[update:] *zucht*
Dislaimer: Dit stukje is in de eerste plaats een soortement persiflage op de media en hun omgang met statistische data, en de manier waarop ze gegevens uit de context rukken.

BTW los van de zever, vergeet niet de podcast van Michel te downloaden, het is een hilarisch stukje. (En stiekem hoop ik dat hij er nog maakt.)

echt alfabetisch in mysql

Pft. In SQL worden de zaken soms toch wel onnodig complex gemaakt. Ik was op zoek naar een mogelijkheid om de titels in mijn mediatheek alfabetisch te rangschikken op het eerste betekenisvolle woord.

Zijnde de titels minus de lidwoorden in NL, EN, FR. Het zou zo mooi zijn om dat in 1 ruzie door met regex (regular expressions) op te lossen, maar regex (REGEXP voor MySQL) geeft enkel een waar of vals terug, en geen string.

Maar goed, ik had geen zin om een vergelijking en conditionals van zeven lijnen te schrijven, dus ik moest en zou regex gebruiken:

libw_title REGEXP "^(the|an?|l(e|a|es)|une?|het|de|een) "

REGEXP is de functie die gaat zoeken in libw_title, wat dan weer het veld in de database tabel is, waar, u raadt het al, al de titels van mijn mediatheek in opgeslaan zijn.
"^(the|an?|l(e|a|es)|une?|het|de|een) " is de regex zelf. De aanhalingstekens staan er enkel als delimiters (begrenzers), waarbij het belangrijk is op te merken dat er aan het einde nog een spatie is –als woordeinde.
^ betekent dat we beginnen te zoeken aan het begin van een woord; | is ‘ofwel’, en een vraagteken ? zorgt ervoor dat het voorafgaande karakter optioneel is.

De regex zoekt dus naar the; of a of an (an?); of le of la of les (l(e|a|es)); of un of une (une?); of het of de of een. En eigenlijk zou ik daar misschien nog l’ en ’t aan moeten toevoegen, maar goh, ik zie wel of het nodig blijkt.

Oh, en alles case independent.

Het ultieme doel is om een titel zoals The Amazing Adventures Of Kavalier & Clay onder ‘A’ terug te vinden, en geschreven als Amazing Adventures Of Kavalier & Clay, The. Daartoe hebben we net gezocht naar alle titels die met een lidwoord beginnen. Nu moeten we er iets mee doen.

Als we zo’n titel hebben, moet hij herschreven worden, anders blijft de titel zoals hij was (libw_title). Ofte, in SQL:

IF(aan_deze_voorwaarde_voldaan, herschrijf, doe_niks)

Wat we nu al kunnen uitwerken tot:

IF(libw_title REGEXP "^(the|an?|l(e|a|es)|une?|het|de|een) ", herschrijfregel, libw_title)

De herschrijfregel dan: we willen het eerste stukje (het lidwoord) achteraan de rest van de titel plakken. Als de titel met een lidwoord begint, dan weten we al dat het deel voor de eerste spatie (=het einde van het lidwoord), eruit mag geknipt worden.

Eerst identificeren we het gedeelte tot de eerste spatie:

SUBSTRING_INDEX(libw_title," ",1)

SUBSTRING_INDEX zoekt in een bepaald veld (libw_title) naar het voorkomen van een bepaalde string –in ons geval een spatie (" ")– en meer bepaald naar de eerste keer dat die voorkomt (1).
Het ‘leuke’ aan die functie is dat het niet gewoon ‘waar’ of ‘vals’ zegt, maar een string als resultaat terug geeft, in ons geval het lidwoord.

Great, we hebben nu het lidwoord, nu moeten we het nog van de rest van de titel halen, en achteraan plakken.
Van de titel weghalen doen we met TRIM:

TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title)

Haal weg, van de voorkant (LEADING), het lidwoord (SUBSTRING_INDEX(libw_title," ",1)) uit de titel (FROM libw_title).
Yeeha. Nu hebben we de titel zonder het lidwoord (TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title)) én we kennen ook nog het lidwoord (SUBSTRING_INDEX(libw_title," ",1)). We zijn er bijna: nu nog het lidwoord achteraan plakken.

Dat doen we door de titel terug samen te stellen: titel_zonder_lidwoord + een komma en spatie + het lidwoord; via de functie CONCAT.

CONCAT(titel_zonder_lidwoord, een komma en spatie, het lidwoord)

-ofte, volledig uitgeschreven-

CONCAT(TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title), ", ", SUBSTRING_INDEX(libw_title," ",1))

Nog één dingetje voor we onze IF volledig kunnen herschrijven: de spatie tussen het lidwoord en de rest van de titel. Toen we het lidwoord van de titel weghaalden, bleef er wel nog een spatie vooraan aan de titel kleven. Spaties voor- en achteraan een string kunnen worden verwijderd met… TRIM (zonder argumenten). Dus TRIM(" blah ") geeft ons de string "blah". De nieuwe titel krijgen we dan zo:

TRIM(CONCAT(TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title), ", ", SUBSTRING_INDEX(libw_title," ",1)))

Remember, onze IF?

IF(aan_deze_voorwaarde_voldaan, herschrijf, doe_niks)

-herschreven als-

IF(libw_title REGEXP "^(the|an?|l(e|a|es)|une?|het|de|een) ", herschrijfregel, libw_title)

Dit kunnen we nu completeren tot

IF(libw_title REGEXP "^(the|an?|l(e|a|es)|une?|het|de|een) ", TRIM(CONCAT(TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title), ", ", SUBSTRING_INDEX(libw_title," ",1))),libw_title)

En het ganse SQL commando, dat ons de lijst met titels geeft, ziet er als volgt uit:

SELECT *, IF(libw_title REGEXP "^(the|an?|l(e|a|es)|une?|het|de|een) ", TRIM(CONCAT(TRIM(LEADING SUBSTRING_INDEX(libw_title," ",1) FROM libw_title), ", ", SUBSTRING_INDEX(libw_title," ",1))),libw_title) AS sort_title FROM lib_work ORDER BY sort_title ASC;

Schoon hé.

scholar

Een nieuwe search engine van Google (in beta): Google Scholar.

De engine zoekt alleen in academische teksten (journal articles, theses, books, preprints, and technical reports across any area of research). Een search op “human genome” geeft via de gewone Google zo’n 2.810.000 resultaten. Met de Scholar versie krijg je er slechts 129.000

Allemaal academisch relevant natuurlijk.

Lees er meer over in het artikel bij Nature: Scientists get their own Google

(Pas maar op: straks telt een wetenschappelijk artikel pas mee voor de Science Citation Index als het in Google Scholar opgenomen is.)

iPod (fin)

Ter afsluiting: ik ben vandaag op een paar zeer interessante iPod-related links gestoten, die je ook in mijn del.icio.us bookmarks (ex-blogmarks) terugvindt. Zo interessant, dat ik ze maar even in een afzonderlijke entry plaats.

Vooral die eerste twee artikels zullen vele vragen beantwoorden vermoed ik.

De informatie komt van iPodlounge, en je vindt er nog een hele hoop andere interessante artikels. Bovenstaande behoren tot iPod 201, en bevatten eerder advanced info; er is ook een reeks iPod 101, die de basis bespreekt. Je vindt ze allemaal opgesomd onder articles (scroll down tot net iets verder dan de helft van de pagina voor iPod 101).

Enjoy!

plus vite

Want ook dit verhaal krijgt een staartje.

Zonet zat er bij de post een (blauwe) briefkaart van Chronopost:

Een aan U geadresseerde zending zal vanaf het volgende openbare dag door Chronopost International te uwer beschikking worden gesteld in een Kiala afhaal punt. Dit afhaalpunt is vaak een superette, een krantenwinkel of een tankstation, dus makkelijk bereikbaar en soepel wat betreft openingsuren.

Om uw zendingen af te halen, volstaat het U met uw identiteitskaart aan te treden op het hieronder vermelde adres. Uw zending blijft 10 dagen te uwer beschikking in het Kiala punt alvorens terug gestuurd te worden naar de afzender. Wij danken U bij voorbaat om uw zending af te halen binnen deze termijn.

En tien dagen ís een behoorlijke termijn. Ware het niet dat dit kaartje verstuurd werd op 10 november, en de post er 8 dagen over heeft gedaan om het mij te bezorgen. Verzonden met een priorzegel, overigens.