Share freely. Learn how.

from here is distant

I'm not your friend. I dress pixel ducks. Giving a goose hid inside my Valentino white bag.

It's quite nothing. Just a spare tired. Honeygry as fuck because my Valentino white bag.

Go therverywhere. It's fucking noisy. Sad hours pm at my Valentino white bag.

Spill farcicles. Pleasure from Pretty. Stuffing skullenvoid into my Valentino white bag.

When was the last time you challenged yourself? Would you eat a pizza slice that had been in the fridge for four days?


from tmo

Went to the ‘rents earlier today. Cleaned windows, packed crates, moved furniture around. The mom is not moving, but she had a lot of stuff that needed to be done before she has the bedroom painted. She is tearing up the old carpeting and replacing that a month from now. Gonna be a lot of busy-body work going on there for the next 30-ish days and I am all too happy to help out.

As for me, I have an appt on Tuesday for therapy + grocery shopping on Monday, and I will tr4y to keep myself busy this weekend with...idk what the hell with. LOL! Reading, probably.

I have yet to complete (write) the conclusion to MMMhub but there is certainly no hurry with that. Though, as soon as I finish that I can move onto the next project until iPadOS is released and I can complete MMMhub. Again, though, no rush. And speaking of the iPad – since I spent a healthy chunk of cash on it I am looking forward to buying some other things I need for around the apartment/in life in September such as Chuck Taylor shoes, safety razors, a Zippo and some tobacco. Simple Analytics, too, but that is more or less a recurring expense (similar to this blog (not complaining)). Hell, I NEED some thing for around the apartment. Need to make an investment in the “IRL space” instead of just they digital space in my life. LOL!

Anyway, be back in a bit!


from The Canteen

Hello Everyone!

Welcome to the official first status update of Imagine Daggers. This month we have made crazy good progress on the project!

Here's something things that are complete

And here's a few things that are in progress which are expected to be completed before the end of the month

  • Create an account
  • Login to an account


The branding is insanely good. Thanks again to our pal Gabriel Estrada for creating this amazing design. I'm really digging the colors, the look, the feel. It's just a really well encompassed design. I highly recommend hitting Gabe up for your design needs, he was extremely pleasant and professional to work with. His experience is top notch.

Ending Notes

And that's the tea sis

Please check out the roadmap in the mean time if you'd like an update on the most recent things in the works!

Also, check out our repositories and sign up for our newsletter for the latest and greatest.

Github Repository (Frontend)

Github Repository (Backend)



from 365 RFCs

by Darius Kazemi, June 16 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.

Sockets, reconsidered

RFC-167 is titled “Socket Conventions Reconsidered” and authored by Abhay Bhushan of MIT Project MAC, Bob Metcalfe of Harvard, and Joel Winett of MIT Lincoln Laboratory. It's dated May 24th, 1971.

The technical content

The problem as laid out in this RFC is that there are two competing considerations for socket numbering as it currently exists:

  • sockets should be limited to 16 bits for smaller hosts (like TIPs)
  • sockets should be 32 bits and should include lots of metadata for “accounting and access control” (namely figuring out who is using what service so that sites can charge money to their users)

The authors suggest doing neither of these and instead waiting for an overhaul of the Network Control Program (NCP) protocol.

According to the authors, “The socket number, as it is used in the current NCP Protocol is a small number with a big function.” They say that there is probably going to need to be “a substantially more powerful identification mechanism” in order to provide the kind of features that the Network demands, that can meet both criteria above: able to account for who is using what services, but also able to be processed by less powerful systems.

One of the main issues is that they want socket allocation to be both unique and repeatable: that is, if you connect one of your processes to a process on a remote server via a socket, they would like that socket to at least remain the same for “reconnection on a regular basis”, though they don't say how regular exactly. The authors say that this means socket allocation should be tied to access controls somehow, aka, sockets should be reservable by individual users.

A “bad way” is the naive solution: keep a list of sockets, their assigned users, and how long they have the socket reserved for. An alternative strategy they recommend is partitioning sockets at a host among its network users. So for example, maybe the first time a user connects to a host at UCLA, they are given a range of sockets that are “theirs” to use as they see fit.

Further reading

“A small number with a big function” is a problem that persists in one form or another on the internet to this day. This blog post is a history of the routing protocol BGP but it covers the history of IP address and routing table growth in detail. These days, an IP address plus a socket number acts as what a socket number (which included the site identifier, analogous to a modern IP address) did back in the ARPANET days.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.


from veronica reads.

A+ | A wonderful, well written biography about Turhan Sultan who became de facto ruler of the Ottoman Empire. This book gives you an insight to Turhan Sultan’s life as well as her architectural patronage — one of the big indicators of her power and prestige. It goes into how she used her building projects to not only make a name for herself, but also to spread a message to her son and to the people. This book is absolutely well worth the read for any history student or causal history lovers.

Captured in Russia at the age of twelve, Hadice (Hatice) Turhan Sultan (whom I shall be calling Turhan Sultan from now on) entered the Ottoman Imperial Harem as a slave. Eventually, she rose through the ranks to become one of Ibrahim I's Hasekis. She bore him a male child, Mehmed, who would become sultan after his father was deposed. When Mehmed I became sultan at the age of six, Turhan Sultan became Valide Sultan or “Queen Mother”. However, it wasn't until her rival & Mehmed's grandmother, Valide Kösem Sultan, was murdered after plotting to have Mehmed deposed & replaced with another grandson with another mother, that Turhan Sultan was able to become de facto ruler of the Ottoman Empire, a position she held for a little over three decades until her death on the 4th of August 1683. It is during her time as valide sultan that Turhan undertook her architectural patronage in which she oversaw numerous projects, including the construction of two fortresses (the Seddü lbahir and Kumkale) & the completion of the Yeni Valide Mosque in Eminönü in Istanbul.

Ottoman Women Builders was written for a general audience of early modern scholars & students. The prose is clear & straightforward. It's comprehensive. The evidence provided are numerous but presented in a manner that allows the reader to digest them, despite the fact that they are sourced from a variety of sources. The book is organized in a way that allows for paragraphs to flow into each other. Even those who are just lovers of history should have no problem reading through this book because Thys-Senocak does offer insights into the various topics to help the reader understand as she presents her evidence to support her argument that Turhan Sultan, despite being away from the public view, legitimized her political authority through patronage of bold architectural works & established her as protector of the empire when she commissioned the construction of the Seddü lbahir and Kumkale fortresses.

Chapter 1 is the introduction. It gives readers an insight to what to expect & offers an introduction to the themes presented in the following chapters.

For those who are more interested in Turhan herself, Chapters 2 & 3 gives a thorough introduction & historical context into this amazing woman as well as draws on comparisons with her Ottoman & European counterparts like Nurbanu, Kösem, Elizabeth I, & Catherine & Maria de'Medici.

Chapter 2 provides the reader with background information on Turhan herself as well as her rise from concubine to valide sultan. Even if you have not read The Imperial Harem: Women and Sovereignty in the Ottoman Empire by Leslie P. Peirce, Thys-Senocak takes the possibility into account & gives a brief overview of how things operate within the harem. It is in this chapter that Thys-Senocak explains Turhan's relationship with Ibrahim as well as her relationship with Kösem. Also, there is a section in the chapter called “Administrative Duties” which recounts Turhan's duties as valide sultan & gives readers an insight into Turhan herself. Thys-Senocak makes it a point to point out that Turhan has always been concerned with the empire's security as well as the fact that she had “cultivated a strong image of an imperial figure dedicated to justice”.

Chapter 3 gives more context in terms of how Turhan compared to her European & Ottoman counterparts. It's here that once more, Thys-Senocak takes into account that you might not have read Peirce's book & explains, briefly, the limitations of Ottoman women vs their European counterparts, especially in terms of their architectural patronages. Here, she also points out the relationship between a woman's life stages & their power & agency. Again, there's a comparison between European & Ottoman women ; Thys-Senocak makes it a point to point out that the prestige & legitimacy that a valide sultan had was derived from her position as the mother of the reigning sultan, not as widow of the deceased sultan.

Thys-Senocak shifts in Chapters 4 & 5 from Turhan herself to her architectual endeavors where she brings the fire so to speak. It is here that she offers a beautiful & detailed account of Turhan’s major architectural projects : the Seddü lbahir and Kumkale fortresses & the Yeni Valide Mosque in Eminönü.

In Chapter 4, goes in depth about the Seddü lbahir and Kumkale fortresses. As Thys-Senocak pointed out in Chapter 2, Turhan has always been concerned with the empire's security. However, she goes on further & is able to successfully argue that Turhan had commissioned the two fortresses to legitimize herself & her power & authority. Thys-Senocak points out that traditionally, concern with the empire's safety is something the sultan would be focused on. Thys-Senocak successfully argues that by taking on the task & commissioning the fortresses, Turhan legitimized herself as protector of the empire. She also argues that Turhan did this in hopes of preparing her son, Mehmed, to become as famed of a sultan as his ancestors.

This brings us to Chapter 5, which talks about the Yeni Valide Mosque in Eminönü in Istanbul which Thys-Senocak argues is what completely legitimized & fully established Turhan's power as well as advertised her piety. Thys-Senocak carefully explains the history behind the Yeni Valide Mosque, the architecture & planning of the mosque itself (which she argues was done on purpose to allow Turhan to view the complex), the politico-ideological messages, as well as pointing out the inscriptions on the walls which Thys-Senocak argues was meant for Mehmed in hopes of driving him to become a formidable sultan.

Chapter 6 is the conclusion which reiterates Turhan’s architectural patronage as deliberate & well calculated attempts to legitimizing her power & political authority, despite the fact that unlike her European counterparts, she was hidden from public view.

Ottoman Women Builders is a remarkable scholarly work. It represents a valuable contribution to Ottoman women’s history as well as architectural history & the study of imperial female patronage. Scholars, students, & enthusiasts alike will find this work to be worth taking the time to read & is a valuable text for those studying this field.

#bookreview #historybooks #fivestars #mostloved #biographies


from shermisaurus' weblog


😫 🤕 Went on an extreme distro-hopping session since the last day and came back to pop os, the same place where I started off. I tried manajro i3, manjaro kde, solus mate, elementary os, kde neon and ubuntu mate. The only ones that worked out of the box were manjaro builds. But KDE made me sick with the over-bloat and a sheer number of buttons to customize things. I ain't a theming kid anymore. I like things just working out of the box and this is one of the reasons I want to get hands dirty with a MacBook. i3 wm was pain in ___ as well, you know good things require patience which I clearly didn't had with those failed installs.

Turns out the problem was with setting up propitiatory drivers for Nvidia GTX GPU on my system. Manjaro had an option of switching on non-free drivers pre-installation and pop os comes with drivers pre-built in the iso itself.

I asked one of my friend Raman Sarda who's involved in lubuntu community and he came up with the fix and brought me up to the issue. I used to identify myself distro hopper back then but the fatigue I experienced during multiple installs this time suggest otherwise. Here's the gist I've made as reference for the solution of the issue.

Thanks @ramansarda2000 for coming up. 😀

Would try installing elementary or something over next weekend or end of the month. Too lazy and injured for now.

Cross-posted from my account an instance hosted on mastadon.



from veronica reads.

F | This book deserves zero stars. If I could just give it a zero in every review site I can, I honestly would just to warn people to not waste their time on this terrible novel that masquerades itself as a crime/mystery novel. It was bad from start to finish and I can't believe I actually wasted my time on this.

It takes a lot for a book to piss me off. It takes a lot for me to actually despise it. Even though I tend to rant on about the honest to Jesus horrible Sisi books by Allison Pataki, it had its charming moments in the first novel. If I hadn't read two biographies about Sisi by the time I read the book, it might not have pissed me off because I wouldn't have had the body of knowledge to know just how much Allison Pataki was disrespecting Sisi.

This book? Nah yo. This has officially claimed the title of my “Most Disliked Book”.

I don't even know where to begin because there is just so much I need to discuss. I guess the easy part?

The worldbuilding was nonexistent. I couldn't understand this world aside from people wear “masques” (Lord even the spelling makes my eyes roll – like no it doesn't make things cooler) to hide their imperfections and things like that and that there's this hierarchy where legacies can pretty much do whatever the fuck they want and if you're an under well god forbid you're an under.

I didn't understand how these masques worked and because I didn't understand how they worked, I was quite honestly imagining them to look like robotic faces. Or something from Doctor Who.

Another thing is I don't get what universe this is set in. Is it another planet? Earth in the future? What? How about the name of the city? The country? How does this world work? None of this was established! How are is anyone supposed to immerse themselves in a universe that we can't even understand? It makes me question if the author understands it. Hell, I even got up to a point in the book when I wondered if these characters were human!

One thing I did understand in this universe is that people fall in love fast and have sex a lot. Now, I don't mind sex in books, regardless of whether or not they're classified as romance novels or not and it is in the trigger warnings that there’s sex. However, what sort of “crime/mystery” novel spends more time on characters having sex and lusting after each other than on actually solving the crime?

In the 100 chapters of this novel, I think about 75 of them had sex scenes or mentioned sex. This would be cool and all but where is the mystery? Where is the solving crime aspect of this book? It certainly didn't help that POVs changed every chapter and each chapter was short so whatever sliver of mystery/crime solving we got was too short.

But Lord, these characters are just so vapid, shallow, dumb and self-centred that every POV change felt refreshing until I remembered this character is just as bad as the previous one. The only character I enjoyed was Saam but even she got cringe-worthy when she got together with Severy. If they all died in some fiery explosion at the end or because their fancy B&V masques electrocuted them, I wouldn’t care. I’d just laugh it off because that would have been a far more satisfying ending than the one we actually got.

So the main arc of this story is solving the murder case, right? Yet it didn't feel like it because we spent more time jumping between characters who were too busy contemplating how badly they wanted to have sex with another character and worrying about themselves. These characters had their stories, fine. But the problem is that there was too much going on and that rather than condense it, Lipkin decided that the answer was to add as many sex scenes as possible to distract readers from the fact that her characters are all shallow and dumb, that this plot is a jumbled mess, and that she didn't do any sort of research.

I think that what truly highlighted how bad this book is was the fact that there was no action. We weren't there to witness a lot of the things that we should have been a witness. Everything is told after the fact. I think that if a creative writing professor wanted to show their students an example of “telling and not showing”, this book is filled with examples. This book is also a fantastic example of why it's so important to have external action and dialogue going on more than internal. I'd say about 70-80% of this book is all internal – internal dialogues and recaps of what we should have witnessed ourselves. You can't have a book that's majority internal because that's boring! Where are the other characters? Where's the action? Where are the interrogations?

The only things we got to see were the sex scenes and the occasional meeting between the detectives.

Oh and those detectives? They are so stupid. No I’m not kidding. None of them really had a brain. McNair was too busy pining over his ex-wife. Kruse spent way too much time thinking about corpses but not actually doing a good job with autopsying the body. Wieand and Shey spent way too much time day dreaming about having sex with each other – although to be fair at least Shey also assuming the wrong people were the murderers with no evidence aside from her so called fantastic detective skills telling her she's right and everyone else was wrong.

There is nothing in the text that would prove to me that these people are capable of solving any crime. We never see them do any interrogation. We never see them investigate. Quite frankly, I got the feeling this author never bothered to do research on detective work and on crime.

Take for example when they were discussing their murder victim’s death:

“Well,” said Kruse, “I’m developing a theory. I think (she) wasn’t quite dead when she went into the pool, although no one could’ve saved her life after this circ did its worst, but I think she drowned and that’s what actually killed her.”

