HNHacker News
TopNewBestAskShowJobs

kbd

3,459 karma · joined October 26, 2010

https://github.com/kbd
submissionscomments
kbd··on Ask HN: How do you sync your computer’s development configurations/environment?
Everything is source-controlled: https://github.com/kbd/setup
kbd··on Racket Is an Acceptable Python (2019)
I had little experience with Lisp until recently when I converted a few hundred lines of Lua to Fennel. I have a lot of experience with Python.

I've always been scared of Lisp syntax, but after just a little experience with it it all kind of fades away and it feels like an indentation-based language, while remaining very compact. Now I'm like "why aren't all higher-level languages lisps"?

Editor tooling definitely helps, but it's one of those "skill floor skill ceiling" ideas. Parenthesis-based syntax has a slightly higher "skill floor" (takes more effort to edit), but with editor tooling has a much higher "skill ceiling", where experts can move blocks at the level of syntax rather than characters. Even just vscode's new bracket highlighting and guides are a small feature but a big help to see structure.

kbd··on Lessons learned from running Apache Airflow at scale
Thanks for your comment! Ditto last time I ran Airflow locally it took like 5 Docker containers. Then I forgot about the project and for a while was furious at Docker for randomly taking 100% CPU. Then I realized it was because of the Airflow containers that would restart along with Docker. I didn't get much further with Airflow.

Dagster, on the other hand, seems to let you scale from using it locally as a library all the way to running on ECS/K8s etc. Along with that there's unfortunately a ton of complexity in setting it up but that's not Dagster's fault and it seems like Dagster works once you get it set up. Agree about it being young and there being some rough spots but it's got lots of good ideas. We were nearly done setting it up but got pulled off onto more urgent things, so I haven't run it in production yet. I'm glad to hear it worked well for you!

kbd··on Lessons learned from running Apache Airflow at scale
I'm bullish about Dagster nowadays. Though, I don't have a lot of experience with Airflow. Figured I'd ask if anyone has switched from Airflow to Dagster and has any comments?
kbd··on A simple, fast and user-friendly alternative to ‘find’
No file previews yet? I'd stick with ranger or lf.
kbd··on A simple, fast and user-friendly alternative to ‘find’
Agree, I've started replacing my `perl -pe s/.../.../g`s with `sd`. It seems it's actually slightly faster than the equivalent Perl for the same substitutions (which it should be since it does less).
kbd··on Forgit: A utility tool powered by fzf for using Git interactively
Here’s what I do for that (aliased to ‘p’): https://github.com/kbd/setup/blob/d95653da5ab367b1e628b97537...
kbd··on Forgit: A utility tool powered by fzf for using Git interactively
The only part I left out is that as part of my shell config I automatically alias all my short git aliases (as well as a few special cases). So “gcp” -> “git cp” etc.

https://github.com/kbd/setup/blob/d95653da5ab367b1e628b97537...

kbd··on Forgit: A utility tool powered by fzf for using Git interactively
If anyone cares, I do something similar with my git aliases: https://github.com/kbd/setup/blob/master/HOME/.config/git/co...

So, "ga" similarly gives a fuzzy finder of files to "git add" that are actually in git status, "gcp" lets me cherry pick one or more commits from a branch where both the branch and commits are picked with fzf, and so on.

kbd··on Zig Programming Language
The mistake that article makes (imo) is that "colorblindness" means at compile-time. i.e. you don't have to define both a sync and an async version of a function. Obviously async vs sync have different representations at run time.
kbd··on Roboto but Make It Flex
I had thought of mentioning San Francisco. I didn’t because it’s an Apple-only choice but your comment makes me appreciate it more. Noto looks great. It seems like with these configurable fonts you can use the same face for body text and have it still look good in headings at a different weight.
kbd··on Roboto but Make It Flex
As a programmer I have strong opinions about my monospace font, but if I want to make a UI or display very readable sans text what’s the best option? Roboto Flex? Inter?
kbd··on Apple says they're removing my game because it's more than 2 years old
What. I still play Super Hexagon occasionally and I’ve had that game on my phone for like 10 years.

Checked, was last updated in 2018: https://apps.apple.com/us/app/super-hexagon/id549027629

