Creează un cont pentru a te abona la acest blog și a-i urmări articolele pe pagina Lectură.
-
The Canarat pedal rebuild / repair is finally done.
-
Just a quick note to say that the Canarat makes sound again!
-
A couple weeks ago, I temporarily switched to using GPT-5 as my exclusive coding assistant model, via Cursor.
-
TL;DR Inexpensive, fast, promising but hit some walls; needs a lot of babysitting¶ Running it: aider --model openrouter/moonshotai/kimi-k2 What's good about Kimi K2¶ Once I got into a groove with it, it did some things well: Made frontend changes very qu…
-
TL;DR Cheap, sometimes slow, unreliable as editor; sometimes wrote good code with bad characters¶ Using it: aider --model openrouter/deepseek/deepseek-r1-0528 I didn't use Deepseek very long - just part of a day on two occasions- and didn't keep very de…
-
TL;DR It works.
-
Some rough impression after programming mainly with Aider.
-
I haven't done anything fancy with integrating AI tools into Emacs, but after playing with Copilot a bit in VSCode, I decided that I wanted to at least get the most basic autocomplete feature working.
-
I've been doing a lot of different things in the past few months, and have a growing pile of not-quite-publishable draft posts about them.
-
Several times I've needed to make a recording of the system audio on my Macbook.
-
Welp.
-
I just released a new version (0.6.1) of Spydey today.
-
I've updated the homemade effects pedals page with progress - mainly, lots of photos, and info about the paint experiments I've gradually done over the past few months, which was a nice little crafty project and learning experience.
-
I love using git bisect and git bisect run to know when things broke, but that only works if the commit history is generally clean - ie there are aren't commits with broken tests.
-
We'll see if this fares any better than my other neglected hobby projects, but I've started a page to track what I'm doing with three homemade effects pedals.
-
I had forgotten that I wrote this 10 years ago while I worked at Bitly.
-
I haven't posted much since starting at Recurse in July 2023 and extending my initial 6-week half-batch to a full 12 weeks.
-
Updated Feb 2024: Starting properly on MacOS; Completion demo; "peek" find demo.
-
Blogging again.
-
The first thing I did at Recurse was spend a couple weeks trying to get comfortable with writing functionally and recursively in Scheme.
-
Updated Dec 2023.
-
Writing better tests is a lifelong pursuit, apparently.
-
If you want to keep your customers happy, one foundation that your product process needs is a shared understanding across your entire organization around at what stage of development can you commit to a release date.
-
Here's a quick hack to help when you're lost in a too-large Python inheritance tree.
-
Thread locals are an interesting idea: a way to give each thread its own storage, useful for global state that you don't want to share between threads.
-
(Updated 2023/7/09) People sometimes ask me for career advice in software startups.
-
TL;DR When scheduling features for a quarter, it's very risky to plan on delivering multiple projects that are starting from scratch.
-
I had cataract removal surgery this year.
-
It seems clean and safe 99% of the time.
-
Shortly after Prince died, one of my favorite podcasts, "Switched On Pop", paid tribute to Prince by talking about one of his best-known and most distinctive singles, "When Doves Cry".
-
As a birthday present to myself, and a fit of fiddling while Rome burns, I have junked the ooooooold website, thrown out a bunch of cruft, and finally started that blog I never got around to.
-
In the spirit of "Falsehoods Programmers Believe" (my favorite is probably "Falsehoods Programmers Believe About Time"), I offer this, about working with third-party REST APIs.
-
Does this return all the data?
-
In Python we often use the mock library to do dependency injection for tests.
-
Some notes on my emacs setup circa 2015, mostly about Python.
-
So it turns out there are some painful edges if you start trying to do SQLAlchemy declarative ORM classes in an existing Django app.
-
TL;DR graphite graphs look wrong when viewing a time period larger than a few hours. hitcount is the cure.
-
Here's a typical loop that checks for some condition and breaks the first time it passes: def list_contains_urls(maybe_urls): for url in maybe_urls: if url.startswith('http'): return True return False Can
-
How to create a brand new git repository from an existing hg repository.
-
For various reasons that might be explained in more retroblogging, around January 2014 I got fed up with OSX and decided to switch back to Linux.
-
Django's settings.py is evil.
-
Consider: >>> ''.split() [] That seems okay... split an empty string on whitespace and you get an empty list, sure, why not.
-
(Updated 2018 with a more modern Python 3 tip) I always forget how to write a class that can be used as both a decorator and a context manager.
-
What's the difference between these?
-
A coworker (hi Will) just introduced me to pdbpp.
-
A couple of coworkers (Sean O'Connor, Dan Frank) bailed me out of a sticky git scenario.
-
Somebody at work recently asked if it were possible in Bash to have stdout and stderr both visible on the terminal but also copied to separate log files.
-
Debugging with print statements is kind of like the old 2D Mario games.
-
Django as it is in the wild is not a web software framework.
-
A little tip for working with the mock library.