But Kruse! I thought you were the forensic pathologist! Shouldn't you know by now what was the COD? Didn't you do the autopsy? How was this character’s death deemed a murder, then? How is it at this point the detectives have already made assumptions of who killed the victim when you don't know how she died? What did the circ do to her exactly? Did it interrupt the electrical flow of her heart, causing it to stop or beat erratically? Did it do something to her electrolytes? Did it do something to her nerves? Did it cause a seizure? Did it cause her respiratory functions to become impaired? What exactly happened?

Let's go further!

“You think?” Harata said. He was leaning over the desk and staring at all the unseeable parts and shaking his head. “It’s impossible to tell exactly,” Kruse said, “because by the time she went into the water—” “Was pushed into the water,” McNair said. “Well, yes,” Kruse said. “By then she couldn’t breathe.”

What in actual duck is this?

  1. How do you know she was pushed into the water?

    • If the circ did something to her (caused her to have a seizure or impaired her respiratory functions for example), then she could have fallen into the water on her own.
  2. So, the circ caused an impairment in her respiratory functions since she apparently “couldn’t breathe”. Okay, so she didn’t drown then.

    • As per two articles by Szpilman et. al, the World Health Organization defines drowning as “the process of experiencing respiratory impairment from submersion/immersion in liquid.” The articles also state that “The drowning process begins with respiratory impairment as the person’s airway goes below the surface of the liquid (submersion) or water splashes over the face (immersion)… Any submersion or immersion incident without evidence of respiratory impairment should be considered a water rescue and not a drowning” (Szpilman et. al,).
    • Dr. Michael Boniface, an emergency medicine physician at Mayo Clinic states, “Drowning occurs when you can’t get oxygen into your lungs because you are in or below water.”
    • Also something to consider: Modell et al. stated that “to ascribe drowning as a cause of death to a body found in water without some evidence of the effect of having aspirated water is risky.”

Just fyi, I found all of this information after about an hour of research and using Google Scholar to find and skim through peer-reviewed, scientific articles.

If the victim couldn’t breathe before she went into the water (pushed or not), then hypoxemia (abnormally low level of oxygen in the blood) and eventually hypoxia (absence of enough oxygen in the tissues to sustain bodily functions) began to occur before she made contact with the water. There are ways to _figure out _what happened and whether or not the victim drowned for sure! There are biochemical tests, macroscopical examinations of external and internal aspects of the body, microscopical examinations!

Chapter 13, the victim was dead. However, it’s not until CHAPTER 41 where the pathologist was like “hey so still not sure what the COD was but I think she drowned?? idk bro it’s impossible to tell.”

But because it's written down, I'm supposed to believe that these are the people who will solve this murder?

Give me a break and don’t make me laugh. None of these detectives would be able to figure anything out. They would need things to be spoon fed to them — oh wait :) That’s pretty much how this mystery was solved — because it was spoon fed to the detectives.

Quite frankly avoid this book. Don’t even think about buying it or borrowing a copy from someone else. Don’t read it! It’s a complete waste of time and I’m going to go drown my sorrows.

Anyway, thank you to BookSirens for providing me with a free copy of the eARC in exchange for this honest review. All opinions are my own.

#bookreview #deserveszerostars #generalfiction #mysterycrime


from 365 RFCs

by Darius Kazemi, June 15 2019

In 2019 I'm reading one RFC a day in chronological order starting from the very first one. More on this project here. There is a table of contents for all my RFC posts.


RFC-166 is titled “Data Reconfiguration Service — an Implementation Specification”. It's authored by the Data Reconfiguration Committee, consisting of R.H. Anderson, V.G. Cerf, E. Harslem, J.F. Heafner, J. Madden, R.M. Metcalfe, A. Shoshani, J.E. White, D.C.M. Wood, and dated May 25th, 1971, one week after SJCC.

The technical content

This RFC is a spec for the Data Reconfiguration Service (see RFC-83 and RFC-138 for background). In brief, it's a service that anyone on the ARPANET can access that lets you specify in a custom language a list of rules you want it to enact on a data stream. For example you could put in rules that say “translate the first 50 bytes of a message to ASCII and insert the letter 'e' in between each letter of the message”. The idea is you could easily translate from one data format to another as needed but you wouldn't need to know a specific programming language to do it, and by using the network you wouldn't even need to have the software installed yourself. It is, as I mention in my article on RFC-138, basically what we know as a web service or a web API today.

