Adding Friction Today, we're diving into an interesting topic: friction in development processes. I recently had a conversation with Tom about this, and it brought some new perspectives to light. An Initial Confusion During a call with our engineering team, our CEO Tom s...
Fun with Positron | Andrew Heiss Combine the best of RStudio and Visual Studio Code in Posit’s new Positron IDE
Fat Tony’s Under Water: My Dream Startup Incubator <p>In 1946 George Orwell wrote his short essay ‘The Moon Under Water’, describing what his dream pub would look like. Heavily influenced by this (in fact, some paragraphs are nearly identical), I have decided to write a modern version of Orwell’s essay, d...
How I manage my KDE email Every once in a while people ask me about my email routine, so I thought I’d write about it here. Everything I do starts with the philosophy that work and project email is a task queue. There…
Digital Markets Act, Google, Chrome extensions - case study The Digital Markets Act is one of the least understood EU technology laws, yet it has tangible impacts—both positive and negative—on the technology landscape. We’ll use the opportunity to study an interesting and real-world case. It concerns the practice ...
The Programmable Web Today’s app development ecosystems resemble the creative contexts for writers and photographers pre-web and pre-iPhone.
The 5 Stages of Posthuman Grief - “Acceptance” Makes Progress Possible - Dan Faggella The 5 Stages of Grief Model isn’t perfect - but it also seems to overlap well with the experiences of grieving people. The psychological model itself needn’t
Evict Your Darlings: Banish dotfiles from your home directory Erase Your Darlings is a great approach but what if we could banish dotfiles from our home directory entirely?
HCI Is the Bottleneck HCI Is the Bottleneck in a World with Strong AI As model capabilities advance, we are rapidly gaining the ability to generate images, videos, and audio from simple text prompts that are indistinguishable from human-generated content. Yet, even if we dis...
Effective Code Reviews: Align your team and ship better code The pull request review process introduces a lot of friction in the development cycle but serves multiple purposes, including knowledge sharing, code quality, and team alignment. It is a worthwhile investment.
Updating Prism Template to .NET 8 Have you notice that now when create a MAUI project using the new Prism Template Pack for MAUI, you are not able to select the .NET version of your project? well, in this post I will show you how to update it.
AMD to buy Finnish start-up Silo AI for $665mn in drive to compete with Nvidia All-cash acquisition by California-based chipmaker is the largest of its kind in Europe in a decade
Creating an already-completed asynchronous activity in C++/WinRT, part 2 - The Old New Thing Making our function a coroutine.
Judge dismisses DMCA copyright claim in GitHub Copilot suit A few devs versus the powerful forces of Redmond – who did you think was going to win?
Deactivating an API, One Step at a Time How do you make sure all consumers stop using an API so you can safely deactivate it?
Adding Antivirus to .NET Aspire Systems I was working on a web application over the weekend and I needed to add a feature that would allow images to be uploaded by end-users. As we all know, we should never trust content uploaded by anonymous ‘friends’ on the internet. I wanted to add malware...
Building a .NET TWAIN Document Scanner Application for Windows and macOS using MAUI Dynamsoft used to offer both the .NET TWAIN SDK and the Dynamic Web TWAIN SDK. However, the .NET...
.NET and .NET Framework July 2024 servicing releases updates - .NET Blog A recap of the latest servicing updates for .NET and .NET Framework for July 2024.
Entity Framework Core– Avoid losing precision When mapping a decimal type to a database through an ORM like EF Core, it is important to consider the precision. You don't want to lose dat...
HTML Datalist for ASP.NET Core Inputs In my last blog post, I discussed range inputs. This time, we’ll examine a tag helper that adds support for the HTML element of datalist.
The React useId Hook The React useId Hook offers a robust solution for managing unique identifiers within components. Explore its functionality, use cases and benefits, particularly how it enhances accessibility and simplifies the creation of consistent, maintainable applicat...
Lessons from election night Introduction On Thursday (July 4th, 2024) the UK held a general election. There are many, many blog posts, newspaper articles, podcast episodes etc covering the politics of it, and the lessons that…
Setting Up Renovate as Azure DevOps Pipeline for Automatic .NET NuGet Package Updates Renovate is a tool/bot that can automatically update dependencies in a repository similar to GitHub dependabot. Renovate is open source and written in TypeScript. It supports a wide range of platforms and package managers. Here I will show how to set up R...
Secure cross-platform and file-based token cache for MSAL.NET When dealing with client applications, use the official Microsoft file-based token cache for MSAL.NET rather than implementing your own.
Using use in Gleam Recently, a colleague checked out Gleam’s language tour. They liked what they saw, but they were confused by Gleam’s use syntax. I like Gleam’s syntax a lotI even wrote an article about Gleam’s syntax., but I was also confused by use when I first encounte...
My Liner Notes for Spore This page is intended to be a sort of liner notes for my contributions to Spore. It's a place for me to write up miscellaneous development comments about the parts of the game I worked on, while they're still fresh in my mind. I think the game had over ...
Some thoughts on real open source Artificial Intelligence We are in the midst of a hype around Artificial Intelligence (AI) and the market is trying to get ahead of each other in all sorts of ways. One way is to claim that their AI is open source. So far, there has been a lot of open washing, meaning that they c...
DMCA as a vector for pornographic spam? There’s a law in the USA called the DMCA – Digital Millennium Copyright Act. Amongst its myriad provisions is the ability for copyright holders to send takedown notices to service provi…
Jan-Piet Mens It’s close on a quarter century that I worked for a company which had deployed a humongous issue-and-everything tracking system employees detested using. I can’t remember the name of the product, b...
Borderless Is Inevitable The world is shrinking, and some people are upset. Today I read on article on Hacker News “What does a world without Airbnb look like?” which talks about the negative sentiment against long-term tourists in Barcelona, and it corroborated the discussion I...
Awareness, power, and morality There are few things as intoxicating as knowing something that other people do not know. Exclusive information is perhaps the oldest and mos...
To Dedupe Then Sort or Sort Then Dedupe? I recently came across a deceptively simple problem. I wanted to dedupe and sort a list of integers in-place. My initial instinct was to first remove duplicates and then sort using the programming…
Solving the Almgren Chris Model The Almgren Chris model from Optimal Execution of Portfolio Transactions is the most well known optimal execution model and provides the foundational math about how to think about trading some quantity of an asset. This blog post goes through the math and...
Self Documenting Code Is Bullshit – Klaus Breyer Hopefully, every development team reaches a point where they discuss their guidelines and policies. Part of this discussion, hopefully, includes expectations around documentation. So far, so good. Unfortunately, many teams (and I have made this mistake in...
Why did I leave IT services? and why I do not regret it. A lot of people talk about business people being data-driven and AI literate. However, I believe the more important issue is that data professionals need to become business-savvy.
How do you test the quality of search results? Improving or comparing search algorithms requires being able to objectively test their performance. How on earth do you actually do that?
Rails 7.2 Adds app:update Task to be a Rails Command. The app:update task to be a Rails command, and adds the --force flag to it, to allow running bin/rails app:update while accepting all the changes it makes.
Binary Kelly Trainer: Ship Investor Game A few years ago I made a simple web game to practise applying the Kelly criterion to binary bets. Play Ship Investor here if you want.
Life without the front page I consider myself low on the spectrum of addict-ability: I don’t smoke, I rarely drink, I don’t gamble, I don’t have a video game addiction, and I don’t snack on sweets. But every man has his kryptonite, and a couple years ago I found myself compulsively ...
My High School banned Phones... in 2011! Today I read that many schools from NYC to LA want to ban smartphones in school. Well, let me tell you that my high school, Somers High School of Somers, NY (an rural-ish but rich NYC exurb) did actually ban phones back in 2011, and when I graduated in 20...
1 + 1 > 2 - ganji.blog I had a shoulder injury a few years ago. After that, I struggled to go back to working out consistently. I signed up for an expensive gym. They had an incentive where I had to pay a penalty if ...
Announcing Remember for iOS — defn.io A little over four years ago, I released Remember for macOS, a small reminders app written using a combination of Swift and Racket. Today, I've released a version of Remember on the iOS App Store!
Migrating enterprise apps stuck on legacy technologies Enterprise applications often have a hefty and complex code base, mission-critical functionality, and a constant influx of feature demands that can result in a slower pace of dependency updates and a tendency to lag behind. This situation can worsen over ...
The dual nature of seniority in software development On expectations vs. reality of senior software developer roles, and the unspoken requirement of professional mindreading for navigating politics in senior+ roles.
Jonas Hietala: Microfeatures in my blog A while I ago I encountered a blog post called Microfeatures I Love in Blogs and Personal Websites, and together with the related Hacker News discussion I got nerd sniped. (I spent more time than I care to admit implementing new and exciting microfeatures...