carpecode


28
Nov 11

Amarok 1.4 op Ubuntu 11.10(Oneiric Ocelot)

Voor mij is Amarok 1.4, een antieke maar ERG puike mediaspeler. Amarok 1.4 maakt het leven erg aangenaam. Er is een opvolger, een totale remake met als naam Amarok 2.x, en ik ben al meerdere keren overgestapt, maar telkens zonder succes. Het doet niet wat ik wil, of niet hoe ik het wil of werk gewoon niet handig.

In de nieuwere versies van Ubuntu zijn de libraries die Amarok 1.4 ondersteunen niet meer beschikbaar. Een optie is een distributie te zoeken die het nog wel toelaat Amarok 1.4 te draaien. Maar gelukkig is het -met wat kunstgrepen- mogelijk Amarok 1.4 installeren op latere versies van Ubuntu. De oplossing stond hier, de vertaling is van mij. Ik voerde deze commando’s uit op versie 11.10(Oneiric Ocelot) van Ubuntu.
Zorg ervoor dat de normale versie van Amarok van je systeem is, ze kunnen niet naast elkaar geïnstalleerd staan.
Deze versie is voor i386, als je een AMD 64bit hebt verwijs ik je naar de site waar deze oplossing vandaan komt.

Waarschuwing vooraf: door op deze manier software te installeren breek je de afhankelijkheden die ervoor zorgen dat installatie van software op Linux zo moeiteloos gaat. Na onderstaande handelingen zijn standaard updates uitvoeren met ‘Updatebeheer’ op Ubuntu voorbij, tenzij je weet wat je doet. Let dus op!

Open een terminal en zorg dat je alle rechten hebt

sudo -s

Alle bestanden zetten we in /usr/local/src/

cd /usr/local/src/
mkdir amarok
wget http://mirror.pnl.gov/ubuntu//pool/main/k/kde4libs/kdelibs5-data_4.6.2-0ubuntu4_all.deb
wget http://mirror.pnl.gov/ubuntu//pool/universe/k/kdelibs/kdelibs-data_3.5.10.dfsg.1-5ubuntu2_all.deb
wget http://mirror.pnl.gov/ubuntu//pool/main/q/qt-x11-free/libqt3-mt_3.3.8-b-7ubuntu3_i386.deb
wget http://mirror.pnl.gov/ubuntu//pool/main/a/avahi/libavahi-qt3-1_0.6.30-0ubuntu2_i386.deb
wget http://ftp.de.debian.org/debian/pool/main/m/mysql-dfsg-5.0/libmysqlclient15off_5.0.51a-24+lenny5_i386.deb
wget http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-common_1.4.10-0ubuntu3~ppa5_all.deb
wget http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14-engine-xine_1.4.10-0ubuntu3~ppa5_i386.deb
wget http://ppa.launchpad.net/bogdanb/amarok14/ubuntu/pool/main/a/amarok/amarok14_1.4.10-0ubuntu3~ppa5_i386.deb
wget http://mirror.pnl.gov/ubuntu//pool/main/k/kdelibs/kdelibs4c2a_3.5.10.dfsg.1-3ubuntu2_i386.deb
wget http://skerit.com/downloads/libmtp8_1.1.1_all.deb

Installeer ruby:

apt-get install ruby

Dan installeren we een paar van de kde debs

dpkg -i kdelibs5-data_4.6.2-0ubuntu4_all.deb
dpkg -i kdelibs-data_3.5.10.dfsg.1-5ubuntu2_all.deb
dpkg -i libqt3-mt_3.3.8-b-7ubuntu3_i386.deb
dpkg -i libavahi-qt3-1_0.6.30-0ubuntu2_i386.deb

Wat extra packages, als ze niet al geïnstalleerd zijn.

apt-get install liblua50 liblualib50
apt-get install libxine1
apt-get install libifp4 libxine1-ffmpeg libtunepimp5 libnjb5 libpq5

En dan verder met de gedownloade packages:

dpkg -i libmysqlclient15off_5.0.51a-24+lenny5_i386.deb
dpkg -i amarok14-common_1.4.10-0ubuntu3~ppa5_all.deb
dpkg -i libmtp8_1.1.1_all.deb
dpkg -i kdelibs4c2a_3.5.10.dfsg.1-3ubuntu2_i386.deb

Als laatste de belangrijkste packages:

dpkg --ignore-depends=amarok14 -i amarok14-engine-xine_1.4.10-0ubuntu3~ppa5_i386.deb
dpkg -i amarok14_1.4.10-0ubuntu3~ppa5_i386.deb

En Amarok 1.4 zou moeten werken.


27
Mar 11

php_mssql.dll en php 5.3 support

Na installatie van een WAMP server met versie 5.3.5 van PHP bleek php_mssql.dll niet meer in de package te zitten. De optie om php_mssql.dll aan te zetten staat echter nog wel in de php.ini. Als je gaat googelen blijken best veel mensen hier tegenaan te lopen. Dat die dll er niet in zit blijkt te kloppen, PHP geeft geen support meer in versie 5.3 voor deze extensie(ik heb er geen officiele melding van kunnen vinden overigens). De 5.2 versie geeft foutmeldingen zoals hieronder en de extensie wil niet laden.
De dll zit echter nog wél in de 5.3.1 build, en die versie doet het ook met latere versies. In ieder geval nog met versie 5.3.5 uit de WAMP installatie. Te vinden op de archieven van PHP.
Op de meeste fora geeft men het advies over de schakelen op de door Microsoft geleverde dll’s. Die gebruiken echter een andere syntax, en dus is dit niet altijd een bruikbare optie.

