Advertisement · 728 × 90

Posts by Egon Elbre

I'm officially looking around, if anybody needs a Go software engineer with a very strong background in web security lmk.

I also know a fair share of frontend dev and was a SWE/SE for Google and Microsoft.

I'm looking for security-sensitive dev projects and security reviews.

3 weeks ago 12 7 1 1
Video

recording of last night's meditation with piano

soundcloud.com/egon-elbre/h...

3 weeks ago 1 0 0 0

For a larger example see github.com/loov/gorelo/...

1 month ago 0 0 0 0

I needed to reorganize a bunch of Go code, so I ended up creating a tool for moving declarations between packages. It takes (mostly) into account build constraints, renaming, adding imports etc. github.com/loov/gorelo

gorelo -r "Server Options -> ./server/server.go" ./...

1 month ago 0 0 1 0
GopherCon 2025: Porting the TypeScript Compiler to Go for a 10x Speedup V2 - Jake Bailey
GopherCon 2025: Porting the TypeScript Compiler to Go for a 10x Speedup V2 - Jake Bailey YouTube video by Gopher Academy

My GopherCon talk was just posted!

3 months ago 79 19 2 2
Drawing of a fox sleeping comfortably under a starry night sky.

Drawing of a fox sleeping comfortably under a starry night sky.

3 months ago 1 0 0 0
Pixel Art Articles - Saint11 This is a series of articles I made with the help of my Patreon. This series is aimed towards absolute beginners, I explain the basics of the Aseprite software and walk through some basic exercises. I...

I can also highly recommend any tutorial by @saint11.art. For example saint11.art/pixel_articl... and saint11.art/blog/pixel-a....

4 months ago 2 0 1 0
Post image

My new favourite thing is to let LLM explain a technical topic like a drunk person.

8 months ago 1 0 0 0
Preview
cmd/compile: slow escape analysis in large package in the typescript compiler · Issue #72815 · golang/go Go version go version go1.24.1 linux/amd64 Output of go env in your module/workspace: AR='ar' CC='gcc' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g' CGO_ENABLED='1' CGO_FFLAGS='-O2 -g' ...

Awesome work by @thepudds.bsky.social github.com/golang/go/is...

Compiling the typescript compiler went from 70s to 30s !

1 year ago 50 10 2 0
Advertisement
Two mul or not two mul: how I found a 20% improvement in ed25519 in golang | Storj Engineering Blog Low level optimizations are tricky and sometimes unintuitive. We'll take a look at a story of optimizing ed25519 signing and verification.

Wrote small post about an optimization story storj.dev/blog/two-mul...

1 year ago 6 1 0 0

Should be fine in your case.

The main difference is that you don't get the gradual adding/removing of service methods. e.g. you add a service method and now need to gradually implement it in multiple servers and clients.

1 year ago 1 0 0 0

Ah yeah... in that case, maybe, MQTT? And protobuf/msgpack if you need structured messages.

1 year ago 0 0 1 0
DRPC - Storj Labs

Hot take: storj.github.io/drpc/

1 year ago 1 0 1 0

Also there are plenty of books to read about good code design. My main recommendation is "A Philosophy of Software Design". For concurrency it's "The Little Book of Semaphores".

Also few additional posts about code-reviews for other tips blog.palantir.com/code-review-... and dev.to/codemouse92/...

1 year ago 0 0 1 0

This approach forces people to write code with much more care and without relying on "I can fix the bugs that come up".

Any beginner coding problem or kata is a good exercise. One year I tried part of advent of code with this approach. 13 successes, 20 failures.

1 year ago 0 0 1 0
Learning Code Readability Tips for developing your code writing skills.

A hands approach could be "Cut the Red Wire" exercise (egonelbre.com/learning-cod...)

The basic premise is that your goal is to write fully correct code, without any help from your editor, tests or language server etc. You have a single attempt to run code per coding task.

1 year ago 0 0 1 0

Ideas for teaching the skill:

* let people read bug-fixes
* let people read lists of common mistakes
* let people read posts about code bugs
* share new interesting, bug finds in a slack channel (or mailing list)

1 year ago 1 0 1 0

Good naming is hard, but it's a good way to avoid mistakes.

Bad naming can easily hide bugs, make design less obvious and code intent less clear.

Also avoid negation in naming, whenever possible. `if !incorrect {` is harder to processs than `if correct {`.

1 year ago 0 0 1 0

Embrace consistency.

Having different variations of the same thing is an easy way to introduce mistakes that can be otherwise obvious

```
for i := 0; i < N; i++ {
for i := 0; N > i; i++ {
for i := 0; N - 1 >= i; i++ {
for i := 0; i <= N - 1; i++ {
```

1 year ago 0 0 1 0
Advertisement

If you find one mistake in code, it's quite likely there's another place that the exact same mistake happened. Hence, search for other instances of a mistakes, that came up in code-review or during debugging.

1 year ago 0 0 1 0

Make a docs of common mistakes or places where issues can easily happen... and re-read occasionally.

e.g. `go func()` and `chan` are a common source of errors, hence take extra time to consider logical races. What if you inserted `time.Sleep(time.Hour)`, would something break?

1 year ago 0 0 1 0

Automate as much as you can by writing linters, checks, tests.

Add checklists for critical things.

1 year ago 0 0 1 0
Post image

Review code by reading bottom-to-top. If you read top-to-bottom your brain is more likely to "automatically fix mistakes".

Works for regular text as well. e.g. try on www.sciencealert.com/images/2018-...

1 year ago 0 0 1 0

Get patch sizes below 500LOC. Ignoring maybe tests (if they are comparable in size). Separate trivial patches to separate changes.

Over 500 LOC reviewer fatigue kicks in and review quality drops.

Numbers based on smartbear.com/learn/code-r...

1 year ago 0 0 1 0
Post image

Sweet dreams.

1 year ago 0 0 0 0