Tiny struggles

Always hacking something 🧑‍🔬.

  • Sometimes stupid product ideas are the best - motivation behind the secret tuna salad recipe

    I created a digital product out of my family’s favorite tuna salad recipe and in this article I will tell you why I thought it was a good idea. I’m a software engineer by trade and I have spent thousands of hours building software products that don’t really earn me money (yet). Entrepreneurship is risky, that’s for sure, but often indie businesses fail because founders lack marketing skills and fear to put themselves out there until it’s pretty late.

    Read more…
  • Decimals in python, Django and your DB

    In programming we use numbers a lot. For counting integers are quite nice, but for many use cases we need “real” numbers which apart from integers also include numbers like 1/3, square root of 2, etc. Typically these are approximated with floating point numbers based on base 2. Traditionally we call them floats . floats are great for many use cases, but they have their issues.

  • Invertimo Binance Crypto Integration

    You can now import your binance Crypto related transactions to invertimo.com (open source investment tracking app). Why track crypto transactions in invertimo? Invertimo helps you track all transactions related to your investments as well as dividends and received income in one place. Crypto is becoming more and more mainstream and more investors have part of their portfolio in crypto assets. Selling crypto is a taxable event in most countries, swapping tokens is usually treated similarly.

    Read more…
  • Browser caching with Django & Webpack

    Fetching stuff from the internet can be a lot of work and take a long time. What if your browser could save itself all this work and return you the result semi-instantly? It just needs to save a file locally and return it to you next time you want it. We call it browser HTTP caching. Passive operations like getting the page will usually be cached. This is great as long as the file at this address doesn’t change. But the thing is that it often does, especially if your site is under active development.

  • Building Invertimo in the open (as open source)

    As far as building in public goes, it’s hard to go more public than making all the code public too! I am building the Invertimo (investment bookkeeping and tracking software) completely in the open. It’s a complex web app written in python and JavaScript. I submitted 200+ commits over last couple months. Github repo. I got the rights I work at a bit tech company that by default owns everything that I build.

    Read more…
  • I prefer boring technologies

    When I start new projects I try to build them with boring technologies that I used before and I try to limit picking up new libraries, tools and technologies to a minimum. This is because I want to build actual products and not to do projects for the sake of learning exciting technology. I chose boring technologies because: they are proven & dependable I can focus on building a product challenges specific to a product keep it interesting and I don’t need shiny tech novelty If you want to build cool things, you should consider doing the same.

    Read more…
  • Learning can be a waste of time

    Learning and studying isn’t universally a good thing. I found that saying “sometimes spending some time studying and learning can be a waste of time” is very contentious. Especially in a quickly evolving tech environment. If you stop learning and become rigid in your ways, you become obsolete. If you stop learning you miss the opportunity to get more efficient and be able to do more in a shorter time.

    Read more…
  • Django Rest Framework Recipes

    One of my favorite tools in my app development toolkit is django rest framework (drf), that makes developing REST APIs with python and django easy and fun. It’s easy to set up, extensible and saves so much time. The documentation of django rest framework is pretty extensive, there is a great tutorial, api docs and plenty of examples. But reality is usually a bit more complex and you need to customize your use of the framework. In this article I’m going to share a bunch of recipes from my use of django rest framework…

  • Django - growing up from SQLite to PostgreSQL

    Django by default comes with SQLite as a database. It’s a great choice for initial development and for testing, but not if you want to run multiple app servers, e.g. in a SaaS project. At some point it’s time to pick up a DB like MySQL or PostgreSQL that is more suitable for this purpose. I’ve been working on my open source side project Invertimo for a while and at some point I decided to change the db engine from SQLite to PostgreSQL.

    Read more…
  • Shooting yourself in a foot with django and recovering from it

    I have recently built an API (for my side project Redeal) that turned out extremely slow. I knew that what I was building wasn’t supposed to be super fast or optimal and I was building it with python and django which aren’t really known for their speed, but I haven’t expected such atrocious performance: Yup, you are seeing it right, it was taking about 30 seconds for all the API calls finish.

    Read more…
Check out my latest project Watchlimits
Watch time insights and limits that work for you!
This is my mathjax support partial