News for hackers. Stuff that matters.

rom1v

Re:F-Droid 2.0: A New Chapter for Android Freedom on Thursday September 24, 2026 @01:31PM (#49834050)
They have to use one key per app, otherwise independent app could end up sharing some permissions (IIRC).
Re:F-Droid 2.0: A New Chapter for Android Freedom on Thursday September 24, 2026 @12:02PM (#49832643)
In addition to F-Droid on the device, I'd love an F-Droid "package manager client" on a computer, that allows installing apps on an Android device via adb:

    # update repo lists
    fdr update
    
    # upgrade all apps on the connected device
    fdr upgrade
    
    # search packages
    fdr search vlc  # lists org.videolan.vlc
    
    # install on the device
    fdr install org.mozilla.firefox
    
    # download the apk
    fdr download org.mozilla.firefox
    
    # uninstall
    fdr uninstall org.mozilla.firefox 
Of course, all operations would verify the signatures first.
Re:English: A vs. An on Sunday September 20, 2026 @02:33AM (#49773059)
"I play the piano" or "I play piano"?
Re:The Git history command deserves more attention on Tuesday July 14, 2026 @04:33AM (#48903769)
> `git history fixup` fixes an old commit that has something wrong in it, then autorebases all your branches to match.

Simplifying `git rebase -i` is a great idea, but unfortunately, that does not match my workflow.

I always keep an history of my branches. For example, when I develop a feature, the first version of the branch is `myfeature.1`, then `myfeature.2`, and so on. This is useful because I can retrieve an old version when something behaves differently in a newer one. (And no, `git reflog` will not help)

This has saved me multiple times. For example, I can determine that a problem was introduced between `myfeature.58` and `myfeature.59`. If the "feature" contains 15 commits, I do:

    git range-diff myfeature.58~15..myfeature.58 myfeature.59~15..myfeature.59
This lets me see the changes between the 2 versions, commit by commit (even if they don't have the same base).

I don't want all the branches containing a commit to be rebased automatically (I already try using tags for old versions instead, but this does not quite fit).

> The difference in the code is exactly one word: value.

What is unclear to me is why the decision to use a Point instance as a value or as a reference is made in the class definition rather than by the caller.

> Point[] point = new Point[10];

For the same class, I might need an array of values in one place and an array of references elsewhere within the same codebase.

Re:Moving beyond fork() + exec() on Saturday June 06, 2026 @11:49AM (#48426140)
Related to the discussion: "A fork() in the road": https://www.microsoft.com/en-us/research/wp-content/uploads/...

> ABSTRACT

> The received wisdom suggests that Unix’s unusual combination of fork() and exec() for process creation was an inspired design. In this paper, we argue that fork was a clever hack for machines and programs of the 1970s that has long outlived its usefulness and is now a liability. We catalog the ways in which fork is a terrible abstraction for the modern programmer to use, describe how it compromises OS implementations, and propose alternatives.

> As the designers and implementers of operating systems, we should acknowledge that fork’s continued existence as a first-class OS primitive holds back systems research, and deprecate it. As educators, we should teach fork as a historical artifact, and not the first process creation mechanism students encounter.

Re:Everything in C is undefined behavior on Wednesday May 20, 2026 @05:07AM (#48205014)
A concrete example of undefined behavior caused by an unaligned pointer: https://pzemtsov.github.io/2016/11/06/bug-story-alignment-on...
Re:Scrcpy v4.0 on Wednesday May 13, 2026 @08:15AM (#48120927)
--keep-active ;)
Re:Scrcpy v4.0 on Wednesday May 13, 2026 @02:00AM (#48118364)
Please post a link to the issue.
I want to be able to install apps from alternative app stores like F-Droid and receive automatic updates, without requiring Google's authorization for app publication.

Manually installing an app via adb must, of course, be authorized. But that is not sufficient.

> Keeping users safe on Android is our top priority.

Google's mandatory verification is not about security, but about control (they want to forbid apps like ReVanced that could reduce their advertising revenue).

When SimpleMobileTools was sold to a shady company (https://news.ycombinator.com/item?id=38505229), the new owner was able to push any user-hostile changes they wanted to all users who had installed the original app through Google Play (that's the very reason why the initial app could be sold in the first place, to exploit a large, preexisting user base that had the initial version installed).

That was not the case on F-Droid, which blocked the new user-hostile version and recommended the open source fork (Fossify Apps). (see also this comment: https://news.ycombinator.com/item?id=45410805)

Re:Greg Newby, CEO of Project Gutenberg, has died on Wednesday October 22, 2025 @08:18AM (#45667906)
Are the years intended to be read in octal?
> One of the most important themes we hear from the developer community is the need for more lead time to adapt to changes

No, it's not.

Re:Why do some gamers invert their controls? on Saturday September 20, 2025 @06:36PM (#45318224)
Why do I always invert the Y-axis but never the X-axis?
I feel that Rust increases security by avoiding a whole class of bugs (thanks to memory safety), but decreases security by making supply chain attacks easier (due to the large number of transitive dependencies required even for simple projects).
Re:Cloudflare 1.1.1.1 Incident on July 14, 2025 on Wednesday July 16, 2025 @04:41AM (#44580050)
> Private DNS on Android refers to 'DNS over HTTPS'

Yes, sorry, I did not mention it.

So if you want to use DNS over HTTPS on Android, it is not possible to provide a fallback.

Re:Cloudflare 1.1.1.1 Incident on July 14, 2025 on Wednesday July 16, 2025 @04:11AM (#44579861)
On Android, in Settings, Network & internet, Private DNS, you can only provide one in "Private DNS provider hostname" (AFAIK).

Btw, I really don't understand why it does not accept an IP (1.1.1.1), so you have to give an address (one.one.one.one). It would be more sensible to configure a DNS server from an IP rather than from an address to be resolved by a DNS server :/

Re:Material 3 Expressive: Better, Easier, Emotional UX on Friday May 16, 2025 @06:18AM (#44003633)
> By making the Send button larger and more prominent, participants were able to spot the button four times faster.

By making the Back button larger and more prominent instead, participants would be able to spot the button four times faster. I suggest to reduce the size of the Send button.

As a non-native Ensligh speaker, I asked ChatGPT what the ER acronym means: Emergency Room (I guessed E was for "Emergency" after reading your story, but I didn't know about the 'R').

AI is also helpful to parse the story about how AI is helpful.

Re:Hedy: Textual Programming Made Easy on Monday January 27, 2025 @06:27PM (#42847051)
Precision: Of course, I meant "FOR" and "IF THEN ELSE" separately (the way I wrote it might wrongly suggest there is something like for-then-else).
Re:Hedy: Textual Programming Made Easy on Monday January 27, 2025 @10:32AM (#42842164)
I'm French too, and when I was young, I learnt the Basic language before learning English (by reading Basic programs already available on our computer).

So I was able to write FOR … THEN … ELSE blocks without even knowing what the keywords meant (I just know what they did to the program). One day, I explained to my father what I was writing, and I read out loud FOR … "TEN" … "ELCE" (with a strong French accent), and he corrected me by pronouncing the words correctly ("FOR … THEN … ELSE"). I was shocked: "how do you know?" (he knew nothing about Basic or even programming).

I learnt that day that "for", "then" and "else" were not just keywords in the Basic language, but they were actually real words in English.

Re:Moon on Tuesday December 17, 2024 @12:53PM (#42443488)
I think this category is named ciechanow.ski.
Re:XMPP: The Gem of Instant Messaging on Thursday November 07, 2024 @11:33AM (#42078154)
Mandatory blog post on XMPP and decentralized protocols: https://signal.org/blog/the-ecosystem-is-moving/

Older »