Tommy Winther

twenty-first century code monkey

Tag: Programmering

Film Quiz til XBMC

Det sidste stykke tid har jeg arbejdet på en ny addon til XBMC – en Film Quiz. Alle spørgsmål og indhold kommer fra den indbyggede database i XBMC, så det kræver du bruger denne funktionalitet før det virker.

Min kæreste og jeg er blevet ret afhængige af quiz’en – det er go’ tidsfordriv 🙂
Du kan se en video af quiz’en i aktion herunder og læse mere om den på XBMC forummet.

Flere danske XBMC addons

Der er jo så hyggeligt det her, så jeg har underholdt mig selv med nogle flere addons 🙂 I denne omgang er det blevet til lidt nyt og blandede opdateringer, fx. den første musik-addon med DR’s netradioer.

Den største opdatering er TV2/Regionerne, som har krævet individuel logik til hver region – og desværre er det ikke lykkedes mig at få TV2/Bornholm til at virke igen pt.
En anden opdatering, som Apple TV folket vil sætte pris på, er muligheden for at afslutte TV Guiden ved brug af enten tilbage eller menu knappen.

De nye addons er følgende – som altid lad mig høre hvad i synes, og hvis noget ikke skulle virke!

  • DR netradio
  • DMI TV Vejrudsigt
  • DR.dk Pirat TV
  • VEGA Player (løst baseret på Tenzer’s addon)
  • YouSee Web TV (kræver login på yousee.tv)

Kode fra et andet årtusinde

Det er vist på tiden jeg får skrevet om min fangst fra mine gamle Amiga disketter. Jeg fandt en hel del kode, diverse dokumenter – heriblandt en forsvunden opskrift min mor blev ganske glad for – og diverse grafik stumper og animationer, som jeg desværre ikke har haft held til at få konverteret endnu.

Af de mere interessante kode stumper jeg har fundet er der en Boulder Dash klon og en Pacman klon. Jeg husker tydeligt jeg var fuldstændig hooket på Boulder Dash dengang, det var så simpelt og alligevel meget udfordrende. Min plan med Boulder Dash Konstruction Kit var formentlig at der skulle være en level editor indbygget, men det blev aldrig til mere end en enkelt bane og en motor til spillet. Måske var det en ide der skulle bygges videre på i dag 🙂

Der er også andre halvfærdige spil, fx Block Killer, en Breakout klon, Space Wars, som jeg ikke aner hvad skulle være, men det ser interessant ud og Adventure, et tekst adventure spil der fandt sted i mine forældre hus. Derudover er der nogle såkaldte demoer, som jeg aldrig blev god til at lave, og diverse programmer fx Amosbase et adressekartotek.

Det har været sjov at gense Amos koden, men det er tæt på volapyk efter en del år med Java som primært programmeringssprog. Det har dog lykkedes mig at rette et par fejl for at kunne starte nogle af programmerne, så helt væk er det ikke 🙂 Continue reading

Winther’s Web vender tilbage…

Med opstarten af Net Communication vendte wintherweb.dk tilbage til at være min legeplads. Denne gang er det en blandet landhandel af alle mulige emner og funktionalitet som interesserede mig på det tidspunkt. Blandet andet gik jeg op i JDBug løbehjul, gnutella og påskeæg – hmm, der var de igen – meget mystisk 🙂

Hjemmesiden blev også peppet op af en hel del ASP kode, blandt andet var der mulighed for at kommentere på emner, sende SMS’er, lave whois opslag og tilpasse indholdet af forsiden. Det var nok vældig fancy tilbage i 2000. Kommentarerne blev naturligvis gemt i en Microsoft Access database, det hørte sig jo til. Hemmeligheden bag SMS afsendingen var at på daværende tidspunkt kunne man sende en email som teleselskabet så sendte videre som SMS. Det var gratis(!) dengang – det kommer vist aldrig til at ske igen..

Som det typisk er med ASP er meget af det avancerede funktionalitet leveret af server-side komponenter, ASP kan jo nærmest ingenting i sig selv. SMS brugte JMail.SMTPMail, whois brugte Socket.TCP, mens databasen brugte ADODB.Connection.

Juleudsalg på Steam

Der er juleudsalg på Steam indtil den 3. januar 2010 og der er masser af gode tilbud. Jeg faldt over denne Lucasarts Adventure Pack med de 4 viste spil til €2,24 – det er under 20 danske kroner for 4 fantastiske spil. Det er nærmest kriminelt ikke at købe dem!

Eneste ulempe ved at købe disse Steam udgaver er at de ikke umiddelbart virker i ScummVM og dvs. ikke på linux eller på min Android telefon. Det er der dog råd for, da der blot mangler en enkelt fil og den kan “pakkes” ud fra exe filen til hvert spil.

Et eksempel er Indiana Jones and the Last Crusade – her mangler filen 00.lfl. Kopier Indiana Jones and the Last Crusade.exe til samme mappe som steamextract.py og køre scriptet således ./steamextract “Indiana Jones and the Last Crusade.exe” så skulle den gerne outputtet 00.lfl som du blot kopiere til mappen med alle de andre lfl filer. Herefter virker det i ScummVM. Proceduren er den samme for de andre spil.

