HN user

dmart

1,880 karma
Posts27
Comments171
View on HN
www.macrumors.com 1y ago

Apple Intelligence Isn't Driving iPhone Upgrades

dmart
4pts0
github.com 1y ago

Based Static Typing for Python

dmart
3pts0
github.com 2y ago

Stabilize async fn and RPIT in trait

dmart
3pts0
twitter.com 4y ago

I've never seen a post that better summarized what happened to Google

dmart
35pts17
github.blog 4y ago

Ignore commits in the blame view (Beta)

dmart
1pts0
www.macrumors.com 4y ago

Apple's iCloud Service Experiencing Outage

dmart
4pts1
www.currentaffairs.org 4y ago

Obamacare Scams and the Need for a Public Search Engine

dmart
3pts1
www.oilshell.org 4y ago

A Tour of the Oil Language

dmart
159pts42
writings.stephenwolfram.com 4y ago

Multicomputation as a Fourth General Paradigm for Theoretical Science

dmart
4pts0
github.com 4y ago

SQLModel – SQL Databases in FastAPI

dmart
224pts51
www.washingtonpost.com 4y ago

Most popular Facebook post from January to March cast doubt on covid-19 vaccine

dmart
4pts0
www.oilshell.org 5y ago

A Tour of the Oil Language

dmart
1pts0
blog.rust-lang.org 5y ago

What the Error Handling Project Group Is Working Towards

dmart
3pts0
jacobinmag.com 5y ago

China's Downwardly Mobile Millennials Are Throwing in the Towel

dmart
5pts1
twitter.com 5y ago

Sorry, we replaced that old technology, “see-through glass”

dmart
701pts378
github.com 5y ago

Chad Strings – The Chad way to handle strings in C

dmart
235pts95
swtch.com 5y ago

Threads without Locks – Russ Cox (2007)

dmart
1pts0
twitter.com 5y ago

So I am trying to upgrade LLVM

dmart
4pts0
github.com 5y ago

The Compose Specification

dmart
3pts0
www.youtube.com 5y ago

Your Product Sucks – Apple Music macOS Review

dmart
1pts0
www.thefader.com 5y ago

Spotify to offer algorithmic boost in exchange for lower royalty payments

dmart
4pts2
github.com 5y ago

Git filter-repo: much easier/faster alternative to filter-branch

dmart
60pts9
hazlitt.net 5y ago

The Year in 5 (2019)

dmart
1pts0
blog.emojipedia.org 6y ago

New Emojis Coming to iOS in 2020

dmart
1pts0
twitter.com 6y ago

React Core team joins Facebook walkout

dmart
12pts0
twitter.com 7y ago

An Open Letter Regarding Algorithms and My Son's Birth

dmart
18pts1
www.sublimetext.com 10y ago

Will Bond (Package Control) Joins Sublime HQ

dmart
304pts88

I’m not a huge fan of Warp, but I would love for any other terminal to copy its text editor-style input field.

It’s so much nicer for 90% of my terminal usage (long multi-line commands, etc.) And when you do need TUI behavior that 10% of the time, just toggle it off.

Pop OS 24.04 LTS Beta 10 months ago

Wow, reordering workspaces with the mouse! This is a small thing that has been driving me insane on GNOME coming from macOS.

Window Activation 12 months ago

Ah, that may be the case - I’ll edit my comment. I was primarily using macOS before this so I may have misremembered the Windows behavior.

Window Activation 12 months ago

As a recent Linux (and Wayland) switcher, I love this behavior. It has always felt insane to me that macOS will just let some random auto-updater steal focus and eat your keystrokes while trying to work on something.

I like Nix but I think the current model of reinventing a new set of declarative configuration settings for each package is fundamentally misguided and will not scale in the long term (look at the number of program-specific options in Home Manager for example).

The nice thing about container-based systems is that all the existing documentation for configuring a given program continues to apply as expected. Of course the tricky part is figuring out how to compose them together.

My guess would be that this is in support of the preview hover feature. For a while now, you can watch an entire video just by hovering over it, complete with captions, scrubbing and audio. This wouldn't be very useful if the thumbnails were still tiny like in the past. Personally, I like this feature and don't often need to look at tons of thumbnails at once, but to each their own.

Abandoning traditional constructors and all their strange special-cased rules in favor of regular old class methods that return Self was one of Rust’s best design decisions, I think. Super easy to reason about. Glad to see similar techniques being advocated for other languages.

Gross. The slow intrusion of ads into more and more places might raise revenue a little bit, but tarnishes Apple's brand image. Apple News is already a revolting app, only somewhat saved by the fact that Google News is even worse.

I've already decided that my personal line in the sand is when they replace the scenic screensavers on Apple TV with ads, something they're already toeing the line with in the newly added Peanuts screensavers. At that point Apple has lost the plot and I want nothing to do with their products anymore.

Wow, I really, really like this! A couple points of feedback (based on testing out Japanese -> English translation):

- It took me a second to find auto-pause. Maybe some of those things in the settings menu could be more accessible, similar to how Spotify puts shuffle/repeat icons near the play button.

- I would really like the arrow keys to move back and forth between auto-pause points.

- Regarding auto-pause, it seems to clip off a little early, maybe consider extending the duration or adding a little bit of overlap?

- When clicking to define a word, "Define in Context" is a nice feature to have but is maybe a little slow (and possibly expensive on your end?) to have as a default. I think just opening a static dictionary lookup by default would be nice. With Japanese, I am able to work around this with the Yomitan browser extension though.

- I probably wouldn't use the spoken translation feature, but when I tried it, the voice sounded very robotic considering the high standards for AI-generated voices these days. Though I imagine a better voice might be a cost barrier.

Please don't take this as harsh criticism, just some initial impressions. Overall I really like the idea and will likely continue to use it for listening practice.

Using #[from] in a thiserror enum is an antipattern, IMO. I kind of wish it wasn't included at all because it leads people to this design pattern where errors are just propagated upwards without any type differentiation or additional context.

You can absolutely have two different enum variants from the same source type. It would look something like:

    #[derive(Debug, Error)]
    pub(crate) enum MyErrorType {
        #[error("failed to create staging directory at {}", path.display())]
        CreateStagingDirectory{
            source: std::io::Error,
            path: std::path::PathBuf,
        },

        #[error("failed to copy files to staging directory")]
        CopyFiles{
            source: std::io::Error,
        }
    }
This does mean that you need to manually specify which error variant you are returning rather than just using ?:
    create_dir(path).map_err(|err| MyErrorType::CreateStagingDirectory {
        source: err, path: path.clone() 
    })?;
but I would argue that that is the entire point of defining a specific error type. If you don't care about the context and only that an io::Error occurred, then just return that directly or use a type-erased error.

No. Screen Time (their parental controls implementation) is easily circumventable, includes a “One More Minute” feature that can’t be disabled, doesn’t sync properly, manages to crash Safari in mysterious ways… I could go on. It’s disastrous, like an intern-level project that was shipped and never improved upon. And these are the only parental controls APIs available, so competing apps aren’t even possible, they ultimately just serve as alternate frontends for Screen Time.

Venvs are so clunky and probably the biggest stumbling block for beginners. There was a proposal for a directory-based node_modules analogue which was unfortunately rejected.

I think that would have been the single biggest improvement to the Python onboarding experience ever.

I would have liked to see a comparison in the fold() section that functions the same way as the original for loop:

    list_of_lists.into_iter().fold(Vec::new(), 
        |mut accumulator, list| {
            accumulator.extend(list);
            accumulator
        }
    )

I don’t see how container tabs “get you halfway there”? I think they’re far superior to needing to switch your entire browser context to a different profile.

I fully expect that an exception will be made to effectively treat it as a tech-related gTLD, which is how it has been used in practice all along anyway.

If ICANN really chooses to break every GitHub Pages, crates.io, gcr.io, quay.io, etc. URL just to blindly follow a policy, then they will have proven themselves an incompetent arbiter of the domain name system. This feels so unlikely that I'm not worried about it all.

Yup this drives me crazy. I've been bitten by urllib3 or SSL exceptions being bubbled up by random libraries so many times that now I always include an except Exception: block just in case.

Swift 6 2 years ago

With safe concurrency and typed throws, Swift is starting to look a lot like a friendlier Rust to me. Honestly pretty excited to take a look at it again, though I doubt it will become my daily driver due to the smaller package ecosystem. Hopefully cross-platform Foundation is a step towards improving that though.

I have to admit that at first glance I don’t like this. These seem to be essentially normal str -> Any functions, with some naming limitations due to the existing string prefixes special-cased in the language. I don’t feel like adding this additional complexity is worth being able to save two parentheses per function call.