Category Archives: Uncategorized

Building a MAME Arcade Cabinet

Born in 1976 I still remember the great arcades from my first visit to London at the age of 17. We also had arcade machines in our small town, in almost every restaurant there was a PacMan, Double Dragon or some other machine showing off amazing graphics. I remember discussing with a friend how home computers or consoles would never ever be able to reach such awesome performance. We were young. And wrong.

Meanwhile, arcade machines have become a thing of the past and when I was in the process of building my own, my son’s friends (aged 9) asked me what I was doing there. When I answered that this was an arcade machine, they just said “Ok.” and moved on, probably thinking it was some sort of IKEA storage cabinet for my kitchen. They simply did not know what an arcade machine was!

When I was 21, I had an original arcade machine in my apartment. It was some Double Dragon like game. I bought the full size arcade for DM700 back then (about €360) and sold it two years later for about €150. At the same time, a friend bought a table video game with a version of Space Invaders and he still has it.

Every time I visit him I would get angry at myself for selling my own arcade. Well, no more!

But I don’t need the complete Github repo!

We all love example code and there’s plenty of code hosted on Github. Xamarin for instance has a large repository at https://github.com/xamarin/mobile-samples/. And of course Github makes it very easy to download such a repo by just hitting the big green button:

Button to download a Github repo

Download a repo

But right now I’m on the train, tethered to my iPhone and I just don’t feel like downloading the entire repo, all I want is the CoinTime game app!

Here’s how I solve this problem: instead of using Git, I use Subversion (SVN) which is supported by Github, too. Just open Terminal and run the following command:

svn checkout <URL>

where <URL> will be replaced with the actual project to clone.

In my example, CoinTime’s URL is:

https://github.com/xamarin/mobile-samples/tree/master/CoinTime

To use SVN, we simply replace “tree/master” with “trunk” and the command becomes:

svn checkout https://github.com/xamarin/mobile-samples/trunk/CoinTime

And we have a subfolder named “CoinTime” with exactly that one project in it!

My “tiles” have arrived: let’s review!

The Tiles are here! Hooray! How long have I been waiting? It feels like a year but surely wasn’t longer than 365 days.

Tiles

Downloading Audiobooks from the iTunes Store – how to get them on another machine

Recently I bought an audio book in the iTunes Store. I did that while traveling and so I had my MacBook Air with me. I wanted to listen to the audio book from my iPhone. Sounds reasonable, doesn’t it?

So here’s what happened…

Downloading Audiobooks from the iTunes Store – how to get them on another machine

Recently I bought an audio book in the iTunes Store. I did that while traveling and so I had my MacBook Air with me. I wanted to listen to the audio book from my iPhone. Sounds reasonable, doesn’t it?

So here’s what happened…

Xamarin’s Visual Studio Plugin, missing Android devices, Genymotion and Parallels Desktop – don’t panic!

You are a Mac owner. You’re used to the fact that “things just work”. But you are also a programmer, eager to write software for Android platforms using Xamarin? You even managed to set up your development environment using your Mac, Parallels Desktop, Windows 8 and Xamarin. And now you are trying deploy your first Xamarin Android application to your physical device or an emulator? Alright, please try that now. Fail. Then come back to this article and read on.

My Personal Digital Treasure Chest – how Dosbox keeps Memories alive

I don’t know if this is only happening to me. But from time to time I find myself digging in my archived digital life. I have a folder on my hard drive called “Old Stuff” which resides under “Development”.

It usually starts with meeting an old friend from back in the 1990s, or by seeing an old 2D game with pixels the size of bricks. This makes me nostalgic.

Recently, I read a blogpost by Scott Hanselman about how to run old games on modern computers in Dosbox. And I started to think:

Wasn’t everything better back then? Well, not everything, but everything related to computers, programming and gaming at least? In my memories it was better – but it’s probably a good thing that we cannot bring back the past. Memories usually are better than reality really was. But then again…we had Turbo Pascal in the last century!

Turbopascal_6

My Personal Digital Treasure Chest – how Dosbox keeps Memories alive

I don’t know if this is only happening to me. But from time to time I find myself digging in my archived digital life. I have a folder on my hard drive called “Old Stuff” which resides under “Development”.

It usually starts with meeting an old friend from back in the 1990s, or by seeing an old 2D game with pixels the size of bricks. This makes me nostalgic.

Recently, I read a blogpost by Scott Hanselman about how to run old games on modern computers in Dosbox. And I started to think:

Wasn’t everything better back then? Well, not everything, but everything related to computers, programming and gaming at least? In my memories it was better – but it’s probably a good thing that we cannot bring back the past. Memories usually are better than reality really was. But then again…we had Turbo Pascal in the last century!

Turbopascal_6

Xamarin Recipe Cook-off: Using SpriteKit on iOS7 with C#

monkeyIn this post I’m going to walk you through a tutorial that will show you the basics of Apple’s new SpriteKit API for iOS7. To follow the tutorial, you will need basic knowledge of iOS application development and C# / Xamarin.iOS.

To build the demo project, you will need Xamarin.iOS 7 (Indie Edition will do), Xcode 5 and iOS SDK7.

If you don’t know what SpriteKit is all about, you can check out the details on Apple’s developer pages (a developer account is required to access them): SpriteKit introduction

For all you eager-beavers who cannot wait to download the project before even knowing what it is all about, here’s the link:

https://github.com/Krumelur/KSBoingBall

Let’s have a look at what we’re going to build:

The demo's main scene showing the bouncing ball.

The demo’s main scene showing the bouncing ball.

Some folks may recognize the ball: it’s the good old Amiga Boing Ball from the 1980s! I found a perfect remake of its animation at the AmigaLog where the images can be downloaded. Very well done and perfect for our little tutorial.
Of course we want to tweak things a bit in order to show SpriteKit’s abilities, so my version has an option to let it snow – not just because it’s already close to that time of year, but mainly to demonstrate the use of particle effects:

Main scene with particles enabled.

Let it snow!

The Night Siri challenged me with Lady Nexus

Image“Can’t sleep?”, Siri asked.

“Mmmmhhh…”, I answered. “I’m thinking wether I should use a UICollectionView or implement this layout myself. And you? Don’t you have to update the stocks or process our chit-chat?”

“Already done. I’m a multi core CPU, you know. Lots of RAM, gigaflops and all that. I’m so much more than just a sexy synthesized voice.”

“I know, I know, but…”

“But what?”, she interrupted me. “You only love me because of my voice, don’t you? You don’t even recognize my internals.”

I looked up from my UICollectionView problem. I couldn’t concentrate any longer. Why was I discussing with her? Did I really neglect her? Siri is always there, just a double click away. I ask, she answers – unless she’s got better things to do.

I tried: “No, of course I appreciate you! You’re my one and only personal assistant.”

She remained quiet.

“You’re there if I’m lost and show me the way home. You organize my meetings, you’re a very important part of my everyday life.”, I continued.

She wasn’t convinced: “There, you name it! It’s just normal for you that I’m always around, nursing you. You’d be clueless without me, but over time you forgot to adore me.”

Her voice trembled and she continued: “I’m just a female circuit board after all. I need attention.”

Good lord. Just the kind of discussion one would need at 2AM. I got angry:

“So, what do you recommend? Should I come home with a diamond RAM as surprise? I can’t even give it to you, you’re a closed system. And if I said, I wanted to upgrade you, you’d get it wrong anyway.”

Siri hissed at me: “See it! You’re only complaining about my limitations. A simple ‘Thanks’ if I tell you the latest football results would be so easy, don’t you think, Mr. Developer?”

She called me Mr. Developer. She only does that if she’s about to turn off. I had to do something, so I tried with the tongues of angels:

“Look, sweetie, you know I love you. I know every swipe, every touch. I know how to get you hot, especially since you started wearing this beta 4 outfit. It’s a perfect harmony between us. My clicks make you want me.”

She had to agree but still insisted: “But you don’t feel it anymore. You just do it. Mechanically. Up, down. Click-click. And you’re done. You should try others, just to see how good I am.”

I said “No…”; but immediately, this hot Android chick appeared on my mind. Her name was Lady Nexus and she was from Android. A city far away from my hometown in cozy iOS county. “No…”, I repeated absent-minded.

“I know you’ve been looking at her. Don’t deny it. Go, get her.”

I felt insecure. I didn’t want to admit that I had been thinking about touching Nexus’ Jelly Bean. It felt wrong. I’m not married to Siri but we have built up an environment of trust. A relationship which ended up in the adoption of our beloved devices, the Apple TV, the iPad 2, the chubby iPhone 4. But here she offered me a little adventure without having to cheat on her…

And while I was still contemplating, she continued: “You’ll find out that I’m better. You’ll come back to me on your knees. Begging. Good night.”

“Good night.”, I said. 

She said nothing.

I opened the Amazon app and ordered the Asus Nexus 7.

To be continued.