Published my first presentation on SpeakerDeck – using Python


By Vasudev Ram

SpeakerDeck is an online presentation service roughly like SlideShare. SpeakerDeck seems to have been created by Github Inc.

I just published my first presentation on SpeakerDeck. It is a quickstart tutorial for the vi editor. Note: vi, not vim. I had written the tutorial some years ago, when vim was not so widely used, and vi was the most common text editor on Unix systems.

About the tutorial:

I first wrote this vi quickstart tutorial for some friends at a company where I worked. They were Windows and network system administrators without prior Unix experience, and had been tasked with managing some Unix servers that the company had bought for client work. Since I had a Unix background, they asked me to create a quick tutorial on vi for them, which I did.

Later on, after learning the basics of vi from it, and spending some days using vi to edit Unix configuration files, write small shell scripts, etc., they told me that they had found the tutorial useful in getting up to speed on vi quickly.

So, some time later, I thought of publishing it, and sent an article proposal to Linux For You magazine (an Indian print magazine about Linux and open source software). The proposal was accepted and the article was published.

About generating the tutorial as PDF and uploading it to SpeakerDeck:

The original vi quickstart tutorial was in text format. Last year I wrote XMLtoPDFBook (as an application of xtopdf, my Python toolkit for PDF creation), which allows the user to create simple PDF e-books from XML files. So I converted the vi tutorial to XML format (*) and used it to test XMLtoPDFBook. I therefore had the tutorial available in PDF format.

(*) All you have to do for that – i.e. to convert a text file to the XML format supported by XMLtoPDFBook – is to insert each chapter’s text as a element in the XML file. Then give the XML file as the input to XMLtoPDFBook, and you’re done.

SpeakerDeck requires that presentations be uploaded in PDF format. It then converts them to slides. So I thought it would be a good test of SpeakerDeck and/or xtopdf, to upload this PDF generated by xtopdf to SpeakerDeck, and see how the result turned out. I did that today. Then I viewed the resulting SpeakerDeck presentation. It was good to see that the conversion turned out well, AFAICT. All pages seem to have got converted correctly into slides.

The presentation can be viewed here:

A vi quickstart tutorial

If you prefer plain text to presentations, you can read the vi quickstart tutorial here.

- Vasudev Ram – Dancing Bison Enterprises

Click here to signup for email notifications about new products and services from Vasudev Ram.

Contact Page

var addthis_config = {“data_track_clickback”:true};

Read More

gpcslots2: In a different direction altogther


I fought too long and hard to bring conquest up to a working state — and still walked away empty-handed — to spend too much more time on console games today. So I picked an easy one this time. Here’s gpcslots2:

2014-10-16-2sjx281-gpcslots-01 2014-10-16-2sjx281-gpcslots-02 2014-10-16-2sjx281-gpcslots-03 2014-10-16-2sjx281-gpcslots-04 2014-10-16-2sjx281-gpcslots-05

I don’t see many casino games at the console, which means either I haven’t been paying attention, or they just aren’t out there.

gpcslots2 (I haven’t been able to find gpcslots1) is interesting for a couple more reasons. For one thing, it’s just a giant perl script. Download the one file from Sourceforge, and start it with perl gpcslots2_0-4-5b. No compiling, no fighting with permissions or groups. That’s a nice change. 8-)

The choice of games in gpcslots2 is also unusual. I’ve been to a few casinos in my time, but I don’t recall Russian roulette being one of the games offered. O_o Craps, yes. A slot machine, yes, and straight roulette, of course. But nothing that staked your life for a meager 25 chips. :???:

gpcslots2 does all its “graphics” with straight ASCII characters and color combinations. I’m using a wide aspect framebuffer these days for screenshots, and as you can see, gpcslots2 will trap itself in the lower left corner on each screen refresh. If your terminal fits those dimensions you might get the illusion of animation, but otherwise it leaves a lot of space unoccupied.

On the other hand, the screen space it does use, it uses well. And I like the small touches to the animation, such as the split displays for tumblers on slot machines. Rather than just center each shape, gpcslots2 takes the time to show tumblers stuck between symbols. Nice touch.

gpcslots2 is a decent casino game and doesn’t break any major rules of engagement. It has a few oddball additions to the classic casino suite, but I’m willing to accept those as fun expansions on the traditional theme. It’s not the greatest casino simulator ever, and it doesn’t pay out real money, but it’s acceptably satisfying. ;)

P.S.: Not in Arch/AUR or Debian.

Tagged: game

Read More

conquest: Much time spent, not much to show


I should use a stopwatch while I work with new software, and when the timer reaches a certain point, just put it down and call it quits. If it hasn’t yielded some sort of fruit after 20 or 30 minutes, experience tells me a program isn’t likely to satisfy me.

That, unfortunately, was the case with conquest, which is another title that has evolved over generations to become a space warfare game with a Star Trek theme.

2014-10-16-2sjx281-conquest-01 2014-10-16-2sjx281-conquest-02 2014-10-16-2sjx281-conquest-03

Disappointing, I know. I spent an awful lot of time working on those screenshots, and never did really get a “game” going. It runs, as you can see, but I have yet to see a planet, a sun, another ship or even just a speck of space dust. I am alone in the universe, floating like a bubble on the sea. :(

Of course, I’m just connecting to a local game, and I’ve probably screwed up the settings somehow. I do that a lot. Maybe someday when I have more time to myself, I’ll hunt down what ails conquest. For now, getting the program to run was enough of a challenge. :roll:

For the record, and for future reference, this is what I did to get it working in Arch. conquest requires that you be part of a group called “conquest,” which really confused me for a bit. In any case:

  1. Make a group called “conquest” and add your user to it. Logout and login to make sure the new group is applied (newgrp alone wasn’t doing it for me).
  2. Compile the source code; I added --disable-gl --disable-sound just because I knew it would take me more time to find the GL and sound dependencies.
  3. Make two folders at /opt/var/conquest/ and /opt/etc/, and chown them so you can modify the contents.
  4. Copy conqinitrc from the source folder to /opt/etc/conquestrc
  5. touch /opt/var/conquest/conquest.log, because for some reason not having any log at all causes a warning message when the daemon starts.
  6. As root (or with sudo),
    1. Create a master configuration file with ./conqoper -C
    2. Initialize the game settings with ./conqoper -Ie -E
    3. Start the game daemon with ./conquestd -d
  7. From there, if the gods smile on you, you should be able to start the text-only client with ./conquest … if not, well, we tried. :(

conquest is in the Debian archives, and this bug report was helpful in figuring out some of that procedure. I am still at a loss for why I am the only person in the universe, but maybe you can give me a hint.

Regardless, from now on, if it takes more than 30 minutes to get a game working, it’s going on the “Omit” list. :evil: :roll:

Tagged: game

Read More

Bad Voltage Season 1 Episode 27: Buffalo Wild Wings Dollars


Bryan Lunduke, Jono Bacon, Stuart Langridge, and myself present Bad Voltage, in which there is only one. We also discuss:

  • Would it be bad if the open source desktop fails to go mainstream? Is not wanting large public success just elitism? Or is this the year that we pronounce it isn’t and never will be “the year of the Linux desktop”, and is that a terrible thing? (3.14)
  • We review the Canon HF-R500 digital camcorder (27.10)
  • Why do film and TV scripts get technology wrong when it would be just as easy to get it right? Should we be amused or annoyed by technobabble? (39.45)
  • Should programming be part of a school curriculum, not to program specifically but to teach skills of logically constructing an argument and meta-skills of thinking “how to think”? (50.58)

Listen to 1×27: Buffalo Wild Wings Dollars

As mentioned here, Bad Voltage is a new project I’m proud to be a part of. From the Bad Voltage site: Every two weeks Bad Voltage delivers an amusing take on technology, Open Source, politics, music, and anything else we think is interesting, as well as interviews and reviews. Do note that Bad Voltage is in no way related to, and unlike LQ it will be decidedly NSFW. That said, head over to the Bad Voltage website, take a listen and let us know what you think.


Read More

angband: Polishing the classic format


adom managed to extrapolate on the traditional roguelike game, and add a wilderness and quests beyond the ordinary dungeon delve. angband sticks to the classic format, but adds a flavor of its own … and borrows some flavors from others.

2014-10-16-2sjx281-angband-01 2014-10-16-2sjx281-angband-02

There are a lot of things to like about angband: If you’re a Tolkien fan, angband probably has enough Lord of the Rings-ish references to keep you from complaining about transgressions against canon.

And if you’re a Dungeons and Dragons aficionado, there’s enough influence from the classic ruleset to keep you from griping about various editions and the evils of freestyle play. :roll:

Much of the gameplay follows the style of adom, or for that matter, rogue, hack, nethack, etc. So I won’t bore you with the same points about arrangement or controls. Here are a few points of angband that might interest you, that may or may not appear in other rogue-ish games:

  • You have a house in the surface town, where you can stash your treasures for later. I’ve seen this implemented as a “personal chest” or something like that, in contemporary games.
  • Merchants are at the top level, but so are street urchins and drunken brawlers. So being aboveground doesn’t mean you’re necessarily safe.
  • angband has an SDL-style interface (much like these three did), but you can force it back into ncurses mode with angband -mgcu.
  • There are also versions for OSX, Androids and Windows (none of which I use 8-) ).
  • The angband home page allows you to upload a character dump for ladder rankings. You don’t see that often in an ASCII game.
  • angband classifies monsters and uses characters to specify the group, instead of the individual creature. So a capital C is always a canine, a capital J is always a large(r) snake, and so forth. It makes it easy to see what a monster is, when you’re sneaking up on it.
  • What you see depends on your line of sight, so you can view down long hallways to a room beyond. This, for me, is a huge improvement over the old-fashioned one-square-around-you style of the myopic rogue game. :???:

My favorite point though, is that given enough space, the heads-up display is excellent. In one glimpse, I can see all the monsters within my field of vision, my entire character breakdown, the map and points of interest, my entire inventory and a log of game events. Specific actions (like reading a spellbook) will spawn another menu, which miraculously completes a dialogue without obscuring anything else. Every rogue-like should be so generous.

angband strikes me as a long game, given that there are 99 (?) levels with two “boss” monsters — perhaps appropriately named Sauron and Morgoth. If you start a game of angband, be prepared to work at it for a while.

angband is another 20-year epic of console gaming, and given that it does so well with color, gameplay and additional features, this is another easy decision to make: :star: :D Enjoy!

Tagged: game

Read More

banihstypos: Not a typo


I’m going to call banishtypos a game, because I think, on a primitive level, it does qualify.

2014-10-15-6m47421-banihstypos-01 2014-10-15-6m47421-banihstypos-02

Technically speaking though, it’s intended as a typing tutor, with a smidgin of fun injected.

Words scroll in from the right, across a blinking starfield. At the left side of the screen is a “laser.” You type the letters in the word and gain points. You’re not penalized for errors, but if a word comes into contact with the laser, your total score is reduced.

Over time, the speed of the words increases, and the laser begins to creep to the right. banihstypos keeps track of the number of words you’ve gotten right, the number of words it has in its bank, and of course your total score.

banihstypos has a couple of small shortcomings, which I feel obligated to mention. First, there doesn’t seem to be a consequence to the game — no cataclysmic failure that brings the program to a halt. It’s possible to have a negative score just by walking away from banihstypos for about five minutes, but it doesn’t seem to care. Perhaps there is another ending somewhere, when all the words in English are used up. :

banihstypos allows you to pick a custom word file, but doesn’t have the same dictionary support as gtypist, or for that matter, typespeed. And its degree of difficulty is slow to rise.

The other point is obvious from the screenshots — banihstypos doesn’t seem to notice the dimensions of your screen, which is a disappointment. I’ve only seen one word cross the screen at a time, and the laser moves only infrequently. So what would be the harm in using all the space a terminal offers? :???:

But … banihstypos has nice color, a calm demeanor and an exceptionally patient nature. I think it would be quite enjoyable for small people who are just starting out their keyboard journeys. I give it a thumbs-up, as a decent and vaguely educational “game.” ;)

Tagged: game

Read More