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

Hah! I'm not sure my MVP has ever had error handling beyond "Something went wrong.". That's something for a real production app, not the minimum possible product.


I wonder if per-tenant cache structures might become more popular in the future. It isn't unimaginable that different tenants will be running different things anyway, so split caches might still keep a reasonable amount of effectiveness.


Have you tried practicing specifically to improve your typing speed on QWERTY keyboards? I started doing ~10 minutes of typing tests a day using MonkeyType[0] and KeyMash[1] and can now pretty reliably type 200+ WPM.

Lots of people try out Workman / Dvorak / Colemak, but I see very few top typists using custom keyboard layouts. You can definitely.

[0] https://keyma.sh/ [1] https://monkeytype.com/


I assume he's referring to this site[0]

[0] https://thehackernews.com/


I think you could use the CacheStorage[0] framework for this, but IIRC it's not got a great size per domain and is limited by a varying amount of 5MB to 100MB depending on browser.

[0] https://developer.mozilla.org/en-US/docs/Web/API/CacheStorag...


It looks like Firefox may be different in this regard. Chrome[0] and Edge[1] allow `unlimitedStorage` to be specified that removes the 5MB default limit.

[0] https://developer.chrome.com/docs/extensions/reference/stora...

[1] https://docs.microsoft.com/en-us/microsoft-edge/extensions-c...


I'm not sure I'm a fan of the 'Enhance' concept[0]. It seems to be similar to prototype Pollution in JavaScript[1] which is generally considered bad practice. I can't tell, is `Enhance` scoped to the current context? Or does it affect all of that type throughout the rest of the program?

[0] https://lang-senegal.web.app/docs/enhance [1] https://portswigger.net/daily-swig/prototype-pollution-the-d...


The "enhance" seem to be monkey patching, which is a common practice in dynamic languages. Prototype pollution is when malicious people use monkey patching to introduce vulnerabilities.


There are non-malicious issues related to prototype pollution. The most recent that comes to mind are packages overwriting each other. How do you handle two enhances that add the same function name? In JavaScript the second overwrites the first, which can cause issues if the functions do different things.


This may be apocryphal, but I thought JS's `Array.includes` method was so-named when it was added to the spec to avoid conflicting with popular libraries that were adding a `contains` method to the Array prototype. In order to avoid conflicting and breaking existing sites, a less-common name was chosen for the spec.


That was the case with Array.prototype.flat, that was supposed to be Array.prototype.flatten but flatten was already used by MooTools, and they respected the "don't break the web".


From the guidelines[0]:

> Please don't post shallow dismissals, especially of other people's work. A good critical comment teaches us something.

[0] https://news.ycombinator.com/newsguidelines.html


No, it is actually good feedback. Any project should have a good background page why they sre being build, by who and with what expertise.


Quantum tunnelling has already become a problem in most computer components. NAND flash was the first in maybe 2015 to start reporting seeing issues?

Effects are moderately visible and have to be counteracted at 5nm. I heard some rumours about 7nm, but cannot confirm any countermeasures were taken to avoid quantum effects.

It should be noted that "3nm" is now purely for commercial reasons and has no relationship to the size of transistors on board.


Rust and JS both have a very small standard library. This is what unites them in a 'dependency hell' of having to handle thousands of packages for most projects.

Other languages that don't face this, e.g. Python, have very large standard libraries which already include a dizzying array of features. E.g. take a look at some of the things you get with standard Python[0].

- sqlite3 (DB-API 2.0 interface for SQLite databases)

- bz2 (Support for bzip2 compression)

- sunau (Read and write Sun AU files)

- netrc (netrc file processing)

- curses (terminal handling for character-cell displays)

- mailbox (manipulate mailboxes in various formats)

[0] https://docs.python.org/3/library/


There's a downside to Python's batteries-included approach though:

https://leancrew.com/all-this/2012/04/where-modules-go-to-di...

HN discussion: https://news.ycombinator.com/item?id=3913182

The obvious compromise would be to let libraries bake as third-party projects for a good long while until there's a fair amount of consensus that they're the Right Thing To Do, then pull them into the standard library. Java's Joda-Time would be one example.


Oracle doesn't own Rust though, there's no real push to onboard these features besides the general curb-cutting efforts for newcomers. For the most part, 'integral' crates like serde and tokio have been community-managed without issue so far, so it doesn't make much sense to pull one open-source developers passion project from them and pass it to another.


I found the exact same issue! Here's a .bashrc snippet you can steal to extract from a multitude of files.

It doesn't quite have the number of features your library does and only supports extracting.

[0] https://github.com/popey456963/bashrc/blob/gh-pages/bashrc.t...


Someone on reddit shared these bash scripts that do almost everything my tool does.

https://www.reddit.com/r/commandline/comments/p5ibiz/i_keep_...


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: