After more than two years I finally found some time to do another Redshift release. There are not really any huge changes but a bunch of small fixes and improvements. Thanks to all people who contributed for this release, some of you are mentioned below.
- IMPORTANT: gtk-redshift has changed name to redshift-gtk.
- Fix crash when starting geoclue provider. (Thanks to Maks Verver)
- Fix slight flicker int gamma ramp values (Sean Hildebrand)
- Add redshift-gtk option to suspend for a short time period (Jendrik Seipp).
- Add print mode (prints parameters and exits) by Vincent Breitmoser.
- Set buffering on stdout and stderr to line-buffered.
- Allow separate brightness for day and night (Olivier Fabre and Jeremy Erickson).
- Fix various crashes/bugs/typos (Benjamin Kerensa and others).
I have some other updates in the queue, so I am hoping to be able to do one more release before the end of the year. In addition I am trying to move development to https://github.com/jonls/redshift at Github. The source code has already moved, so it is now possible to make a fork on Github and post a pull request if you fix a bug! One thing that is still stuck in launchpad is the translations, which is why they were not updated for this release. I hope to get that fixed soon.
Update: You need the original data file to run freeserf, and you need the uncompressed version which is about 1.3Mb in size. If freeserf does not work with your data file you probably have a compressed data file. You can get the uncompressed by actually installing the original game before copying the file.
After a few release candidates and a bunch of bugs fixed, I am now releasing Freeserf 0.1. The source code is available from the tag at the GitHub page, and is also packaged here. Windows builds are also available here.
This release features a fully playable game play with an improved interface compared to the original game, but still using the graphics, music and sounds from the original game data file. It is possible to play as single player on maps of many sizes, and also on some of the mission maps from the original game. To a limited extend multi player games are possible by changing the currently controlled player during the game.
For this release I’d like to send some thanks to people who have helped get Freeserf to where it is now:
- Thanks to wdigger for providing a complete implementation of XMI decoding along with music and sound effects playback.
- Thanks to Christian Stadelmann and smelenius for helping to improve the responsiveness of the game interface.
- And finally thanks to zdechlak for the thorough testing and for the hundreds of bug reports. This was invaluable for figuring out which parts of the game needed fixing.
For the 0.2 release some improvements have already been planned but it is not certain that everything in that list will make it. In addition, I have made a wiki page for suggesting further improvements over the original game. Feel free to contribute to the discussions there.
I would like to publish the next releases more often, with a 0.2 release within two months, but it will all depend on how much time I am able to spend on this project, and also how many patches and bug reports you all contribute. I hope that more people will take interest now that we finally have the first release.
Important: The freeserf repository on github has moved to https://github.com/freeserf/freeserf
Just a quick update on freeserf to let you know that the game has improved a lot over the past months. A lot of issues have been reported and fixed, and a few patches have been contributed as well. This means that the core gameplay is working as it should, and freeserf is getting ready for the first release. But before that happens I would like to have an opportunity to get the final critical bugs reported and fixed, and for this reason I’ve tagged a release candidate in git. I hope you’ll give this version a try, and if nothing major has been reported within a week this will be the 0.1 release.
The following description is the 0.1 milestone description that has been worked towards over the past months.
This release should have an implementation of the core game play as close as possible to the original game. The following features will wait for a later release: AI and multiplayer support; reliable increase of game speed (up to ~10 should work though).
I’m not particularly interested in spying on people but I find it interesting that many popular BitTorrent clients broadcast the identifier of all currently downloading and seeding torrents publicly on the local area network. Being myself situated on a local network with many other users I find it interesting that I can get a list of what is currently being downloaded just by listening for the packets that are voluntarily sent out on the LAN for a few minutes. This feature is used by the BitTorrent clients for what is known as local peer discovery (LPD). The idea is that someone else on the LAN might just be downloading the same torrent and in that case it is advantageous to connect and transfer the data over the LAN which is usually a fast connection. However, the potential problems of privacy seems to have been overlooked by some of the popular BitTorrent clients since this feature is enabled by default without any warnings about the implications.
What is actually being broadcast by these clients is the identifier of the torrent, also known as the infohash. When obtained, this string of hexadecimal characters can then be googled and usually this gives further details on the name and content of the torrent. Alternatively, using the metadata extension of the BitTorrent protocol, the full torrent file (containing name and file descriptions) can be downloaded from the same peer.
To demonstrate how this method works in practice I wrote a small command line tool in Python to monitor the LAN for these packets. It is available here. There is also an experimental graphical interface. In addition, there is a tool to connect to a peer and obtain the torrent file using the metadata extension.
Although local peer discovery can be beneficial I hope this highlights the potential privacy problems. Any sane BitTorrent client should have an option to disable LPD in case this is desired.
I have found a few extensions for Google Chrome to make life a bit easier when dealing with Bitcoins on the web. First of all I really like the idea behind this extension by Jonathan Waller called Bitcoin Microformats. It detects a Bitcoin link in the header of web pages and then shows a little icon in the address bar when a page supports this feature. The icon itself links to the Bitcoin address. The extension is open source so I added some features that I think were missing, the result is available here. I have added support for detecting “bitcoin:XXX”-style addresses, pages served as https, QR codes and more.
I hope some of these updates will be considered for the official extension, until then the extension can be installed manually from the link above.
Secondly, I made a small extension to be able to lookup Bitcoin addresses on blockchain.info through the context menu. This works both for addresses that are using the bitcoin URL scheme but also for plain text (by marking up the address text). It is available here.
What are some other useful apps and extensions?
Update: Download zip-file of plugin here.
Update: I’m working on a more general solution that can be used on any web page here: https://bitcoinwidget.appspot.com/.
I signed up for the Flattr micro-payment platform a while ago and I’ve been very pleased with the system. It is very convenient to be able to donate a small sum to the author after reading an interesting blog post or encountering a useful open source project. However, recently the digital currency Bitcoin came to my attention as a possible contender for micro-payments, one of the primary advantages being that the transaction fee is very low compared to Flattr (who take 10% of every transaction). So I’ve made a Bitcoin wallet and I intend to use it like Flattr to give a small sum to anyone whose blog posts or source code I find useful or interesting.
In addition you can donate a small amount to my projects using the link on the right or below. I made a small WordPress plugin to complement the pretty Flattr button. If you want to use it on your own site you can get the source code here. It shows the address, QR code and current balance, and it works like a shortcode which can be embedded in any post, page or widget. It is also possible to show the number of transactions instead of the balance, the total received amount, or nothing at all, like this:
The freeserf development is still ongoing although a bit slowly. I’ve not found much time to work on this since I’ve been busy with exams in January, and then moving back to Denmark. Today I have posted new Windows builds fixing just a few bugs. Since Github discontinued the hosting of download files I’ve had to move the files, so in the future they will be available from this location. In addition, Jonas Gerlach has kindly provided a build for Open Pandorda that is available here.
The current status is that only some few minor issues are missing for the 0.1 release. The goal of this release was that it should have an implementation of the core game play as close as possible to the original game, but without any AI or multiplayer support. This is more or less achieved already, except for some outstanding bugs and polishing of the code that need to be taken care of. I think it may be ready relatively soon. Please keep filing bug reports on Github when you encounter any issues!
I am happy to announce that there has been some progress in the freeserf project lately. I have had a little time to add some features, and a contributor (wdigger) has added sounds effects and music playback using the media in the data file, and is working on further improvements. In addition, there might be some work done on an Android port, but it is not certain yet if this will work out currently.
I will try to post new windows builds at least once a week if there has been any interesting development in that week. Linux/OSX users can check this out from github and compile – it’s quite easy.
Any problems or bugs can be reported preferably on github, or alternatively, in the comments. There is also an IRC channel on Freenode named #freeserf where you might be able to encounter someone working on the project.
I just decided to release all the code for my Settlers 1 clone to GitHub. You can find more info here. It’s working, and semi-playable, but still pretty far from the full experience. I don’t know if I’ll ever get time to finish it, but at least now someone also can pick it up and hopefully do something nice with it.
I finally had some time to throw a new release of Redshift together. The most important change, for most of you, is probably the Geoclue location provider by Mathieu Trudel-Lapierre. The old GNOME clock location provider has stopped working for many, as Ubuntu no longer includes a clock applet in the unity desktop. This is fixed now with this new location provider, which should work right out-of-the-box on Ubuntu Natty systems.
Other news are:
- Allow brightness to be adjusted (-b).
- Provide option to set color temperature directly (Joe Hillenbrand).
- Add option to show program version (-V).
- Add configure.ac option to install ubuntu icons. They will no longer be installed by default (Francesco Marella).
- config: Look in %userprofile%/.config/redshift.conf on windows platform.
- Fix: w32gdi: Obtain a new DC handle on every adjustment. This fixes a bug where redshift stops updating the screen.