Researching weight scales - hardware and firmware
Collecting weight scale data in my… fridge.
Recent content on DynamicallyInvokable
Collecting weight scale data in my… fridge.
Chasing 0.4g of missing food in my cat feeder.
Start here to read about the ultimate cat feeder.
How do you write a fairly complex Arduino project? Are there any best practices? …and for those who waited, the cloud cat feeder source code is now publicly available.
Dirty cheap PCB will make your life MUCH easier.
Around 500 MB of 3D models in ~50 STL files, plus Fusion 360 archive made available under Open Source license.
The ultimate cat feeder is done. Watch the demo and see why so many people like it!
After 22+ hours of designing, it’s time for 100+ hours of 3D printing.
Watch taking the art of over-engineering to a next level… on a cat feeder :)
What does maximum-connections, CPU autoscaling, money and distributed systems have in common? Find out.
How do you know the right maxThreads (Tomcat/Java) or maxConnections (IIS/.NET) for your application? What is it? Why do I need to set that?
Bob is a very successful guy. He is auto scaling his service by automatically adding hosts when the CPU increases, and he is removing them when CPU goes down. Dear Bob, there is a trap waiting for you around the corner.
Monitoring services is crucial, if you care about the application uptime. There are hundreds if not thousands parameters which you can (and should) monitor, related to CPU, network, hosts, application and so on. What are they? What are the non-obvious choices?
If you ever maintained a live system - I’m sure you must have used the min-max alarms. However, are they always the best tool for the job?
It seems that most people know the importance of software design patterns, best practices or continuous integration. While those subjects are important, there is one more equally essential term, which yields only one relevant result link on the first Google page. Meet Operational Excellence.
First of all, this post won’t be for people who think developer’s job is to design, write code and test it. It’s far beyond that. One of the important responsibilities is to ship your code to production. How to do that safely?
There are certain classes of exciting problems which are surfaced only in a massively distributed systems. This post will be about one of them. It’s rare, it’s real and if it happens, it will take your system down. The root cause, however, is easy to overlook.
It’s surprising how the volume of data is changing around the world in the Internet. Who would have thought 10 years ago that in the future a physical experiment will generate 25 petabytes (26 214 400 GB) of data, yearly? Yes, I’m looking at you, LHC. Times are changing, companies are changing. Everyone is designing for scale a tad different. And that’s good, as it’s…
Let’s assume you are considering using Cassandra for logs storage or in general, for time series storage. You are well prepared - asked google extensively. Yet, there is a trap waiting to kill your cluster in few weeks after lunch.
As they say: there are two kinds of people in the World - those who pick up the ice cube that falls on the floor, and those who kick it under the fridge those who back up their files and those who haven't experienced losing all their files yet. Which category do you fall in? I decided to set up a backup system with ResilioSync - the heir apparent of the BitTorrent Sync software. Well, that…
The hardest problem on HackerRank, sorted by Max Score and level “Expert” is Separate The Chocolate . It’s worth 250 points and the level “Expert” is the highest one. How to solve it?
This time we will solve a HackerRank problem , rated as a medium in difficulty. It’s advised for you to go through a similar, but in my opinion easier problem described by me previously .
Last time we have covered Text Justification problem, this time we will do something harder. Solution in 5 easy steps!
Dynamic Programming is considered as one of the hardest methods to master, with few examples on the internet. Let’s contribute a little with this post series. Today I will cover the first problem - text justification. Credits: MIT lectures.
In the previous post I’ve described a strange problem related to Cassandra Datastax C# Driver which was happening once in the production environment. It’s time to reveal the mystery.
This post will be about my journey with fixing nasty Cassandra Datastax C# driver problem, which took me a lot more time than expected… Can you guess the problem source?
Do you know the trees used in Cassandra, Git, Bitcoin or Lucene? Check this post to find interesting trees, usually not covered on Computer Science lectures.
What’s faster in C#: setting an array by index or a generic list by index? Are you sure you know the correct answer?
Today I recommend you following presentation: Cloud-based Microservices powering BBC iPlayer. Why? It’s interesting (at least for me) how one of the most popular British broadcasting organisation make their’s channels available online. A high-level architecture is presented. If you are new to AWS, you will also learn a thing or two about the Amazon Cloud.
Git can be used from VisualStudio, however it’s like saying you drive a car, when actually you play Need for Speed. Unleash the full power of Git, learn to use it. It’s not that hard.
How to make the same types (by FullName, AssemblyQualifiedName even GUID) but… different by type1==type2?
The dark side of Cassandra.
Recently I’ve designed a mechanism to notify external systems (with which we cooperate) about changes in our system. This, obviously, can be done in multiple ways. Let’s look at some considerations on a high level, some questions and how that affects our requirements.
Today I recommend you following presentation: The Microservices and DevOps Journey Why? “Microservices” is a buzz-word, created around one year ago, still not popular in Google, but surprisingly popular on conferences: Google Trends: Microservices vs SOA . In my opinion, in this video, a sensible approach of transforming a monolith to a microservices system is presented. KISS…
How many timers are in the .NET Framework? What assumptions do they have? Which timer would you use for implementing Speculative query execution?
Warning: this post won’t be about “boring” or “typical” algorithms from Computer Science which we all have learned on studies (like quick sort, merge sort, xxx sort, A*, FFT). Instead, this will be about other little-known, especially USEFUL algorithms, which people working as professional developers should know or heard of.
This user story is quite simple: there is a guy (me) who likes Star Wars. This guy wants to buy the best tickets available in an IMAX Cinema . The premiere was not so long ago, so a day after the showtimes are updated, the best seats are booked. This guy (also me) is quite lazy, so he doesn’t like to check the showtimes manually. Hm… let’s do it like pro developers using…
Git is a very powerful, distributed version control system. It’s based on simple concept - directed graph without cycles (a tree) pointing four types of objects in it’s database. I love git and it’s brilliant design. Therefore, when I saw how misused it was in a company which I joined, I’ve had to fix it.
I like to watch a IT related presentations. Those give you a lazy way of grasping the idea of “what’s up” in particular subject. It’s grasping because by watching you won’t learn actual skills, but you will know what exists, where are the dragons hidden and where to look deeper. What’s more, if you are bored, you can always skip some parts or go to next…
Normally I “live” in .NET environment. That is, my work is usually related to .NET environment and most popular libraries associated with it. Some time ago, I started to work with Cassandra. Google it. Popular. Superb. Advanced. Supreme. Design for speed and resilience. Used by some big players. That sort of impression you will get. Therefore, just few days after meeting Cassandra…
I’ve planned to start blogging for a quite long time. Now, after seeing Microsoft Live Writer going Open Source I’ve decided to start blogging. Just now. Just like that. Therefore here is my first post ever. I’m planning to publish minimum 1 post per month. Let’s see how that will work. I’m planning to write when I will have time and something (in my opinion)…