I was a deep and late sleeper until I was well into my thirties. I needed my alarm or I would miss half of the day. And then one day, something weird happened. Well, sadly, not that weird — hormones shifting, I am sure. I started waking up unprovoked at 7 or even 6am.
Though there is something cool and creative about being a night-owl, I have come to love mornings so overall it’s not a bad change. However, the lighter sleep has given me insomnia from time to time which definitely sucks.
I’ve created a tool that extracts the schema of a Postgres database and generates Typescript types out of it. It’s called Kanel.
It is not an ORM. I simply wanted types in my editor so that I could get
There are many ways to achieve this but I had a specific requirement that made me decide on this approach: I wanted my database schema to be the only source of truth. I wanted to write migrations in plain SQL and queries in…
Even if COVID-19 hasn’t impacted you directly, the extreme uncertainty of it all is almost certainly affecting you and perhaps stressing you out more than you realize. Personally, I am addicted to the news and I go off on tangents studying the Spanish Flu and other historical events that seem like they might help me understand the situation. I don’t think it’s good for me.
So I have taken up meditation. Again. Yes yes, we all know about it and I have tried to get into a habit of it many times without any luck. …
I started writing custom linter rules for Submotion and it’s been a surprisingly rewarding experience. I felt that my database schema was uncomfortably exempt from this scrutiny so I created a linting tool for it:
This tool will extract the schema from a live database and inspect it according to rules just like a code linter does with code. It uses nodejs but it’s just a command line tool so you can use it with whatever, as long as you have a postgres database.
You install it with npm:
$ npm install --save-dev schemalint
You then create a .schemalintrc.js
configuration…
I’ve run into a few problems recently that I felt had a common denominator that I couldn’t quite put my finger on. When it clicked, I thought I’d write something down just to solidify the idea in my head. I call it somersault problems. There may be a more formally (or colloquially) defined term but I am not aware of it, so this is what I’m going with. I also considered uphill bicycle problems, but somersaults seemed more fun.
Recently, I was having a discussion about the lottery with a friend of mine. Like so many times before, the analogy that you are more likely to be struck by lightning than winning came up. This analogy always annoyed me because it feels like there is a meta-level difference. Sure, I don’t imagine I will ever get struck by lightning. I don’t walk outside in thunderstorms with a kite. However, if I do play the lottery..?
And when you look at the winning numbers, they always look like your random numbers. Oh, there’s a 3, a 4 and a 7…
I’ve studied procrastination in great detail and tried out many, many systems and techniques. Some I still use, many turned out to offer little help.
I recently purchased a device that has been useful to me. The jury is still out on whether it will last, but I’ve been using it for about two months by now and it’s been great so far. It’s a little $5 stamp, ordered from Ali Express. It forms a circle that represents the day.
I was on the bus one Copenhagen winter day. We get a lot of those here. The show was so heavy that the bus got stuck at one point. The bus wasn’t full but we were a good 10 people or so. We all got out and helped push the bus. It cleared the snow, we got back in and we drove on.
Another time, summer then, I tried to take out cash from an ATM and it gave me the most peculiar error message, and no money. That doesn’t normally happen so I got a bit uncomfortable as one…
..in that, there are categories of problems that can’t really be solved without it, but as soon as you introduce it, your whole system becomes just a bit more fragile. You get that whole “I can’t stop it right now, it’s in the middle of something”-concern to worry about.
Additionally, there are a problems that you can solve without it, but where the immutable solution will perform poorly. In that case, it is probably best to start out with the immutable solution and make the switch no sooner than the day you realize that you can’t postpone it any more.
I cannot believe the state of affairs the web is in when it comes to calendar data and events.
There is the iCalendar format which is old and quirky (seriously quirky), but it works and it pretty much serves all necessary purposes. However, there is no standard way for a website to offer such a file to be added to your calendar. Yes, on a laptop you can download it and double-click on it. This will allow your default calendar to pick it up but it’s still not a good user experience. I want to allow my users to click…
Bit of a geek..