The way the DRS works is: the user connects to it through a “control connection”. This is where the user specifies the rules for transforming data that the user would like to run on a data stream. Then the user hooks the program that needs data translation services into the “user connecton”. And lastly, there is a “server connection” that connects the DRS to its own host server.

+------------+              +------+          +---------+
| ORIGINATING|     CC       | DRS  |    SC    | SERVER  |
| USER       |--------------|      |----------| PROCESS |
+------------+     ^        +------+     ^    +---------+
                |           /         |
                |        UC/ <-----\  |
                |         /         \ |
                |   +-----------+    \|
TELNET ---------+   | USER      |     +-- Simplex or Duplex
Protocol            | PROCESS   |         Connections
Connection          +-----------+

       Figure 1.  DRS Network Connections

The control connection uses the TELNET protocol for communication, so the idea is you TELNET from your local terminal directly to the DRS, which is always listening on a well-known socket number at its site. You then give a six-character user ID, and then there are some simple commands for entering a form in the Form Machine Language (yes, FML) and then specifying which sockets you'd like to connect to from your actual program that you plan to hook up to it.

In addition to the above situation where a user wants to connect a process they are running to the DRS for its services, there is also a more “interactive” REPL-style mode. This is where you pretty much just log in via the control connection and hook your user connection back up to your own Telnet process!

The remainder of the document is about the Form Machine Language itself and also discusses the mechanics of input/output streams (via input and output pointers). The language supports arithmetic, translation between different literal types (binary, octal, hex, EBCDIC, ASCII), truncation, deletion, paddding, insertion of fields, parsing of variable length records, string length computation, and more. It is very similar in its core capabilities and purpose to something like sed, a UNIX “stream editor” which was developed just a few years later, though Form Machine Lanugage doesn't support regular expressions.


Moreso than other RFC specs, this one seems really well-written. I could imagine implementing my own DRS service in a language of my choice using this spec.

How to follow this blog

You can subscribe to this blog's RSS feed or if you're on a federated ActivityPub social network like Mastodon or Pleroma you can search for the user “” and follow it there.

About me

I'm Darius Kazemi. I'm an independent technologist and artist. I do a lot of work on the decentralized web with ActivityPub, including a Node.js reference implementation, an RSS-to-ActivityPub converter, and a fork of Mastodon, called Hometown. You can support my work via my Patreon.


from A World of Writers

Black Cat and

A Woman Destroyed, destroyed me. I don't know how de Beauvoir manages to drag you into the emotional state of her characters so masterfully but I had to read this in pieces for my own sanity. It is such an incredible set of short stories about ageing, abandonment, and infidelity as experienced by women – and at the same time so painful to read.

Country: France My Rating: 5/5


from Dino’s Journal

It's time for another music log. I skipped a week because last week was too busy; think group of software developers locked in a room until a new feature was implemented. Anyway it's good to be back online.

Let's start off with “All the Same” by Sick Puppies. This is a pretty old song that for some reason eluded me during my college years. Or at least I don't remember hearing this song back then. I only heard it this year and I like it a lot. I love how it starts slow and builds up to a point when the vocals and instruments come to life.

Next up is “Breathe You In” by Thousand Foot Krutch. I would classify Thousand Foot Krutch as a Christian rock band, but they make music that fits a bunch of different genres. This is one of their slow rock songs that I really like. I especially like to listen to this song when I feel down and I feel like I need help.

Last song for today is “Lions” by Skillet. Another slow rock song from another Christian rock band. I love this song because it sounds uplifting and inspirational.

#MusicLog #RockMusic #ChristianRock


from Forced To Observe

Weekly Wisdom 8/12

  1. Everything happens for a reason, whether true or not, is a beneficial belief.
  2. Prioritize failure-learning over book-learning.
  3. Treat your brain like a pet dog. Don't trust it to simply do what is right without direction.

