May 6, 2012, 10:19 p.m.
I already talked about Media hider, a hobby Android application that enables you to easily select which directories should get scanned by Android.
I have added a nice feature: you can now view the list of all the directories that Android currently identifies as multimedia directories.
You can then easily hide one of these directories by long-pressing it, and pressing “Hide for next scan”.
If you find that the list is too exhaustive, you can go in the options to select which medias should be displayed. You can choose any combination of Audio, Images and Video.
Media hider page project
March 1, 2012, 9:57 a.m.
I added support for pySFML's new graphics API a while ago, and I recently added a Windows installer (that's the .exe file, the .zip are older releases).
There's no Python 3 installer currently, because Visual Studio fails to compile it.
I'll see if I can fix it, or use MinGW instead.
If you're using Python 2 and are interested in multimedia/2D development, try it out!
But please keep in mind that it's not a stable release yet and that bug reports and suggestions are very helpful.
Update: Python 3 installers are now available.
Feb. 9, 2012, 3:34 p.m.
As a new Android learning project, I have created an application that lets you tell media players which directories shouldn't get scanned. This is useful e.g. when application pictures such a logos appear in the gallery. The app currently only shows you directories and prevents you from going into an empty directory, to avoid wasting your time.
Since it's occasionally useful to see which files are in a directory, I'm currently trying to find a nice way to list a specific directory. I could show all the files in the browser as well, but I find that it would clutter the interface, as the user doesn't care about most of them.
Media hider project page
Heroes of Newerth recently got an update that changed the way you get gold when killing a unit.
A developer explains what's wrong with the former approach: “your carry farming a lane and their carry farming a lane could actually mean they get up to 1000 more gold over the course of a game just off pure RNG. Nonsense!”
The most popular reply approves: “RNG in videogames are pretty lame, especially when it comes to competitive gaming...”
Instead of simply picking a random integer from a range, the game now adjusts this range depending on how much gold you got in the past.
If you are lucky and get some good picks, the game will take it into account to make sure you are less likely to get a high amount again.
To give you an idea of how “unfair” the former, simpler system is, I plotted the total gold earned by 100 players with 300 last hits (an extremely high number that you don't see in most games).
Melee creeps give 35–50 gold, but I used 30–50 instead, to make it easier to spot the average (12000).
I'm simply using the pseudo-random generator from my environment, so HoN's generator should be at least as good.
As you can see, every single player gets an amount of gold extremely close to 12000, the average.
Some of them got 200 gold more or less, which means that it's extremely unlikely to get more than a 400 gold advantage.
For some reason, people started freaking out about getting a random amount of gold, without considering that this amount is pretty uniformly distributed.
You get some high and low amounts, but nobody gets an advantage, precisely because of the (pseudo) randomness.
Now, two considerations about this change:
- It broke one of the game's items, Alchemist's bones. Luckily, this was fixed pretty quickly.
- Players have been asking for some actual fixes for months. It's unfortunate that the developers chose to spend time on this instead.
I recently started using lm_sensors, and I thought it would be interesting to write a simple graphical program to show the current temperatures, fan speeds and whatnot.
I couldn't find a Python binding for their C API, so I wrote one: https://bitbucket.org/bastienleonard/pysensors.
The examples directory contains a very simple graphical program that uses GTK 3 (you will need PyGObject).
I still need to add some stuff, mainly make it work on Python 3 and complete the documentation.