Unable to initialize module
Module compiled with module API=20060613
PHP compiled with module API=20090626
These options need to match

Geheugen


20
Jul 08

Svn Checksum mismatch

Een oplossing voor de melding:

Transmitting file data …svn: Commit failed (details follow):< svn: Checksum mismatch for ... etc etc

Sla de wijzingen uit het ‘foute’ bestand(valt af te leiden uit de svn naam in de melding) tijdelijk elders op en verwijder de file uit de svn dir.

Doe een update(file komt terug uit de repository)

Daarna een commit(repository en lokale svn structuur zijn weer gelijk).

Breng nu de wijzigingen weer aan en commit.


8
Mar 08

Squashtournament – de spelers tabel met zijn attributen

Het datamodel van de squashcompetie heeft wel zo’n beetje zijn uiteindelijke vorm gekregen. Nu de individuele tabellen met attributen. Eerst de spelerstabel. Een belangrijke tabel, maar hij blijft redelijk eenvoudig.
De naam van de tabel is in enkelvoud. Niet om een speciale reden, maar voor de duidelijkheid kies ik voor enkelvoud in de tabelnamen.
De tabel krijgt een betekenisloze sleutel, de ID zodat we uniek kunnen verwijzen naar 1 speler. Dit veld wijzigt nooit en wordt door het systeem gegenereerd.
Spelers zullen moet inloggen, en met een zelfgekozen inlognaam. Dit is verplicht in te vullen veld dat niet wijzigt.
Bij die naam hoort een wachtwoord. Ook verplicht, maar deze mag een speler wel wijzigen.
Dan is er nog een attribuut ‘name’. Dit is de naam waarmee iemand in het systeem zichtbaar is bij commentaren etc. Kan dus iets anders zijn dan de inlognaam.
Een e-mailadres is ook verplicht. O.a. omdat iemand zijn wachtwoord kan vergeten, en een nieuw wachtwoord sturen we naar het e-mailadres.
Dan volgt er een e-mail vlag. Iemand kan aangeven dat hij bijvoorbeeld de standenmail wel of niet wil ontvangen. Dit onderdeel moet ik nog iets meer uitwerken, misschien zijn meer vlaggen nodig.

spelertabel.png


26
Feb 08

Datamodel van een squashcompetitie

Vandaag weer wat meters geprobeerd te maken met het squash script.
Eerst de issue tracker geschikt gemaakt voor ‘misbruik’ als wensen-indexeer-middel.
En gewerkt aan het datamodel. Tijdens dat werk kwam ik er achter dat DBdesigner al een tijdje obsolete is, inmiddels kennelijk is opgekocht door MySQL(?) en MySQL workbench heet. Geeft maar weer helemaal aan hoe scherp ik op de nieuwste ontwikkelingen in mijn werk let ;-(
Anyway, MySQL workbench is net zo’n prachtige naam als DBdesigner en doet gewoon hetzelfde. Weer aan de slag dus.
Ik denk vast snel te technisch, maar doe toch een poging losse entiteiten te onderscheiden in het systeem van een squash competitie.

  • Speler. Lijkt mij een heldere entiteit in dit model.
  • Een wedstrijd. Idem
  • Een competitie. Een groep spelers besluiten tot een competitie. Meerder competities moeten mogelijk zijn, en wel of niet zichtbaar voor anderen etc.
  • Een ranglijst. De betekenis in de werkelijkheid is helder, ik noem ‘m als een aparte entiteit en niet als relatie tussen zeg wedstrijd-competitie-speler omdat we hier ook de geschiedenis vasthouden en dus een ‘statistiek’ achtige pagina krijgen. Moet nog worden uitgewerkt(zoals alles overigens).
  • Discussie. Voorlopig vaag, maar de discussie zet ik toch even apart op de kaart. Misschien komt er later een goede reden voor. Of niet, en dat verdwijnt ‘ie direct weer.

Dan de relaties. Er zijn 2 n:n(veel op veel) relaties.

Een speler kan speler in meerdere competities.
Een competitie zal logischerwijs meerdere spelers bevatten.

Een speler zal logischerwijs meerdere matches spelen.
Een match heeft altijd twee spelers.

Om dat op te lossen zal ik twee tussentabellen moet maken die verwijzende sleutels tussen deze tabellen bevatten. Een tabel members_has_competitions(rel_01 en rel_02) en een tabel members_has_games(rel_04 + rel_05).

De rest is 1:n(een op meer) relaties:

De ranglijst hangt aan een competitie(rel_09). Mijn idee is dat discussies ook aan een competitie kunnen hangen, dus die koppel ik er ook aan.
Discussies hangen primair aan een match(rel_07), maar ook aan een ranglijst(rel_10). Discussies hebben altijd een speler als oorsprong(rel_08).

Attributen van de losse entiteiten komen later wel. Eerst het model goed krijgen. Genoeg om op te kauwen de komende week.

Datamodel squashcompetitie


Switch to our mobile site