Monthly Donations: DAViCal and the “Friends to the Animals” Foundation

April 23rd, 2013

I’m back from a week-long snowboarding trip to the Stubai glacier in Austria — I had a great time, feel refreshed and have lots of energy to work on my projects. But first, let me take care of this month’s donations!

The project that I’m supporting this month is DAViCal, a calendar sharing server that implements the CalDAV protocol, written by Andrew McMillan. I’ve been using it for a few years to synchronize calendars on several workstations and mobile devices, and have nothing but praise for it. Thanks and congratulations to Andrew and the contributors to the project!

I’m also sending a donation to the “Friends to the Animals” Foundation in Katowice to help one of the dogs that they rescued — an elderly dog named Max. The dog suffered a car accident a few years ago, had one of his legs amputated, is deaf, and requires costly treatment and constant supervision by a vet.

It’s actually my second donation to the “Friends to the Animals” Foundation, as I’ve already supported them last year. My previous donation was for Manio, a cat that fell out of a window on the 10th floor and miraculously survived. I contacted the Foundation recently to find out how Manio was doing, and was very happy to hear that he’s all fine and has a new home! Here’s a photo of the lucky cat with his new owner:

All the best to Manio, Max, and all the people of the Foundation!

Another Update on imgAreaSelect

March 31st, 2013

Here’s a little update on the development of imgAreaSelect version 1.0 with mobile browsers support, since people are inquiring about it every now and then.

I had a plan to release the glorious version 1.0 mid-March, and for a while it seemed everything was going in the right direction — I fixed my iOS testing setup (which is a VM running Mac OS X and the iOS device simulator), resolved some issues that came up, and found the plugin to be working nicely in both iOS and Android 2.x stock browsers. Then, for the first time I tried it in Android 4′s browser, and was greatly disappointed to see it being broken and pretty much unusable.

I’m not sure what is the cause of the issues, but it seems to be related to how touch/mouse events work in the newer Android browsers, and I’m slightly worried that fixing the problems might require a significant refactoring of the event handling code in the plugin. And it doesn’t help that debugging JavaScript on mobile devices is still a pain (though, I’m having some hopes that remote debugging might improve the situation).

All in all, I can’t say how much longer it’s going to take me to fix that and make a release. Nevertheless, I’ll keep working on it and will let you know how it goes.

TinyTimer – a jQuery Timer Plugin

March 29th, 2013

Here’s a slightly late announcement of a new jQuery plugin that I’ve made. Its name is TinyTimer and it’s a countdown (or countup) timer that you can put on a web page to show, for example, the number of days left until the next predicted doomsday or another significant event. Here’s how it might look:

There already are dozens of plugins that do this — my goal was to build something really tiny (not larger than 1024 bytes when minified), but still feature-rich. The list of features includes:

  • Counting down to or up from a specific date/time
  • Flexible formatting of displayed time
  • API functions to pause/resume the timer
  • Callback functions for every tick and countdown end

The plugin is published on jQuery plugins and on GitHub. For usage instructions, refer to the README file in the repository. As usual, I’m looking forward to your feedback.

Monthly Donations: c:geo and the WWF Poland Lynx Campaign

March 26th, 2013

Monthly donations strike yet again! Today I’m making a donation to c:geo, a geocaching application for Android devices. In case you haven’t heard of geocaching, it’s a modern-day technology-driven treasure hunt game (I encourage you to find out more and try it!).

I’m not a particularly active geocacher (so far, I only found forty-something caches, over the course of a few years), but when I do have the rare opportunity to play the game, I very much enjoy it. One of the contributing factors to this enjoyment is the c:geo app, in my humble opinion the best geocaching application for Android (and I’ve tried a few). Thank you, c:geo developers, for your continuous efforts to keep it that way!

The second donation that I’m making today is to the Lynx Campaign of WWF Poland, which is an initiative for the revival of lynx population in my home country. Years of hunting and habitat loss have reduced the number of lynxes in Poland to just about two hundred, and the campaign’s plan is to increase that number by relocating animals from Estonia, where the population is stable. So, make yourselves at home, Estonian lynxes, and, well, repopulate away!

SelectList 0.6.1

March 12th, 2013

A few days ago, I have put a new minor version of selectList up on GitHub and on jQuery Plugins site, and today I’ve also made it available for download here on my website.

This version is actually identical to the previous one (0.6.0), the only difference is that now the zipped distribution package on jQuery Plugins comes with the minified version, in addition to the full source code. I realized that, since the package is basically a snapshot of the GitHub repository, the minified file was not included, because I wasn’t keeping it under version control (it was only available in the distribution zip archives here on my site). Now that’s fixed, and you’ll be getting the full package from jQuery Plugins.

Monthly Donations: GnuPG and the Animal Shelter in Olsztyn

February 26th, 2013

Yup, it’s time for another round of donations.

