HNHacker News
TopNewBestAskShowJobs

sheept

854 karma · joined January 9, 2026

Java (short for JavaScript)

https://sheeptester.github.io/

submissionscomments
sheept··on Excel now supports multiple values in a single cell
Is that a contradiction? Adding list and arrays doesn't break backwards compatibility. In general, guaranteeing backwards compatibility doesn't prevent you from adding new features, and having both old quirks and new features is fairly common for any decently old software
sheept··on The GitHub wiki is an anti-pattern (2022)
Wikis don’t have as much vendor lock-in as other Github features since they’re just git repos,[0] so you can clone and push the wiki elsewhere.

[0]: https://docs.github.com/en/communities/documenting-your-proj...

sheept··on The GitHub wiki is an anti-pattern (2022)
It’s not a web page; it’s a git remote url
sheept··on Divide by depth for instant 3D
Yes, affine transformation matrices are essentially shears.[0] In the 2D case, shearing the plane z=1 in 3D space essentially translates it around.

[0]: Here’s a visual: https://gunn-gatm.github.io/textbook/gatm.pdf#page=28

sheept··on A Necessary History of the Oddest Letter: W
For a native speaker in casual speech, it'll only be at most a bit slower than its expansion because English is stress-timed
sheept··on Stabilizing Rust's Never Type
Even though the never type has been experimental for a while, I've seen `!` used in the docs,[0] so at this point, Rust developers are probably already aware of what it means even if they haven't used it before.

[0]: Example: std::process::exit returns `!` https://doc.rust-lang.org/1.0.0/std/process/fn.exit.html

sheept··on A Topological Picture Book, Rendered
In addition to making the sidebar dismissable on small screens, it'd be nice to add touch-action: none to the canvas so rotating the object doesn't get interpreted as a scroll on touchscreens.

Right now, at least in Android Chrome, dragging to rotate only works briefly before it's interrupted.

sheept··on Civic Hygiene – avoid building technologies that could be used by a police state (2013)
That wouldn't be open source. OSI includes the clause "No Discrimination Against Fields of Endeavor"[0] for its definition of open source. Famously, the JSON license[1] has a clause "The Software shall be used for Good, not Evil," so the Free Software Foundation considers it nonfree.[2]

[0]: https://opensource.org/osd

[1]: https://www.json.org/license.html

[2]: https://www.gnu.org/licenses/license-list.en.html#JSON

sheept··on Sun Clock
It'd be neat if you could pan a slider through the year to see the sunrise sunset times change
sheept··on Sun Clock
Dragging the globe around isn't working on touch; it feels like it's missing touch-action: none
sheept··on Auto mode is now the default in Claude Code
I use dontAsk mode[0] with read access to the entire file system, write access to files from the working directory[1], some git commands (git commit yes, git push no), and a script wrapping Deno with the same read/write permissions (safer substitute for `python -c`).

These are usually enough for most of my coding tasks. In my experience, Claude has been good enough that it can write code and fix bugs without needing anything else. It's far better than ever needing to approve permission requests.

[0]: https://code.claude.com/docs/en/permission-modes#available-m...

[1]: Note that this includes escaping the directory via symlinks

sheept··on We finally learned to center a div, then browsers added sidebars
There's several web APIs for browser window positioning, like screenX/Y[0] (which is what OP uses), which allows for those classic pop-up based browser games from over a decade ago, like Browser Ball.[1]

[0]: demo: https://mdn.github.io/dom-examples/screenleft-screentop/

[1]: https://romanbaiocco.github.io/browser-ball-reloaded/

sheept··on Seedance 2.5
Video generation models generate videos of a predetermined duration, so if a character finishes a line but there's still seconds remaining, then the model still has to fill it in
sheept··on Printing floating point numbers in binary
In JavaScript, it's

    Math.PI.toString(2)
Who knows how optimized Python or JavaScript's implementations are, but I'd imagine printing the binary representation of floating point numbers is relatively easy to implement manually because you'd just take 1 followed by the bits of the mantissa, then move the decimal point based on the exponent.
sheept··on Progressive Web Components
HTML is case insensitive, so <Button> is the same as <button>, and custom element names must have a hyphen.

Your component regex represents a JSX limitation, but web components do not need React. Plus, if you capitalize the first letter, JSX would treat it as a React component rather than a web component (i.e. custom native HTML elements)

sheept··on Show HN: Gander, an Android file viewer that asks for no permissions at all
I guess that makes sense. Since most non-privacy-focused Android distributions don't let users turn off the internet permission, keeping the permission secure likely ceased to be a priority.

The full list of bypasses is likely much larger because it doesn't fall in the scope of bug bounties.

sheept··on JEP 401: Value Objects (Preview) merged to OpenJDK master
It's pretty interesting that while both languages still receive new features, Java seems to stay ahead of JavaScript:

- Java has long had a modern replacement for Date, while JavaScript's recently standardized Temporal API still isn't supported in Safari.

- Java has switch expressions, while JavaScript, despite its Scheme influence, does not.

- And now Java is getting value objects, while JavaScript's equivalent tuples & records proposal has been withdrawn.[0]

JavaScript was not developed as a fork of Java, but much of its basic syntax still resembles Java, so I think it's fair to compare them.

[0]: https://github.com/tc39/proposal-record-tuple

sheept··on Upper stage impacting the moon on 2026 August 5
The main drawback with the page's unstyled design is that the page is not mobile friendly.

Publishing web pages by manually editing HTML files is still very common today; any GitHub Pages blog does this.

sheept··on Scriptc by Vercel: TypeScript-to-Native compiler, no JavaScript engine in binary
One of the strengths of TypeScript besides its expressiveness is that it's compatible with the massive npm ecosystem. Most packages only ship untyped JavaScript with type declarations defining the interface,[0] so realistically you'd still need a JavaScript engine if you use any packages.

But if you're starting from scratch and know you won't be using any npm packages, you might as well use AssemblyScript.[2]

[0]: Publishing packages in TypeScript is explicitly discouraged by Node[1]. TypeScript isn't backwards compatible even in minor releases, and its compiler settings aren't portable for packages.

[1]: https://github.com/nodejs/node/blob/main/doc/api/typescript....

[2]: https://www.assemblyscript.org/

sheept··on Show HN: Writemark, a dependency free web component for inline Markdown editing
It'd be nice if there was a live demo without needing to clone the repo. Though I suppose I could just try it out with a bookmarklet:

    javascript:import('https://esm.sh/writemark-editor').then(() => document.body.append(document.createElement('writemark-editor')))
sheept··on Kimi K3 built a Windows XP in browser
I'm surprised it doesn't use proper HTML by default. I wasn't able to tab focus on the Administrator button on the login screen, and it turns out it's because the entire UI is div spam.
sheept··on Engineering management after the cost of code collapsed
I personally rely on this behavior of LLMs. For example, for reviewing prose, I might ask the LLM to find five issues. If there are obvious issues I missed, then it'll find them. But if all the issues it lists are minor or hallucinated, then I can have some confidence there weren't any glaring issues.

I do the same for LLM code review comments: some changes are out of scope or could be moved to a separate PR; some edge cases don't happen in practice and should just fail noisily instead of writing more code to maintain. When these are the only issues it's raising, then I know it's done.

sheept··on Em dashes are amazing
> - dash: compounds word-parts (Sarbanes-Oxley)

That's a hyphen, and (to be pedantic) style guides usually do not consider it a dash.

There's also the 2-em dash in some style guides for redacting words, and since care needs to be taken to avoid a line wrap between the em dashes, Unicode has a character for it: ⸺

Finally,

> - em dash: adjoining thought (Hey, so — <declaration>)

This use is sometimes discouraged by style guides, and in many cases, it can be replaced with a colon, comma, or semicolon.

In general, even before AI, the em dash is often considered overused.[0] My guess is that the em dash is perceived as sounding educated, so novice writers who learn about it end up using it recklessly, and LLMs could've picked up this habit from them.

[0]: https://slate.com/human-interest/2011/05/em-dashes-why-write...

sheept··on git's –end-of-options Flag
It is an en dash, not an em dash, since it's about as wide as an n.

Some software substitutes a double hyphen -- with an en dash rather than em, and use the triple hyphen --- for the em dash. Perhaps Hacker News' title formatter is one of them.

sheept··on Are AI labs pelicanmaxxing?
That's interesting. I think the bikes-facing-left bias probably comes from how humans use bikes: the kickstand is on the left, so people likely hold and approach bikes from its left.

Looking online, the kickstand is apparently on the left to avoid the gears. Based on the other comment about bike photography, it's interesting the same design choice makes humans and cameras/LLMs see bikes from different sides.

sheept··on Qwen-Image-3.0: Rich Content, Authentic Details, Deep Knowledge
I find it mildly interesting how your comment repeats itself but with different phrasing
sheept··on Elixir-lang.org has a new design
Machine learning used to be used as a buzzword alongside AI, though nowadays after the release of ChatGPT it seems they've settled on AI.
sheept··on Elixir-lang.org has a new design
Why would it be at odds with accessibility? The text contrast is excellent in each section, and the light/dark segments clearly define the border between sections. Forced dark mode can be difficult to read for users with astigmatism, but the font size is large, and the actual documentation sites[0] do have a light/dark switch.

[0]: https://elixir.hexdocs.pm/1.20.2/

sheept··on Elixir-lang.org has a new design
Designs can't be easily split into a pure light or dark mode, though. Before light/dark modes were popularized, it was common to have some parts be "dark" and other parts be "light," depending on the design (for example, would the iOS 5 game center be "dark mode"?). Elixir's website uses a mix of light and dark to delineate sections.

One consequence of software recently supporting light and dark schemes is that UI designs end up committing to all white or all dark, rather than tastefully choosing a color scheme that best frames its content in context.

sheept··on NotebookLM is now Gemini Notebook
Linguistically it's particularly interesting since it marks the habitual aspect, and standard English has no grammatical equivalent.[0]

[0]: https://ygdp.yale.edu/phenomena/invariant-be#who-says-this

Page 1 of 9Next →