Switch to: Italian

Who's there?

It's Davide De Rosa writing, a young all-around enthusiast from Italy willing to share and offer his IT experience. Seriously, it's been a while since I started fiddling with programming, so I've finally packed the results of years of dedication.

algoritmico is my comprehensive open source project remarking on three basic software qualities whose lack results in poor software, easily unusable out of the box.

Efficiency. Depends on algorithms, something any real programmer should be familiar with, since good code relies on good algorithms and good coders do write good algorithms. Readability. Lets other people clearly understand what's going on. Reusability. By all means a valuable investment.

How to enforce those aspects? Interestingly the open source community happens to teach something: public code is there to be read and reused. Basically, software quality is a primary concern and people sharing their own creations are confident enough that they apply to this requirement. I'll just try to make no exception. Enjoy algoritmico.

A broad experience

My passion spans over about 15 years during which I put my best efforts on programming languages. However, I strive to be professional on every development step, from analysis down to real code. Everything is essential to high-quality software and code is the very last part of the problem.

As to design, I love to exploit the object-oriented paradigm in any possible scenario and I really stay clear from people that get by with "stuff that works" (in their opinion). It's so important to me to take the time to adopt the best solution I can ever think of.

Right now I'm mostly interested in the iOS platform. Few months ago I also spent some time on advanced AJAX/Comet implementations and tweeckie is sort of an experiment about them.

My former full-time jobs focused on the Java enterprise flavor (J2EE) and in 2008 I brilliantly achieved the Sun Certified Java Programmer certification for the Java 2 platform (SCJP, now OCPJP).

Strong in C/C++, with a bit of x86 assembly dating back to the DOS era. A solid knowledge of client-side and server-side web technologies though not exactly a web designer. Curious about Python. And so on.

I'm not including many languages and applications I use occasionally, not to mention the number of operating systems I work or worked with. The more, the better.

Check it out!

Most of the algoritmico code is available on my GitHub repository. You'll notice that I love my code to be self-explanatory with many meaningful comments.


tweeckie is an innovative JavaScript platform enabling people to play games with a Twitter account. The whole engine heavily relies on HTTP Push techniques and aims at full cross-browser compatibility. A developer API exists and will be published very soon so that any kind of 1-on-1 game can be plugged into tweeckie. A live chat is also available while playing.

tweeckie is currently beta and comes with Chess, Checkers and Othello (Reversi).

tweeckie in action


This is some reusable stuff I come up with during iOS development. The repository includes a demo project with test cases of every single class or category.


A much, much more customizable UIPickerView clone.


Provides case-insensitive dictionary operations (named after NSDictionary and NSMutableDictionary methods) while keeping track of the originally inserted keys.


Sometimes a static 2D grid is useful on iOS. Sadly I haven't found any code around that does it the right way, so I wrote down my own implementation.


Everybody has messed with the iOS keyboard. This class automates view scrolling whenever keyboard comes up.


PushMQ provides an easy publish/subscribe JavaScript interface to RESTful message queues. Cross-browser compatibility is guaranteed by jQuery AJAX implementation.

Tested on nginx HTTP Push Module.


crucio is an experimental crossword and fill-in puzzle generator written in C++ for my degree thesis and mainly thought for educational purposes. It's an interesting backtracking and search heuristics example showing how apparently easy games are computationally hard to solve. The included cruciotex generates a LaTeX output for neat PS/PDF rendering.

My app Word Fill totally relies on crucio!


StatefulThread is a highly abstract Java thread simulating a finite-state machine, that is a thread running through a finite number of states. Each state defines the operations to run and where to go next, while each state transition can notify an event to listeners. Many real life scenarios can be described as a finite-state machine, so I plan to integrate soon one or more examples on class usage.


Everybody knows the evergreen Snake game. My clone is a shot at the Win32 API and the GDI functions. Quick-and-dirty C code.

Snake in action


Blue is a complex script I wrote (in Italian) for the universally famous mIRC in 2001. No doubt IRC has always been the funniest "social network"!

Contact me

algoritmico is a solo project, but as a freelancer I'm always available for hire. Feel free to also contact me for questions or suggestions about my software.

Connect on social networks or use the form below to quickly get in touch.

Send message