frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Small Programming Tricks

https://will-keleher.com/posts/small-programming-tricks-matter/
60•signa11•1h ago

Comments

behnamoh•52m ago
This reminded me to ask: To what extent are people still coding by hand these days? In my profession (academia), literally no one codes anymore. On one hand, it sucks because the joy and fun of programming has been replaced by constant agent orchestration tasks, but on the other hand, it's hard to go back to the way things were before because the productivity gain is so good.

I remember learning a lot of these programming tricks over the years. They would give me happiness: learning something new about nvim, or some new shortcut in the Fish shell, or a new Vim macro, or the difference between 1 bracket or 2 brackets in Bash scripts, etc. But now it seems like all of them are irrelevant, and I wanted to see how others think about the situation.

dgacmu•45m ago
Also in academia but I'm old and my real work is done withy students. I'm coding by hand much less than I used to (boo) but solving more problems with code myself than I used to (yay). Having an llm do things turns out to be similar to having a student do them but with fast turnaround and it's fine to have them work on your home automation system. ;)
huurtehoog•26m ago
Another academic. LLMs are great for opening searches. I state what I would like to get into and let it get some initial paper recommendations. It seems to solves a hard problem: discoverability. Maybe I'm just getting subjected to more subtle bias but it is extremely easy and fast now to get a nice selection of relevant literature to review.

Analysis and any artifacts are all handcrafted by me. I mean that is the work. I have never seen papers or code as an outcome. What I want is to learn and enable other to learn. That I can only get from doing the work myself.

SoftTalker•43m ago
I do hand-code for the most part. I will use LLMs as a "smart reference" when I can't recall how to do something or maybe to scaffold out a starting point if I'm working in a less familiar language or framework. I use them as a better search engine, where I would have probably have looked at Stack Overflow, mdn, or online docs in the past.

I'm fortunate I guess in that most of my work tasks have very loosely defined deadlines, if any at all.

catlifeonmars•27m ago
I hand code entirely at work still, while almost all of my colleagues do not and I am still able to keep up. I do use coding agents on personal projects, but have not felt the impetus to switch to agent based coding at work.

I don’t mean this to brag, mostly to point out that in my line of work, actually writing the code is not the biggest bottleneck.

For context I work on greenfield network security appliances

skydhash•26m ago
My coding by hand is always exploratory. Either I’m getting familiar with a new library/platform or I’m sizing up the architecture of the software. Then it’s a heavy dose of copy/pasting, snippets, and emacs-fu. What I spend most time on is reading docs. Apart from that, it’s thinking (mostly away from the computer).
bradly•26m ago
I still hand code backends and frontends. I also review code by reading it manually, and ideally running it and then screenshot'ing receipts of it working.
acedTrex•20m ago
Im not TYPING a lot of code by hand anymore (still some, inference is slower than typing in a few cases) but im still in the shell zipping around doing other stuff like i always have, the LLM is helpful in a lot of ways but it in no way shape or form is the ideal way to interact with a computer.

So i still get daily use out of these tricks

spprashant•7m ago
While I mostly just do AI-assisted coding at work nowadays, after a long time yesterday I did some scripting in a python REPL on a remote server which didn't have any AI tooling. It felt rewarding. I was also surprised my programming muscle memory was still alive and kicking.
VCFundedGenYer•47m ago
I would probably retitle this less as "programming tricks" rather instead make it "bash/zsh CLI tricks" as this only really tangentially refers to programming.
Natashash23•46m ago
nice content
winternewt•36m ago
Only a few of these are actual programming tricks. The problem with sharing them is that they'll typically seem obvious to you, since you know them. It's difficult to know what is actually unknown to other people, and if you share stuff everybody knows you risk coming off as arrogant.

Here's one that I think more people should know: avoid branches. If I can do the same thing without an if statement and even a logical expression, the code typically both becomes easier to understand for people and easier to run for the CPU.

cachvico•19m ago
I'm struggling to comprehend how branches can be avoided (or why one would want to, as they are the cornerstone of programming). I can only think how to obfuscate them, which is rarely useful.
craftkiller•4m ago
Here's an example of removing a branch that was posted to HN a little over a month ago: https://www.greyblake.com/blog/branchless-rust/
reaperducer•17m ago
if you share stuff everybody knows you risk coming off as arrogant.

