Crafty is an open source tiny, yet powerful CI (Continious Integration) server. Among the main features are realtime tail logs, REST API and event driven architecture.
Let's implement the real world scenario: every time we push to GitHub we want to run perl critic on Kritika rules and tests with coverage on TravisCI. Then we want to merge these results together in one place to be able to say: yes, this is a good commit (or a pull request)! Connecting all three services is an easy 3-steps process (5mins approximately).
For the last year and a half I have been doing some code reviewing at work. And I noticed that most of the time the tasks are reopened because of very small things, like text formatting, variable naming and so on. This could've been prevented just by using Perl::Critic for example. Unfortunaly the code base is big, and that would take a lot of time. That's why I have written https://kritika.io which makes the analysis incrementally and is damn easy to integrate with GitHub and Travis CI (or anything else actually). The service is in beta right, but i have been using it secretly for the last 5 months anyway. It is useful for me, maybe it can be useful for you too.
I have collected the most useful web application design pattern that I use in web applications I code at work and also for my personal projects. They are presented in a way of a problem and a solution.
If you want to use mixins in Perl you don't have to install anything or play with symbol table yourself. It's right there, in the core.
Often you want to know how much time you spend on a random computer activity during your work/home day. There are lots of apps that allow you to record the time, unfortunately you have to manualy turn them on and off. It can be really frustraiting when you forget to do so. So I have written an app that does that automatically.
SQL::Composer is yet another SQL mapper. But unlike others it does something very useful. It allows you to not only build an SQL from a Perl structure, but when getting the data from database to map it back to the usable Perl structure.
So I have decided to look into the Go language a bit closer. Last time I ended doing just a simple tutorial. This time I decided to rewrite this blog engine (http://github.com/vti/Twist) in Go. The result can be found on GitHub (http://github.com/vti/twigo). There is no really a need to describe the language learning issues in this blog post, but I wanted to share a comfortable infrastructure that I researched while trying to learn Go.