HNHacker News
TopNewBestAskShowJobs

justinmayer

575 karma · joined August 8, 2014

https://twitter.com/jmayer
submissionscomments
justinmayer··on jj – the CLI for Jujutsu
Many folks aren’t aware that there is also an open-source, cross-platform desktop GUI application for Jujutsu called GG: https://github.com/gulbanana/gg

I mention it because while the jj command line interface is excellent, there are certain tasks that I find easier to perform with a graphical user interface. For example, I often want to quickly tap on various revisions and see their diffs. GG makes that kind of repository browsing — and certain squash operations — much more efficient for me.

If you’re interested in more information about GG, my co-host and I talked about it in a recent episode of the Abstractions podcast at about the 8:17 mark: https://shows.arrowloop.com/@abstractions/episodes/052-they-...

justinmayer··on A desktop app for isolated, parallel agentic development
Interesting to see two similar projects with the same "cmux" name, at least until this one was renamed two weeks ago to "mux". Naming is hard.

I have not yet tried either one, but here is the other project for those who want to compare and contrast them:

https://github.com/manaflow-ai/cmux

justinmayer··on Google's shortened goo.gl links will stop working next month
In the first segment of the very first episode of the Abstractions podcast, we talked about Google killing its goo.gl URL obfuscation service and why it is such a craven abdication of responsibility. Have a listen, if you’re curious:

Overcast link to relevant chapter: https://overcast.fm/+BOOFexNLJ8/02:33

Original episode link: https://shows.arrowloop.com/@abstractions/episodes/001-the-r...

justinmayer··on Llama.cpp supports Vulkan. why doesn't Ollama?
Benefiting users is definitely not Ollama’s first priority, as seen when this pull request was summarily closed: https://github.com/jmorganca/ollama/pull/395

Those README changes only served to provide greater transparency to would-be users.

Ulterior motives, indeed.

justinmayer··on RamaLama
These comments would carry more merit if they weren’t coming from the very person who closed this pull request: https://github.com/jmorganca/ollama/pull/395

Those rejected README changes only served to provide greater transparency to would-be users, and here we are a year and a half later with woefully inadequate movement on that front.

I am very glad folks are working on alternatives.

justinmayer··on Rga: Ripgrep, but also search in PDFs, E-Books, Office documents, zip, etc.
Integrating ripgrep-all with fzf makes for a powerful combination when you want to recursively search the contents of a given directory.

I have been using a shell function to do this, and it works wonderfully well: https://github.com/phiresky/ripgrep-all/wiki/fzf-Integration

The built-in rga-fzf command appeared in v0.10 and ostensibly obviates the need for the above shell function, but the built-in command produces errors for me on MacOS: https://github.com/phiresky/ripgrep-all/issues/240

justinmayer··on State of S3 – Your Laptop is no Laptop anymore – a personal Rant
Having owned countless Mac notebooks over the last 30 years — starting from the PowerBook 140 up through the M1 MacBook Pro — I can tell you with confidence that Apple has made the same sleep change shenanigans mentioned in OP’s article.

It used to be that you could count on a sleeping Mac to stay asleep until you explicitly woke it up by opening the lid, pressing a key on the keyboard, or pressing the trackpad (or separate trackpad buttons — yes, those used to exist). Perhaps more importantly, you could count on the sleep function to have barely any effect on the Mac battery.

I don’t recall when, but at some point over the aforementioned three decades, Apple started changing the terms of this sleep contract.

It seems Apple decided that some functions should still be available when the Mac is “sleeping”, with no way to restore the previous behavior. As a result, random wake-ups are the new normal, replete with unexpected battery drainage.

I have seen modern MacBooks go to “sleep” with an 80% charge at night, only to be rendered dead with a 0% battery level by morning. Does something this extreme happen often? No. But it never happened before. And moderate battery loss while sleeping? That happens very often on today’s MacBooks.

Your mileage may very. And Apple probably continues to implement better computer sleep behavior than competing vendors. But I would argue that people who think MacBook sleep behavior is excellent… have never experienced how it behaved in the past. That behavior was superb.

But sadly, I imagine most people have never experienced that excellence.

justinmayer··on Writing HTML by hand is easier than debugging your static site generator
As the maintainer of the Python-based Pelican static site generator for over a decade, I can say with confidence that my experience has been nothing like what is described in this article.

Most of Pelican’s code was written by other people, and yet I have spent almost zero time debugging that code, much less my own. After taking advantage of Pelican’s rich plugin ecosystem and adding a handful of useful plugins, I continue to be amazed by how much time this publishing system saves me, and how little time I must spend to keep everything running smoothly.

What it would take to accomplish this by writing HTML by hand instead… I simply can’t fathom it. But once again, that’s just one person’s experience, and YMMV.

[0]: https://getpelican.com

