Hacker Newsnew | past | comments | ask | show | jobs | submit | themadsens's commentslogin

I naively assumed it would work on the already installed homebrew packages. No such luck.

After installing, 'nb list' and thus eg. 'nb outdated' will yield the empty list! I have absolutely no use for a competing homebrew installation that is mostly compatible ..



Well, I guess the motivation (use a more easily integrated extension language) makes sense but ugh, Javascript is a dirty sack of sewage.

I'd take a minor quibble with one of the Reddit commentators:

> "Lua is a language that was built for people that are not programmers, and Hammerspoon (or at least building it's extensions) is targeted specifically at programmers."

Hammerspoon[0] isn't targeted at programmers because it's abstracting hard things (interfacing with macOS system libraries, etc.) into easier ones (the Lua spoons) where accessibility to non-programmers is surely a goal.

[0] I'm excluding extensions because the included spoons cover many scenarios people would be interesting in using and, to be honest, building "extensions" to something as tricky as Hammerspoon would be beyond many programmers[1], never mind non-programmers.

[1] I'm reasonably experienced and pretty fast at the "huh? <-> search <-> experiment <-> kludge <-> test <-> passable code" cycle even with completely new technologies and I definitely wouldn't be keen on attempting a Hammerspoon extension.


I'll happily agree that JavaScript is not a very nice language, but to be honest, I don't think Lua is a very nice language either. It's easy to embed in C though, which is why we were able to do all of the things that Hammerspoon does.

Where JS massively wins here, to my mind, is that there is so much tooling available for it, to the point that I'm already not actually writing my v2 config in JS at all, I'm writing it in TypeScript and compiling it to JS.


Firstly, thanks for all the Hammerspoon work - it is a marvellous thing (and I'd love Apple to support something like it as an extension to OSA.)

> Where JS massively wins here, to my mind, is that there is so much tooling available for it

Yeah, I can see that being a big win for development and people already invested in the JS ecosystem.

(I'll stick with Hammerspoon v1 until it breaks and then figure something else out because it'll be a cold day in hell before I subject myself to JS/Node/Typescript again. The trauma runs deep and wide.)

> I'm already not actually writing my v2 config in JS at all, I'm writing it in TypeScript

Will give v2 a go with `lua2js`[0] transliteration and see if that's workable.

[0] https://github.com/xiangnanscu/lua2js


I was lucky enough that my first employer ran the very first 4.2BSD in Denmark outside academia (on a DEC-VAX/750), so i grew up with Bill Joy's newfangled "vi" and spent countless hours recap'ing the cheat sheet.

To this day stuff like "3dw" and "d}{{[P" are just second nature. Very much enjoying moders stuff like neovim and CoC/LSP too.

And yes, nvim is perferctly suitable for Java and maven with ctags/ripgrep/fzf etc. plugins


More often than not you want 'de' or 'ye' rather than 'dw' or 'yw'


Sweet, very impressed.

To be really usable, for embedded and otherwise, a well documented and ergonomic C API for bindings is needed though.

The closest I could find was "If you need to add more predefined functions, add them in intrinsics.h." I will take a look though, this seems really promising

EDIT: Looks to be pretty easy to tack an external registration mechanism onto intrinsics.h. Good to go then ..

.. Only two SO comments at this point .. come on folks :-)


I wish premake could gain more traction. It is the comprehensible alternative to Cmake etc.


I'd rather everyone use CMake than have to deal with yet another build system. Wouldn't be so bad if build systems could at least agree on the user interface and package registry format.


Xmake[0] is as-simple-as-premake and does IIRC everything Premake does and a whole lot more.

[0] https://xmake.io/


It's 2025, just use meson


Completely useless in an airgapped environment


Could you elaborate on that?


I'm guessing it needs internet for everything and can't work with local repositories.


Not really a fan of Meson but I doubt that that's the case as it is very popular in big OSS projects and distributions aren't throwing a fit.


No?


Oh yes. For one thing "hexdump -C ." would work out nicely in those days.


Isn't hexdump the modern punk upstart.

In my day we had to use od, and were happy to have it, now get off my lawn.

Full disclosure, I am one of those "modern punk kids" but my first boss was firmly in the od generation. and all his documentation referenced it as such. hexdump is ergonomic heaven in comparison.


I always found buildroot a lot easier to fathom and harness. And certainly flexible enough with the ability patch every included recipe and package.


I cut my teeth on Buildroot but greatly prefer Yocto now. Buildroot is fast and loose, where Yocto forces you to do the right thing.


I think it is easier. But for some projects it becomes harder to maintain.


Well said! I have met a few of these codesmells where the actual functioning is hidden behind a bewildering maze of facades, shims, proxies and whatnot.

I guess some has had an irresistible itch to use as many patterns from the GoF book as possible.


Smells like Ruby to me haha. I know is not the language, but for some reason the ruby code I've stumbled into are all like that.


To me it sounds like what I use Ruby to get away from.

It's rare to need facades, proxies, and shims in a dynamically typed language where the caller doesn't need to care about the type of the object they call.

In fact, most of the Gang of Four design patterns either make no sense in Ruby or are reduced to next to nothing.


Very impressed with ghostty so far, but: Main reasons for sticking with ITerm2 (for the moment at least):

- "Seamless" cut & paste with paste on "2 X right click" + "Trim trailing LF"

- Quadruple click "Smart selection"

- Brillant search with highlighting in text and scrollbar

- Support for OSC-1 "icon titles" in tabs, as opposed to OSC-0 "header title"


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: