Desura Open Sourced
January 21, 2012 at 01:00 PM | categories: Gaming, Planet Ubuntu | View CommentsI've written about Desura on Linux before; it's a great game platform for both Windows and Linux. As of this morning, the client has been open-sourced and is available on GitHub as Desurium.
The license for the project is GPLv3, with an Apache-style contributor agreement for Desura to use in their main releases. The Windows counterparts appear to be included in the open-sourcing as well. It's exciting to see where this will lead.
The reasons for the copyright agreement are explained by Protektor from Desura:
Everything was pulled as much as possible from how other Open Source projects do things.
We aren't trying to trick anyone or rip anyone off of their code. We just need certain things because we know situations are going to come up where we need the ability to do thing a bit differently because of how we do things.
For the Open Source version that is a given that they go into the contributors file, but seems like a major hassle for game devs to have to figure out who to include and who not to include based on what parts of the client they might want to use.
Additionally, the default build is stripped of Desura branding, as is done with many other trademarked and open-source projects.
Join #desura on freenode to chat with some of the developers and get involved. Anyone up for packaging? :)
Programming, Projects, and Packaging Problems
October 02, 2011 at 02:00 PM | categories: jobs-admin, Commandeer, Programming, Planet Ubuntu, Ubuntu, jobservice, Mound Data Manager | View CommentsIt's time for some long-overdue updates on some software projects of mine. I'm posting this not only to show some things I've got planned, but also to motivate myself to do something about them. When something is written down and shared, I'm much more likely to get things done, I've found. So this is going to be a bit of a braindump, but read on if you're interested.
Project Hosting
First, I want to get this out of the way. I can't stand Launchpad. I'm sure it works great for many, many people (I hear this distribution called Ubuntu uses it) but there are far too many small things that prevent me from developing effectively with it. Project pages are a bit of a mess, code hosting is definitely a bit more convoluted that it should be, and releasing software becomes a burden rather than something exciting. Additionally, it only supports Bazaar, which is a decent DVCS, but I'm more of a Git fan. (Launchpad developers, please don't take this as blatant criticism, but see it as a challenge against the other offerings out there!)
So, I'm migrating my projects to GitHub. There are quite a few things that I really like about GitHub. For one, it's really easy to release software versions. Just tag a revision. Done. It will show up in the Downloads section, can have reports attached to it, and is all around easy to use. One thing I will miss from Launchpad, however, is bug reporting. Launchpad has the most complete bug and issue tracking around, though GitHub is certainly making some strides in that area.
Packaging
I'm not going to lie: I despise Debian packaging. It's just not my thing. There are too many variables to keep track of, too many subtleties, and too much politics. I'm sure some people love to dissect and create packages to distrubute the software we use, and I salute you.
It's getting to the point where I dread releasing a bugfix update, because I have to package it. And then it needs to go through a review process to make it into various software archives. That's fine; you want your processes to keep your archives of high quality. But it just takes too much time. When I was working on jobs-admin and jobservice last summer, I had to set aside a day practically every week to fix packaging quirks and go through archive processes. It's mundane, and I'd much rather be working on software itself than the logistics of distribution.
Not to say that I don't respect a typical software release process. I just dislike packaging specifically. If anyone has some words of wisdom on this, I'd love to hear it.
Projects
Enough of that, here are status reports on the software projects I've been working on:
jobservice and jobs-admin
These two have been suffering the worst from the packaging problem. Maverick, Natty, and soon Oneiric will all have jobservice/jobs-admin 0.8.0. Unfortunately, there was an API change in Natty's Upstart + DBus that causes Upstart jobs to not work in either of those. I've got the fix as 0.8.1 on GitHub, but have been unable to find an ample amount of time to get the packaging done.
And I feel really bad about this. That's why I'm writing this post; to convince myself to do something about it. jobservice and jobs-admin have had some sizable changes for a version 0.9 (to-be 1.0), but there are some things I still want to get done:
- Recovery mode functionality (it doesn't work 100% at the moment)
- Cleaned up settings interface
- Complete Upstart support: it works in 0.8.1, but doesn't use override files
- systemd support -- I want to make this largely distro-independent
- GitHub migration
- An actual support/project website
- Independent packaging repository (maybe)
- More complete SLS files for newer system services
Once I'm at a point where things are fairly stable, I'll release 0.9 and then 1.0 after testing.
Mound Data Manager
For those who are unaware, this is an older project of mine. "Mound Data Manager is a tool that can manage data in the context of other applications. You can take snapshots, delete, and move data from many of your favorite applications."
Someone bugged me about this on IRC last night. As far as I know it's in a working state, but I'm going to open this up today and see what can be improved. Tentative list of goals:
- More application support
- Configurable snapshot storage (Ubuntu One, maybe)
- Triggerable snapshots over DBus
- GitHub migration
Commandeer
Another older project: "Commandeer allows you to run a command and lock the desktop for the duration of the command. It is useful for technical support situations or remote backup where you do not want the end user doing anything while the command is running."
This one worked right out of the box when I downloaded it, and there's not a whole lot to be done with it. Unity seems to interfere with the locking mechanism, so maybe I'll look into that. And there's the GitHub migration.
End
There you have it: goals. If you notice I'm not making good progress on any of these, feel free to send me an email or ping. It'll help me Get Things Done™.
Your Move, Valve
September 24, 2011 at 09:50 PM | categories: Gaming, Random, Planet Ubuntu | View CommentsRemember a year back when those Linux Steam builds leaked, everyone went crazy, and then nothing happened? Yeah. Well, it's happening again, except this time with Desura, and the Linux client actually exists:
You can browse, buy, download, and play games. Any games that you've previously bought for Windows will show up here if there is a Linux version available as well. For games that support it, you're even given a choice to download a 32-bit or 64-bit version. I don't see why it shouldn't just always use the target architecture if available, but choice is nice.
Overall it runs well, sits in the tray when idle or downloading, and (somewhat) integrates with Unity (i.e., it adds an exception for itself in the tray :-P). It does have some trouble with the Unity launcher though, and spawns multiple icons if you try to pin it. The download is a single binary that bootstraps the rest of the installation into a desura folder. Additionally, the client auto-updates, so it's not very suitable for packaging. Hopefully the Desura team is open to making it available as a system package later on.
Currently the Linux build of Desura is in closed beta, but if you want to join, sign up and request to be added to the Desura group.
Something Almost Completely Different
While we're on the topic of Linux games, check out Spiral Knights. It's a free-to-play online action RPG that can launch from your browser or be downloaded. I've been quite addicted to its simple nature and the fact that you can pick it up, play for a few minutes, and stop easily.
The game runs with a few tiny quirks on Linux (fullscreen sometimes doesn't work, and same Unity launcher bug as with Desura) but otherwise it's just as playable as its Windows counterpart. It's running with a little modification that I made to force anti-aliasing on NVIDIA cards: see this gist for a launcher replacement you can use.
Steam note: If you want to play Spiral Knights on Linux and Steam with the same account, do NOT convert to a Steam account, otherwise you will be unable to login on Linux. I made that mistake when initially starting the game, and now I'm in touch with support to try to reverse that.
Also, Legos
And of course, there's Minecraft, which is running better than ever with 1.8 and the 1.9 pre-release. Not much else needs to be said here, I'm pretty sure everyone reading this knows of the game. And if you don't, well... go try it.
Chrome OS discoveries
December 14, 2010 at 06:31 PM | categories: Chrome, Random, Planet Ubuntu | View CommentsAll right, so I've had a chance to play around with things on this Cr-48 Chrome OS notebook, and have discovered some interesting details and features.
There is an ambient light sensor to the right of the camera. I noticed this the other day as I was moving the notebook around and the screen was changing brightness. The screen dims when the room is dark and vice-versa. I'm easily amused.
I found and flipped the developer switch under the black tape and battery. (Warning: this erases your data partition, but you're "in the cloud" anyway so it shouldn't matter a whole lot.) Now whenever booting up I'm greeted with a "sadface" blue notebook saying that verification is turned off, and have to press Ctrl-D to skip it -- but for the benefits I think that's a minor annoyance. Developer mode lets you use the terminal and grants root access; no need to "root" the device via some hack or security issue.
Speaking of partitions, it has twelve! The first is the "state" partition that stores all of your local data. Interesting to note is that all of your Chrome data (history, passwords, etc) is encrypted with eCryptfs and is mounted on login, so if someone were to steal your notebook you'd still be safe.
The next six partitions are copies of the OS. Partitions 2, 4, and 6 contain boot kernels, and 3, 5, and 7 contain the OS data itself. This is to safeguard against a failed software update; the bootloader will detect when one parition fails to boot and should (if I'm reading this right) fail over to the next. This also allows you to install a custom OS on the third set of partitions: see the Chromium documentation for information on how to install Ubuntu.
Partition 8 is marked "OEM," and I'm not entirely sure if it's even used on this model. 9, 10, and 11 are all "reserved", and 12 is the EFI system partition.
I think I'll keep this in developer mode for a while and see if there's anything else interesting to uncover. It can be a pain to switch back and forth since on first dev-mode boot you have to wait 5 minutes for it to erase your user data, but that's a safe precaution.
I have one!
December 10, 2010 at 12:39 AM | categories: Chrome, Random, Planet Ubuntu | View CommentsA few days ago, I ordered a book for my classes next quarter on Amazon. Came back home today thinking that it might have arrived, and found a package on my doorstep. I quickly opened it up to make sure it was the right book, and, wait... what is that?
Well, that's some interesting packaging... let's see if the book is still in there... wait... WHAT?
Oh my. That's one of those fancy Cr-48 "Pilot" notebooks. On my doorstep. And in my hands.
A little backstory: a few days ago, I noticed a small banner on the top of Chromium, asking if I wanted to help test out Chrome OS. "Sure," I thought, "why not." Filled out a quick developer application and submitted, not thinking much of it. Never did I believe I'd actually have one in my hands.
Let's dive in. Here's the small info sheet:
Fun fact: this thing comes with 2 years of free data on Verizon, up to 100 MB per month. I just had to create an account and on it went. I think that's pretty damn sweet.
Quite a snazzy boot screen. It takes only a few seconds for it to turn on cold. The thing is rumored to be able to idle for a week. I've left it idle for quite some time already, and I still haven't even charged it.
Here's the sign-in, which uses your Google account, or allows Guest mode, which is basically Incognito.
And here's that keyboard that is causing Internet flamewars:
Beautiful, in my opinion. No caps lock, and the F-keys have been re-purposed for a netbook.
Finally, here's the main screen. It's Chrome, with some applications pre-installed. The moment I first signed in, I was automatically connected with Gmail, Talk, and a plethora of other services, all which can be managed on this home screen. Interesting thing to note is that the Settings dialog on Chrome/Chromium is a set of webpages here, with some OS settings added in.
I loved this line in the safety card: "This product contains small parts, which may present a choking hazard to small children, as well as men who have not emotionally matured."
All in all, this is a pretty sweet setup. I've found and reported a few bugs already, but my experience has been great. Huge props to Google for getting one of these sent out less than 48 hours after I filled out the form. Heck, thanks Google for sending one, period. You've got me hooked.
(Aside: I'm going to be switching around blogging engines here, so there may be some broken links every now and then. I apologize in advance.)
Next Page »