This month I’m supporting the GnuPG project, which is a free implementation of the OpenPGP standard, and a popular solution for encrypting e-mail messages. I’ve been using it for years, lately with Thunderbird — courtesy of the excellent Enigmail extension. GnuPG is developed and maintained by g10code, a company that was started by Werner Koch, the original author of the software — thanks guys!

I’m also making a donation to the Animal Shelter in Olsztyn, which helps homeless animals, and takes special care of elderly dogs and cats. To all the staff and volunteers of the shelter — thank you and best wishes!

I made one additional donation this month, on Feb 17th, which is celebrated in Poland as the World Cat Day. By tradition, every year on this date I make a donation to a cat, and this time it was this charming feline gentleman named Gummi Bear:

I know it’s more than a week late, but — Happy Cat Day, Gummi Bear!

SelectList 0.6

February 19th, 2013

I released a new version of selectList, the multiple selection jQuery plugin. This version introduces jQuery 1.9 support, and you can get it from the project homepage, jQuery plugins (did I mention I’m happy the plugins site is back?), or from GitHub.

By the way, this release is the first one that I made with Grunt, the JavaScript build tool. My previous, homebrew solution for building jQuery plugins involved shell, Perl scripts, and Java, all duct taped together with a Makefile — and was exactly as horrible as it sounds. Grunt made the build process a lot more straightforward, and, hey, it’s all JavaScript now! If you’re a JavaScript developer, I wholeheartedly recommend you give Grunt a shot.

Monthly Donations: Samba and the “Cat’s Claw” Foundation

January 29th, 2013

Today I’m doing the monthly donations to open source projects and charities, for the first time this brand new year.

This month I chose to support Samba, the free software implementation of the SMB/CIFS networking protocol, which allows for interoperability between Unix/Linux and Windows systems. I used to use it a lot back in the day when there were Windows machines in my home network, nowadays not so much and mostly for print services, but still find it useful.

Samba has an impressive history of more than 20 years of existence, and just made a big leap forward with the newly released version 4.0, which is the first version that can serve as an Active Directory domain controller (not that I would want to use it, but I know many users have been waiting for that). Congratulations to the team, and thanks for a great piece of open source software!

The second donation that I’m making this month is to the “Cat’s Claw” Foundation, located in Poznan, dedicated to helping homeless animals (mostly cats, as the name implies). While browsing their website and forums, I found the touching story of Zane, a kitten that was found in a very bad condition, all sick and starving, and was saved by one of the Foundation’s volunteers. Here are two “before” and “after” photos:

The kitten got his name after one of the ninjas of the Lego Ninjago universe — pretty cool, huh? Best wishes to Zane and to all the volunteers of the “Cat’s Claw” Foundation!

ImgAreaSelect 0.9.10

January 23rd, 2013

By popular demand, I’m releasing a new version of imgAreaSelect, with added support for the latest and hottest release 1.9 of jQuery. There was a number of significant changes in jQuery (made in preparation for the upcoming 2.0 version), like the removal of jQuery.browser, which turned out to be incompatible with the plugin.

Thanks to everyone who provided feedback, especially to Shane Shipston, who identified the problems with the new jQuery — this helped me roll out this update pretty quickly.

By the way, I noticed the jQuery Plugins website is back — I hope I’ll have enough free time in the next couple of days to get my plugins up on it.

Arriba – PSGI Web Server with SPDY Support

January 8th, 2013

Having some free time during the Christmas break, I decided to give a shot at a small project that I had in mind for a while, and that was to develop a PSGI-compliant(-ish) web server with support for the SPDY protocol.

In case you haven’t heard of it, SPDY is a networking protocol developed at Google with a goal of reducing web page load latency. It is currently used by some of Google services (including search and Gmail) and by Twitter, and is supported natively in Firefox, Chrome, and Opera — so if you visited any of those sites with any of those browsers, it’s highly likely that your web content was transmitted by means of SPDY. An official standard for the protocol is in the works.

There was a SPDY module on CPAN that looked promising — Net::SPDY by Lubomir Rintel. While not being a complete implementation of the protocol, it seemed to be working, as I found out by playing with the sample client and server scripts included in the distribution.

After a few days of reading the SPDY specs, minor reverse engineering of other implementations, and blatantly copying (a lot of) code from Starman, I was able to put together a preforking web server operational enough to run a few simple Dancer applications. It’s a mess and nowhere near being ready for production use, but I’m happy to share it to maybe get some feedback from you fine folks — I’ve put it up on GitHub. I intend to continue working on it and hopefully one day turn it into something half-decent.

If you want to run it, be aware that you currently need to use the Net::SPDY module from my forked repository instead of the original one, since in the original there’s some test code that breaks normal server communication.

About the project name — I followed the idea of using friendly names like Starman and Twiggy, and since SPDY reminds me of Speedy Gonzales, I used a part of Speedy’s catch phrase (“¡Ándele! ¡Ándele! ¡Arriba! ¡Arriba!”). However, I know I’m terrible at naming things, so I’m open to suggestions for a better name.