https://www.gravatar.com/avatar/306d401b2a8c0efe0996fec60e0c90aa?s=240&d=mp

My coding journey

Disclaimer: it's just for fun

Encrypted Directory With encfs

I would like to keep my secrets in encrypted directory. It seems that there already exists a nice solution to this problem and it is called encfs.

For reference, I found online manual with examples after visiting baeldung linux article first.

So, let’s do it.

Create a pair of directories

Here I’m creating two directories:

  • ~/.crypt is the source directory - here encrypted data are stored
  • ~/crypt directory which is the mountpoint - here I would see decrypted files to work with
[karma@tpd] mkdir ~/crypt ~/.crypt

Create encfs

Now, in order to start working with encsfs I issue following command: encfs source mountpoint:

Algorytmy

Znajomość algorytmów z pewnością przydaje się w konkursach programistycznych (i wszelkich imprezach bądź na portalach promujących competitive programming) (lista). Jest też, obok wzorców projektowych, częścią “abecadła” programisty i - mimo, że dziś bywa mocno kontestowane przez kulturę jako “niekonieczne” oraz “niepraktyczne” - stanowi mocny fundament dalszego kształcenia - już w trakcie kariery zawodowej.

Oto kilka algorytmów, którym chcę się przyjrzeć bliżej:

JavaScript Canvas Easter Eggs

It’s snowy and rainy, although it is April already according to the calendar. A few days ago I’ve seen little yellow flowers growing in the snow (snowdrops and aconite). It’s also very windy today (I can hear howling in ventilation chimneys) and it was raining all night long.

I need some more colors to dissipate the unpeasant aura. I’ve decided to write a small graphics generator for easter eggs.

The code is available at GitLab, in snowflake project and the generator itself is available on kamilachyla.gitlab.io page.

Automatyczne "podpisywanie"dokumentów

Jedną z zalet posiadania trójki dzieci jest ciągła konieczność mikrooptymalizacji różnych około-domowych procesów. Wyzwaniem jest ogarnianie zakupów, posiłków i prania, a czasmi dochodzą jeszcze różne “jednorazowe” (ale przecież cykliczne) zadania, na które jeszcze nie mam stworzonego procesu, a które irytują mnie samym faktem swojego istnienia.

Jednym z takich zadań jest cotygodniowe wysyłanie do zastępowej ZHR dokumentu, w którym swierdzam, że w tym tygodniu moja córka dobrze się czuje i może brać udział w zbiórce harcerskiej.

JVM: Loading, Linking, Initializing

This chapter of JVM Specification describes three phases of life of a JVM class: loading, linking and initializing.

Good read
A good read from the perspective of a Java programmer is chapter 12 of Java Language Specification which describes the execution of Java program starting from a main method of the starting class (also called: main class).

In order to start executing main method (public void main(String[] args)) of the main (or: initial) class the JVM needs to have a runtime representation of the class. If JVM does not have it, it needs to construct it from binary representation. This is called loading.

JVM: Verification and Checks

The weather is still “very february”, so I grab a cup coffee ☕, start reading and taking notes.

This post completes Chapter 4 of the JVM Specification - it quickly goes through format checking, shows two types of Code attribute checks and lists JVM limitations.

Format Checking

Before the class is loaded, JVM needs to ensure that the .class file has appropriate format. There are five basic integrity checks that are performed on a .class file: