Skip to main content

Cold starts

Serverless architecture has many advantages compared to a more traditional hosting solution. It however isn't perfect either. One of the best things of it is the pricing model. Instead of paying constant fee for fixed amount of resourses, even if there is no usage at all serverless functions are billed on usage basis. Every execution is counted and if there are no executions there is no cost either.

Just when you thought it's over

Warning: contains spoilers for the Etherfields boargame!

Couple of days ago I wrote we are at the endgame of our Etherfields core box campaign and would be soon out of things to play (in this game) until the second wave shipment would bring us the additional campaigns included in the extension packs.

We finally have all the keys. We face the final dreamgate, the gate to home. We place the keys into the locks, turning them one by one. Slowly, the door opens, revealing a familiar path - the road home.

History of Writestreak - so far

Yesterday I wrote some general thoughts and experiences about rewriting code in reply to @Abraham Kim 's decision to start the rewrite of Adagia. As Writestreak has also gone through not one but soon three rewrites I thought I could open up those as well here.

Phase 1 - the MVP

In the beginning there was the holy trinity: the index.html, the main.js and the global.css

Is it getting dark in here?

Now that we are past the darkest time of the year I think it's ok to introduce you with the darkmode for Writestreak. Well, actually dark modes are more beneficial during the dark as they reduce the contrast your eyes need to adjust while starting the screen. With modern displays dark themes can also help conserve energy.

The site should be mostly usable under dark mode, but there are few things on my todo list as well regarding it. Editor has some things not yet themed properly and some special formatting features also display incorrectly on the post view.

Realtime challenges

I love the concept of the realtime databases. It enables a more simple application architecture that eliminates a lot of interaction logic when what is displayed on the screen is reflecting the actual state of the database.

With traditional paradigms you'd need to handle the database updates, state changes, data refresh and interface updates separately for every action. For example a simple functionality like marking a message in notifications feed read would require following steps:

- Update message status in backend

Rapid release cycles

I thought I had nailed it, the datetime logic for the streak. But unfortunately @Peter Dannock was hit by a bug the other day which reset his streak unintentionally back to 1. Actually, I wasn't tat delusional. I kinda anticipated there would be some issues with the streak. One simply doesn't get it eight the first time. I just assumed it would surface itself much later, with much more data to sort out and go through. A lot more streaks to fix. So I was lucky it happened this early. It's still rather easy to go through all the entries manually to double check the results.

Economies of air

Late ninenties Internet boom ballooned into a massive bubble before bursting soon after the break of the millenium. The foresight of those early internet companies was nearly limitless and nobody wanted to miss out the opportunity. Eventually every bubble must burst.

Facepalm recognition

Facial recognition is just one of the tools of todays hyper-surveillance systems. In principle it's one of the tools we should all be strictly against to protect our freedom and privacy. But when I read stories of how these systems are being used to identify those people storming the congress or how they have been used to track down child abusers and kidnapped people it's hard to be all against them.

Mixed Signals

Social media platform Parler, which was used largely by the Trump supporters has been banned by both Google and Apple from their appstores. If being kicked out from the basically two only viable mobile platform wouldn't have been enough to kill a service the insult to injury came from Amazon who was providing platform capacity for the service. With nowhere to host or distribute it's app there is little hope for a small actors in this space.

How to count to one

Dealing with dates and times is one of the hardest problems in software development. It might seem simple at first. There are just 6 basic variables you need to worry about: seconds, minutes, hours, days, months and years. With the time components it stays that easy. They are (almost) always composed of the same amount of their smaller counterparts. Minute is 60 seconds, hour 60 minutes and even day is usually 24 hours. It's mostly the months that is the first sign of something funky. There are months with three different lengths, one of them even dependant on the year.

The endless list

Currently Writestreak lists all the latest posts in chronological order on the frontpage. The posts are there in full, with all the comments listed after them. It even includes the new comment form and other post related functionality straight there. For example if it is you post you'll see the edit button along the post (initially it even had the click to edit functionality right there without even going to the edit page!).

Peaceful revolution

If what happened two days ago in the US would have happened earlier, at any point in the last four years by the other side, world wouldn't have batted an eye. It would have been seen as an justified act against oppression. But that's not what civilized people do. Instead the people of America stood up and cast their votes.

Slow, but steady progress

My chin-up challenge hasn't been progressing as fast as I was anticipating when i started it. In fact it has actually been slowing down. It took me four months to reach 100 chin-ups. Since then, in the previous three months my count has gone up only by 25, the same amount I was doing in a month earlier.

Chinese machines

Artificial intelligence might not reach what we think of intelligence anytime soon, if ever. But they can already do a pretty good approximation of what a human could do. A machine passing the Turing test is just a matter of time.