from /dev/null

It's been quite a while since I last sat down to write something outside of work.

I'm not sure why I decided to attempt writing again. After all, my writing is rather poor and my track record of sticking with it is all but non-existent.

I suspect my recent stint of Bad Brain Days has something to do with wanting to get things out of my head and into aether. A sort of catharsis.

What is /dev/null?

Unix and Unix-like systems have a device file called /dev/null that effectively acts as a black hole that silently discards all data written to it.

As for the blog, it's an outlet. Something to help get things out of my head, and hopefully lead to a healthier, and happier, life.

Why the anonymity?

It (probably) wouldn't do me any favors if prospective employers could see the things that go on in my head with a simple Google search. But that's not the only reason.

If I were to write under my own name, I'd probably not be as honest about things that are going on in my life. Or not write at all, as in the past.

I may attach my name to the blog once I've gotten some momentum on the writing process, but starting out, I need the guise of anonymity to remain fully honest.


These are my thoughts and feelings, I've not done any research regarding depression or mental disorders, nor any other topics I end up writing about. I'm also not claiming to be any kind of expert on the subjects. I may have gotten things wrong. In fact, I probably have.


from Poseur to Composer

Long boring car rides are a great time to study. While the other passengers gabbed about minutiae, I sat quietly and stared at the difficult-looking piano chord diagrams until they gave up their secrets.

Want updates on this and other projects I'm working on? Kindly subscribe to my newsletter.


from 📚Noisy Deadlines

A reunification, someone gets high and have stupid ideas, a longer than expected stopover on a comet-planet settlement and more awesome (meaning pleasantly weird) alien species. A family still trying to just...survive in a crazy world where appearances and race matter more than it needs to.

This series only gets better and better. Two more to go!

Saga Volume 7

#saga #graphicnovel #reading



Thursday Report: Tripped and Felled

It's been a little quiet here on the blog, but rest assured – I've been making some good progress.

I've done some traveling for the summer, taking some time out, and coming back to The Garden Path with a fresh head.

As we enter the second half of the year, the larger puzzle pieces of the game are slotting in to place, and I can begin transitioning toward clean up and polish. This way I can make sure the game is as solid as it can be before I start really generating some content.


Before my time away, I shared some video of tree felling. This was something I had been dreading to implement, only because I imagined it would need to involve a great deal of collision detections, and even some physics (god forbid). For instance, if a tree is cut down in a densely forested area, there may not be enough room to fall entirely, and it would need to rest up against the tree that blocks its path.

With that said, I've decided I'm cheating for now. Since the game is 2D, everything acts much like a cardboard cut out. Nothing has any depth, and the game decides (based on location) which prop appears in front of which – giving the illusion of depth. It's why the character can walk around a tree, and disappear when behind it.

Since positions are often measured within fractions of pixels, it's actually highly unlikely a felled tree would ever be in exactly the same horizontal row as any other prop, so it would just fall above or below it.

There is, of course, a point at which the illusion of depth would be broken. That said, felling a tree is, by design, uncommon, and keeping things this way saves me a great deal of time to spend elsewhere in development.

Each tree has a health node that tracks how broken down it is. A tree will heal overtime, but a player must be careful not to hack away at a tree too much. Chopping a tree is desirable, as it will provide certain items, but getting carried away will result in the tree being felled.

When a tree is felled, a tween is executed for the tree to slowly fall. I had attempted to animate this by hand node, but I ultimately had much more control creating the animation directly through code. The very slow, creeping start helps to give the tree that real sense of weight, especially as the speed picks up greatly toward the end, and the weight of the tree brings it down.

This speed is important, because it helps acts as a cover as the game swaps between two different props – the tree as it stood, and a new fallen tree prop. The smoke and other particles also help to cover up the swap. The positioning still isn't perfect, but it works well for now.

I used a large collection of free sounds sourced online to create the sound of the tree falling. The initial snap, to the creaking of the trunk, to the thud at the end. The final thud still needs some work, as it sounds a little too clean and tight. But give it a listen if you haven't done so already.

While at the moment the fallen tree is essentially just the existing tree but sideways, I'm hoping to have it be its own distinct prop, that ages and fades into the environment as time passes, that may even provide its own items, otherwise unobtainable.


The fishing mechanic is finally taking shape. I mentioned earlier in the blog that I wasn't quite ready to announce my plans, but with everything now underway, I'm excited to share it.

In The Garden Path, all fish are 'song fish', and they are attracted by a certain pattern of melody that the player may whistle while they fish. There will be four distinct keys that will allow the player to whistle different notes when selected, and different keys will attract different fish.

This essentially works by moving an invisible marker around an invisible grid. Each fish has their own co-ordinates, and whistling different notes will move this invisible marker along the grid in a different direction.

None of this will appear to the player, but they will get a sense if this marker is close as the fish will act more or less interested in the bait.

An exact co-ordinate match will not be necessary, however the fish that are harder to catch will be more picky, requiring a more precise match than others.

Different fish will also be available according to different seasons, and times of day.

Fish, once caught, may be used to sing their song to the garden, and provide a unique effect, then vanishing. Others may simply be more valuable, and have traits that appeal to different characters throughout the Garden.

The challenge at the moment is providing the fish with convincing movements, according to its level of interest with the player's song, which I'm working on at the moment.

I think this is a unique and fitting fishing mechanic that I can't wait to see unfold. It's had great feedback so far, and I can only hope I find that balance between joyful to play, and skillful enough to remain engaging.

After all, if you sleep you'll miss it.


Follow me on...



from Gerrit Niezen

A while back I became interested in air quality data after noticing that our local city council installed sensors next to busy roads, and that the data is available online.

When I saw that Pimoroni had a new environmental sensor add-on for the Raspberry Pi, I started thinking about building my own monitor to get more local, finer-grained data than provided by the city's open data. The Enviro+ from Pimoroni does it all, but is a bit expensive at £45. I would also need to pay extra for the particulate sensor (£25), and get a Raspberry Pi Zero W (£13) to attach everything to. That's a setup cost of £83! I then came across an article in Hackspace Magazine Issue 21, where they described making an air quality monitor using just an SDS011 particulate sensor and a Raspberry Pi. In their example they upload their data to the Adafruit IO service. I wanted to use a CHIP I had lying around instead, but could not get the Adafruit IO library to work on it. The CHIP is still running Debian Jessie, and getting it to work with Python 3 and the newer OpenSSL libraries is just more trouble than it's worth.

The Pimoroni website mentioned Luftdaten, an open data project for contributing real-time air quality data, and I was pleased to discover that Luftdaten has instructions for building your own air quality monitor using an inexpensive ESP8266 and the SDS011 sensor.

I ordered an SDS011 sensor from AliExpress for £14.69 (inc. P&P) and it only took a couple of weeks to arrive. I also got a DHT22 temperature & humidity sensor for £3.99 on eBay (incl. P&P).

I also discovered a design for a 3D-printed enclosure via the Luftdaten website, which was much easier to make than trying to get the sewage piping suggested in their assembly manual (as the pipe sizing is not readily available in the UK).

Air quality monitor with particulate sensor and humidity/temperature sensor

After printing the enclosure, I realised I needed a new ESP8266 board. The NodeMCU v2 I have was thinner than the NodeMCU v3 the 3D-printed enclosure was designed for. I got the NodeMCU v3 on eBay for £3.89 (incl. P&P). That makes a total cost of £22.57 for the electronics, excluding the cost of printing the enclosure.

Fitting everything inside the enclosure was quite challenging, as it's a very tight fit. Maybe I'll design my own enclosure one day (with better waterproofing), but this will do for now. I used copious amounts of hot glue to keep everything in place, and could definitely have done a better job at keeping it neat. Oh well, it works and that's what is important.

You can have a look at the sensor data on the Luftdaten website.


Join the writers and thinkers on

Start writing or create a public blog