Below you'll find an article that I wrote to my local Mac users group. I haven't had the time to translate it into english, so unless you are willing to learn portuguese, you'll have to wait a bit. But for those that share my mother tongue, here it is. (para quem leu a versÃ£o na mailing-list, tem apenas pequenas alteraÃ§Ãµes de estilo, e um "Resumindo:" lÃ¡ pelo meio) A discussÃ£o que estÃ¡ a acontecer sobre o iPad, o efeito do modelo fechado e controlado pela Apple, e o que ele trÃ¡s Ã criatividade e ao espirito hacker (no sentido cosquinhas, curioso, e nÃ£o no sentido cracker) estÃ¡ mesmo muito interessante.
There is a lot of stuff being written these days about real-time web. Some think that it is the next step, the next big thing. I find the concept interesting only from a technical point-of-view. All the details about a good real-time web is what passes for tech-porn around here. But from a human point-of-view, the concept is flawed. Or at least, my own brain finds the concept flawed. I can't keep up with a constant barage of updates.
It seems that I need to clarify some stuff, based on Sebastian comments in my last post and via Twitter. I really hope this is the last time I have to talk about it. I rather spend my time coding. First, you can look at the code of AnyEvent::Mojo::Server::Connection: no private Mojo APIs are being used. They might have been with early releases, but as Sebastian says, I did work with him to improve Mojo so that I didn't have to depend on private APIs.
The current version of AnyEvent::Mojo is failing some tests. The Mojo API that I was using changed yet again and I don't have the tuits to fix it right now. I'll explain how we got here, what are the next steps, and finally I'll comment on lessons learned. A long, long time ago… When I wrote AE::M, I was looking for a way to do long-polling in Perl, with decent performance and cool stuff like epoll/kqueue support.
My take: what Rui said. My analysis: I like the price, the battery life and the screen size. I would like to have a webcam for Skype, but that wasn't meant to be. Maybe next time. I'll buy one, probably the 32G WiFi-only. It will replace my 17" Macbook for the non-work-related tasks that it does now. I keep my iTunes, iPhoto, and other media stuff on my desktop Mac at work, and I travel around with the Macbook.
I'm not American so officially I don't get a Thanksgiving holiday. Still, we are reaching the end of 2009 and looking back I think we do have a lot of things to be grateful for. Giving thanks, like Christmas, doesn't need a special day, and for us perl hackers our favorite team, the perl-porters, giving thanks couldn't be easier. So lets all, no matter where you are, run the perlthanks command line today, and celebrate our new schedule for Perl5 releases and happy days and long lives to our pumpkins.
I was mostly away from Perl this last days, and I'm eager to get back to it next week. The small work I did was to start a script that converts a directory of files into a RSS or Atom feed. For now it sits at the app-files2feed repository. I need to fix the last bugs with enclosure support and add documentation before releasing it to CPAN. Non-perl work sucks.
I pushed to CPAN a new release of Browser::Open. I've added more commands to test (courtesy of code "borrowed" from SD, and the Launchy gem), and made the test suite more robust in case we don't find a suitable command. <rant> I'm amazed that something as simple as opening a URL is such a complicated task on most UNIX-based systems. I have a single command to use on Mac OS X and on Windows based systems, but there seems to be no standard way of doing this simplest of things on UNIX systems.
An article on Colin's blog mentioned a technique that I also use, using your test suite as a git pre-commit hook. I'll expand on some of his ideas, showing my own setup. Before each commit you should run the full test-suite of your code. If your test-suite has grown so much that it takes a long time to run, it makes more sense to run a smaller part of it, and let the continuous integration system (you do have one, right?