sidenote

Archívum
A(z) „Linux” kategória bejegyzései

Gorillas

Image source: File:Gorillas screenshot.png – Wikipedia

I hope there are still some of you out there who remember the game Gorillas written in Basic. I have friends who still play this game from time to time.

These guys use Linux as their main operating system, so getting Gorillas to work needed the following workaround. First you had to get QBasic (from Microsoft or another source), then install DOSBox under Linux, start QBasic in DOSBox, load the source of Gorillas, and start the game. Each time you wanted to play you had to go through these steps, plus you had to adjust the game speed in DOSBox for your computer. I admit this isn’t difficult, but it is pokey.

So the other day I thought about rewriting this game in Basic and make it work under Windows and Linux. Finding the original(?) source wasn’t hard. The next step was to find a Basic compiler. I knew FreeBASIC, and after looking into it a little I’ve found out I can use the original graphics library of QBasic using FreeBASIC. The only problem was that I couldn’t set up FreeBASIC under 64 bit Linux, and there was the issue that FreeBASIC is a 32 bit only compiler too. I diched FreeBASIC and started to search for another Basic compiler, and luckily I’ve found QB64.

“Over 45 years of compatibility…” said the QB64 website. This aroused my interest, I thought that I might not need to rewrite the game at all but I may be able to compile the original source with QB64. To cut a long story short I had to touch only five lines of code in the original source to get the game work under Windows and Linux. Here is the receipt.

  1. QB64 doesn’t like the inline definition on line 211, so comment it out.

    211
    'DEF FnRan (x) = INT(RND(1) * x) + 1

  2. Add a new function declaration to the code (around line 90 in the original source).

    1
    DECLARE FUNCTION FnRan (x)

  3. Add the following function definition to the end of the file.

    1
    2
    3
    4
    5
    FUNCTION FnRan (x)

        FnRan = INT(RND(1) * x) + 1

    END FUNCTION

  4. Adjust the CONST SPEEDCONST constant’s value from 500 to 100,000,000 (line 123 in the original source). Note that you may need to use a different value, depending your computer.

    123
    CONST SPEEDCONST = 100000000

  5. Compile.

That’s it. After these modifications the code will compile without any errors. I tried it on Windows and Linux. (I don’t have a Mac but I’m pretty sure this will work under OS X too.) See the proof below.

Gorillas running under Windows 7 Gorillas running under Ubuntu 12.04 (64 bit)

Edit #1

I’m posting a patch which contains all described modifications. To patch the original source first unpack the linked tar.gz file then enter the following command in your terminal.

1
patch gorilla.bas -o gorilla-patched.bas < gorilla.bas.patch

Note that you will need the diff and patch programs for this operation (available through Cygwin under Windows).

Megosztás, like stb.

Időpont: 2012. december 8.
Helyszín: Budapest, Óbudai Egyetem, Bécsi út 96/b
A részvétel a látogatók számára ingyenes, de regisztrációhoz kötött.

Az FSF.hu Alapítvány 2012-ben újra megrendezi a Szabad Szoftver Konferenciát és Kiállítást Budapesten.

A rendezvény Budapesten, az Óbudai Egyetem Bécsi úti épületében (térkép és egyéb infó) kerül megrendezésre, 2012. december 8-án. A konferencia reggel fél tíztől délután ötig tart. Három szekcióban párhuzamosan zajlanak majd a szakmai előadások, ezekkel párhuzamosan az aulában szabad szoftverekkel és szabad kultúrával kapcsolatos kiállítás lesz. Reményeink szerint minden látogató találhat majd őt érdeklő előadásokat vagy más érdekes elfoglaltságot.

A helyszín környékén ingyenesen lehet parkolni, szombaton nem kell túl sok autóra számítani, így az autóval érkező hallgatók kényelmesen meg tudnak majd állni.

A konferencia kiemelt előadói

