Hi. ed here.
I’m a design engineer.

December 18, 2024

Steve Jobs’ Vision about the Future

In his 1983 talk at the International Design Conference in Aspen, Steve Jobs articulated a powerful vision for the future of personal computing. He saw the computer not just as a tool, but as a new medium of communication, on par with the book, the telephone, and the television. Just as each of these mediums had shaped the way we communicate, Jobs believed that the personal computer would profoundly transform our lives.

November 27, 2024

My Guide to Personal Productivity

I have found this guide of productivity again: Pmarca Guide to Personal Productivity so I wanted to write down my version of it.

November 13, 2024

How to ship Go apps with Kamal

I have been shiping most of my Go apps with Kamal for a while now. I am sharing the main config files I am using, with two different apps: this blog and a object storage service.

February 6, 2024

Towards modern development of cloud applications

The paper, mentioned in the title, addresses the inherent challenges of the widely adopted microservices architecture in cloud computing, including performance bottlenecks, versioning issues, and increased complexity in application management. While microservices offer scalability, fault tolerance, and agile deployment, they also introduce significant overheads, making applications difficult to manage, reason about, and evolve.

January 30, 2024

Detailed example of web components usage

I have been using web components instead of other libraries and their components for about an year now. They have a few key features, like built-in hydration, use of Shadow DOM or not, depending on your preference, that are indispensable in the UIs that I build.

I found a post today that shows in detail what their potential is and how exactly they are being used to build an actual product.

January 29, 2024

Launching handover.zip

Even though it's only January, this year has already been very interesting for me. And since most of these interesting things are products on the web, and me being unhappy with design tooling for web products, I decided to build something different, something that fills in my needs primarily, but perhaps is able to help others as well.

Still in very early stage, today I am putting it partially out there for interested folks to provide feedback or even subscribe to progress notifications.

But first, let me tell you what it is.

October 20, 2023

The one web layout that rules them all

I have a bold claim: there is a responsive CSS Grid / Flexbox combo layout that can be used to build almost any web layout. At least I haven’t found any layout I wanted to build and couldn’t.

September 26, 2023

CSS findings from the Threads app—by Ahmad Shadeed

Ahmad did two great reviews of the Threads app. Quite a few interesting CSS or unusual CSS technniques there.

August 27, 2023

Component hydration with no dependencies

Client component hydration has been a trendy topic these days. Some frameworks like Next, Astro and others are already doing it.

It is not common knowledge that we can achieve a very similar result with pure SSR and declarative shadow DOM.

Typeface ligatures everywhere—like fi

All typefaces have been instructed to display their ligatures, by default, like this:

body {
  font-variant-ligatures: normal;
  font-feature-settings: "liga" 1, "dlig" 1, "hlig" 1, "clig" 1, "calt" 1;
}
August 4, 2023

HTML details

On occasion we need to present a summary of content while allowing the user to deep dive if they want to. The details element is a great way to do this, with good browser support as well. Let’s see how.

Custom a hover states

All a elements on this page have a customised hover effect. Here’s how to achive that:

a:hover {
  text-decoration: underline;
  text-decoration-thickness: .1em;
  text-underline-offset: .15em;
  text-decoration-color: var(--color-secondary-1);
}
August 3, 2023

HTML dialog, occasionally modal

Many times we need to show a modal to the user, to ask for confirmation, or to show some additional information in a manner which covers the rest of the page user interface. The dialog element is a great way to do this, and it is supported by all major browsers.

March 13, 2023

Better end to end design systems

Implementing a consistent brand across various devices and channels has never been easy. The diversity of connected devices and their screen sizes is also not helping simplify the process.

Let’s take a stab at how we could improve this.

February 17, 2023

Better routing with Go’s standard library

Previously I shared a very basic example of Go routing. Let’s see how we can improve that a little.

February 5, 2023

Under-engineer

The last several years of web development have been going into a direction of needlessly over-engineering even simplest tasks.

Maybe it’s time to get back to the basics, to use simple solutions for simple tasks. Let’s touch on how I think we should be approaching initial web product development.

January 24, 2023

The CSS has() selector

In my first not post I mentioned and example of something I find quite interesting in the recent CSS features,that is the has() selector. And while I was preparing to write something about it, which I mightstill do, here’s a great article on Smashing Magazine written by Stephanie Eckles about this exact topic.

December 28, 2022

I have decided to not blog

I have recently been reading a lot given that I had a lot of time on my hands. Many of my readings have been about my work, what I'm passionate about in my work — how to build amazing experiences on the web and native platforms.

So I have quickly put together this not blog to share not posts here. Read along if you’re curious what this crazy idea is about.