Archive for the nörderier Category

A time-travel tool for Linux-based testing of scheduled jobs

Posted in nörderier with tags , , on 2014-02-19 by Kristian

In case it is useful for anyone, I searched for something similar and did not find it, so I hacked it together.

 

A tool to do a controlled "time-warp" on a Linux box.

Why?

Assume that you have a system that perform events at a known
time, e.g. through cron jobs. Testing that system can be
very frustrating if some of the events are infrequent, 
for example yearly, combined with more frequent events, 
for example hourly.

Moving time manually is boring, and error prone.

This tool consumes a crontab-like file and moves time in
a controlled way, stopping a few seconds before the next
event start, pausing (will possibly be changed to a more
intelligent method later) for a while, then optionally
continue with the next event. 

The "command" part of the crontab (see example) is right now
used as informational trace only.

Invocation:

warp, without argument, execute the next event.

warp --to "YYYY-MM-DD hh:mm", execute all events between now
and the specified time. Stops at the last executed event.

https://bitbucket.org/kwiklund/warp

 

 

Annonser

Vice / X64 C64 emulator remote control from smart-phone

Posted in nörderier with tags , , , , , on 2013-10-13 by Kristian

I got tired of fiddling around with the mouse to load diskette images in my Vice/X64 setup, and hacked together a small web application to do it from the smartphone.

In short, it presents the contents of a database of all your software in the phone browser and allows remote start of any C64  program.

The design is based on IUI, http://iui-js.org, and the remote mechanism relies on the remote monitor in X64, which required some patches to work fully, see the README in the source for details.

Source code, a few very short php scripts + some bash code, is available for the brave at Bitbucket: https://bitbucket.org/kwiklund/vice-x64-web-launcher, but don’t expect any fast support, it is in the 80% working state, which means that I’m likely to lose interest in it really soon…

2013-09-28-16-38-13 2013-09-28-16-32-57

Arkadspel

Posted in nörderier with tags , , on 2013-09-07 by Kristian

Förr, på den tiden, så gick man till Liseberg max en gång om året och om man hade riktigt mycket tur så fick man spela galoppbanan, whac-a-mole, och kanske något arkadspel i spelhuset.

Starkast minne har jag av defender, som var flångsvårt, spy hunter  (som finns i en förvånansvärt bra port till C64), samt det cocktail-kabinett med Space Invaders (eller möjligen Galaxian, jag har ett svagt minne av färger…) som fanns på hotellet vi bodde på i London 1980-ish.

Eftersom jag har mindre förstånd än snickerikunskaper så bestämde jag mig för några månader sedan att det var en bra plan att bygga ett eget kabinett. Efter CJ hade skrivit om något åt det hållet på facebook så var det kört.

Kravspecen blev efter ett tag:

  • Plattskärm, dels för alla tjockskärmar är återvunna, dels för att minimera storlek och värme.
  • Kontrollpanel liknande neo-geo, eftersom det är en plattform som stödjer flera olika spel. Hittade sedan en variant på facebook med två extraknappar.
  • Plywood, inte MDF, eftersom man kan båtlacka eller betsa plywood och få den att se okej ut, MDF måste i princip lackas, och det är jag ännu sämre på än att snickra.
  • Skall se ut som en riktig maskin (förutom målningen…), vad är annars poängen?
  • Tunnare än en riktig för att få plats i hörnet, se ”plattskärm” ovan…

Letar man på internet så finns det precis som med allt annat konstigt (n+1) sites som debatterar rätt sätt att bygga på, och efter ganska mycket letande slutade det med ”Project Mame” som bas till kabinettet. Det är gjort för plattskärm och är därmed tillräckligt smalt för att få plats på 2 skivor plywood till skillnad mot 3 som hade krävts för ett tjockare kabinett.
Materiallista:

  • 2 skivor byggplywood – 285 kr styck på Beijer = 570 kr
    (rätt ful, men man får leta lite så man får skivor som ser hyfsat okej ut. Är man bättre på snickrande än jag så kan man köpa finplywood istället)
  • Joysticks, knappar, ipac ve och coin mech från arcadeshop, ca 1100:-, har dock inte fått pinnen till joystick nummer två ännu så jag är lite negativt inställd. Joy nr 1 kommer att bli en C64-joystick istället.
  • Roterbar och tiltbar monitorhållare – 249 kr från netonnet
  • Pluggningskit (borr, mothåll, riktmojänger, plugg), 24:- på Clas Olson, för att kunna bygga en låda
  • Grenuttag 6 delar, Jula, 39:-
  • Expansionsbeslag till låda, ur arkivet 0:-
  • Insexskruv 4 mm + mutter + brickor, att montera joysticks med, 60:- biltema
  • Laptop – ur arkivet, 0:-
  • USB-hub, ur arkivet, 0:-
  • Tangentbord, kablar, etc, ur arkivet 0:-
  • Monitor 17″ 4:3, donerad av släkten efter fråga på facebook, 0:-
  • Högtalare samt sub-bas, ur arkivet 0:-
  • Båtlack, 2 x 0.75 liter, biltema. 200:-
  • Lacknafta, biltema, 30:-
  • Hammarlack, svart, biltema, 80:-, att dels måla bezel till monitor med, dels måla kanterna med så det ser ut som om de har T-moulding.
  • Diverse skruvar, lim, etc, ur arkivet, 0:-
  • Gångjärn, Clas Olson, 59:-
  • Skruv till gångjärn, ur arkivet, 0:-
  • Skruvöglor, att hålla fast högtalarna med, ur arkivet, 0:-
  • Nintendo till VGA-adapter, console.se, 299:-
  • Nintendosensorbar (batteridriven kopia), 149:-, Kjell
  • Litet relä för anslutning av coin mech, 50:-
    • Kommer ej ansluta coin mech, åtminstone inte om jag inte skaffar en riktig dörr, det blev en knapp på kontrollpanelen för ”mynt” istället.
  • Flatstiftshylsor, 40:- fråm Kjell +  50:- från Biltema
  • USB-genomföring, 239:-, Conrad
  • Sony-Ericssonladdare, modell Ä, att driva sensor bar med, ur arkivet, 0:-
  • USB-pinne, 32 Gb, att ha konfigurationer etc på, Kjell, 200:-
  • Penslar, clas ohlson, 108:-
  • lackslippapper, clas ohlson, 43:-
  • Plastskivor, biltema, ca 370:-
  • Joysticks, analoga, ca 1100:-, som ersättare för de digitala joystickarna som jag bara fick 1.5 levererade av från arcadeshop.de

