Money Tracker Release 1.0.1

After many years of private development, I have decided to publish the source code for Money Tracker, my personal finance manager. The story of how it came to life is another post I am still working on but it’s been online for quite a while. With that, I am hoping to publish a release blog post whenever there is something substantial to share about the new release. A lot of work went into this release though most of it is not visible to the end user.
Read more →

Adding Syncthing to Telegraf+InfluxDB+Grafana(TIG) stack to monitor remote machines

In the previous blog post, I set up Telegraf instances to push host metrics to an InfluxDB instance that was set up within my home network. But there’s a problem. One of the machines that I also want to keep an eye on is a Linode VPS that I run my projects on. But to do that, the Telegraf instance running on the VPS should be able to reach the InfluxDB instance inside my network.
Read more →

Monitoring My Servers with Telegraf, InfluxDB and Grafana

I was on the lookout for a simple monitoring solution to keep an eye on a few servers that I am managing. There’s no shortage of monitoring solutions to choose from these days. However, I got lost in a sea of complexity. Most of them were meant for the enterprise. Meaning they were slow, complex and expensive. Not surprising, I guess, considering that’s where the money is. The solutions also seemed like they were meant for monitoring 100s(1000s?
Read more →

Per-host settings.py for Django projects

When working as part of a team on a Django project, it is often useful to have a per-host settings file. There are many ways to do this but the approach that I liked most is creating a local_settings.py file in each environment. I’m often the only programmer on web projects, but even then I still find it helpful to have a local_settings.py file on my local host. In it I include things such as debug-related settings, test keys for the different API providers, a modified logger configuration and flags that turn off any added security measures.
Read more →

Intercepting USSD calls in Android

Dialing a USSD code from a custom activity is straight forward using a DIAL or CALL intent, but listening to the returned result is not due to Android not having proper support for intercepting USSD calls within the platform, but partial though undocumented support exists within the native dialer application. As a start, look at the PhoneUtils class in the Android source code. The link is for 4.0.3 but I believe this partial support has been present since 2.
Read more →

Project: TaskIt

The TaskIt application aims to help you in your Getting things Done(GTD) approach and thus provides a task list or a ToDo list. When you organize your thoughts and put them down in your TaskIt list, you will get a much better view of your tasks.

This is a Work In Progress(WIP) and was done on my free time on weekends. I had a need for such an application, and i love Qt and i love Python, so i wanted to see how flexible their daemon spawn(PyQt) is.

Read more →

Project: Space Explorer(SpaceX)

I am a big fan of the Galactic Konquest game. It is similar to the risk board game, except it occurs in space and it may have different rules, i am not familiar with risk myself…ahem… It is a part of the kdegames package and thus comes with some strings attached. People who don’t use kde need to get a part of kde to be able to play it, and users of “other” operating systems are just out of luck.
Read more →

Project: DisplayShelf Modifications

The DisplayShelf’s original website is at http://www.quietlyscheming.com/blog/components/tutorial-displayshelf-component/ and this is a quote from that website. The sample is broken into two pieces. The first, the TiltingPane component, takes any content and wraps it in a faux ‘3d’ effect, allowing you to tilt it from side to side. The second, the DisplayShelf component, uses the TiltingPane component to render a list of items along a virtual shelf, with the selected item pulled out for display.
Read more →

Book Review: Banat Al-Riyad

Warning: This book is in Arabic. This book tells the story of 4 girls, and their struggle in the Saudi society. Lamis, Komra, Michelle, and Sadim are 4 friends each from a different background and with a different personality but they all share a common struggle within the highly conservative Saudi society. The kind of struggle that i am talking about is the simple “live your life as you see fit” experience that people who live in a western culture often take for granted.
Read more →

Jack Compiler

There are 10 types of programmers in the world, those who have written a compiler and those who can’t read binary. I’ve never written a compiler. At college, I had to drop the class because of a conflict and have always wanted to write one ever since. Even if just to say that I can. The Elements of Computing Systems has a chapter focusing on building a compiler for the computer that is built throughout the book.
Read more →