Hacker News new | ask | show | jobs
by CharlesW 1402 days ago
Phones are not PCs/general-purpose computers. Do you want your TV to be a general purpose computer as well? (Having put my family through a Media Center PC and TV remotes with keyboards/trackpads for several years, I don't recommend it.)
5 comments

> Phones are not PCs/general-purpose computers.

That's just the opinion of the manufacturer, we don't have to agree.

Phones have banking and government apps, they are general purpose computers from their usage alread

If something currently serves as a general-purpose computer for most people, it's an (Android) phone. It's affordable, it has integrated graphics, video, audio, trackpad, and keyboard, it has excellent networking, it's easily programmable and has a plethora of apps for all cases.

It does not have a built-in Basic-like language for immediate fiddling; this is sad, of course.

If you do not mind running an endless pile of proprietary software and granting several third parties the right to track you and have remote root access to your device via hundreds of binary blobs, then Android is great. Even CalyxOS and GrapheneOS cannot escape the hell that is the vendor partition. Not to mention binary blobs from Qualcomm etc that target particular kernel versions which guarantee your hardware will be a brick in 2-4 years when it is no longer possible to use modern kernels because Qualcomm moved on to new chipsets and abandoned the last gen.

I spent the better part of a year doing Android OS dev only to conclude there just is no way to trust it or make it sustainable.

The Librem 5, Pinephone, and the Precursor are shaping up to be decent options. For now no phone at all suits me fine.

Plenty of options on the respective stores.
Bankers and governments don't want your phone to be a general purpose computer. That's why you can't run your banking app on a rooted phone. From a security standpoint, "general purpose computing" is really just "arbitrary code execution" -- generally a bad thing.

We are approaching the sunset of general purpose computing in the consumer space. There's nothing you can do. Accept it and move on.

“General purpose computing” does not imply any particular security model, it refers to a device with a variety of end user purposes.

It is in contrast to a special purpose computer, which smartphones clearly are not.

> We are approaching the sunset of general purpose computing in the consumer space. There's nothing you can do. Accept it and move on

I agree that governments and big business (not just banks, think about media services with DRM) don't want us to have full control of our computers for many reasons.

I disagree we just have to accept it though. I will keep fighting that forever.

You missed quite a lot of history then. Smartphones are general purpose computers for the last 12 years or so.
Actually yes. All my TVs have attached PCs and run kodi, steam, etc on Ubuntu so I can do whatever I want on them. All my remotes have an airmouse and small keyboard.

We love it. When we want to look up something we see in a video we just open a browser. We also use them to order food etc. No proprietary software required.

I run termux on mine and wish termux wasn't so restricted by google/android.
Maybe Termux can learn to code against Java APIs instead of forcing themselves through the Linux layer that is considered a private API on Android.
Typically the Java APIs are restricted to the bare minimum Chrome Android needs to do sandboxing and native code-gen for V8. Shared memory only works in a more limited way with many less options. They'd really like to restrict these APIs way more and not allow apps any way of loading dynamic native code with the exec bit set, but can't because of Chrome and antitrust worries about just making Chrome system software with access to the APIs it needs that a competitor couldn't replicate in an APK.

I think you can see some of their thinking with the removal of exec; they just want to undercut termux because that isn't needed for V8, but as long as loadable generated native code is still needed for Chrome, termux could potentially create their own ELF loader to replace exec).

Exec should just be behind a separate permission anyway. A flashlight app has no legitimate reason for exec()ing random code that was not in the APK bundle, but the permission should be there so that JIT's and stuff like Termux can make use of it.
Thing is, exec() was never a public API anyway.
My Pinephone is a general-purpose computer, which runs a desktop OS and can be connected to a keyboard and screen. Same for Librem 5, which I preordered.