HN user

matthewmc3

75 karma
Posts0
Comments16
View on HN
No posts found.

Exactly. We heard for years they wouldn't do generics it until they could do it right, and that was perfectly fine with me. Who wouldn't want a well thought out implementation? Then they released generics and it was like, "this is what you thought was the right way to do it?!"

Generics being omitted wasn't pitched as a feature that I ever saw. The discussion was mostly around "hic sunt dracones" with generics. The Go authors were very aware from the get-go that generics are an incredibly difficult thing to implement well, and the commitment was always to not do it until they were really ready to tackle it. The bizarre thing to me is that when they did tackle it, they left this massive implementation gap, and then what little they did implement didn't seem useful enough that anything meaningful was added to the standard library. So all this talk about generics for years was a big nothing-burger. That is, I hope, until 1.27 when this gets released. Flags is one in particular I think is in desperate need of proper generic methods.

As far as I can tell with oils, they haven't fully defined what YSH is going to be yet - you basically have OSH (the bash compatibility syntax), with the option to add YSH features as a bolt on. It'd be like Zsh shipping with a built-in Fish-mode to create hybrid scripting. The interesting thing with shells like Xonsh and now rubish is that theoretically the shell language isn't some new thing you have to learn like with elvish and nushell, but is a known programming language with shell features. Rubish looks like it takes the most interesting parts of Oils and Xonsh, in that it's bash compatible, but you could also do a Ruby statement like `ls.each { |f| printf "%s: %d bytes\n", f, File.size(f) }`.

Scott Forstall here. I’ll resign before I apologize for the choices we make at Apple. All our research shows you’re gonna love it, and if you say you don’t it’s because you’re wrong, not me.

Moving the request to the Start Centre is not an escalation, but a change in location and frequency.

I support LibreOffice and what they're trying to do here, but this statement that it's not an "escalation" out of one side of their mouth and then admitting it's a "change in location and frequency" out of the other tells me that they are being disingenuous about it. An unobtrusive notice on where to donate seems like a reasonable direction, but if they don't view this obvious escalation as such, then what else will they do that they don't view as an escalation?

Hammerspoon 4 months ago

Wow... that's... incredible. I've used Hammerspoon forever and never knew that existed.

Just messing around I found you can extend the grid size with `hs.grid.setGrid('4x4')`, which you also may then want to shrink the text size with `hs.grid.ui.textSize = 30`, and finally if you use an alternative keyboard layout (eg: Colemak), you can set the grid to use it with `hs.grid.HINTS`. They really thought of everything with this feature.

Tahoe will be gone in 7 months when macOS 27 comes out. Meanwhile we've been talking about ads in the Windows 11 start bar since 2021 and Gnome 3's Gnaval gazing since who knows when?

Apple tries something weird every now and then and then a year later we get something different. Yes, Tahoe was a giant miss, but I'd wager macOS is not what really attracts devs to Apple anyway - it's the hardware that makes Macs such an appealing dev machine. Large glass trackpads with incredible touch controls, aluminum bodies, long lasting batteries, cool and quiet, great screens, years of support - the list goes on.

Snapdragon is only just now finally taking off in the Windows/Linux space, so the landscape could finally change here soon, but for now anyone who's gone ARM is not looking to ever go back to x64 hardware - at least for development (gaming is another convo).

What Killed Perl? 8 months ago

You forgot perhaps the most important one:

3. six

`six` was instrumental in repairing the Python schism by giving people a way to incrementally move their 2.7 code to Python 3, and write code that was compatible in both. The six project didn't exist at first and the path to Python 3 was too painful without it. Six solved all that by smoothing over built-in libraries with different casing between versions, incompatible core libraries, the addition of unicode strings, print changing to a function, etc, etc. Perl 5 to Perl 6 (aka Raku) never got that.

So if Google is to learn from others’ past mistakes, it ought to be able to leverage Gemini as long as the user can easily and fully swap out Gemini for an alternative. That was the problem regulators had with IE and the App Store.

That album still shows up today in jarring ways in Apple Music when you use the Create Station feature because it was on everyone’s phones and their algorithm still isn’t good enough to recognize when one of these things is not like the others.

You can't navigate to a hidden folder by typing its name (let's not get too creative!).

You can, actually. ⌘-SHIFT-G in Finder lets you navigate to any folder by typing in the path - even hidden paths. No mortal user would ever be expected to know or discover that, but it's there.

Fish has a lot of features out of the box I find really useful:

* Command auto suggestions as you type based on your history

* History search (using up arrow) based on a partial command

* Helpful completions and descriptions when you hit TAB

* Muti-line command editing

* Syntax highlighting

You can get all those same features in Zsh by using plugins, but those features work out-of-the-box with Fish with zero configuration. Zsh is a bit of a pain to configure, and pretty anemic without plugins. Fish makes configuration optional because it works how you'd hope your shell would out of the box. Even though Zsh has those features as plugins, they're kinda janky, not well maintained, and often conflict with other plugins.

Additionally, Fish also has:

* Excellent built in commands (string, math, argparse)

* Sane scripting (word parsing where you don't need to quote everything, etc)

* Great documentation

* A web-based configuration if you're into that sort of thing (it's a bit of a gimmick for beginners)

The main reason I use Zsh (or Bash) at all is for POSIX/portability, or for when I can't install something else. But for an interactive shell on a machine I control, it's hard to compete with Fish for speed, features, and ease of use.