justinmayer··on LinguaCafe: Self-hosted software for language learners to read foreign languages
Sorry for the confusing language choice on my part. I just meant that I think it's great that your project supports JMdict. I think how you are using JMdict is indeed totally okay! :^)
justinmayer··on LinguaCafe: Self-hosted software for language learners to read foreign languages
As a credited contributor to the EDICT[1] Japanese/English dictionary, I am very pleased to see its successor JMdict[2] actively supported by this project. Bravo!

And as someone who now also speaks Italian, I am even more pleased to see that Italian support will be added tomorrow.

It is wonderful to see such a useful tool released as an open-source, self-hosted project. (^_^)

[1] EDICT: http://edrdg.org/jmdict/edict_doc_2009.html

[2] JMdict: https://en.wikipedia.org/wiki/JMdict

justinmayer··on Python 3.12
Python 3.12 is now available via asdf [1]:

    asdf install python 3.12.0
[1]: https://justinmayer.com/posts/homebrew-python-is-not-for-you...
justinmayer··on Mistral 7B
Quite true. I actually submitted a pull request [1] over a month ago to make it clear to potential users what will happen when Ollama is launched for the first time, but based on the complete lack of response from Ollama developers, I get the distinct impression that they are reluctant to draw attention to these important details. Unfortunate.

[1]: https://github.com/jmorganca/ollama/pull/395

justinmayer··on Fish – A friendly interactive shell
If you use Fish shell and Python, my project VirtualFish can make managing virtual environments a lot easier and more fun:

https://github.com/justinmayer/virtualfish

justinmayer··on Show HN: I made an open-source Notion-style WYSYWIG editor
This project is not open source but instead uses the “Business Source License”. I only mention this in case open source is something that is important to you.
justinmayer··on Python GUIs
A interesting option I haven’t seen mentioned here is Beeware, an open-source (MIT) project with this summary:

“Write your apps in Python and release them on iOS, Android, Windows, MacOS, Linux, Web, and tvOS using rich, native user interfaces. Multiple apps, one codebase, with a fully native user experience on every platform.”

Source: <https://beeware.org>

justinmayer··on Kanboard: free and open source Kanban project management software
I use and really like Gitea: https://gitea.io/

You could also have a look at a recent Gitea fork, with a very unfortunate and cumbersome name: https://codeberg.org/forgejo/forgejo

justinmayer··on Kanboard: free and open source Kanban project management software
The README in the GitHub project repository says:

> “This application is in maintenance mode.”

Source: https://github.com/kanboard/kanboard

I think there are better open-source kanban-style applications out there that are also actively maintained. For example:

https://opensourcealternatives.org/project/planka/

justinmayer··on Show HN: I was frustrated with pricing of PagerDuty et al., so made one myself
Frustrated by expensive per-seat pricing and unfriendly contract terms, we looked for PagerDuty alternatives and found a fantastic open-source project called Uptime Kuma: https://github.com/louislam/uptime-kuma

Uptime Kuma is one of the few open-source projects that feels like a commercial product: polished user experience, frequent release cadence, and a rich set of features including monitoring PostgreSQL servers, Docker containers, and so much more. Its list of supported notification services is so long that I don't even recognize half of the options available. Truly impressive.

Side note and shameless plug… We love Uptime Kuma so much that we made it one of the cornerstone applications provided by Fortressa, which we think of as the “App Store for Open Source”: https://fortressa.com/

justinmayer··on Shoshikantetsu
Carrying out the original intent (going on the run), even in a lesser form than the ideal (going slower than usual), helps to reinforce the habit. Ultimately, this is about mastering the art of showing up.

This concept is closely related to the “Two-Minute Rule” proposed by James Clear, of Atomic Habits fame. Showing up consistently, even in small ways, helps build momentum and leads to significant accomplishments over time.

https://jamesclear.com/how-to-stop-procrastinating

justinmayer··on Why does Google use location for language rather than browser settings?
Thank you for effectively confirming what I long suspected. Much appreciated.
justinmayer··on Why does Google use location for language rather than browser settings?
I firmly disagree with all of the above. If a site absolutely needs to know where I am in that moment, they can ask me, and I will decide where I am for the purposes of that particular site.

To pick one of a myriad of examples, I often buy software, books, etc. via the web. I don't need sites to assume I want to pay in Euro just because my IP address in that moment happens to be associated with a European IP address block. Paying with my home currency is often much easier. I should not be forced to use a VPN just to avoid this silliness.

I understand where you are coming from, but using IP addresses to determine what "locale" to use is simply not a good practice, and not just for language determination.

