13 September 2021

60 links ยท Monday

Building Through Uncertainty

Product-building is just not as easy as we think it is, both before and after it’s done. Before we start, it seems easier than it will be. And after we’re done, it seems easier than it was. Cognitive Biases Whenever we build something, we face constraints: We …

Unravelling `async for` loops

When I decided the next post in my series on Python's syntactic sugar would be on async for, I figured it would be straightforward. I have already done `for` loops, so I have something to build off of. The language reference also specifies the pseudo-code for …

Static Analysis in JavaScriptCore (Part I)

Recently I’ve been spending time to understand some internals of JavaScriptCore (JSC), the Javascript JIT compiler powering the Safari browser. For background knowledge, I strongly recommend this grea

40 One-Sentence Email Tips

What I've learned about writing and managing email.

How to parse any website

I'll share my approach which helps me to build reliable parsers of any website. I'm not going to show here actual scripts but I'll describe how I extract the data from any website. It should be useful when you need to decide how and what part of the website s…

Designing Beautiful Shadows in CSS

When I look around the web, most of the shadows I see are fuzzy grey boxes. It doesn't have to be this way, though! CSS gives us the tools to create rich, lush, lifelike shadows. In this tutorial, I'll show you how.

Why I’m Not an Angel Investor — Stuff George Writes

Last year, I became interested in angel investing as a potential hobby and business opportunity. It seemed like a pretty good fit for my professional experience: I’ve founded 2 profitable companies, raised venture funding, went through YC in W14, and have subs…

Developers: Hire or Use Consultants?

This Venturebeat article highlights some of the very real challenges organizations face in acquiring and retaining software development talent.

OpenRA

Classic strategy games rebuilt for the modern era

OData (Open Data Protocol) in ASP.NET 6.0

OData (Open Data Protocol) is an ISO/IEC approved, OASIS standard that defines a set of best practices for building and consuming RESTful APIs. This post is about implementing OData (Open Data Protocol) in ASP.NET 6.0. OData RESTful APIs are easy to consume. T…

Cloud Providers Publish Ransomware Mitigation Strategies

In the last few weeks AWS, Azure and Google Cloud have posted articles and documentation with suggestions on ransomware mitigation techniques on the cloud, highlighting the main protections and recovery preparation actions.

Uber must employ its drivers, Dutch court rules

Taxi app Uber has to employ its drivers. From now on they fall under the collective bargaining agreement of Taxi Transport, the court ruled in a case brought by trade union FNV. Uber wanted drivers to remain self-employed, while FNV called this bogus self-empl…

The latency of making a coffee cup

I recently had to discuss the issue on the impact of latency a few times, and I found the coffee cup analogy to be an excellent tool to explain exactly what ...

Professional C# and .NET – 2021 Edition

The new edition of my book is available – covering .NET, C#, WinUI, ASP.NET Core, EF Core, and more! Compared to the previous edition, it not only covers the newest editions of C# and .NET, y…

271: How not to monetize an app

It has been a week since James did his "phased release" for his apps, how did it go, and would he recommend it. We also discuss how to actually monetize your app correctly when you have in-app purchases.

CityMayor | Dapp.com - MarbleCards | OpenSea

Claim the most amazing web pages. Remember that every web page can only be marbled once and by one person only. Once a card is created, that URL is claimed forever. Now go create some classics!

How to raise investment

I've started angel-investing this year, and a large proportion of the companies I've put money into have asked for help raising an investment round. So I wrote up my standard advice as a guide...

How to Improve programming logic

Good programming logic is a big plus point to have as a developer. Logical thinking, whether programming or formal, means applying principles in a disciplined manner to achieve an acceptable result. To have a good grip on a programming language you m...

How factories were made safe

The fundamental cause was a wrong attitude towards the core question: who is responsible for safety?

The p-word – Puppies, Flowers, Rainbows and Kittens

I have never heard the word “politics” used in a positive light when describing a work situation. On the contrary, the words “corporate politics” evoke memories of cynical executives in ‘90s movies quoting The Art of War to their reports while figuring out how…