Kadlecsik József, a Linux kernel csomagszűrő alrendszerének, a netfilter-nek egyik vezető fejlesztője, Tímár András, LibreOffice fejlesztő, a LibreOffice Engineering Steering Comittee tagja, valamint Czakó Krisztián (Slapic), a hazai Linux közösség egyik ős-alapítója, az előző évi konferencia látogatók által megválasztott legjobb előadója. Ők választják majd ki a jelentkező előadók előadásai közül azokat, amelyek bekerülnek a három szekció programjába.

A konferenciára Magyarország legjobb előadóit, kiállítóként pedig számos szabad szoftverekkel foglalkozó civil, szakmai szervezetet valamint céget hívunk. A részvétel látogatók számára ingyenes, de regisztrációhoz kötött. Az előadások anyagából konferenciakiadvány készül majd.

Amennyiben szívesen látogatnál el, adnál elő vagy állítanál ki a konferencián, akkor kérjük regisztráld magad a bal oldalon található regisztrációs menüpontok valamelyikénél!

A potenciális kiállítók és támogatók az egyszerűség kedvéért küldhetnek azonnal levelet a konf2012@fsf.hu címre, és megkezdjük velük az egyeztetést.

Üdvözlettel:
Konferenciaszervező csapat, FSF.hu Alapítvány

Szabad Szoftver Konferencia és Kiállítás 2012, Budapest

Csak, hogy magamat is fényezzem, jelentkeztem segítőnek.

Megosztás, like stb.

A legutóbbi kernelfrissítés után vettem észre, hogy akárhányszor újraindítom a Raspberry Pi-t mindig ki kell húznom és újra be kell dugnom a billentyűzet USB vevőjét, hogy működjön.

1
2
$ uname -a
Linux raspberrypi 3.2.27+ #160 PREEMPT Mon Sep 17 23:18:42 BST 2012 armv6l GNU/Linux

Mondjuk ez egészen addig nem is zavart, amíg csak SSH-n értem el a RasPi-t, de most, hogy néha odaülök elé és LHX-et játszok rajta ez így elég gáz.

Íme egy workaround. A következő néhány sort az /etc/rc.local fájlban kell elhelyezni közvetlenül az exit 0 sor elé.

1
2
3
# Reload 'hid-logitech-dj' kernel module to get the Logitech K400 Keyboard work properly after startup
rmmod hid-logitech-dj
modprobe hid-logitech-dj

A megoldásra a Raspberry Pi fórumban bukkantam rá.

Megosztás, like stb.

Pár napja dedikált OpenTTD szervert futtatok a Raspberry Pi-omon. Bárki játszhat rajta, a szerverek között [HU] RPiTTD néven szerepel. Mérsékelt égövi, 64×64-es térkép, egy AI (OtviAI) két AI, villamosok és sokféle közúti jármű (lovaskocsi is!), 2000–2050. Ezek vannak.

A térkép azért ilyen kicsi, mert a RasPi nem egy erőgép, és a játék vége felé, ha többen játszanak, a processzorhasználat simán felmegy 70% fölé is. A kis térkép ne riassza vissza a hardcore OpenTTD játékosokat (ha van ilyen), mert a helyszűke miatt igazi kihívás az AI és egy-két másik játékos mellett elférni a mapon.

Igazából arra vagyok kíváncsi, hogy mit bír a RasPi. Mérem az OpenTTD processzor és memóriahasználatát. Csinálok majd szép grafikont, ha lesz elég mért adat. Addig is játsszatok!

Megosztás, like stb.

A hét képe:

És az elmúlt hét legnagyobb Linux-játék híre:

[…]

For some time, Gabe has been interested in the possibility of moving Steam and the Source game engine to Linux. At the time, the company was already using Linux by supporting Linux-based servers for Source-based games and also by maintaining several internal servers (running a 64-bit version of Ubuntu server) for various projects. In 2011, based on the success of those efforts and conversations in the hallway, we decided to take the next step and form a new team. At that time, the team only consisted of a few people whose main purpose was investigating the possibility of moving the Steam client and Left 4 Dead 2 over to Ubuntu.