justinmayer··on Why does Google use location for language rather than browser settings?
That's not the point. People should not be forced to switch from one language to another, multiple times, for every site they visit, when in a country that speaks a different language than the one for which their computer is configured.
justinmayer··on Why does Google use location for language rather than browser settings?
Google's answer to this problem is, "Just log in! Then we will always know what language you prefer." So Google doesn't make it easier to change that setting because they want you to be logged in all the time so they can track you better.
justinmayer··on Why does Google use location for language rather than browser settings?
I met one-on-one with Google’s senior leadership in 2000 to talk about their internationalization efforts. This was very early in their trajectory, so I even sat down with Larry Page and chatted with him for half an hour.

A year or two later I’m in Tokyo and talk to a new Google product manager based there. I tell her it is insane that Google serves me Japanese pages on my English-configured PowerBook just because I am in Japan. It doesn’t matter that I read Japanese just fine… Making this determination purely based on my IP address is madness, I tell her.

Over two decades later, nothing has changed. Each year I spend several months abroad, and this is one of the most infuriating experiences I encounter. Google is the offender that frustrates me the most, but they are far from the only company to engage in this abhorrent practice. I am tempted to create an Internationalization Wall of Shame just to embarrass the companies that do this. (Not that I expect them to care.)

Why do they do this? My theory has always been that in any given country, there are far more native speakers with misconfigured computing environments than there are visitors and nomadic folks like me. So it’s merely a numbers game: I may be frustrated, but at least Google and other companies aren’t losing business when folks with misconfigured computers close the tab because they got a page served to them in, say, English instead of their native language.

I can’t say for certain whether this is the actual reason for this behavior. What I can say, however, is that I absolutely loathe this practice and actively avoid doing business with any company that uses geo-IP location to serve me pages specific to that locale. If this frustrates you as well, be sure to vote with your feet!

justinmayer··on Ask HN: Who is hiring? (January 2022)
Encompaas | Senior Web Developer | REMOTE | Full-time

We develop software-as-a-service for the insurance sector with a strong emphasis on digital transformation and workflow automation.

We are looking for an experienced full-stack developer, or potentially one dedicated front-end developer and one back-end developer. Our ideal candidates have years of experience developing, testing, and maintaining production-level code and are comfortable working remotely in small, 2-3 people collaborative teams.

Full job description: https://encompaas.homerun.co/senior-web-developer/en

Apply via: https://encompaas.homerun.co/senior-web-developer/en/apply

Tech stack: Python/Django, React, PostgreSQL

justinmayer··on Mac OS update failed for the first time in 19 years
As I already explained, there is no extrapolating: pointing out one example of poor software quality does not mean that is the only evidence at hand. In fact, you are the only person who seems to be making that argument. Which is nonsense, since this incident report is one of many, many documented problems that clearly indicate a decline in software quality.

I have worked in a technical role for many years, and if my department shipped Big Sur, I would find immediate replacements for everyone in that department.

justinmayer··on Mac OS update failed for the first time in 19 years
As someone who has used Apple computers for decades — including the ][+ and dozens of Macs — I feel I must rebut some of the specious arguments being made here. To wit:

* Mac software quality has indeed declined precipitously over the last decade.

* It is not “Apple bashing” to point out that fact.

* OP never claims the failed upgrade is the only example of said quality decline, but rather that it is one of many representative examples of that trend.

* One failed upgrade in 20 years is not good, nor is it anything to brag about. As the OP pointed out, what is a normal computer user supposed to do in this scenario? This simply should not happen, ever. Features should be dropped, deadlines should be eliminated, and work on everything else at Apple should stop until they can ship an upgrade that does not fail, or at least fails gracefully with an easy way to recover.

* For those who point out they upgraded just fine: “It works for me” is not a compelling argument. On the contrary, it is a terrible argument that should never be made, or be taken seriously, by anyone, ever.

In past years I always looked forward to upgrading to Apple’s latest and greatest. Now I dread upgrades and avoid them until I can’t avoid them any longer. I am still running Mojave, and experiences like the OP’s only reinforces my confidence in the validity of that strategy.

See also: https://justinmayer.com/posts/early-adopter-tax/

justinmayer··on SSH quoting
On a totally unrelated note… As Pelican's primary maintainer, I love seeing such handy articles published via Pelican. (^_^)

* https://getpelican.com

justinmayer··on Changes to Homebrew adversely affect Python development
Certainly — that would be great. You can find me at: http://github.com/justinmayer
justinmayer··on Changes to Homebrew adversely affect Python development
I use asdf and its Python plugin [1] to install Python interpreter versions.

For managing virtual environments on my preferred shell (Fish), I use (and maintain) VirtualFish [2].

For managing project dependencies, I activate environments via VirtualFish and then use Poetry [3] to update the dependencies within the environments.

[1]: https://github.com/danhper/asdf-python

[2]: http://github.com/justinmayer/virtualfish

[3]: http://python-poetry.org

Page 1 of 3Next →