HNHacker News
TopNewBestAskShowJobs

jorams

4,053 karma · joined August 1, 2014

You can reach me at hn at joram dot io
submissionscomments
jorams··on Infosec company pwned by 4chan user
The vast majority of those Jenkins CVEs seem to be for a wide variety of plugins, so it seems someone is putting in quite a bit of work to review them.
jorams··on GPL is no longer on the FSF website
> If you click on "GNU General Public License (GNU GPL)" you go to https://www.gnu.org/licenses/licenses.html#GPL which shows GPL v3.

But the links to the actual license all 404. The HTML link is the one submitted.

jorams··on Astral
Having now switched several projects from webpack+babel to esbuild, with a bunch of plugins to replace various bits of resolution magic, SCSS compilation, and more, the performance gains are consistently astronomical. Simple builds go from taking several seconds to consistently completing in an unnoticeable amounts of time. Full rebuilds are still significantly faster than incremental (--watch) builds used to be.

Setting this up takes a bit more work than for webpack, and it's easier to run into limits on what's reasonably possible, but I don't intend to ever go back.

jorams··on SQL:2023 is finished: Here is what's new
That's not standard SQL. This was standardized pretty late, so different RDBMS have various syntaxes, but the standardized one is to add a clause like this:

    FETCH FIRST n ROWS ONLY
In PostgreSQL and MySQL the usual syntax is a LIMIT clause, but PostgreSQL also supports the standard. MSSQL and some others use TOP n directly after SELECT. I think in some others you need to use a window function.
jorams··on Tell HN: Reddit Has Disabled i.reddit.com
It still works on a different URL: https://old.reddit.com/.compact

You can add .compact to any URL on old.reddit.com to get the same version that used to be on i.reddit.com.

jorams··on EU will require Apple to open up iMessage (2022)
The law isn't specific to Apple, it also affects WhatsApp. Indeed in the EU that's probably much more important. Personally I don't know anybody who consciously uses iMessage, but the extreme network effects of WhatsApp make it socially impossible to move away from.
jorams··on Please help improve Magit
You can change the URL of a remote easily with either "M u" for the primary remote, or "M C [choose] u" for any other.
jorams··on GitHub staff are required to use Teams by Sep 1, 2023
GitHub was a profitable bootstrapped business for 4 years before they decided to take a 100 million dollar investment and start bleeding money in pursuit of growth. Sourcehut is a profitable business even without requiring payment yet. The business model is not the problem. Network effects are.
jorams··on Amazon S3 will now encrypt all new data with AES-256 by default
It seems Google Cloud Storage introduced it in August 2013[1], enabled by default.

[1]: https://cloudplatform.googleblog.com/2013/08/google-cloud-st...

jorams··on Help choose the syntax for CSS Nesting
I'm a bit confused about the constant mention of option 3 in this article, because it seems to match none of the actual options from the original poll. The original poll offered three options:

Option 1: @nest. Requires either starting a nested selector with &, or prefixing it with @nest if the & should not be at the start.

Option 2: @nest restricted. Always requires starting with @nest.

Option 3: Additional brackets to group nested selectors.

The "option 3" mentioned in this article matches none of those. It's like option 3 without the defining characteristic of the brackets, or option 1 without the required nesting indicator (but now with the restriction that the selector needs to start with a symbol).

None of these options are particularly great. The new "option 3" looks cleanest, but the symbol requirement is going to trip people up.

jorams··on PHP 8.2
PHP string interpolation has 3 possible syntaxes: $var, {$var} and ${var}. The last one is now deprecated. I've never seen it used in the wild, and it has some odd limitations. It's discussed in the RFC[1].

[1]: https://wiki.php.net/rfc/deprecate_dollar_brace_string_inter...

jorams··on Debugging Lisp: fix and resume a program from any point in stack
> I guess there is no perfect way to do it (for example what if f2 needs some variables defined in Class.__init__), but the situation is the same for Lisp with its dynamic typing.

CL has the generic function update-instance-for-redefined-class[1] for this, so you can customize what happens to instances when a class gets redefined. I think most developers don't actually define methods for it all that often, but it's there if the defaults don't work for you.

[1]: http://www.lispworks.com/documentation/HyperSpec/Body/f_upda...

jorams··on FTX owned an $11.5M stake in a tiny rural bank in Washington state
This news is two days old at this point. Protos has more information[1] after talking to someone at the bank.

[1]: https://protos.com/exclusive-moonstone-bank-explains-ties-wi...

jorams··on Voice assistants are not doing it for big tech
Your fingertips while typing are even closer to the Tab and Enter keys on your keyboard, which, if pressed in sequence, have the exact same effect. Much simpler and much faster than either of your options.
jorams··on Show HN: Buzz, strongly typed scripting language written in Zig
Looks neat! Reading the docs only a few things stand out as odd to me:

- The common types are written as fully lowercase, shortened words (str, num, fib) but then function types are written as Function(). That seems like a weird exception.

- The use of a comma to delimit object fields, but a semicolon to delimit static fields, seems arbitrary.

- If brackets around control flow blocks are required, which they seem to be, then parentheses around the conditions seem unnecessary.

jorams··on Resolving the great undo-redo quandary
Emacs does this by default. Anything you delete ends up in the "kill ring", and you can cycle through that when pasting ("yanking") something. Packages like Consult[1] provide version of the yank-pop command that, instead of cycling through the kill ring, make it searchable.

