Intro 
 Previously I wrote a post about compiling inkscape’s codebase using “unity
build” methods where all files that need to
be compiled are joined during preprosessing phase and then compiled as single
compilation unit. Compiling all that code in one go took from 3 to 6 minutes
depending on optimization parameters. I got some free time and want to…
Extensions 
 Get Chrome version 
 Get Firefox version 
 Intro 
 This is a description for a tool to measure HTML and it’s tag “waste”. Main
functionality is to measure how much tags (and inline css/js) contribute to the
HTML page size. It previously a personal tool that I converted chrome and
firefox extension because of a requestion from a couple of…
Intro 
 Some time ago I had to deal with a securtiy incident of what looked like some
chinese haker group atack on website. There is no exact evidence that it was a
group of people and not just a single person but from some characteristics of
attack it feels like it was a group of people. It was quit medium sized website
and it would’ve created quite a bit of chaos if…
Intro 
 Sometimes when I work on some mobile apps I get an issue of having slow response
times which in turn make the app “work slow” and all complaints come to me. For
an app user or business owner it does not matter who is responsible. The app
works slow so for them “whoever developed the app did a bad job”. Sometimes it
is easy to solve by just…
This is a small exploration to see how much overhead does TLS add for a regular
connection. We look into regular HTTP and how it changes with adding TLS to
secure it. 
 Basic HTTP 
 Initially let’s start setting up some baseline and get values that we can
compare with our other results. For this we will need a simple HTTP response
without any encryption. For data I…
tldr: Testing 1000 popular domains for HTTP header sizes. On average it will
take 1-2KB. There are small header with 300 byte and huge one with 28KB. 
 Introduction 
 Several month ago I made a talk in the local developer community for flutter
developers about cartoonish representation of how low level networking works.
The talk discussed networking mostly from frontend…
TLDR: Reducing TLS record size will need less data to decrypt initial
block and allow loading other assets before loading full document. This will
also improve TTFB because decryption library will pass decrypted data quicker 
 While working on our websites we use several ways to speed it up. Some people to
to extremes and use just tiny HTML page, some try to keep page always under…
TLDR : Instagram changes their TLS certificates daily and they use
certificates that are just about to expire in a week. 
 Intro 
 Since I occasionally help debug issues with office networks, I have
built a simple cross-platform app for myself. One part of the app is a tool that gets the site
certificate and displays various needed information. To test edge cases and
verify…
Intro 
 Linkg to the demo: Interpereter visualizer 
 I experimented with Dart for desktop and web development, and I wanted to build
a non-trivial application to stress-test whether it could handle a more complex
project. For quite some time, I’d had an idea to build a visualizer for a
programming language, and it seemed like a project with an appropriate
difficulty level…
Intro 
 From the beginning, C/C++ code has been compiled into separate small code
objects and later linked into one executable or library. Initially, it was done
due to hardware limitations as it couldn’t process all code simultaneously. These
days it is done to increase compilation speed by trying to compile just a small
portion of changed code after the initial full…

 
 
 

 
 
 

 
 
 
 RSA algorithm illustration 
 How to generate magic numbers? -->
 What is RSA and where to get magic number? 
 
 
 Public exponent 
 0x010001 
 
 
 Modulus 
 0xC4F8E9E15DCADF2B96C763D981006A644FFB4415030A16ED1283883340F2AA0E2BE2BE8FA60150B9046965837C3E7D151B7DE237EBB957C20663898250703B3F…
Introduction 
 After making a small DES illustration I wanted to create similar thing but for
AES. After some consideration I decided not to do it as it was very similar and
decided to go with RSA because I really liked it on first encounter with the
algorithm. From all the algorithms used in SSL it felt like RSA is the simplest
and most elegant one. I will try to show…


 
 
 




 This post is continuation of previous crazy post about creating X11 windows
with c and sockets but a little
more crazier. There is a thin line between genious and insanity and this time
winds blew us to the side of crazines. The problem is that I nerd sniped myself
into thinking that since opening X11 windows is just…

 Intro 
 In this post I want to create a single file C file program to open a windows
inside Linux without using xlib or any similar libraries. The idea is to explore
X11 protocol and see how it is used to interact with X server to create windows. 
 Before I had strong association that X11 was some magic thing to manipulate windows
and it’s resources. I was very…
Lately I have been digging into django source code to find out how to get access
to actual file field for renaming during upload in general case. This turned
out to be impossible because this information is lost as django passes whole
instance to upload_to instead of file field itself. There was a need to do
some magic during file upload based on the actual file content hash. But…

 In last post we looked at doing some opengl and shaders with raw xlib. It was
done in with single ‘.c’ file for simplicity. Here we will create almost the
same thing but with autoreloading shaders on content change. There still will be
just one ‘.c’ file but shaders will be split into their own files for easier
editing. 
 The code as usual will be…
Introduction 

 
 



 In this post I wanted to explore creating a simple python server with automatic
browser page reload on content change. There are many livereload servers in the
wild and I used quite a few of them. For example Hugo has a local server with
auto reload, javascript developers have pretty good local servers when using
react and etc.…
Introduction 
 In the last post we looked into how
to create a window with basic OpenGL using fixed function pipeline. In this post
we will try to recreate the same scene but using more modern aproach using
shaders. Here we will “bake” shaders inside our source code. 
 Here is the final code of 07_window_opengl_core_profile.c: 
 #include <stdio.h>