Or stupid, like all those vloggers posting "ZOMG! Go all in with these secret hidden weird trick iPhone life hacks to level up!" that are just regurgitating what's in the manual.

As we used to say, RTFM: https://support.apple.com/en-us/docs/iphone

cestith•
overflowy•35m ago
If you want to level up your Zsh history experience, I built zhist[1] specifically for that. It uses fzf underneath, but provides considerably more context than simply using fzf. There's a demo video in the README.

[1] https://github.com/overflowy/zhist

jawns•32m ago
I would love for someone to package up some kind of script or AI skill that evaluates your current terminal config/set-up and applies all of these tips and tricks. For instance, it might detect that you currently use ag, install ripgrep, and offer a short tutorial on how users accustomed to ag should use it. Or it might look at the history of git commands you've run and offer tips on efficiency improvements.
popzxc•21m ago
I think it's a great way to stop understanding what's going on in your terminal.

IMHO the value of these nuggets is that you understand what you're doing and why; opening yourself to large amounts of non-default behavior likely will end up in a less than pleasant setup.

Not taking into account that different users might disagree on what is convenient and what is not, which is basically the point of making things configurable.

farrellm23•20m ago
I doubt you need a full script or skill for that. I would try something like this straight in Claude Code (and will as soon as my 5 hour quota resets :-): Review this page: https://will-keleher.com/posts/small-programming-tricks-matt... Then, review my shell init scripts (both bash and fish) and shell history. Make recommendations based on the tips and tricks from the page.
kccqzy•16m ago
Going from ag to ripgrep is not universally better. Sure ripgrep is faster, but its file filtering using -g is so much more troublesome than -G in ag. The latter uses a regex and the former uses glob. I type many more characters to do the same search, and the same search is maybe 0.1s faster for a small codebase. So no for me. Maybe it’s worth it for a medium-sized codebase.
NegativeLatency•31m ago
> At a previous company, I shared a trick on slack every day with the engineering team, both technical and company-specific, and folks found them pretty useful.

I would find that annoying, however to not be seen as a jerk I wouldn't say anything.

blooalien•22m ago
I think I would prefer an optional separate channel specifically for people to share such things with each other who wanted to see that exact sorta thing. Then nobody gets bothered by it who's not interested in such things, and people who are have a place that's dedicated to exactly that.
CableNinja•15m ago
I think that "everyday" would be a stretch, but i dont understand why youd think thats annoying, someone took the time to consider helping the rest of the engineering team grow, by posting something useful.

I frequently do the same, but not everyday; only when i think its something actually useful/helpful beyond the everyday crap. Most recently, we have had a huge push to use ai (just like everywhere else), ive been getting pretty creative with it, and at this point have a well polished setup that i can give a shitty sentence on a problem, not only does it understand the task, but theres a full ticket->branch->work->pr review->ready comment flow that it uses. My team also uses ai but they havent quite wrapped their head on ways to really work with it. I have built and shared a number of helpful things with the team to try and help them grow. One such thing was a doc i had my ai instance write, based on how ive been using my setup. This alone has started to get the rest of the team up to where i am.

My team doesnt share the same types of things i do, but they still share helpful things.

Call it what you will; I think if youre not helping your team grow by providing insights and helpful things, then youre not the kind of person i want to work with.

NegativeLatency•
adzm•29m ago
My favorite is generating a sequential resultset of the numbers 1-4096 in SQL Server with this simple query:

