I was once somewhat active in demoscene. I wasn’t very good at what I did, but I enjoyed the events and spending time on it and hanging out with likeminded people. I haven’t done it a lot recently; I miss it.
As part of that. we once had a project called scene.ee, where we tried to cultivate a bit of demoscene culture in Estonia(n). We had some events and found some people, but it never really picked up to an extent that I’d call it success. As of a while ago, scene.ee project and site are dead.
There was one piece of scene.ee that was of interest to a broader audience. We somehow managed to collect and host a bunch of Elwood MP3’s. Apparently these weren’t published much anywhere and we just got to host them, to the extent that Wikipedia linked to us about these.
When scene.ee went down, Elwood MP3’s went down too. I felt bad for it. It’s part of demoscene legacy that I helped preserve, and should keep doing so and not just let it go offline. So, Elwood MP3-s have a new home here.
How cool is this?
Max Payne, the very first original version, is one of the best single-person shooter games I’ve played. Max Payne 2 was fine too, but I missed the original, haven’t played it for years. So tonight, I figured I see what are my options to get to play it in OS X.
There was a box version released for OS X and some people sell it on eBay, but I was too impatient to wait for shipping and didn’t want to pay $20-$30. Didn’t want to torrent it either. So what are my legal options?
Turns out Windows has this digital game distribution service, Games for Windows. Assuming you already have VirtualBox set up which I think is one of the best virtualization options these days, you just log in there and buy the original Max Payne for $10.
… or so I thought. Turns out my VirtualBox drive did not have enough space and I needed to resize it first. I found crazy instructions that involved all sorts of weird hard disk cloning options that I did not like. So finally I found these instructions that got the job very nicely done for me.
Ok cool. So now we have Windows and VirtualBox running and we can buy and download Max Payne. Now, when you install and run it, it probably fails with “This game requires DirectX 8 drivers.” What the what?
VirtualBox supports Direct3D, but it’s not turned on by default. To do this, you need to go through a few tricks.
First, shut down your virtual machine and turn on 3d support in the virtual machine configuration.
Next, boot Windows in SAFE MODE and install VirtualBox guest additions. Make sure you enable “Direct3D support (experimental)” when installing. You can seemingly do this in normal mode, but apparently VirtualBox overwrites some Windows 3D drivers in a way that only works in safe mode. So, just do the install in safe mode and reboot.
Great. Now I could start the game. Ahh I missed you Max Payne. Haven’t played it for like 6 or 7 years.
The final problem I ran into was that mouse tracking was too fast in the game and Max was spinning around like crazy. Apparently, this is because of mouse integration between OS X and Windows. So, for the duration of your gameplay, just disable the mouse integration. Click on the mouse icon in VirtualBox status bar and disable it, and you can enable it again later.
Max Payne is an old enough game that the performance is adequate even on my Macbook with full graphics settings.
Great stuff. I am looking forward to several wasted gaming nights.
In January, I released the no-bullshit Twitter-OAuth protocol writeup and the associated example app.
The project has been in need of an update for a long time. Back then, I didn’t really know that well what I was doing, and I had yet to use the code in a real product. I’ve since used it in Crème and it’s been fairly well battle-tested, but it also became apparent that the example needs to be restructured. I’m glad many people have found it useful as you can see from comments on those posts, and I’ve also gotten some questions about how to do some things that are unclear, such as GET requests. These are now much more clear in the example.
I am in the process of converting my virtualization over from Parallels to VirtualBox. I don’t play games or use any other Parallels’ advanced features, and VirtualBox seems to do the trick just fine for me, and feels more future-proof plus no money for updates.
I’m running a Mac OS X host system, and Windows XP as guest. One device class that has always been trouble in virtualization is USB smart card readers, which I need for Estonian ID card. Sometimes the host system hijacks the device, or the guest needs a reboot to recognize it, or what not.
So I searched around and found a solution mentioned in VirtualBox bugtracker that did the trick for me. It is important you follow it precisely with all the device connections etc. I didn’t know about VirtualBox USB device filters before today, but apparently they are necessary to let VirtualBox grab access to the device.
Connect the device to the host system.
Start VirtualBox, but not the VM.
Add a USB filter for the device to the VM (required only once).
Disconnect the device from the host system.
Start the VM.
Connect the device to the host system once the VM is running.
I played a bit with CSS3 transitions today, just to understand the basics. And after getting into the more complex territory of transitioning multiple properties, I came across some strange syntax and language design that I think is counter to the spirit of CSS.
But let’s not get ahead of ourselves.
I haven’t posted anything here for a while. One reason for that is that I treat my life as a journey. There are twists and turns along the journey, as with any other journey. I can share some of those twists very soon.
Crème’s three goals
One thing that I continue to work on, though, is Crème. I started the project with three goals. One of them was to learn about iPhone OS engineering, which in my view is one of the two winning mobile platforms. (Android is the other one. The rest are blah. If you are working on a mobile platform today that is not iPhone OS or Android, make sure your resume is lined up and ready to go.)
I wasn’t really going to buy an iPad until the wifi+3G+gps version becomes available later in April. But then, someone asked me to pick up the wifi device and let me play with it for a few hours until I ship it to them. What a nice idea ![]()
Buying experience
I was expecting much worse, but I could just walk in to NYC SOHO Apple store and buy it. I had no reservation, no registration, no nothing. There was no line, no hassle, even though there were lots of people buying the device or just playing with the demo units.
A few weeks back, I was searching for closed beta testers. The app was fairly well developed by then, but the beta was immensely useful in clarifying some interaction approaches and ironing out the final bugs.
The app is now done and has been submitted to the app store. So, say hello to Crème, the new iPhone Twitter app. See more info at cremeapp.com.
There’s so much more to post. I’m really happy that the project is done now, I think it came out quite well. But, of course, a lot of the features are missing still, and I’m already planning next versions.
For now, you can check out cremeapp.com for some nice screenshots and feature overview, and follow @cremeapp to hear more about when it will be available on the App Store.
[ Update: wow, I got great response. So, if you haven’t responded already, then… you may still contact me, but I may add you in a later round. Or just direct you to the app store for the complete version soon.
Thanks to all who have responded thus far. ]
For some nights and weekends, I’ve been working on a yet unnamed/unbranded iPhone Twitter client app. I’ve looked at all the existing ones and I think I have some new things to contribute to the scene in terms of the UI, interaction and the overall experience.
I’m now starting a closed/private beta. To join, you need to have an iPhone (vanilla and jailbroken are both fine) and use Twitter at any level. You also need to have some imagination and patience because parts of the software are still broken or need some work. But, the app is not just a raw piece of rock any more. You can see the outline of the final thing, it’s starting to shape up and just needs lots of sandpaper—and your help, both in terms of technical testing and UI/interaction feedback. The goals of the test are to get to a good place with the technical quality of the app, and make sure the interaction is solid.
If you’re interested, contact me through some private channel (email, Skype chat) this weekend (Feb 13-14… happy Valentine
) to get set up. We’re going to use Google Wave (remember? Wave? Not Buzz. Wave.) as the collaboration tool. If you haven’t used Wave before, it will be an interesting experience from that perspective too.
Your main benefit will be participating in the test with me and a fun bunch of other people, and witnessing the app coming together. The final app will sell for a few dollars, and all the testers will get it for free. There’s no other material compensation. The beer, though, will be on me the next time we meet.
UPDATE: a newer version of this post/app is now available.
As a companion to my post on how OAuth works with Twitter, I thought I’d write another OAuth client for my own needs. There are several OAuth Objective-C libraries out there, and I am using some code from one of them, OAuthConsumer. But I did not like that the libraries overload existing classes like NSURL or some Twitter libraries. I like to put my app together of fairly loosely coupled pieces, and the OAuth piece should only do OAuth, and not much else. So, I wrote my own.





Eesti keeles