Totalkostnad: 4999 kronor för materialet.

Bygge

Snickerier

När jag började bygga gjorde jag en ganska drastisk ändring mot project mame, istället för att skruva skivorna mot läkt så valde jag att fräsa ut spår i dem så att man kan sätta i dem i varandra istället.

DSC_3242

Det blev ett betydligt bättre resultat än jag trodde från början, kanterna göms och det blir tätt och fint. Jag använde även en kantfräs för att runda av kanterna på plywooden. Fräsen användes också för att få bitarna exakt likadana, man spänner fast mallen under en grovutsågad sida och fräser den rak med en fräs med kullager på.

DSC_3239Allt gick över förväntan bra att bygga, bytte min 19″ widescreenskärm mot en 17″, som gav samma höjd men bättre formfaktor.

_home_foto_20130608_006__DSC_3264

Sen fick jag för mig att jag skulle göra en låda att ha laptopen i. Detta visade sig vara något av ett mörker, man kan nämligen inte borra in plugg så himla bra i plywoodkanter. Det löste sig dock med lite laminatlim som jag hade över. I efterhand hade en halvhög låda räckt, så hade plexit för kontrollpanelen kunnat gå ner över den övre delen av lådan. Får se om jag orkar ändra det, plexi är ett elände att såga i.

Kontrollpanel

Kontrollpanelen är byggt med två stycken Ultrastik 360 som har knapparna anslutna direkt till sig, samt en ipac ve som är ansvarig för startknapparna, paus, och coin in.

Ett ännu ej löst problem är att min IPAC VE inte går att programmera som utlovat med linuxprogramvaran, de har nämligen ändrat hårdvara i dem efter nyår. Kasst, men de verkar jobba på problemet, eller nåt. Delvis löst genom att de nya analogjoystickarna har ”button in”, så knapparna, förutom coin, start, paus, sitter direkt på joysticks.

Plexidetaljer (Bezel, Marquee, Kontrollpanelsskydd)

Ok, rent strikt är det inte plexiglas utan nån mysko plastskiva från biltema, men ändå. Plasten bearbetas med ”träverktyg”, dvs hålsåg och sticksåg. Det är viktigt att inte köra för snabbt för då smälter den. Till viss del minimeras effekten av detta om man har skyddsfilmen kvar på plexin (vilket är en väldigt bra idé från början pga repor), då kan man dra bort överflödig smält plast lätt. Hålsågningen vattenkyldes. Att ta hål för knapparna var den enskilt mest ansträngande delen av jobbet.

Bezel (monitorram) maskerades med maskeringstejp där monitorn skulle synas, sedan fick den ett tjockt lager svart hammarlack på baksidan. Skyddsplasten på framsidan satt kvar när den målades. Resultatet blev en djupsvart lätt spegelaktig effekt som jag tyckte var väldigt bra.

wpid-20130907_111259.jpg

Kvar att göra

Det jag fortfarande inte är riktigt nöjd med är frontenden, lutar mot att bygga en som visar ”top 9” av de spel man spelar som förstasida, och som har möjlighet att välja annat om man vill.

Lackningen får dessutom vänta till nästa år, det är för dåligt väder ute. Både trädetaljerna och undersidan av plasten över kontrollpanelen skall lackas (kontrollpanelen skall vara svart). Funderar även på att göra om lådan och böja plexin över kanten så den täcker överdelen och den utdragbara delen är lägre. Plastglaset skulle kunna bytas mot glas också, det är svårt att få rent utan att bli flammigt.

SF x 2

Posted in nörderier with tags , , , on 2013-05-25 by Kristian

 

 

 

 

 

 

 

San Fierro vs San Francisco…
gallery11-r gallery11
gallery12-sf gallery12

gallery6 gallery6-sf

gallery2 gallery2-sf

gallery10 gallery10-sf

gallery1-sf gallery1

gallery3-sf gallery3

gallery4-sf gallery4

gallery8 gallery8-sf

Lord of the Rings Online – A work-around for the dread ”unspecified patch error” using Sikuli

Posted in nörderier with tags , , on 2012-12-21 by Kristian

100% of our LoTRO installations (3 out of 3) suffer from the ”unspecified patch error” problem.

Anupdateerro

However, it seems like it is possible to brute-force a solution. We noticed that the ”remaining changes to apply” number decreased every time the launcher was restarted after an unspecified patch error, and realized that it would be possible to automate the restart procedure, using Sikuli, a computer-vision-based GUI test tool.

This is how it is done:

  1. Make sure that Java 6 (download link) is installed on your computer, or it will not work. Sikuli currently dislike Java 7.
  2. Install Sikuli, it can be downloaded here -> http://www.sikuli.org/download.html
  3. Download the restart script, and unpack it where you will find it. It creates a directory, lotropatcher.sikuli
  4. Start the IDE using the ”Sikuli-IDE.bat” file from the Sikuli installation directory and load the script.
  5. Modify the ”lotro” path to point to where your TurbineLauncher.exe is installed.
  6. Start the script and wait until LoTRO is patched. The script is not very intelligent, so when done you need to start the task manager and kill the java process.
  7. If it doesn’t work, try replacing the ”unspecified patch error” in the wait statement with a screenshot of your own, refer to http://www.sikuli.org/ for the manual.

bolibompa

Gratis spel – UFO:AI

Posted in nörderier on 2011-07-06 by Kristian

Eftersom det är semester så har jag självklart blivit förkyld och i jakten på saker att göra som inte är att gräva eller annat kroppsarbete dammades UFO Alien Invasion av.

Vi har spelat det tidigare, gissningsvis 1.5-2 år sedan, och då var stabiliteten inte så imponerande. Nu fungerade det riktigt bra, med undantag för en lätt förvirrande bugg som hindrade avsittning ur flygplanen, den finns det dock en patch för.

Original-UFO satt vi och spelade en hel del i Hackerummen på den tiden det begav sig, så det finns viss nostalgikänsla, med tillhörande höga krav, i att sätta sig med UFO:AI, uppfyller det förväntningarna eller inte?

”Strategidelen” av spelet är helt okej, framför allt så verkar autoresolve av strider fungera tillräckligt bra, dvs man får inte fetdäng om man inte går in och slåss själv i varenda ufo.

Man har även möjlighet att bygga till andra saker än baser: radarstationer, luftvärnsinstallationer och ufo-upplag. Dock kräver dessa att man har en styrande bas och mängden övriga installationer per bas är patetiskt liten.

Interfacet för att rotera globen är något förvirrande, jag trycker den hela tiden åt fel håll. Här märker jag dessutom att jag har blivit bortskämd av androidinterfacet och förväntar mig kunna ta tag i klotet för att rotera det. Det är väldigt 1900-tal med att trycka på knappar. Hade jag haft mer ork hade jag fixat det själv och skickat in en patch, men eftersom jag inte orkar så är det ju bara att gilla läget.

Striderna görs i den från UFO välkända isometriska världen – fast – så var det ju inte riktigt. Man har använt quakemotorn för rendrering, vilket innebär att det faktiskt är riktig projektion och att man kan vända och vrida på världen åt alla möjliga håll. Det man har kvar från UFO är att man kan plocka fram och tillbaks lager av världen genom att välja vilken nivå man står på.

Stridsmässigt är det något enklare än originalet, man tvärdör inte så fort en rymdis tittar på en, åtminstone inte i enklaste svårighetsgraden…

Interfacet upplever jag som något knöligt. Framför allt vill jag kunna dra världen fram och tillbaks med muspekaren, istället för att flytta genom att dra musen över kanten. Det fungerar bra i fullskärm att göra så, men i fönsterläge är det inte bra. Vill man kunna göra annat samtidigt som man spelar så är fönsterläge enda alternativet.

Efter några timmars spelande började det lagga ganska kraftigt i interfacet. Oklart varför, resten av datorn hade inga problem, och det hjälpte inte att avsluta och ladda om spelet.

Totalt sett är det dock ett rätt kul spel, framför allt med tanke på priset. Väl värt att ladda hem och lägga några timmar på.

 

—-

Note: All images are from http://ufoai.ninex.info/, and are licensed by the GNU FDL according to the info text on their wiki.

 

Vatten.

Posted in bilder, nörderier, platser och resor on 2011-06-12 by Kristian

Vatten är alltid roligt för barn, verkar det som.

På väg hem från Uddevalla hittade vi Norrkvarn och ”Barnens minikanal”. Kaffe till föräldrarna, plask till barnen, ett vinnande koncept.

För ingenjören finns det dessutom möjligheten att göra gigantiska flodvågor, om man är lite klurig…

%d bloggare gillar detta: