HNHacker News
TopNewBestAskShowJobs

roryokane

1,718 karma · joined March 23, 2009

Email: “rory” + “@” + “roryokane.com”

Website: http://roryokane.com/

Keybase proof (though I don’t use Keybase for anything): [ my public key: https://keybase.io/roryokane; my proof: https://keybase.io/roryokane/sigs/sGwg5k79ih95jibooICWeZN7bdtiHdJ5YB4107c2x30 ]

submissionscomments
roryokane··on XML is better than YAML – Hear me out
Fixed link to that style guide entry: https://guide.clojure.style/#opt-commas-in-map-literals

Per that style guide, the above map should be formatted like this:

  {:a 1
   2 :bar
   [1 2 3] :baz}
Most maps written in EDN have keys of a consistent type. A map whose keys are consistently keywords would look like this when formatted:

  {:a 1
   :bar "https://example.com/"
   :baz [1 2 3]}
Or like this, when condensed to one line:

  {:a 1, :bar "https://example.com/", :baz [1 2 3]}
The first map had keys of three different types: keyword `:a`, integer `2`, and vector `[1 2 3]`. Why would one want a format that supports maps with mixed-type keys? As a contrived example, mixed-type keys let you define a sparse 2D tile-based map for a game that is indexed by x and y coordinates:

  {:default {:type :grass}
   [0 1] {:type :npc-rival}
   [2 3] {:type :wall}
   [2 4] {:type :wall}
   [100 -5] {:type :treasure, :contents :sword-of-slaying}}
HN comment formatting help: https://news.ycombinator.com/formatdoc. I indented the above code by two spaces.
roryokane··on Rethinking Window Management
In case you weren’t aware, though macOS’s Finder doesn’t show an editable file path control in each window like Windows Explorer does, Finder does support these path-related features:

• View > Show Path Bar (⌥⌘P) toggles visibility of a bar at the bottom of the window that shows the path to the currently open folder or currently selected file. The path is displayed as a series of folders, including their icons. You can hover over each these folders to see their full names, drag files into them, or drag them into other windows.

• Go > Go to Folder (⇧⌘G) pops up a text field where you can type the path of a folder or file to navigate to. The text field has tab completion. This shortcut works in any file dialog, not just the Finder.

• Edit > Copy “…” as Pathname (⌥⌘C) copies the absolute path to the currently open folder or currently selected file.

Another tip: in any file dialog, to navigate to the same folder as an open Finder window, start dragging the folder by pressing and holding on the proxy icon of the window (it’s in the title bar, left of the title), then drop the folder onto the dialog.

roryokane··on Clever code considered harmful
Nice simplification of the “clever” code. Lodash docs for anyone curious: https://lodash.com/docs/4.17.15#pickBy

Here’s my version of the “clever” example that doesn’t depend on Lodash. It’s longer than your version but still simpler than the article’s:

  const extractDataFromResponse = (response) => {
    const [Component, props] = response;
    const dataIncludingUndefinedValues = { Component, props };
  
    return Object.fromEntries(
      Object.entries(dataIncludingUndefinedValues).filter(([_key, val]) => val)
    );
  };
roryokane··on Nokia launches DIY repairable budget Android phone
I think you’re misunderstanding the Android bootloader model. All the Android phones I saw when researching one to buy came with locked bootloaders, even the easily-unlocked Google Pixel series. So it’s not even a question whether the bootloader will arrive unlocked. What differentiates models is whether “there’s a way to unlock it” – plenty of models don’t support any such way. (I didn’t consider some classes of Android phones in my research of which to buy, so this could be a faulty generalization.)

The parent comments weren’t specific about whether this phone’s bootloader can be unlocked, but when they talk about this phone’s locked bootloader, I think unlockability is the issue they are really talking about.

roryokane··on Calculators now emulated at Internet Archive
If you have an Android phone, you can get much higher-quality emulation of Texas Instruments calculators by installing Graph 89 (https://bitbucket.org/dhashoandroid/graph89-paid/src/master/ ; free on the Play Store at https://play.google.com/store/apps/details?id=com.Bisha.TI89...) and ripping or downloading a ROM for your calculator model. There is also a more recently updated fork of Graph 89 that I haven’t tried: https://github.com/milaq/graph89.

Compared to these new Internet Archive emulations such as https://archive.org/details/ti89-calculator, Graph 89 has these advantages:

• less likely to drop quick inputs in succession

• higher-resolution images of the calculator faces (example: https://github.com/milaq/graph89/blob/94c8c0d20044f478f66966...)

• highlights the button on the calculator’s face when you click it

• allows loading programs into memory from separate files of the type you can download from https://ticalc.org/

• works offline, because it uses your offline copy of the calculator’s ROM

roryokane··on Puter
The startup sound is actually the PlayStation 1 startup sound: https://www.youtube.com/watch?v=oAhvQoLpvsM
roryokane··on Using Rust at a startup: A cautionary tale
Some languages that integrate with an HTTP server and a database:

Ur/Web: http://impredicative.com/ur/

Dark (Darklang): https://darklang.com/

roryokane··on Resolving the great undo-redo quandary
For browsable clipboard history on macOS, I recommend LaunchBar (https://www.obdev.at/products/launchbar/; docs at https://www.obdev.at/resources/launchbar/help/ClipboardHisto...). I used to use the Clipboard Plugin of the free and open source app Quicksilver (https://qsapp.com/), which worked fine but was slightly less streamlined. Some people prefer Alfred (https://www.alfredapp.com/help/features/clipboard/).
roryokane··on Remix web framework aquired by Shopify
What’s RSC?

Edit – I think I found it: RSC is React Server Components. Per React’s December 2020 blog post https://reactjs.org/blog/2020/12/21/data-fetching-with-react... and June 2022 blog post https://reactjs.org/blog/2022/06/15/react-labs-what-we-have-..., the technology is still in development.

Searches like “RSC JavaScript” and “RSC Redux” didn’t turn up anything. I only found the term “React Server Components” in the comment https://news.ycombinator.com/item?id=29994621 while reading discussion of a January 2022 blog post “Remix vs Next.js”.

roryokane··on Show HN: America – Road Trip Simulator
Microsoft Flight Simulator lets you fly a plane anywhere in the world based on satellite images and 3D models of various cities.

I’d imagine that any other game studio would have trouble finding enough money to license the rights to satellite images or street view images from which they might build a world.

roryokane··on 3x new books added to the Pirate Library Mirror
Link to the app’s website: https://www.overdrive.com/apps/libby
roryokane··on If OpenSSL were a GUI
I think notriddle’s comment is fine. They didn’t criticize the designer of the UI, just the UI itself. Their detailed UI critique helps other people reading the comments improve their UI design skills by prompting them to think how to avoid such criticisms.
roryokane··on The ‘flawed five’ engineering productivity metrics
Oh, you’re right – your (Abi Noda’s) Leaddev article (https://leaddev.com/reporting-metrics/flawed-five-engineerin...) was published in 2021, not 2022. Sorry for getting that wrong. I think I confused the ad for “2022 Conferences & Events” at the start of the article with the publication date.

It doesn’t seem true that Julian’s Haystack article (https://www.usehaystack.io/blog/software-development-metrics...) was published in May 2021, even though that’s the date at the top of that article. It was apparently originally published in November 2020, as seen in a snapshot from December 2020: https://web.archive.org/web/20201204170826/https://www.useha.... Your article does seem to have been published in April 2021, as you say: https://web.archive.org/web/20210419071103/https://leaddev.c....

Though your article was published later, the talk you gave on this topic (your YouTube link) was from December 2019, before either article. Julian Colina’s article quotes many phrases from that talk directly, so it does indeed seem that you, Abi Noda, are the original source.

roryokane··on The ‘flawed five’ engineering productivity metrics
This article written by Abi Noda in 2022 is suspiciously similar to the article https://www.usehaystack.io/blog/software-development-metrics... written by Julian Colina in 2021. Not only do both articles talk about the same five metrics, listed in the same order, this newer article does nothing but paraphrase the original article in its description of each metric.

For example, this newer article claims “a manager said … ‘Pull request count is the new vanity metric’”, while the original article stated that “Unfortunately it's a vanity metric”. And the last thing this newer article says about “impact” is that the name “sends a strong signal about how it should be used, particularly by managers”, matching the original article’s statement that “‘Impact’ suggests to executives and managers how this metrics should be used.”

As the original article isn’t cited, this borders on plagiarism.

roryokane··on Everything with a battery should have an off switch
Every Mac laptop I’ve used in the last 15 years has supported forcing a shutdown by holding down the power button for a few seconds. If the model is new enough that there’s no power button, you can hold down the Touch ID sensor instead.
roryokane··on LineageOS 19
A very similar tool, also for browsing the specs of LineageOS-compatible phones: https://anton-z-s.github.io/linext/.

You can’t use that tool’s SD Card column right now, since its code hasn’t been updated to match the LineageOS wiki’s new data shape. (I fixed that bug locally and plan to submit a PR.)

roryokane··on GitHub: Private Profiles beta
Do you only object to the entitled tone of certain feature requests people have written, or do you see all issues created on your project without a corresponding code change as entitled? If it’s the latter, you can disable Issues on your project, leaving only Pull Requests as an option.

If you disable Issues, I suggest also briefly explaining why you did that in the README to ensure you don’t get do-nothing Pull Requests asking how you’d like bug reports submitted.

roryokane··on Open source project for creating voice lines for games using neural speech synt
This is a source-available project, not an open source project. https://github.com/DanRuta/xVA-Synth/issues/7 pointed out in January of 2021 that the project has no license, implying that the creator reserves all rights except those they must waive to comply with GitHub’s terms of service. The project still has no license today.

Also, it’s not as easy to download the project binaries as the README makes it sound. The README links to https://github.com/DanRuta/xVA-Synth/releases, but no releases have been published. The README also says to “download the app from the Nexus websites”, but that doesn’t seem possible either. For one thing, the README mentions “the nexus.com website” further down, but https://nexus.com/ is unrelated – they actually mean https://www.nexusmods.com/. Even on Nexus Mods, searching for “xva synth” brings up results like “xVASynth 2 - SKVA Synth”, which sound like specific voice models, not the app itself. The one place I was able to find the app for download was on Steam as a free app: https://store.steampowered.com/app/1765720/xVASynth_v2/.

roryokane··on Windows needs a change in priorities
> The context menu in File Explorer now gates some of the most useful options behind another extra click […] What’s the point of these changes?

For that specific change, the Windows Developer Blog post “Extending the Context Menu and Share Dialog in Windows 11” (https://blogs.windows.com/windowsdeveloper/2021/07/19/extend...) hints at the designers’ reasons.

I haven’t switched to Windows 11 due to the many other complaints I’ve heard, but based on various statements in that post I can imagine good reasons for changing the context menu:

# Saving menu navigation time

Having a long menu that contains every option is not free: it requires more time and effort from the user when they locate and click on the common items they use. Depending on how often the prioritized items are clicked and how big the penalty is for, the tradeoff could be worth it.

I don’t have the data on how much menu navigation time a smaller menu saves in the long term, but since Microsoft forces telemetry on users, hopefully they did at least collect such data while they evaluated the new design.

# Encouraging API upgrades

This change also encourages app developers to upgrade their context menu extensions to the latest API by “punishing” them if they don’t, by making their context menu items slower to access. While it’s understandable that developers of such apps would feel annoyed at this increased pressure to upgrade, such a policy might be an effective way to helping end users by solving the last two Windows 10 context menu problems listed by the blog post. That is, this increased pressure to use a newer API might:

• increase the numbers of apps the user uses whose commands are attributable to that app

• increase the number of apps the user uses whose extensions of the context menu have a lower risk of performance and reliability issues

However, I do see the potential for this backfiring if developers of Windows apps think that Windows is requiring too much upkeep for maintaining their software on Windows to be worth it.

roryokane··on No_color
Maybe Hacker News automatically recapitalized the title. It would make sense if it tries to forbid clickbaity titles like "ExampleDB, a POWERFUL NEW DATABASE".
roryokane··on I have no capslock and I must scream
This is a link to the video “Apple Introduces Revolutionary New Laptop With No Keyboard”, which was already linked in this comment: https://news.ycombinator.com/item?id=30421855
roryokane··on I have no capslock and I must scream
I use Caps Lock for typing any acronym of four or more letters, and for typing some three-letter acronyms. Examples:

“Execute this SQL against the ‘XYZ_DB’ PostgreSQL database.”

“When I requested the HTML file over HTTP, I saw a CAPTCHA.”

roryokane··on Poll: Is the leetcode grind necessary to land a high paying remote job?
That implicitly calls Function.prototype.apply(), which will fail if given more arguments than an implementation-specific limit (https://stackoverflow.com/questions/22747068/is-there-a-max-...). Looping with reduce() avoids that restriction.
roryokane··on hiccupFX.js
Maybe they were thinking of http://left-pad.io/. I found a left-pad Docker image, too, but it’s by someone else: https://hub.docker.com/r/wbinnssmith/leftpad (source: https://github.com/wbinnssmith/leftpad-cli).
roryokane··on hiccupFX.js
Yes, most of it can. I remade this effect using CSS animations, as an exercise:

Demo: https://css-demo-client-side-render-jankiness.roryokane1.rep...

Source code: https://replit.com/@RoryOKane1/CSS-demo-client-side-render-j...

However, a limitation of not using JavaScript is that I can’t randomize the changed properties: the page changes in the same way after every reload.

roryokane··on CSS Gradients that avoid the “gray dead zone”
The person who complained, Gwern, has their own site at https://www.gwern.net/. It’s another article-focused site, so the designs should be mostly comparable. However, Gwern’s articles are much longer, so their design choices might reflect that.
roryokane··on Show HN: 3D map of shade around the world
A feature that would make this even more fun to use: a way to auto-rotate the map so that the bottom of the screen is the direction that sunlight is coming from at the current time of day. Right now, I can only infer the sun’s direction from the pixelated shadows of buildings, but I’m curious about its direction at different times of day relative to various windows in my building. I think rotating the map with the sun would be an intuitive way to show that direction.

The UI could be a toggle button below the “Tilt map” toggle button with an icon of a sun and a title “Rotate with the sun”.

I understand that the sunlight comes at slightly different angles to each point on the map. The feature wouldn’t have to complicated because of this, though: I would find it intuitive if the feature only calculated the angle from the sun to the location at the center of the visible map.

roryokane··on iPhone camera app replaces person’s head with a leaf in photo
Link to that tweet: https://twitter.com/mitchcohen/status/1476951534160257026. Nitter proxy: https://nitter.net/mitchcohen/status/1476951534160257026
roryokane··on Why is Excalidraw so good?
It is related: draw.io was renamed to diagrams.net. You can see the redirect if you visit https://draw.io/.
roryokane··on macOS Monterey
That feature exists as well. Press ⌃⇧⌘F in the Finder to activate File > “Find by Name…”.
← PreviousPage 3 of 34Next →