RSSAmplifier

Blog

librador.com

Martin Vilcans about stuff that may be interesting

librador.comRSS feed ↗158 posts

Latest posts

Rust crates I used for Advent of Code 2023

It's that time of the year when it's time to look back and think about how you did on this year's Advent of Code .

Rust/C# hybrid in game project

In a game project we're working on, we're using Rust for core game logic, together with Unity and C# for the visuals and user interaction.

Alt Cure - a demo for Amiga 500

Our demo group Five Finger Punch released the demo Alt Cure for the Amiga 500.

Programming a VR game using Rust

I was interviewed on Resolution Games' web page about Programming a VR game using Rust .

Demeo launch trailer

My game for ZX Spectrum 48 for Ludum Dare 48

I made a game for ZX Spectrum 48 for the Ludum Dare 48 competition: Crown of the Mountain King .

Whale Dive - a game for Atari 2600

I made this game for the Ludum Dare 46 competition: Whale Dive .

Legally Dead - my game for Ludum Dare 45

I made this game for the Ludum Dare 45 competition: Legally Dead .

Playing the game I made as a kid in the 80's: Ninja - You Must Kill

Interview about 2018 AD - our demo for Laser 200

Me and Morbid were interviewed by Jason Oakley about the demo Five Finger Punch made for Laser 200 which has been found now by VZ200 enthusiasts.

2018 AD - a demo for Laser 200 (and VZ200)

I found a Laser 200 at Retrogathering and thought that little computer looked cute. Naturally I wanted to code something for it, so we in Five Finger Punch created this demo.

Rhythm Rogue - my game for Ludum Dare 41

I made this game for the Ludum Dare 41 competition: Rhythm Rogue .

I'm Driving My Truck - my game for Ludum Dare 40

I made this game for the Ludum Dare 40 competition: I'm Driving My Truck .

What we learned creating some of the most downloaded mobile VR games

Me trying to explain how we at Resolution Games create VR games at VR Connects London 2017.

Video Games Are My Life - my game for Ludum Dare 37

If you're locked up in a room with no console, how do you play your favorite genre - a platform game?

Euclid Geomorph - my game for Ludum Dare 35

Meet Euclid Geomorph, an ordinary geometric figure trying to get by in a stressful world. Some say he is square. Other know his rounded personality (he is an excellent jumper). Few know that he can be sharp and destructive. In this mood, he can smash and destroy anything not made of metal.

Unintended acceleration - my game for Ludum Dare 34

Oh no! The accelerator on my car is stuck! I can only control it by turning. I can choose whether I'll just make the car stop and save myself, or I can choose to finish my job of collecting 40 orange cones. One small success, or a huge accomplishment!

The Path of Least Resentment - my game for Ludum Dare 32

I made this game for the Ludum Dare 32 competition: The Path of Least Resentment .

Virtual reality tricks: Asynchronous timewarp and late latching

Last week's Game Developers Conference was very much about VR. It looks like the timing of our new startup Resolution Games is perfect.

Why I switched from Sublime to Vim

I have been looking for the perfect text editor for quite some time. I've been pretty happy with Sublime for a few years, but it's not free/open source and doesn't work over ssh.

Book review: The ZX Spectrum ULA: How to Design a Microcomputer

This book was my summer reading.

Joining Dramatify

So, I'm in a startup again.

Does anyone use RSS/Atom?

Are you reading this in a feed reader? Maybe you're the only one.

Variable scope in list comprehension vs. generator expression

I just got bitten by a subtle difference between Python's list comprehensions and generator expressions. First let me explain what those are, in case you haven't heard those terms before. This is a list comprehension : [a * 2 for a in (1, 2, 3)] This means, create a list where for every item a in the sequence (1, 2, 3), the corresponding value will be a * 2 . So when you run this,…

Class diagrams as notes to self

Cleaning out my desk at my last day at Goo Technologies , I found some notes about how Amazon's overly complex CloudFormation format is constructed. Normally, I think this is where UML (-like) diagrams belong; scribbled on paper or a whiteboard to explain and clarify. Though, in this case I may have appreciated an offical diagram to quickly get an overview of how all these classes fit…

Configure Lenovo Thinkpad X240 trackpad in Linux Mint

I recently got a new laptop, and (as usual) it was a Lenovo Thinkpad. This time I wanted an Ultrabook, so I chose the X240. I'm a fan of the red pointing stick of Thinkpads as it allows me to move the mouse without moving my hands from the keyboard. Unfortunately, on the X240 there are no physical mouse buttons, except that the whole trackpad serves as one big pushbutton. After installing…

Avoid pull/merge mess in Git

Git's default behaviour when running the pull command is to merge the remote branch into the tracking branch. This gives a lot of merge commits in the history that provide no information and just clutter the history. Here's an example of what I found in a repository: You can change this behaviour by adding the --rebase flag to git pull : git pull --rebase This rebases the tracking branch…

Arduino + motor + solenoid + piezo = music

My first experiment with an Arduino, made at the Instrumenthack day at Plan 8 in Stockholm. The Arduino controls a motor, a solenoid and a piezo to create percussion and a melody. Arduino + motor + solenoid + piezo = music from Martin Vilcans on Vimeo .

Not one of those posts

You know when you visit a web site, and on the front page the latest news item goes something like, "I'm sorry there have been no updates here lately. I have been busy with real life, but I promise I'll post more frequently in the future." Posted in 2009. This is not one of those posts. But it's been a while. I have been busy. Here's a summary of the updates: I started my own…

Initializr cleanup

If you have used the code from Initializr , you may have noticed that some of the files have DOS-style line endings (CR+LF) instead of Unix-style line endings (LF). See the Initializr bug report All output files should have Unix-style line-endings . This is annoying to no end because once you notice it, you may already have committed and made changes to the code. Changing the code then may cause…

Creating an interactive CV

After having worked with software and web development for a number of years, it becomes difficult to write a good CV if you have worked on several projects, at several companies and with several technologies. As a CV shouldn't be longer than a couple of pages, you have to cut down on the information. In my traditional ( PDF CV ), I chose to keep most of the projects I've worked on, but I…

Prioritizing Screenplain features

I got an email with the question when I'm going to implement the following features in Screenplain. ( Screenplain is a utility I made for converting a movie screenplay from a simple text file to a good looking format.) Output as text and PDF Title page output Notes My current plans are as follows: Notes will be the first one I'll implement, as that is required to support Fountain…

No, that's not why OO sucks

EDIT April 22nd, 2019: After learning of Joe Armstrong's passing I came to think of this post again. According to some of the comments below, Armstrong's original post, already old when I wrote this, is not representative of the quality of his work. It would be a shame if it made the rounds in Twitter, Hacker News, and Reddit again. Many programmers are fed up with dogmatic application…

Ludum Dare 23 postmortem

Last weekend, I took part in the the 48 hour online game competition Ludum Dare . The result of the theme voting was announced at 3 a.m. Saturday morning (Swedish time). I spent the morning without working on the game, but thinking a little about the theme, which was tiny world . My first idea, and the one I went for, was a cross between two old games: Ports of Call and Elite. Ports of Call…

I'm in Ludum Dare 23

I'll be competing in the 10 year anniversary of the online game competition Ludum Date . This will be my first time in that competition, but as you surely remember, I took part in another rapid game development competition a while back. Oh, it was six years ago... Time flies. Anyway: I've posted a bit about what technology I'll use for this competition at the Ludum Date site.

Screenplain towards 1.0

Screenplain is a utility I made for converting a movie screenplay from a simple text file to a good looking format. Since my previous post SPMD, Screenplain and Marked , the specification of the text format has changed somewhat since screenwriter John August joined the collaborative effort of creating a simple text format for screenplays. It also has changed its name from Screenplay Markdown to…

So much better: Fincher's The Girl with the Dragon Tattoo

In a previous rant I posed the question, "What is wrong with The Girl with the Dragon Tattoo" (the Swedish version, directed by Niels Arden Oplev) and proceeded with trying to figure out why I didn't care very much for this successful film. I was pretty sure that David Fincher's re-adaptation of the novel would be better. And boy, was I right. I love it when that happens. (Although…

SPMD, Screenplain and Marked

It's about time I tell you about one project that I've been working on from time to time for the last months. It's called Screenplain, and its purpose in life is to take an input file in a simple text format and output a properly formatted screenplay. Screenplain can create files in HTML and FDX format (a file format used by Final Draft, which is commonly used in the film industry),…

Usability and terminology in Git

"A rose by any other name would smell just as sweet." True, but in usability you shouldn't get too poetic with what you call things. It's easier to grasp concepts in a piece of software if it is consistent in what words it uses to describe them. One piece of software that is notoriously bad at consistent wording is Git. Being new to version control using Git can be confusing. There are…

How to run Django without a database

Django is an all-in one solution for building interactive web sites. It's very good for a typical setup with a web server and a database. But what if you don't need a database, for example if you get all the data through external services? Or if you're using Django with a NoSQL database, not using Django's built-in support for data models? It is possible to run Django without…

My most popular posts

Statistics is more interesting than you might think, at least when it is about things that affect you. I have been using Google Analytics on this site since April 2007, so I have gathered some data about what posts visitors read, what keywords they used to find it, where they are from and what browser they are using. Sometimes the statistics surprise you. Here's the list of my most popular…

Stockholm Python User Group

Less than a month ago I was looking for a Python user group in Stockholm, without finding any. One week ago, the local Django group changed its name to Stockholm Python User Group , which made my day. I didn't know that they were more like a Python group anyway. Yesterday's meetup, which was the first I attended, was informal and spawned some interesting discussions. This post is my…

Higher frame rates in upcoming blockbusters

It's not just me any more. Prominent people in the movie industry are proposing higher frame rates for movies. Peter Jackson is shooting The Hobbit at 48 fps and James Cameron considers 48 or 60 fps . Critics say that film has been viewed at 24 fps for 90 years and it has worked just fine. True, but why not aim for better image quality? Filmmakers have done that since the medium was invented.…

New job at Wussap

Yesterday was the last day of my paternity leave. I'm not going back to HiQ , which is a bit sad since I have had a bunch of great colleagues there. But I have a good reason. My new job is as the CTO of the web startup Wussap . I love being in charge of software development with a small and focused team, so I couldn't say no to this opportunity. I think we'll be able to release a…

What is wrong with The Girl with the Dragon Tattoo

I must be wrong. The 2009 film The Girl with the Dragon Tattoo (Swedish: Män som hatar kvinnor ) was a box-office smash hit both in its native Sweden and abroad. Not only has it been popular among the audience, but it has received plenty of good reviews and awards. The book upon which it is based will be adapted again by no-one less than David Fincher. So I must be wrong when I thought The Girl…

Dangers of SVG and the img tag

At this week's meeting at OWASP Sweden , security researcher Mario Heiderich held a presentation about the security implications of SVG support in modern web browsers. SVG (Scalable Vector Graphics) is based on XML and is typically considered an image format, just like JPEG or PNG, only that it is based on vector graphics instead of bitmaps. But there is a big difference: SVG files can…

Media center's standby power consumption

I wrote previously about my computer system's power consumption in standby mode , where I noted that my computer and peripherals used 13.5 watts when it was switched "off". Next, I tested on our media center (which is just a fancy name for our TV and its connected devices). Here are the results: Device Switched On In Standby 46" plasma TV 200 W 0.5 W Cable box 10 W 8 W Stereo amplifier…

Git vs Mercurial presentation

Here's the presentation that I and Johan Maasing held at yesterday's Google Technology User Group Stockholm meeting. It's a brief comparison of the Git and Mercurial version control systems. I guess it won't give you much unless you a) understand Swedish and b) attended the talk, as most of the interesting parts were in the whiteboard presentation and the interaction with the…

Computer's standby power consumption

I guess you know that many electronic devices aren't really switched off when you switch them off. Sometimes this is convenient. It is easier to switch on the TV with the remote than pressing a button on the set. This requires the device to be in standby mode to be able to receive the signal. The problem is that standby mode consumes power. Even many devices that you switch on with a physical…

Alex Ferrari's Red Princess Blues

I received a copy of Alex Ferrari's new short film Red Princess Blues in the mail. Yes, snail mail still exists, and it is a good way to get someone's attention. As I prefer watching movies on the TV instead of the computer, I'm thankful for that. So what can I say about the film? Well, there are two kinds of short films: the ones that use the short format to tell an interesting…