[1]: https://github.com/minad/consult

jorams··on Aegis Authenticator – Secure 2FA App for Android
If you enable automatic backups in the Aegis settings it will create a backup after every change. If you set the output directory to a location synced by Syncthing, there's nothing to remember.
jorams··on Tell HN: Spectrum is blocking TCP/UDP 5060 at my home
They're significantly cheaper if you live in an area with a non-KPN fiber network. In KPN network areas they're paying more than consumer pricing to KPN for network access, unfortunately.
jorams··on Tell HN: Spectrum is blocking TCP/UDP 5060 at my home
It's worth noting that there's a spiritual successor to XS4ALL called Freedom[0].

[0]: https://www.freedom.nl/

jorams··on Show HN: Open-source user onboarding and KYC flow made with Svelte (~50kb)
Just a heads-up: On desktop, in all of the demos, I get stuck on the "Upload ID" step. Clicking on any of the buttons triggers the following error in the console:

Firefox: > Uncaught (in promise) DOMException: The object can not be found here.

Chromium: > Uncaught (in promise) DOMException: Requested device not found

Both at DocumentOptions.svelte:34

It tries to open the camera on mobile.

This should probably offer the option to upload a file, but at minimum it should handle the error.

jorams··on Life after Heroku: What's a dev to do?
> Or do you mean it's the same in Fly.io? If it auto-detects Node.js (through package.json),

Indeed the docs[1] say Fly automatically detects a Node.js project, so you don't need to create a Dockerfile.

[1]: https://fly.io/docs/languages-and-frameworks/node/#launch-th...

jorams··on Turbopack, the successor to Webpack
> most people here work in bigcorp projects where there are so many thousands of files that you cant work like this anymore

This is not a bigcorp thing. The Typescript compiler starts becoming annoyingly slow much earlier. I have a project that's one 2000-line TS file that already takes 1.5 seconds to compile. Not yet slow enough to be frustrating, but ridiculous for the amount of code.

jorams··on Alphabet Earnings Report Q3 2022 [pdf]
I don't think they've ever released how profitable YouTube is? Only revenues. I've always assumed it's unprofitable given what must be ridiculous operational costs.
jorams··on Emacs User Survey (2022)
The survey links to donation pages for the FSF, org-mode, high-profile package authors, and separately the creator of the survey. They're not some sort of middle man for the payment.
jorams··on Tailwind CSS v3.2: revisiting my “feature creep” warning
Looking at the Tailwind 3.2 feature list I don't necessarily disagree that some of these look like feature creep, but I think this article falls flat because it asserts a premise that I just don't think is true:

> the idea behind Tailwind, like every other utility-first CSS framework, is to make styling easier, especially for front-end developers who dislike getting under CSS’s hood.

> The more features that get added to Tailwind, the more you have to know about CSS before you can use those features. Right? So why not just bite the bullet and learn to use CSS without the additional tooling

Tailwind is not an alternative to learning CSS, or "getting under CSS's hood", and I don't think I've ever seen anyone promote it as such. Tailwind is explicitly very low-level. It's an alternative way to write CSS, not an alternative to knowing CSS. All of its class documentation starts with the exact equivalent CSS declarations for a reason.

jorams··on An account was suspended
Looking at the account, I don't see why it would be a lie in this case, or why the account shouldn't have been suspended after manual review. It posted 75 tweets in 26 minutes, self-admittedly "from multiple locations around the world.". All of those tweets link to an external website.

It's spam, so the account got suspended for posting spam. The fact that it was posted by Ben Thompson doesn't change the fact that it's spam. We can complain about automated moderation processes that make obvious mistakes all day, because it keeps happening, but this case doesn't look like an example of it.

jorams··on DuckDuckGo for Mac beta now open to the public
> they aren’t directly using WebKit, but rather WebView, a cross-platform API that delegates rendering to the OS preferred rendering engine, which on Apple devices happens to be WebKit.

WKWebView is a part of the WebKit API, so it always uses WebKit. As far as I know it's also a Cocoa API, so it's only cross-platform in the sense that it's available on both iOS and macOS.

jorams··on Why Figma Is Special
> Designers are not like engineering or marketing teams that love hopping to the sexy new product. Design products are complicated; it isn’t “fun” to try out a new vector graphics editor. It is weird that all designers suddenly wanted to move to Figma. It would be like half the world’s sales teams quit using Salesforce overnight.

They may not necessarily like moving to another vector graphics editor, but many can move relatively easily. The hardest part is adjusting your workflow. Salesforce-based sales teams build up and rely on a large amount of data that is hard to migrate and ever-changing. Many designers could just try Figma for their next design, without affecting other projects.

jorams··on Algorithms in PHP: Deques
None of those snippets contain a ternary operator.

?? is the Null Coalescing Operator[1]

?-> is the nullsafe operator[2]

[1]: https://www.php.net/manual/en/language.operators.comparison.... [2]: https://www.php.net/manual/en/language.oop5.basic.php#langua...

jorams··on Google pays ‘enormous’ sums to maintain search-engine dominance, DOJ says
While I don't think user payments would be enough to fund development, I don't think "they need Google's money" is evidence for it. It's not like paying for Firefox is currently an option.

Firefox is developed by the Mozilla Corporation. The closest thing to paying for Firefox is probably donating to the Mozilla Foundation, but that money is used for education and advocacy.

← PreviousPage 14 of 28Next →