kbd··on Fennel: A Practical Lisp
I didn't realize the author of Janet was the author of Fennel, thanks for making the connection.
kbd··on Just: A command with config syntax inspired by make
Never understand why people use “command runners” instead of just shell scripts.
kbd··on Switching from pyenv, rbenv, goenv and nvm to asdf
Tried asdf but can’t stand the global shims. I only want it to work on a per-directory basis with direnv. I tried to follow the asdf-direnv instructions but IIRC still wound up with asdf’s shim directory in my global PATH, and it needed to install its own copy of direnv. Disappointing that asdf expects to take over my system like it does.
kbd··on Fzf – a command-line fuzzy finder
This tool isn't "news", it's been a staple of my environment for years, but it's trending so upvoted. I use fzf everywhere, it's greatly enhanced my workflow. Recommend fzf-tab to use fzf for zsh autocompletion.
kbd··on Gofmt is keeping whitespaces, Go team is denying a fix
> These formatting decisions date back more than a decade. For better or for worse, we aren't going to change them now.

> To repeat: changing this would cause likely millions of lines of code to be reformatted for no particularly strong reason.

No point in complaining to HN about this.

kbd··on Why I Prefer Makefiles over Package.json Scripts
I haven't understood what the point is for a "task runner" over having a bin/ directory in the project with some shell scripts. If it's not going to do anything extra for you (like run commands according to a dependency tree like make), I don't see the point.
kbd··on Bugs in Hello World
Indeed https://news.ycombinator.com/item?id=30611768
kbd··on Show HN: utt – Universal Text Transformer
FWIW nu shell can be used for a lot of the same use-cases:

    $ echo "[1, 2, 3]" | nu -c 'cat | from json | to yaml'
    ---
    - 1
    - 2
    - 3
    
    $ echo '{"key": [1, 2, 3]}' | nu -c 'cat | from json | to yaml'
    ---
    key:
      - 1
      - 2
      - 3
kbd··on Req – An HTTP Scripting Language
Oh man, REBOL, blast from the past. If they had open-sourced it early instead of trying to promote a proprietary programming language we might talk about REBOL along with Python and Ruby. Instead, it's forgotten.
kbd··on Hoppscotch: Open-source alternative to Postman
Very cool, hadn't heard about that tool. Do you think that's more powerful than simple shell scripts around HTTPie/xh/curlie?
kbd··on Hoppscotch: Open-source alternative to Postman
Agree, after researching this a little while ago, those are the two best alternatives. Was bit by HTTPie not supporting HTTP2, but both of those do. xh (Rust) is also faster (yes, in practice, try some large responses) than HTTPie (Python).

Edit: also just want to say, in a world where "the current GUI tool du-jour got bloated and this one has hidden behavior when you right click this button...", I much prefer command line tools where possible!

kbd··on AWS Lambda adds supports for .NET 6
Doesn't a lambda based on a docker container incur container startup time, whereas if you use one of their language-specific SDKs you don't?
kbd··on Crystal: Bdw-GC Coroutines Support
Yeah so it’s still not first-class in the language and off by default. Thanks for the links.
kbd··on Crystal: Bdw-GC Coroutines Support
So what is the status of Crystal multi-core now? My understanding was that Crystal enables Go-like concurrency (green threads communicating over channels) except they call "go" "spawn". Except it was still single-core and they were working on multi-core?

From what I've seen I really like Crystal. It has good ideas and they're working on a dang REPL! I'd like if it took over some of Go's share, and I'd like to not have to say "but they're still working on multi-core".

kbd··on Podman 4.0
Personally I'd prefer to use open-source tools if possible.

For Podman vs Rancher, what are pros and cons? If you only use Docker from the command line is there any reason to use Rancher?

kbd··on Vim 9 will be dedicated to Sven Guckes

  > Our friend Sven Guckes died in Berlin on February 20, 2022.
  > He was diagnosed with a brain tumor in December 2021.
Sheesh so fast... scary. RIP.
kbd··on Go 1.18 RC1 is out
> Now you can focus on if err return err instead.

Yes that is indeed the next most-frustrating thing about Go! In the last Go language survey (https://go.dev/blog/survey2020-results), about 90% of people wanted generics and 60% of people want better error handling. So, one down, one to go.

Modern languages like Zig and Rust show how you can do "errors as values" way better. Zig has error returns and stack traces built in, there's no reason Go has to be so impoverished here.

← PreviousPage 4 of 28Next →