Mupen64plus with ds4drv

I just configured the Nintendo 64 emulator Mupen64plus to use my PS4 controller. I’m running Ubuntu 14.10 and installed Mupen through the package manager and ds4drv with pip:

sudo apt-get install mupen64plus
sudo pip install ds4drv

Then I added the following lines to /usr/share/games/mupen64plus/InputAutoCfg.ini

[Sony Computer Entertainment Wireless Controller]
plugged = True
plugin = 2
mouse = False
AnalogDeadzone = 4096,4096
AnalogPeak = 32767,32767
DPad R = hat(0 Right)
DPad L = hat(0 Left)
DPad D = hat(0 Down)
DPad U = hat(0 Up)
Start = button(9)
Z Trig = button(6)
B Button = button(0)
A Button = button(1)
C Button R = axis(2+)
C Button L = axis(2-)
C Button D = axis(5+)
C Button U = axis(5-)
R Trig = button(5)
L Trig = button(4)
Mempack switch =
Rumblepak switch =
X Axis = axis(0-, 0+)
Y Axis = axis(1-, 1+)

This maps the Dualshock D-pad to the N64 D-pad, the left joystick to the N64 joystick, right joystick to the C buttons, X is the A button and square is the B button, shoulder buttons are L1 and R1, Z button is L2 and Start is the Options button.

Humble beginnings

What a failure, already two weeks late for my second post. I still plan on biweeky updates though.

Since last time I’ve managed to get some actual work done! This mostly involves programming, which I was able to start doing after deciding that I should rather just use the technology I know and get things going instead of investigating all possible options and trying to choose the best one. Well, not all options, but I was toying with the idea of using Flask with SQLAlchemy for the backend. This combination actually still interests me and I’m sure I’ll take a spin on that combo sometime in the future. Current me, however, wants to code and that means returning to my beloved Django.

I’m planning on finishing version 0.1 with the barest minimum of features sooner rather than later. That includes signing in, uploading pictures and listing your previous uploads. If that doesn’t convince you of dropping your current photo album apps keep in mind that humble beginnings can lead to great victories :) I’m using Bootstrap for the front end and it’s currently pretty bland. I plan on spicing up the UI later down the line, but first things first – and that means tagging and sharing pictures!

I’m going to try to design it to be as modular as possible so there will be one Django app that takes care of the uploads and then there will be other apps that register for processing certain file types. This means that I’ll use one app to process and display images and another one to handle videos. This opens up the possibility to add support for more file types down the line, so you could browse your PDFs, spreadsheets and even game saves. The possibilities are endless!

Oh, yeah, I decided to call it Photosoup.

Yet Another Photo Album App

I’m going to create a photo album web app. This has been done countless times before and I’ll probably never reach the perfection I strive for. However, there are a few things that have been nagging me about my digital photo life lately and I feel I have to do something about that. And me being a programmer “doing something about it” means “code until I’m happy”.

The things that bug me the most with my current setup are the following:

  • I don’t want to order my photos in albums. I want to tag them and browse them by tags and dates. This allows for a very nice search where I could search for e.g. me and my son on summer vacation and see a photostream of all our summer vacations. I could then also share all photos with a certain tag with a certain person, e.g. pictures of my nephew and nieces would automatically be accessible by my sister.
  • I don’t like proprietary software. I’ve slowly been turning in to a free software purist and I don’t like the idea of a proprietary service holding my data without me knowing what happens to it. I want to be able to host this solution myself and choose where and how I store my data. I also want this freedom for other people and therefore I will develop this app in the open and share the code with the world.

I have just started looking into which frameworks I’d like to use and how I’d like to architect my app and will write more about that in the coming weeks. The idea is to have bi-weekly writeup of my progress. Hopefully I’ll always be able to deliver, however small my achievements will be. I guess we’ll see how this all turns out.

Now I just have to finish the hardest part: pick a name.