Gary Bernhardt

2.5K posts

Gary Bernhardt

Gary Bernhardt

@garybernhardt

Execute Program (learn programming tools quickly); Destroy All Software (dense programming screencasts); formerly Deconstruct conference.

Seattle, WA Katılım Mart 2007
112 Takip Edilen44.2K Takipçiler
Sabitlenmiş Tweet
Gary Bernhardt
Gary Bernhardt@garybernhardt·
Computers exist to serve us, not the other way around. If it is not fast and reliable then it is wrong!
English
10
133
620
0
Gary Bernhardt
Gary Bernhardt@garybernhardt·
who in the hell called them security researchers and not sudoscientists
English
0
17
154
11.1K
Gary Bernhardt retweetledi
Gary Bernhardt
Gary Bernhardt@garybernhardt·
In Python, it's a trace back. In Ruby, it's a back trace. In Java, it's a stack trace. All we need now is a trace stack.
English
11
73
209
0
Gary Bernhardt retweetledi
Zach Holman
Zach Holman@holman·
Some of my favorite stories selling what would become GitHub Enterprise early on was dealing with the culture changes back then. I had a number of large banks tell me — with a straight face — "how can you possibly have quality software if you deploy more than once a quarter?"
English
22
24
329
44.4K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
Pronouncing mdutil: 🧠 "emm-dee-you-till" 🧠🧠 "emm-dee-yootle" 🧠🧠🧠 "emm-doodle" 🧠🧠🧠🧠 "mmdoodle"
English
3
0
34
7.2K
Gary Bernhardt retweetledi
Gary Bernhardt
Gary Bernhardt@garybernhardt·
who in hell called it "LCD Soundsystem Share “Dance Tonite” VR Experience | Pitchfork" and not "Get AnOculus!"
English
3
9
75
0
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@vpatryshev @nikitonsky Well, now you have "11 separate tests, ~5x as much code, multiple helper functions and `beforeEach`s to avoid duplication, and more difficult to read."
English
1
0
4
1K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
Me at 25: Tests should be 5ish lines! One assert per test! Me at 40: This test is 56 lines long with 11 asserts. If I broke it up, it would be 11 separate tests, ~5x as much code, multiple helper functions and `beforeEach`s to avoid duplication, and more difficult to read.
English
16
71
1K
86.2K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@triskweline Yep, and yet they're all also useful ideas... sometimes! The key is to make the gremlins work for you instead of you working for the gremlins.
English
0
0
2
114
Henning Koch
Henning Koch@triskweline·
Mind gremlins like that have compromised my code for decades: - One idea per line - Comments are a smell - Law of Demeter - Only immutable values - Inversion of control - Single Responsibility - DRY (still fighting that one!)
Gary Bernhardt@garybernhardt

Me at 25: Tests should be 5ish lines! One assert per test! Me at 40: This test is 56 lines long with 11 asserts. If I broke it up, it would be 11 separate tests, ~5x as much code, multiple helper functions and `beforeEach`s to avoid duplication, and more difficult to read.

English
2
0
8
904
Gary Bernhardt
Gary Bernhardt@garybernhardt·
If you force code into an arbitrary shape, you'll deform it in other ways that are often worse than just letting it be the shape that it wants to be. Sometimes a line should be 150 characters long; sometimes a function should be 150 lines long. But usually not.
English
2
8
118
8.4K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
The vast majority of tests that I write are small, with a single assert. But sometimes there's a complex story to tell, which leads to complex setup, and sometimes it's easier to tell that story by building the story up piece by piece, asserting as you go. It's fine.
English
1
6
135
7.3K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@sjfloat I read it as admiration, not derision. Maybe you're right about them just meaning rhythmic sense, though it seems weird to me to say that as "he *is* [thing that keeps rigid time]". Either way, I think this was a really bad example on my part, for multiple reasons.
English
1
0
2
158
Steve Jones (@sjfloat@mastodon.social)
@garybernhardt Do they mean it in a derisive way? You can have a solid, regular rhythmic sense *and* be able to vary a tempo continuously. Rubato is a dying art. And click tracks have taken a terrible toll on popular music.
English
1
0
2
233
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@freegroucho @exec_prog Yep, it's really counterintuitive. People often seem to think about it like a computer that they can speak to in natural language, but it's more like a creative but intellectually lazy intern that never gets tired.
English
0
0
1
92
Freegroucho
Freegroucho@freegroucho·
@garybernhardt @exec_prog Yeah, AI/ML is not good at being 100% right. Its good at creating boilerplate starting points for code and writing projects. And for learning about a new topic.
English
1
0
0
85
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@exec_prog (After 6 years without ever using a spell checker, there were 3.5 typos in the entire course catalog. There may be grammatical errors lurking, though; those can't be automated away in the same way.)
English
3
0
3
2.4K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@mikaeilo @exec_prog I've tried grammarly before, but it suggested that I should do violence to my draft in various ways, so I don't bother with it. I only put the draft through ChatGPT to head off an objection to the post: I know that people will say "just use GPT" without knowing whether it'd work.
English
0
0
0
96
Michael Okt
Michael Okt@mikaeilo·
@garybernhardt @exec_prog I wonder what gramarly would report. In this specific case I think chatgpt didn't have enough training data to mimic a proofreader. And it doesn't understand the concepts you're prompting it with.
English
1
0
0
94
Gary Bernhardt
Gary Bernhardt@garybernhardt·
@SesGoe @exec_prog Somehow there was a smart quote in place of an apostrophe. It's not "wrong", in that it reads correctly, but it definitely wasn't intentional. Also I hate smart quotes.
English
0
0
2
149
Gary Bernhardt
Gary Bernhardt@garybernhardt·
Wrote a blog post (that I may not publish) about the spell checker that I just wrote for @exec_prog. As part of that, I asked ChatGPT to proofread a draft of the post. It ignored my instructions ("only report actual errors, not suggestions"). It also hallucinated one error.
English
1
0
12
4.3K
Gary Bernhardt
Gary Bernhardt@garybernhardt·
I don't know what it is about Playwright in particular, but ChatGPT just doesn't understand it at all. I've asked it ten different questions today, and for every single one it hallucinated APIs. Then if I tell it that, it hallucinates another API. Then if I tell it that, it hallu
English
5
0
34
6.6K
Samuel Path
Samuel Path@smlpth·
@garybernhardt With the level of your skills, you’ll be the last to be left behind by the AI revolution on our craft. It’s infinitely harder to get your level of mastery on all levels of the stack than learning to prompt an LLM or use an AI assisted IDE 😅.
English
1
0
0
430
Gary Bernhardt
Gary Bernhardt@garybernhardt·
I always listen to the confident, loud declarations about the future of programming (don't want to get left behind)! That's why I always start with a UML diagram, then let tooling generate aspect-oriented WS-* services, with the data stored in a network database. blockchain
English
8
13
155
12.5K