WakaTime’s infra is split across DigitalOcean and AWS. We use DigitalOcean Droplets for compute resources, AWS S3 to store code stats, and DigitalOcean Spaces for backups. You can find more info on this split infra decision in this blog post. The files we store in S3 are usually between 10KB and 50KB in size, and we store multiple terabytes of these files. We don’t use Spaces CDN, and our Spaces ...
Read More »Home »
Using a disk-based Redis clone to reduce AWS S3 bill
Redis is an in-memory database with very high write and read speed, and a limitation that data sets can’t be larger than available RAM. It’s like memcached but supports data structures instead of just strings as values. Redis is great for caching lookups to AWS S3 from an external server, which can speed up your S3 reads and save you money on Outgoing Data ...
Read More »Saving JetBrains MPS models in a database using Modelix
JetBrains MPS is our tool of choice to build Domain Specific Languages targeting professionals who are not developers. MPS is a great choice but over several projects we ran into specific issues for which we are researching an answer. In this article we see how we can solve one of these issues by using Modelix to store MPS models into ...
Read More »My Advice To Developers About Working With Databases: Make It Secure
Last month Ben Brumm asked me for the one advice I’d like to give to developers that are working with databases (in reality – almost all of us). He published mine as well as many others’ answers here, but I’d like to share it with my readers as well. If I had to give developers working with databases one advice, ...
Read More »Use the Power of your Database: XML and JSON
Today databases have a lot of functionality that is often not used by software developers because they simply not know that this exists. But knowing about this features can save a lot of time because you may write less code. One of this hidden gems is the ability of producing XML or JSON data using a SQL SELECT statement. In ...
Read More »Java: Release of Speedment 3.2 – Now Enabling Lightweight Database Microservices
Several traditional ORMs do not fully honor Java module encapsulation (JPMS). This often means a lot of unnecessary files and classes are used when deploying microservices. The latest major release 3.2 of open-sourceSpeedment solves this problem by introducing module system support allowing efficient deployment of cloud applications and providing a more stringent API. In this article, you will learn what’s ...
Read More »Improve database speeds by fixing slow queries
When building web applications, a great deal of optimization often occurs to speed up the flow of information from and to the user. The possible ways of speeding up this information flow are as varied as web applications themselves. In this article we will be focusing on the way a data model can be optimized to fit the specific use ...
Read More »A guide to the InfluxDBMapper and QueryBuilder for Java Part: Into and Order
Previously we used the group by statement extensively in order to execute complex aggregation queries On this tutorial we are going to have a look at ‘into’ statements and the ‘order by’ close. Apart from inserting or selecting data we might as well want to persist the results from one query into another table. The usages on something like this ...
Read More »Golang – The database/sql package
This post is part of a series where I do my best to organize my thoughts around Go: its paradigms and usability as a programming language. I write this as a Java programmer that respects the principles of Elegant Objects. I am studying the Go Code Review mantra Accept Interfaces, Return Structs and was inspired to write this post after ...
Read More »