#include…
Introduction 
 We will continue exploring creating windows from scratch in linux using Xlib.
Here we will look into opening basic window and draw onto it using opengl using
fixed function pipeline. You can look into previous post 
if you want to compare this approach with software rendering. 
 I wanted to start with fixed-function because it is a lot easier and can…
Introduction 
 This is continuation of the previous post about creating windows using Xlib/X11.
In this post I will show how to start basic software rendering inside linux from
scratch usin Xlib. 
 Full Code 
 05_window_software_renderer.c 
 #include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>
#include <stdint.h>
#include…
Introduction 
 In this post I wanted to go over creating windows using raw Xlib (X11) and show
how to approach the task if you want to do it from scratch. Current trend is to
use Wayland and a lot of distros already switched to using it but still there
are a very large portion of computers that are using X11 . 
 When I first was learning how to open working with X11 it was very…
Few month ago I wrote an article explaining which CAs flutter compiles
inside the app but recently I was trying to explore how it loads those
certificaes from memory and found out that my assumption about compiled-in root
certificates was probably wrong. 
 I did a quick skim through dart source code and it looked to me that it was not
compiling in CAs into the final app. So I…
Introduction 
 One of the best features of Django is the speed it provides to develop fast
prototypes. It does not mean that it is a framework to develop prototypes but it
is very helpful for building quick and fast prototypes when you need one. It is
my first when I need to build a proof of concept for something or when I want
quickly prepare something for a presentation. Yet…
You can look at font icons here: Font icon ligatures 
 Intro 
 There are two reasons why I got interested in reasearching about this topic.
First of a lot of google products loads garbage when you are not using super
fast internet speeds. The main most noticeble one used to gmail but it looks
like they fixed it now. 
 
 But even though it was annoying it didn’t…
This is partly a continuation of previous article on this topic:
 Exploring Xorg connections 
 While exploring Xorg and its connections I stumbled upong interesting fact that
some apps open multiple connections to Xorg even though they have just one
window. For example chromium had 7, skype 8, firefox and telegram had each 2
connections. Since Skype connection count was…
There is part two: Monitoring Raw X11 Communication or why Chromium opens 7 Xorg connections 
 Lately I have been playing around with raw X11 protocol by writing apps that
work directly with Xorg by establishing a unix socket connection with it. It was
pretty fun to play with and feels like easier than Xlib (but maybe I just got
better). While doing all that I got interested with…
IMPORTANT: This note is wrong about flutter always using embedded CA certificates for
validation. There is a new corrected note about how it works: 
 How flutter uses certificate authorities 
 Flutter apps in contrast to general approch embeds CAs
 (Certificate Authority) 
right into the app and do not rely on operating system to verify the validity of
an SSL certificate.…
tldr: Compare flutter with js for web dev. 
 You can play with: 
 vanilla js or 
 flutter web (canvaskit) or 
 flutter web (html renderer) 
 If you are on mobile and whant to see how they look go to Video section 
 Important : When used with flutter html renderer this app became about 2 Mb
in size and just over 500 Kb compressed. Go the apps above look around. 
…
This is continuation of previous post:
 VIM and Tmux as a tiny quasi IDE 
 Intro 
 Here in this post I will show you how I use a bit of scripting together with
vim’s quickfix window to speed up my workflow of finding compilation errors.
There reason to use bash instead of makefiles is because it is easier for me to
reason what is happening in bash script than in…
watch video 
 There are multiple approaches to development and everyone has a some style of
how they like to approach this process. Every task requires could require
totally different approach and different IDE. So if I do native Android or Flutter
developemnt it is natural for me to Android Stuio, for Java code it is
Intellij, for Qt it is more comforatable if Qt Creator is…
I have been taking notes and managing my todo lists for quite some time. During
this time I have used different tools for both. For note taking I tried evernote,
google docs, obsidian, OneNote, regular files and quite a few others. The same
goes for todo lists. I probably used everything from top 20 list for apps for
todo management (even taskwarrior). But in the end I ended up…
Introduction 
 Here I am presenting one possible way to do “on the fly code reloading” of
JNI code. The whole code is C/C++ compiled in 2 shared libraries and realoded on
demand without restaring the application. 
 This example uses a game tiny “game” where you just walk around space. This is
just a placeholder idea borrowed from Casey Muratori’s…
Introduction 
 This is post is similar to the one about building flutter but a bit different.
Actually this one was written a few years prior to writing flutter version but
just never got published. Since then some steps has changed and I moved to Java 11.
But you if you still build with java 8 old build method is still surprisingly
functional. 
 So the idea is to build and…
Initial draft 
 Introduction 
 Flutter is a very useful framework which does quite a lot of heavy lifting and
hides all the dirty details inside a black box. It is very good when you want
get the job done but I really like opening black boxes as I really don’t like
magic. 
 The sole reasoning behind this project is to build a ‘hello world’ project…
What happened? 
 So I create this site to test some ideas this time I chose to use a ‘static
site’ approach. There is no specific reason why I chose it to be this way it is
just I wanted to try something that I have not tried before. My last test was
with django. 
 So one of my first experiments I wanted to do is to stack different web
analytics tool on the page…


 
 
 
 
 

 
 

 
 Are you one a phone? It is probably not going to work here. Open in desktop browser. 
 Or you can watch it on youtube 
 https://www.youtube.com/watch?v=EZYA1cV53nw 
 
 
 -->