I love solving problems with code

DateTime.AfterPost - DateTime.Now = 3 minutes

I think that’s the main reason I love programming and I became a Software Engineer. When I’m facing a problem, no matter how difficult or simple it is, my mind first thinks how to solve this issue with a piece of code.

One example is a watering system I wanted to build for my porch. The problem was that I kept forgetting to water the plants. The simplest idea was a simple reminder to water the plants every other day. Simple and Stupid.

Soon enough I got tired of watering the plants with a bottle, so I built a watering system connected to a faucet. Now all I had to do was to open and close the faucet every time I wanted to water the plants. 

This started a whole new issue, I would forget to close the faucet! And what do I do when I’m on vacation?

I remember I have a Raspberry Pi lying around with no use, so I decided to try and build an automatic watering system. Without thinking too much I found this on AliExpress and started the code (https://github.com/javitolin/RPIWaterSystem) for the RPI, the code was built so that it takes the configuration from github.com itself. This way, if I wanted to change the configuration I just needed to push a commit to the repository, I could do this from anywhere in the world. My lack of knowledge in Electronics soon revealed itself, and I found out I couldn’t connect the water valve to the RPI. I found another way to do this, a simpler way, but it didn’t require any code. I bought this and this. The light switch would connect to my Smart Life App and control the water valve, Simple and Stupid.

New quarantine – New needs

This last few weeks we entered a new quarantine, with it, a new round of board games!

One of the games we play is “Ticket to Ride”, very fun and easy to play, but it has a drawback. Counting the points at the end is very sisyphean. I found an app that said it could count the points by just taking a photo of the board! Amazing! But it doesn’t work.

All I wanted was a simple drag and drop points counter, so I made one. When I thought about how to make this, I immediately opened Visual Studio and started a C# project. Five seconds later I deleted that project. C# was not the “correct” language to do this, this should be a web application, and a very simple one. I remembered that once I played a bit with javascript and that seems to be the correct language to make what I needed. The finished product is here, I’m not a designer so it looks like crap, but it works! The code is here and it was a lot of fun to build it. It took me a few hours (I needed to remember how to X in javascript every few minutes) but in the end it is exactly what I wanted.

The Public Library

A couple of weeks ago I had the idea to start a simple book library for my team. Everyone would bring books he doesn’t need anymore and we would exchange them.
The first question I was asked is, “How do I sign that I took a book?”. The most fast and easy way I saw was to build a DB containing all the books (so I can show in my Grafana) and if you wanted to take a book, I would change the book’s status. After two days that two people took books and one person brought ten books, I got tired of making the changes. I searched for some Open Source code that would do something like this, but couldn’t find one, so I wrote one myself!
It complies of a client (Angular) and a server (ExpressJs) and it uses MongoDB as a DB. Yesterday I installed in my workplace and people loved it! 

Comments: 1

  1. […] already talked a bit about my gardening hobby. If there is anything better than having a hobby, is connecting that hobby to other hobbies or even […]

Add your comment