Forest Thinking in Prolog

One thing that really annoyed me at the beginning of my adventure with Prolog was when THIS happened:

?- between(1,3,A).
A = 1 █ <- blinking cursor
Read more  ↩︎

Grounding in Prolog

Grounding is one of the weirdest concepts in Prolog and the ones that occassionally comes back to haunt me.

Since Prolog is for Nerds³ I decided to translate it to Engineer½ (like myself) language.

Read more  ↩︎

A Flying Giraffe

In spirit of trying to not get into very long texts, I've extracted this from a larger piece, which might feel disconnected.

Single iteration loop, that can be taken from "base" software development process, one that's often taught during education usually is a simple one.

There are many variations but usually they all look like this:

Read more  ↩︎

Network Scenarios Cheatsheet

I find it amusing that software engineers (or at least those I know) are very risk averse but paradoxically very optimistic about some topics. Complete trust in reliable network conditions is a belief that puzzles me often.

After frequent conversations about what is - and should - be considered “normal” reliability when passing messages between distributed systems I got bored with recalling (and repeating!) same examples.

So I designed cheat sheet to look at when planning for systems interactions.

Read more  ↩︎

Upgrading Node Stack

Job

Dealing with a dependency hell is a dirty job.

It probably got its name directly from how fun that activity is. Years ago I heard description that something is like a chewing on a broken glass, but slightly less entertaining. It would fit.

Read more  ↩︎

What the ADHD?

Caveat emptor

Without going into personal details — I have a stake in ADHD. I'm raising awareness and try to help those who have it — knowingly or not. Due to that I'm always on the lookout of new knowledge, ideas, techniques and tools.

My knowledge is based on personal experience, accounts of those diagnosed and pre-diagnosed, conversations with therapists but also taken from the books and internet sources such as published research, info-sites or (rarely) popular publications.

I'm not a professional researcher nor a doctor. I don't cross-reference information so it's not unlikely that I am wrong. Please keep that in mind and if you find false information don't hesitate to contact me.

Basics

ADHD is a complex neurocondition that's difficult to either describe or categorize. In a nutshell it's a dopamine and norepinephrine dysfunction that might cover both their production and "consumption". Those hormones/neurotransmitters impact deeply on everyone's life. When they don't work as they should, they bring full spectrum of various issues.

Depending on case by case basis, it can be norepinephrine, dopamine or both that is driving person's ADHD. Dopamine seekers might engage in novelty, searching for something that gives them rush, being always on the run. Norephinephrine overproducers might be anxious and unwilling to change, making adventures only through the books. Mixed — well — it depends on a moment.

Read more  ↩︎

Software Is A Tire

  • Tires are everywhere
  • Nobody needs a tire by itself
  • Tires aren't exciting (except for tire engineers and tire salespeople)
  • Tires "just are"
Read more  ↩︎

The Knob

Fiction, full text  ↩︎

Emacs Compile/Recompile Trick

Mickey Petersen wrote nice piece about compile feature in Emacs - something I use a lot and I recommend the read.

I like to have instant feedback, so I use it for almost everything after which run recompile that replays last compile command. recompile can be bound to the key, but my favorite trick is to use Local Variables.

Read more  ↩︎

Lunch, One Of Many

Fiction, full text  ↩︎

The Battery Issue

For the last few months I was very unhappy with my iPhone 13 Pro battery.

It was discharging way too quick. How quick? After 10 hours after unplugging I usually got "battery low" alert. I didn't feel my usage throughout the day would be enough explain it.

I tried to troubleshoot it, but to no avail. The only hint I got was "Find My" app, that was using 100% of the battery when inspecting part of the available battery slope. I tried various strategies but wasn't able to fix it.

Read more  ↩︎

This one PR trick

Hey y'all!

I have an important PR:
> ...
> 131 files changed, 1255 insertions(+), 318 deletions(-)

Anyone up for a review?
Read more  ↩︎

Blackboxing React Components

Blackboxing of React Component is a (self-named) process that I use in order to separate visual component from the logic layer.

As a refresher - visual components are the type of components which role is to "look nice". They can have some logic inside, but ultimately they're dumb. They don't reach out for data, they don't handle complex state changes, however they can render different elements reacting to props changes. Components that have complex logic in them are usually named Controller Components or Logic Components. While it’s a very good idea to aim for such separation, real life project have this line blurred.

Read more  ↩︎