Why Ubuntu? There are a couple of reasons for that. First, we’re just starting development and working with a single distribution is critical when you are experimenting, as we are. It reduces the variability of the testing space and makes early iteration easier and faster. Secondly, Ubuntu is a popular distribution and has recognition with the general gaming and developer communities. This doesn’t mean that Ubuntu will be the only distribution we support. [!] Based on the success of our efforts around Ubuntu, we will look at supporting other distributions in the future.

After successfully porting L4D2 to Ubuntu, interest grew within Valve and, as a result, the team and projects we were working on also grew. Currently, our focus is on the following projects:

  • getting the Steam client onto Linux with full functionality
  • optimizing a version of L4D2 running at a high frame rate with OpenGL
  • porting additional Valve titles

[…]

Steam’d Penguins | Valve

Megosztás, like stb.

Na, nem az enyém, hanem Gábor második Raspberry Pi-ja, amit volt olyan kedves kölcsönadni, amíg megérkezik az enyém.

Feldobtam rá egy OpenELEC-et. Kinyomtam TV-re, csodás!

Megosztás, like stb.

Jelenleg három gépen kell dolgoznom, kettőn Windows 7 csücsül, míg a harmadik egy Mac mini. Elég sokszor kell fájlokat átvinnem egyik gépről a másikra, de a háló gyakran rendetlenkedik. (Szar az infrastruktúra.)

Végül is nem olyan nagy gond, ha naponta egyszer-kétszer pendrive-ot kell használnom, amíg meg nem csinálják a hálót. Viszont… Viszont elő szoktak fordulni 4GB-nál nagyobb fájlok, ezért a FAT32 nem opció. Az NTFS-t az OS X nem tudja írni. Gondoltam kipróbálom az exFAT-ot, hiszen pont flash drive-okra találták ki. Nade. Itthon nagyrészt Linuxot használok, Linux támogatás meg nincs hozzá, naponta lementeni meg átformázni nem akarom a pendrive-ot. Persze erre lehet azt mondani, hogy vegyek még egy pendrive-ot. Hát, van három-négy is, de én mindig csak felkapok egyet, nemigazán nézem, hogy melyiket, bele a gépbe, és akkor anyázok, amikor pont olyan gépbe dugom, ami nem tudja írni a rajta levő fájlrendszert.

Kitartottam az exFAT mellett, mert mégiscsak jó, és találtam hozzá Linux támogatást is. Igaz, nem out-of-the-box, viszont három perc bizgetés után máris olvashatjuk, és írhatjuk a pendrive-unkat. A legnépszerűbb disztribúciókhoz csomagokat is találunk, de a wiki oldalt megnézve nem nehéz lefordítani sem. Szóval, használjátok, mert jó. Persze mindenki csak saját felelősségére, mert még béta a dolog, de nekem eddig működik.

Flash Tibor immár olvasható és írható!

Megosztás, like stb.

Biztos hallottatok már a Raspberry Piról. Az úgy volt, hogy első nap rendeltem egyet.

Szóval, február végén, az indulás reggelén (7-kor) ott ültem a gép előtt, és próbáltam magamnak szerezni egyet, közben chateltünk az egyik volt tanárommal, hogy ki hol tart éppen a rendelésben, melyik terjesztő oldala elérhető, illetve elérhetetlen (mindkét nagy terjesztő szerverei lehaltak). Néztük a hivatalos Twitter feedet, nyomtuk egymásnak az infókat. Igazi „hajsza” hangulata volt a dolognak.

A vége az lett, hogy Gábor a Farnellnél, én pedig az RS Componentsnél adtam le a rendelésemet. Gábor a héten megkapta az övét, nekem meg RS Components még válaszolni sem igazán hajlandó, hogy hol állok a várakozási sorban. Most ott tartok, hogy már a nemzetközi és a brit RS-nek is írtam. Egyelőre semmit sem tudok, viszont egyre inkább kezdem elveszíteni bennük a hitem. De ennyit erről, és most jöjjön a lényeg.

A képen Gábor Raspberry Pi-ja látható. Tegnap bementem a tanszékre lecsekkolni. Valóban egy bankkártya méretű, lenyűgöző kis cucc. Gyorsan be is bootoltunk egy OpenELEC-et.

