For those who don’t know me, I don’t like cell phones for a variety of reasons… but I do want a pocket computer, so I picked up what is essentially a pocket laptop made of cellphone parts named the OpenPandora.
Like normal-sized laptops, this nifty little device has a bunch of LEDs for indicating whether the WiFi is on, whether the battery is charging, and so on. Unlike many laptops, it was pretty easy to find documentation on how to control them in software.
For any other OpenPandora users who might be interested, here’s a little demo and helper library which makes the left bank of LEDs behave like KITT‘s scanner (without fading) while the charging indicator blinks.
I didn’t demo the partial brightness support on the power and charging LEDs but the helper library supports it.
The module docstring includes a few suggestions for where to go from here if you want to try something a little more challenging.
In May 2011, new legislation was passed in the EU (directive 2009/136/EC) which was intended to require opt-in for tracking cookies. It comes into effect on May 26, 2012. Next Saturday.
What’s worse is that it probably won’t even work. Experience with technologies like ActiveX and Windows UAC has shown that people just learn to click “Accept” without reading when constantly bombarded. Even if they don’t nag, the EFF’s Panopticlick has already demonstrated that, with an IP address and a fingerprint of a user’s browser headers, you can track individual users pretty well unless they’re all behind the same NAT and on the same IT deployment image.
A solitary 1×1-pixel transparent GIF from a 3rd-party server is a blatant violation of any privacy laws you might care to craft, but what about a reCAPTCHA? …or a Google Font Library embed? …or that copy of jQuery everyone seems to load off Google these days? Every request for one of those leaks your current location via the Referer header and you can’t turn it off because that will break sites like Snopes.com, Pixiv.net, and many others which use it for hotlinking protection. (Though individual Firefox users can use RefControl to forge a nonsense Referer on all other sites)
User analytics via server logs (eg. /var/log/apache2/access.log) predates Javascript-based analytics and, if anyone has the raw data necessary to design a robust user fingerprint which can survive minor changes like browser upgrades (and an analytics package which uses statistical probability analysis for reliability), it’s companies like Google and Facebook.
Aside from driving companies to implement tracking that’s harder to neuter without companies’ co-operation, my big concern is that some EU company with deep pockets will use this as an opportunity to cripple smaller competitors by forcing them to jump through too many compliance hoops. It’s bad enough that big U.S. companies achieve a similar effect with software patents.
Note: This is cross-posted from the blog in my Desura account to ensure my backup system catches it.
After one of my previous posts, showing off my obsession with flowcharts and how much I overthink buying new games, it occurred to me that I can actually focus on a question other people might care about: How does one comfortably manage their games collection on Linux these days?
The only options I’ve been able to find for getting Linux games online are as follows and only the first three have package management beyond “download this installer” (though Gameolith plans to add private package repositories):
The free packages in your distro’s native package manager and any 3rd-party repositories like PlayDeb.net
A distro-specific package manager like the Ubuntu Software Center that also offers the option to purchase things.
Individual games like Minecraft which are playable on Linux (free or pay)
Running GOG.com games inside DOSBox or Wine or using the purchased resources in reverse-engineered engines like ScummVM.
However, when most people think of digital distribution (the buzzword), we think of a unified experience that takes the hassle out of managing our games for us. (In other words, something developers have to support or else like Steam)
Obviously, nothing as comprehensive as that exists for Linux yet, but we can try to MacGyver things up for now. I’d like to hear what your approach is in the comments, but here’s the best I’ve been able to accomplish.
It’s not ideal, but I tried and, since I’m already using TiddlyWiki to manage everything else, it’s quite comfortable.
The PlayDeb button and the PPA links in the “Package Manager” section are direct links to the lines I’ll need to re-add to /etc/apt/sources.list if I re-install.
The non-bracketed links in the “Package Manager” section use apt: URLs to trigger the package installer from the browser.
The rest are just links to the page where you choose your download type (deb, rpm, installer, etc.)
I’m still working on polishing up and streamlining everything, but I’m already making good progress on polishing up Desura as a general game launcher. Here’s what it looks like once I’ve added a few native Linux games and a few Windows games via Wine and wrapper scripts:
Given the mountingconcerns over cloud storage offerings and the increasing occurrence of bills like ACTA and CISPA, it’s becoming increasingly important to find alternatives to US-based, un-encrypted cloud storage services like Dropbox.
The question for poor saps like me is, who can we trust without paying even more money? Well, here are the cross-platform cloud backup/sync providers I’ve found which assure you that, like Firefox Sync, data is encrypted before it leaves your computer and they can’t recover it if you lose your key:
German company. Security has approval from an independent authority. Can also self-host.
As an alternative, if you have VPS, co-located server, or feature-rich shared hosting in a country you trust, you can also run your own service using open-source software.
Just keep in mind that most options don’t encrypt data on the server so, if you get hacked or police confiscate your server, they probably will grab copies of your data before someone thinks to power it off and lose your eCryptFS or EncFS keys. (EncFS on the client might work though, but it’s not secure against attacks based on watching the encrypted data change over time.)
Linux-only. Sync is one-way like rsync. Client encrypts before sending to server.
I’d also keep an eye on Syncany. It’s not out yet, but if it doesn’t end up broken or vaporware, it looks like it will be a good hybrid of SparkleShare and duplicity.
Please feel free to suggest further alternatives in the comments. I’ll update the post if they look good.
Being the geek that I am, one thing I’ve wanted for a while is a diagram of how I decide what to do when a video game catches my eye. I finally made one.
(Note: further commentary below the diagram)
Why do I require such strict conditions before I buy games? It’s fairly straightforward, actually:
I’m a full-time Linux user and have been since I was 16.
When you consider all the other ways I entertain myself, I probably have more games than I’ll ever be able to beat. (In addition to the 100+ games I have as downloads, the boxes in my closet contain roughly 500 game CD-ROMs and a CD-R full of disk images made from legally-purchased diskettes)
So, in that case, why do I keep buying games at all? In my own small way, I like to be a patron of the arts, so I try to give at least a little to every game I approve of, whether or not I’ll ever play it.
I still have to get some kind of short-term return on investment with my tight budget, but it’s better than nothing. After all, a little money to a lot of worthy developers is better than a lot to a few quasi-worthy ones… especially when I use every means at my disposal to cost them less in download bandwidth.
UPDATE 2016-03-31: And, now, it’s looking like both of the examples I gave for spending more than $5 are also examples of people reneging on promises. (Notch is no longer in a position to enforce his alpha-period “I will open-source Minecraft when it’s no longer popular” promise and Stoic Studios have decided to retroactively reinterpret the ambiguities presented by not writing their Kickstarter The Banner Saga promises in legalese.)
From now on, I’m taking a hard-line stance: My buying decisions will be made purely on what I’ll receive immediately upon payment. Future promises will carry absolutely no weight.
Like many geeks, I’ve moved less tech-savvy relatives to Linux and, in my mother’s case, common ideology goes a long way to overlooking bugs and rough edges. However, working with her has revealed a serious problem in the Linux desktop as implemented by all major distros.
Once every month or so, I get called in because “Linux froze”. Almost every time, it turns out that some program XGrabPointer‘d the mouse, then froze, leaving the system live and the mouse moving… but no clicks being received. (The exceptions are when she’s using her laptop and an Intel graphics driver bug freezes the X server)
While not ideal, there used to be a clean workaround for this. Just set the appropriate xorg.conf toggle and teach them to use one of Ctrl+Alt+Backspace, Ctrl+Alt+KP_Multiply, or Ctrl+Alt+KP_Divide to recover. However, these days, the old approaches don’t work, the system is in upheaval, and nobody with any significant Google PageRank seems to care enough to keep their documentation up to date.
Despite my loyalty to the platform, I’m not too blind to recognize that this problem, in and of itself, is easily enough to keep Linux on the desktop constrained to households with a full-time geek. (If for no other reason than because it’s an easy PR weakness for Microsoft and Apple to attack if Linux gains any ground)
Wayland could fix this problem if it gains adoption… but it has its own issues:
It’s still very young
Some people (me) need high-performance 3D drivers, GPU acceleration for HD video, and professional-quality dual-head support, but I haven’t heard anything on whether nVidia will support it with their binary drivers (or ATi for that matter).
There is no clear plan for a replacement for ssh -X that’s better than mere VNC.
The others, I can see being solved with time, but that last one is a big issue. The KWin developers have already said they’ll force force-server side window decorations, but…
There’s apparently nothing beyond “peer pressure will save the world” and “applications which don’t use popular widget toolkits are a myth” to prevent an application from insisting that it also show client-side ones.
What if I want to forbid CSD but whitelist Chrome and preserve the effect I get by maximizing Firefox and hiding the windeco? (No, not fullscreen. Even with Xinerama hints, Firefox modifies its UI when it detects that.)
Most important: I run LXDE because I value a useful desktop over a glitzy one. Given current trends, it’ll be at least a decade before KDE 4 is as stable and responsive as KDE 3.5 was. (I used to be a loyal KDE 3.5 user, so nobody was more disappointed by Konqueror 4 and KDE 4.1 through 4.6 as I was.)
After a little research, it turns out that GitHub Pages doesn’t seem to have a method of declaring HTTP redirects… but Google and Yahoo will treat no-delay meta redirects as if they were HTTP 301.
Here’s what I came up with for a general, thorough way to ensure the least chance of broken links. (including .htaccess in case I switch hosting in the future) The example assumes you’re moving a whole domain (eg. from SourceForge to GitHub), but it applies equally well to specific URLs within a domain.
(Also, don’t forget to use the change-of-address notification feature in Yahoo and Google Webmaster Tools)