When I first started talking about Leaftlet, I mentioned how it was "only" a map library, and by that I mean, only able to present a view/wrapper around tiles representing map data. There's a heck of a lot of services that Google Maps, HERE, and so forth, add on top that won't be present, things like routing, geocoding, and more. Considering the...
The Moom giveaway has ended, and I have winners to announce! The winners! Congratulations to: Hadi Zainudin Dan McClain Nate Terpstra Tracy Jenkins Gavin Jerman Marco Onderstal John Miller Kris Schofield Cristobal Torres-Velez Michail Litke You should have received an email with details, please let me know if you didn’t hear...
Web excursions brought to you in partnership with Backblaze. Back up everything. Create VS Code Themes Easily - Theme Studio - The VS Code Theme Editor I’ve switched to VS Code (finally) and I’m mostly loving it. Started playing around with porting my favorite things and found VS Code Theme Studio. It’s “the easiest way to create a theme for...
This is a special milestone: 700th post, after 14 years of blogging here.700 posts is a lot of blogging. But that comes down to 50 posts per year, which is one post a week, totally doable, right?If I can get another 14 years of blogging at this rate, I will get to 1400. That is more than the EWD documents in terms of the sheer number of posts,...
Uprighting a mesially-inclined (impacted) third molar
Ok, continuing on the SRDS day 1 post, I bring you SRDS day 2.Here are my summaries from the keynote, and from the talks for which I took some notes. Mahesh Balakrishnan's KeynoteMahesh's keynote was titled "An Hourglass Architecture for Distributed Systems". His talk focused on the evolution of his perspective on distributed systems research and...
"Good UX" means balancing a lot of (sometimes conflicting) priorities. What's good UX when you can't make everyone happy?
Living with an 18-month-old is never boring. My son, Lucas, swings from one mood to another in less time than it took me to write the end of this sentence.One moment, he's happy reading a book. The next, he stands and tries to reach for a toy his sister plays with, but he melts down because he can't get it.The intensity and the pace of the scene reveal its obvious absurdity.However, we often fail to recognize it when it happens to us adults with slightly different...
Well, it looks like Matt Mullenweg of Automattic / Wordpress fame has finally achieved the illustrious title of lunatic CEO, joining the ranks of such infamous ding dongs such as Elon...
I’ve pushed another update to WDiL adding lots of new functionality and bug fixes. The most impactful of these is the forgotten password routine as this now requires the addition of the ever reliable PHPMailer. However, the most useful and visible are the changes on the activity stats page which now includes more statistics and […]
With the introduction of failover slots in PostgreSQL-17, logical replication can now be effectively utilized in high-availability environments. This feature ensures that logical replication continues seamlessly even if the publisher node fails and its physical standby is promoted as the new publisher.To maintain continuous replication after a...
What imagine you have two devices, a client and a server, connected in a peculiar way: the server cannot send messages to the client without the client asking for them there are two channels, a request on one channel can only be responded to on the same channel the first channel has infinite bandwith and is perfectly reliable, but each message is...
This week, I was at the 43rd International Symposium on Reliable Distributed Systems (SRDS 2024) at Charlotte, NC. The conference center was at the UNC Charlotte, which has a large and beautiful campus.I was the Program Committee chair for SRDS'24 along with Silvia Bonomi. Marco Vieira and Bojan Cukic were the general co-chairs. A lot of work...
If you want to do great things, you'll need people with skills that complement yours. You can't do everything yourself. You need a team. You need an army. You need to build your army.
When going on an observability journey, there tends to be a few concrete phases that every company goes through. Understanding how those unfold and take shape as you mature your observability practices can help you identify when you’ll run into certain types of challenges, and when you’ll start really wanting certain tools and practices to help...
This week I attended SatCamp, a small unconference focused on the Satellite / Earth Observation / Remote sensing industry held in Boulder Colorado.
Can you hop on a quick Zoom call? Can you hang out tonight even though you’re exhausted and should be sleeping? Can you listen to my rant for an hour even though I never take your advice? Your browser does not support HTML5 video. No. That’s what it takes to achieve... well whatever you want. I didn’t always get this. For a while, I was saying...
Four months of intensity, then… nothing. For four months, I was locked in, powering through six focused-hours daily with no slacking—filled with real learning and rapid progress in math, computer science topics, and coding. My routine began with mathematics, gradually incorporating computer science topics and coding, before ultimately returning...
For the past year, I’ve been hosting the Rust in Production podcast, diving deep into how companies use Rust in their tech stacks. This journey has taught me a lot about what it takes to create and maintain a successful podcast. Whether you’re considering starting your own podcast or just curious about the process, I hope my experiences can offer...
Chatted with Jess and Jeremy about a whole slew of things, from pricing strategy to terrifying and arcane differences between various Markdown parsers (including why I hate Slack.) They were particularly kind and gracious given that the amount of production-quality Rails I've written is ~zero; you'll enjoy this even if Ruby/Rails is not your cup...
Chatted with Jess and Jeremy about a whole slew of things, from pricing strategy to terrifying and arcane differences between various Markdown parsers (including why I hate Slack.) They were particularly kind and gracious given that the amount of production-quality Rails I've written is ~zero; you'll enjoy this even if Ruby/Rails is not your cup...
I’m 18 years late, but Slim Reader/Writer Locks have a fantastic interface: pointer-sized (“slim”), zero-initialized, and non-allocating. Lacking cleanup, they compose naturally with arena allocation. Sounds like a futex? That’s because they’re built on futexes introduced at the same time. They’re also complemented by condition variables with the...
Rust is a language with a lot of features. Sometimes those features have rough edges. Sometimes those rough edges are funny. Let's look at some. !--more-- Copy and Clone can diverge [derive(Debug)] struct OhNo(u32); impl Clone for OhNo { fn clone(&self) - Self { OhNo(self.0 + 1) } } impl Copy for OhNo { } fn main() { let...
A couple of months after reaching 1600, I hit another milestone: Elo 1700! When I reached an Elo rating of 1600, I expected the climb to get more difficult. Surprisingly, moving up to 1700 was easier than I thought. I stuck with my main openings but added a few new variations. For example, I started using the "Queen's Gambit Declined: Cambridge...
Me every time I open a drawer at my desk: Wow I have a lot of stickers in this drawer that I've never used because I'm paralysed with choice about where to put them and if I get it wrong there's no going back No more! I have freed myself from the shackles of sticker doubt by sticking them in a book. An extraordinary idea to stick my stickers in a...
On 17th of September 2024, Peter Eisentraut committed patch: Add temporal FOREIGN KEY contraints Add PERIOD clause to foreign key constraint definitions. This is supported for range and multirange types. Temporal foreign keys check for range containment instead of equality. This feature matches the behavior of the SQL standard temporal...
This week I had the pleasure to present on Google Gemini at the ColdFusion Summit. If you weren't able to make it, I do plan on giving the talk again on the ColdFusion Meetup sometime later this year.After the presentation, I took my 'rough and ugly' code that called Gemini and decided to wrap it up in a nice ColdFusion component. This allows for...
Despite the fact the title of this post is still a mouthful, and even bigger than the introduction posts title, here we are with the first post in a series...
We’ve all been there—rushing to meet a deadline, we throw together a dropdown menu or modal without fully considering its accessibility. But what if making a few small changes could drastically improve the experience for a broader range of users? Accessibility doesn’t have to be a daunting task or a compliance box to tick. It’s about creating...
Do you like bananas? I do – sort of. It’s more precise to say I like banana. That is, one banana, not multiple. I suspect many people are like me. We enjoy eating a banana, very few eat two bananas in a row, no-one in the history of mankind has ever eaten three. To really […]
I missed it, but I just realised that as of August 28th 2024 I've been blogging for over 20 year. I would have finished university and left my startups a couple of years before, gone went in to Enterprise, left behind Linux and Perl for a brief fling with c# and .net and started to make my first steps in to being a lot more public both in terms...
Starting outWhen you're starting out your career as a software developer, you'll typically get a first role as either a backend or frontend dev, and after a couple of years, gain some experience on the other side to become a full stack developer.Company specific lock inSince every organisation has its own tech stack, a full stack developer in...
When you have a generational collector, you aim to trace only the part of the object graph that has been allocated recently. To do so, you need to keep a remembered set: a set of old-to-new edges, used as roots when performing a minor collection. A language run-time maintains this set by adding write barriers: little bits of collector code that run when a mutator writes to a field.Whippet’s
Relay's St Jude campaign for 2024 is (mostly) over and they raised over one million dollars, which is incredible. This year for our campaign, me and Adam set our goal to one cent over last year's final total: $12,590.57. Given that last year $5k of that was from a one-off donation it seemed reasonable to try and aim for that. We never expected to...
This book [1] on DEA models has an accompanying website with all the GAMS models [2]. Of course, I'll be doing some nitpicking on the GAMS code. In some of the GAMS code, unneeded loops are used. From [3]: The inner loop is not needed. We can write this as:Many beginning GAMS modelers use too many explicit loops. Most likely because they are used...
As a founder, you're always on the lookout for smart ways to grow your startup without burning through your limited resources. That's where the barnacle strategy comes in.
When faced with a challenge, I always step back to see the whole picture first. It's like pausing a complex strategy game to study the map. You might lose a few seconds of play time, but you gain a crucial understanding of the battlefield.
New research reveals a shocking loss of control in corporate IT environments
Lately, I find myself missing the dynamic start pages we used to set for our browsers in the late 1990s. The ones I liked eventually turned into search engines, got crapped up by ads, or just plain went away. All of the above, in many cases. For a while, I didn’t miss them, because feed readers and synchronized bookmarks kind of took their place,...
The amazing thing for me is that only last week I heard Nilay Patel say on the VergeCast that virtual nametags would be the killer app for smart glasses. Well, two Harvard students took that notion and ran away with it, using Ray-Ban Meta glasses to dox people in real-time using AI and public databases. And, get this–most of the tech and...
[IMG_0863.png]As 2023 draws to a close, it’s time for The Denties, my now yearly awards ceremony highlighting some of my favourite things for the year. If this was The Game...
I only discovered Pika a week or so go, but I am absolutely in love with it. For those unfamiliar, Pika is a super clean, and simple, blogging platform from the...
[Image courtesy of some slightly odd generative AI from Bing] Hello internet. It’s me, back once again copying someone else’s fun post idea! A few weeks ago Matt Birchler shared...
I've enjoyed the Monokai colour scheme for a while and it was the inspiration for the colours used on my main blog. Well, the dark mode at least, though I...
There’s been a bit of an influx of news aggregators and feed manager type apps recently. One in particular I hear a lot about is Matter. At its heart it’s...
My blogging in 2023 has been essentially non-existent, but if there’s one thing that will take me out of my self-imposed isolation it’s a good blogging trend. So, when I...
[where-ive-been.png] Manton Reece, posting on his blog recently posted a short post about the places he’s visited in the past. This idea was then picked up by a lot of...
[IMG_0862.png]A very large part of my gaming time is spent playing competitive games such as Call of Duty, Overwatch 2 or Hunt: Showdown. Whilst I love these games, I also...
[I want to try and start sketching a few of these images …]I closed out 2023 with a pledge to myself to play more single player games. My aim...
[I don’t like these AI images to be honest, so consider this a placeholder. ] To paraphrase a statement I heard recently, the best time to start a blog was yesterday....
I’ve been giving Apple, and the Vision Pro a bit of a hard time since announcement. A big part of this is simply jealousy that I can’t get one to...
Federico Viticci is known for his love of the iPad, and he’s been exploring some fun accessories recently Of the three accessories he posted about in this recent article, the...
[Image]The folks at Apple have been working on the Vision Pro for a staggering 16 years and, despite my, and others, misgivings, they seem to have produced an incredibly...
[Image]A few days after The Browser Company quietly pulled their Arc browser companion app from the App Store, it appears they are back with the teased 2.0 release, now...
It was a very sad day when he who shall not be named pulled the rug out of the Twitter third party client community. One causality of this douchebaggery that...
I have been bearish on AI since it exploded with the launch of ChatGPT at the end of 2022. Despite this, I’ve not written it off completely and have been...
Completely unbiased tech reviewer, Mark Zuckerberg, discussing the Apple Vision Pro versus the Meta Quest 3: “"... And after using it, I don't only think the Meta Quest 3 is...
[Image]If there’s one thing that’ll take me out of my slump of not posting, it’s a fun new gadget and the Kobo Libra Colour certainly fits the bill there....
[apple_intelligence__ctd5n16vmioi_og.png] There is a strange phenomenon around Apple, and the 'fan base' that seems to preclude them from the usual pushbacks and scrutinies that other companies endure. Apple has done...