./steamextract.py “Indiana Jones and the Last Crusade.exe”
Detected Indiana Jones and the Last Crusade
Wrote 6295 bytes to 00.lfl
Copy the extracted file to the game dir and run with ScummVM

Hent python script der hjælper med sagen.

Spændende tiltag i Java verdenen!

En af de ting jeg har frygtet lidt ved at miste mit job er adgang til nyeste versioner af min favorit Java editor, IntelliJ IDEA, og min favorit build server, Atlassian Bamboo – men det ser ud til det problem har løst sig selv.

JetBrains valgte nemlig i går at opensource IntelliJ IDEA editoren. Godt nok i en community edition som er lidt neddroslet, men det er stadig væk IntelliJ IDEA. Der er meget mere info på deres blog.

Atlassian er for nyligt begyndt at sælge såkaldte starter licenser for ca. en halvtredser ($10). Det er så billigt at jeg simpelthen blev nød til at købe Bamboo. Starter versionen har dog kun mulighed for 10 build plans, men det rigeligt til mit mere-eller-mindre hobby behov.

En stor tak herfra til mine to yndlingsproducenter af Java software!

Xmarks Sync for Android

Xmarks Sync - Login

Xmarks Sync - Login

Lige siden jeg fik min Android telefon, en HTC Hero, har jeg arbejdet på at lave en Xmarks applikation til den.

Xmarks er så ustyrlig fedt! Det synkronisere automatisk bookmarks mellem browseren og Xmarks.com, således alle mine bookmarks er på alle mine computere. Nu mangler de bare at kommer over på min telefon… Så det gik jeg igang med at lave.

På nuværende tidspunkt har jeg en prototype oppe at køre som kan lave en første-gangs synkronisering af bookmarks fra en bestemt profil. Det er også muligt at synkronisere ændringer, men det er lidt buggy pt.

Jeg er kraftigt inspireret af Mike Cadwells kode fra hans blog, men han er vist gået kold i programmeringen. Han nævner nogle begrænsninger som jeg også er stødt på, bl.a. har bookmarks i Android ikke et hierarki som andre browsere, så en evt. upload af ny bookmarks bliver en udfordring. Jeg har dog overvejet at man blot kunne specificere en standard mappe, som alle nye bookmarks bliver gemt i.

Xmarks Sync - Sync

Xmarks Sync - Sync

Som det ses på de to billeder begynder det allerede at ligne noget, men der går nok et stykke tid før jeg har noget klar til download. Jeg har endnu ikke testet noget på min telefon, det har været ret emulering.

Min plan er at få synkronisering af ændringer til at fungere inden jeg sætter mig yderligere mål. Pt. er Xmarks Sync applikationen et stand-alone program, som man manuelt skal synkronisere med. Optimalt set skal det omskrives til en Android service, som automatisk kan synkronisere i baggrunden ligesom det sker med email, kalender, mm. Så bliver det nemlig til et set-and-forget program, som Xmarks til browseren reelt set er.

Sådan oversættes en WordPress widget

Jeg har brugt et stykke tid på at finde ud af hvorledes en WordPress widget kan oversættes. Den information jeg kan finde har ikke været fyldestgørende, så det har været lidt besværligt, men det er dog lykkedes. Den widget jeg har arbejdet med er det Xbox 360 gamercard som ses i bundet til højre.

Step-by-step guide

  1. Brug WordPress’s gettext funktion __() rundt om al tekst der skal oversættes. Alternativt kan _e() bruges. Se WordPress Codex. Anden parameter i funktionen skal være unik og ens i alle kald. Dette er såkaldt tekst domain.
  2. Når du er færdig skal du bruge makepot.php scriptet. Check det ud fra SVN.
  3. Åben en terminal og hop in i wp-content/plugins/ mappen.
  4. Kør php makepot.php wp-plugin <navn på widget>.
  5. Pot filen er en template fil. Generer den danske oversættelse med xgettext <navn på widget> -o <navn på widget>-da_DK.po
  6. Rediger nu <navn på widget>-da_DK.po filen og indtast oversættelsen i msgstr linjerne.
  7. Generer tilsidst den færdige oversættes således msgfmt -o <navn på widget>-da_DK.mo <navn på widget>-da_DK.po
  8. Mo filen placeret i samme mappe som widget’en.
  9. Tilsidst skal widget’en blot loade oversættelsen. Indsæt load_plugin_textdomain(‘<navn på textdomain>’, ‘/wp-content/plugins/<navn på widget>/’, ‘<navn på widget>/’);

Det skulle gøre tricket og din widget er nu oversat til dansk. WordPress skal naturligvis kører med dansk sprog før det virker. Dette gøres ved at sætte WPLANG i wp-config.php til da_DK.

© 2017 Tommy Winther

Theme by Anders NorenUp ↑