Open Embedded Linux Entertainment Center, or OpenELEC for short, is a small Linux distribution built from scratch as a platform to turn your computer into a complete XBMC media center. OpenELEC is designed to make your system boot as fast as possible and the install is so easy that anyone can turn a blank PC into a media machine in less than 15 minutes.

Szépen bejött az XMBC, de már a menű szaggatott, és ~80%-on zabálta a procit. Több, mint valószínű, hogy szoftver renderinget láttunk. Szóval még nem tökéletes, közel sem. Videólejátszás közben a proci egyáltalán nem dolgozott, viszont az 1080p-s Ötödik elem teljesen darabos volt. Több, mint valószínű, hogy driver gond. :)

Aztán bebootoltuk (volna) az előre elkészített, és használatra ajánlott Debian image-et, de kernel panicba ütköztünk.

Minden jel szerint nem volt jó neki a noname SD kártya. Kicsit finnyás szegénykém, de sebaj. Másik SD kártyáról simán elindult a cucc. Igazából csak arra voltam kíváncsi, hogy van-e hozzá valami repó is, vagy egy Debian image és kész. Jelentem, repó van, ez nagyon biztató! Feltettünk hát egy VLC-t, de elindulni már nem volt hajlandó. :) Elég béta még, de nem vagyok telhetetlen, mert amint elkezdik nagy tételben gyártani és kiszállítani (remélem nekem is) a Raspberry Pi-t, úgy fog nőni a hozzájárulások száma.

Jó lett volna megnézni az Arch Linux ARM-ot, de sajnos erre már nem volt időnk. Remélem jövő héten még lesz erre alkalmam.

Megosztás, like stb.

While Linux is running our phones, friend requests, tweets, financial trades, ATMs and more, most of us don’t know how it’s actually built. This short video takes you inside the process by which the largest collaborative development project in the history of computing is organized. Based on the annual report “Who Writes Linux,” this is a powerful and inspiring story of how Linux has become a volunteer-driven phenomenon.

How Linux is Built – YouTube

Nem hiszem, hogy ez a videó mezei usereknek szólna, inkább a befektetőknek, vagy az „üzleti szférának”, de jó látni, hogy végre a Linux Foundation is össze bírt rakni egy rendes videót.

Megosztás, like stb.

Egy tipikus eset bemutatása következik.

Megírsz egy viszonylag egyszerű konfigot. Örülsz, hogy meg tudod csinálni. Nem is olyan nehéz, mint amilyennek elsőre látszik. Elindítod a szolgáltatást, nem történik semmi. Persze ilyenkor egyből az az első gondolat, hogy valamit elírtál az egyik conf állományban. Megnézed, az összeset, amit szerkesztettél. Helyből észreveszel három elírást, amit az egyikben bennehagytál. Kijavítod, aztán mentenél, de nincs meg a jogosultságod. No sebaj, copy-paste lesz. Kilépsz, aztán a megfelelő jogokkal megint be. Persze a copy-zni elfelejtetted a változtatást, ezért újra megkeresed az elírásokat. Kijavítod. Szolgáltatást újra elindítod, megint semmi.

Eztán netstatolsz, mint az őrült. Hát persze, hogy nem csücsül a porton a kis aranyos. Nézzünk logot! Na, log az nincs, mert nem állítottál be logolást. Beállítod a logolást, újraindítod a szolgáltatást, reprodukálod a hibát. (Szerencsére most gond nélkül megy a hiba reprodukálása.) Nézzünk logot! Szépen megette a saját konfigomat, viszont van egy error. Oké, végre valami nyom, amin elindulhatsz. Figyelmesen elolvasod, de az üzenetet az égegyadta világon nem tudod megérteni. Google. Semmi. Oké, olvassuk el a logot még ötször. Aztán rájössz, hogy mit rontottál el! (Ez a legjobb rész.) Kihagytad a user mezőt a konfigból.

Erre persze legalább egy órád ráment. Fejedet falba vered.

Megtanultad. Kész.

Megosztás, like stb.