;with [[[]][[[](_)as(select 1 union select 0),[[]][]][](_)as(select 1 from [[[]][[[] []]]][]]],[[[]][[[] _),[]][]][[](_)as(select 1 from [[]][]][] []]]][]]],[[]][]][] _),[[[[[]][](_)as(select 1 from []][]][[] []]]][]]],[]][]][[] _),[[[]][]]](_)as(select 1 from [[[[[]][] []]]][]]],[[[[[]][] _)select _ from(select row_number()over (order by _)from [[[]][]]])[[[]][[[](_);

/s

williamcotton•29m ago
Additional tip:

In the macOS terminal you can...

  Ctrl + Option + -
...and it'll undo your typing.

Dunno about other OS keys!

AJRF•23m ago
I started writing little "that's useful to remember" tips on my website. Bit more durable than shell history, and you can share them!

https://adamfallon.com/til.html

aDyslecticCrow•21m ago
Wrote "script" by accident once in my terminal. Turns out the unfortunate naming of that gnu tool from unix days makes it rather unknown.

Record a debugging terminal session including output to a file. Its pretty great.

elendilm•20m ago
These bash commands along with similiar others makes a developer so productive.

For me, I personally use nothing fancy other than normal KDE Kate for backend development.

Function and variable names are chosen after putting a lot of thought into it which also includes being amenable to grep and sed.

ahmedhossamdev•18m ago
+1 for git log -S. Two I use daily: rg --hidden -g '!*.lock' to skip noise, and python3 -m json.tool to pretty-print API responses.
cachvico•18m ago
I find myself using ctrl-r less and less as I make sure that anything of value that I work out goes into a Makefile or the app tooling, for me this is the basis of the dev-ops approach to work (make sure everything is scripted, not worked out on the fly).
CableNinja•10m ago
Ctrl+r is great, sometimes. History saving sucks which can make using it difficult, but i usually use it out of laziness than trying to recall a command, especially with ssh or repeated iterations requiring flipping between two settings/states. Its hard to rely on it for other things, but its still super useful.
FlyingSnake•6m ago
I’m lazy so With fish, I just type a part of the command and press up few times to get to where I want. There’s also fish-fzf.
monideas•13m ago
Almost all of these are irrelevant in the age of AI, except for the logarithm thing
wiredfool•11m ago
You might not need find due to advanced globs, but it's too easy to run into expansion limits when you match hundreds or thousands of files, so you're back to find for that.
okinternets•10m ago
Another one I use often is <command returning output > | pbcopy on macOS. Pipes the the result directly into your clipboard
IsTom•10m ago
`find` does a lot more things than that.
kccqzy•8m ago
A lot more tricks can be learned from just watching AI work. Instead of allowing AI to work autonomously, go back to the old days where you approve every command the AI runs. Just recently while doing performance optimization work, I found Opus using the `perf` command in ways I didn’t know possible. Just give AI a real task and carefully read what commands are used by the AI to solve the problem; most likely the AI uses a trick or two that you didn’t know existed.
13m ago
A (hopefully interesting) aside about avoiding branches is if you don't need an exact answer but need your code to make a decision based on an approximation over some known range, you can employ a basic fuzzy logic method. Serially add, subtract, or multiply to adjust a value by a handful of weighted inputs then use that value instead of branching repeatedly to choose the right action. You might branch once based on the final value where it would have otherwise been a larger tree of decisions. In fortuitous situations, you may avoid branching altogether.
5m ago
I think there's a fine line between helping your team grow and the sorta annoying self promotion I've seen people do in overly broad slack channels.

One is actually helping and the other is making yourself more visible to mgmt for promotions.

saulpw•11m ago
s/seen as//

Annoyance is a clue; not about them, but about you.

NegativeLatency•4m ago
Weird personal attack, thanks.

What I'm saying is I am not a jerk and actually do care about my coworkers, however I also don't want a bunch of noise in a chat app I have to use to do my job.

Code Is CRAP [2011]

https://testing.googleblog.com/2011/02/this-code-is-crap.html
41•luispa•50m ago•29 comments

Claude Cowork and chat are now one Claude

https://claude.com/blog/cowork-is-now-claude
22•vertigoruntime•37m ago•8 comments

Dream-RSI: Recursive Self-Improvement through Evolving Worlds

https://arxiv.org/abs/2609.14858
97•bananaflag•3h ago•24 comments

Small Programming Tricks

https://will-keleher.com/posts/small-programming-tricks-matter/
65•signa11•1h ago•45 comments

Mistral X Mozilla: Private, Multilingual AI Browsing

https://mistral.ai/news/mistral-x-mozilla/
360•vertigoruntime•8h ago•119 comments

Introducing System One Models and Jev

https://typesafe.ai/blog/introducing-system-one-models-and-jev
1701•albelfio•21h ago•459 comments

Measuring Gauss-Seidel loop-carried dependency and fixing it via loop unrolling

https://loiseaujc.github.io/posts/blog-title/make_gauss_seidel_great_again.html
12•loiseaujc•1d ago•0 comments

Show HN: An e-ink frame that hears birds and draws them as 1800s illustrations

https://github.com/arnegiacomo/fugleramme
1870•arnemunthekaas•1d ago•222 comments

Tell the speakers that you liked their talks

https://ohhelloana.blog/tell-the-speakers/
90•whisper2020•1d ago•26 comments

How Big Are Factorials?

https://eli.thegreenplace.net/2026/how-big-are-factorials/
30•ibobev•1d ago•13 comments

Apple Reference Image: A New Approach for Verified Photography

https://security.apple.com/blog/apple-reference-image/
425•imwally•14h ago•271 comments

Hackers Got Inside a Flock Camera. Its Data Shows How the System Works

https://www.wired.com/story/hackers-flock-camera-data-shows-how-system-works/
254•driverdan•3h ago•124 comments

Scaling Golang CI by Replacing actions/setup-go

https://www.cloudx.ai/posts/setup-go
45•peterldowns•4h ago•5 comments

Original Sony PlayStation 2 security chip 'broken wide open' after 26 years

https://www.tomshardware.com/video-games/playstation/26-year-old-sony-ps2-security-chip-broken-wi...
182•rbanffy•5h ago•46 comments

An update on Wayback Machine access

https://blog.archive.org/2026/09/15/an-update-on-wayback-machine-access/
649•ChrisArchitect•23h ago•340 comments

Kyber (YC W23) Is Hiring a Forward Deployed Engineer

https://www.ycombinator.com/companies/kyber/jobs/eturrAR-forward-deployed-engineer
1•asontha•5h ago

Salesforce Global Outage

https://status.salesforce.com/products/all
225•mabil•6h ago•128 comments

Anatomy of a Texture

https://agentlien.github.io/texture/
23•Agentlien•2h ago•4 comments

Show HN: How Stale Is Your AI? Release age and training cutoff for 20 models

https://stale.jock.pl/
32•joozio•4h ago•23 comments

The Google Play app review process now regularly takes longer than a week

https://gultsch.social/@daniel/117280438824908947
265•inputmice•5h ago•240 comments

Show HN: I made a flight simulator, except you're just a passenger

https://inflightsimulator.com
332•rkotcher•2d ago•187 comments

Doing Everyone Else's Job

https://yosefk.com/blog/doing-everyone-elses-job.html
171•luu•1d ago•81 comments

Gemini 3.8 Live and 3.8 Live Extended Thinking

https://blog.google/innovation-and-ai/models-and-research/gemini-models/gemini-3-8-live-gemini-3-...
470•leumon•23h ago•314 comments

Why I'm still bearish on LLMs after Navier-Stokes

https://dank.systems/posts/2026-09-15-ai-bear.html
385•jaykru•23h ago•485 comments

DeepSeek v4.1 Flash Is Now Our Best Hacking Model

https://enclave.ai/blog/deepseek-v41-flash-is-now-our-best-hacking-model
106•talhof8•4h ago•33 comments

OpenAI expands ChatGPT ads with Sponsored Agents

https://openai.com/index/reimagining-advertising-with-ai/
122•vertigoruntime•3h ago•118 comments

Intelligence per Watt: Measuring Intelligence Efficiency of Local AI

https://arxiv.org/abs/2511.07885
126•pythonic_hell•2d ago•42 comments

German Rheinmetall open-sources its Battlesuite connected weapon system protcol

https://rheinmetall.github.io/onboardapi-documentation/9.10.0/index.html
268•summarity•19h ago•100 comments

Recreating Voodoo Graphics and a Late-1990s Gaming PC on an FPGA

https://nand2mario.github.io/posts/2026/zsst-voodoo/
173•zdw•18h ago•51 comments

A software thing I built: GPS on a 25MHz 486-SX

https://forum.vcfed.org/index.php?threads/a-software-thing-i-built-gps-on-a-25mhz-486-sx.1258966/
61•JPLeRouzic•11h ago•19 comments