back
252 comments
Side comment about the difference between “My server is a phone now” and “My phone is a server now.”

In linguistics, the terms “theme” and “rheme” refer to the status of information in a sentence [1]. The theme of a sentence is something that is known or can be assumed from the context (that is, old information), while the rheme is information that is newly introduced in the sentence, often as a comment on the theme. The tendency in many (most? all?) languages is for the theme to precede the rheme in connected discourse.

Without context, a reader is therefore likely to assume from “my X is a Y now” that X is something the writer had previously and that Y is something new. Because most people have a phone but few have their own servers, I was initially confused by the title “My server is a phone now.” I had to read the article to realize that the word order is in fact appropriate: for the writer, the server is old information (something he has had for a while) while the phone (as a server, at least) is new.

In English, theme and rheme might be inferred not only from the position in a sentence but also from how a noun is marked. Possessives like “my” are generally used before nouns referring to things that are previously known or assumed; the definite article “the” is similar. In contrast, the indefinite article “a” (or “an”) usually marks information being newly introduced, so it is more common with rhemes.

I worked as a Japanese-to-English translator for many years. Because the grammatical structure of Japanese sentences is very different from that of English, sentence-by-sentence translation often ends up with paragraphs where the information flow is awkward and unnatural. I gradually learned that I could produce smoother translations by reorganizing my English sentences into an old-to-new information sequence.

[1] https://en.wikipedia.org/wiki/Topic_and_comment

I wonder if this is a native/non-native English reader situation. I'm the latter and for me the title promised that I will read about a server that now is capable of letting a person call to order a pizza. That was immediate thought.

It would be very interesting to see a poll results on how many of us thought that the article is about a server doing phone stuff and not a phone doing server stuff.

I actually think it's just a poor title, "my server runs on a phone now" would be better.

As it is, I expected the server to now have a modem, to be operating as a phone.

Thanks to you, "My server is a phone now" becomes much more interesting now as the server is now a perpetual non-physical entity that inhabits a new physical form, the phone.
If you asked any native English speaker what “my X is a phone now” meant, I would wager that nearly all would say that it means that X can now make voice calls, like a phone.
Regardless it is extremely poor phrasing and would have been easily addressed by using "My phone runs a server now".

It's borderline clickbait, unless the author is an English graduate and assumes all their reader will be too. A phone running a server is not very interesting and has been shared many many times on HN before, while I've not heard of a phone running on a server before (which I why I clicked at all).

I think I’m English the term you’re looking for is an amphiboly. These sentences are not grammatically incorrect, but can be can leave ambiguity about their interpretation.
This is why I love Hacker News, so many neat info you don't get anywhere else! Thanks for your comment :)
I think it's awkwardly phrased because it's too ambiguous.

"My car is a Jeep now" is most likely saying "I switched to using a Jeep as my car" because, short of a large merger, it's not likely that the same car changed its brand.

The same server can become a phone and also the identification of my server can be switched to a phone.

Yeah I first read it as he turned his server into a calling device.
In true HN fashion, a surprising amount of the discussion ended up being about the title.

Turkish is my native language, and its sentence structure is pretty different from English, so that occasionally sneaks into how I phrase things. I can see why “my server runs on a phone now” is less ambiguous.

Anyway, I’ve enjoyed the accidental linguistics thread :)

"My phone is a server now"

would've been better

--

> built in battery backup

Isn't it always recommended to remove battery if you plan to use a phone or a laptop as a server? ( Fire hazard )

or is it fine to just limit the charging to 80%?

FYI you can't do this on phones with locked bootloaders as well as the author did. you could use termux but if termux runs on anything lower than android 8 termux will be significantly limited and you will need postmarketos and maybe fix support for it. with termux, at best things will be slow without root, as the author mentioned rooting resulted in a speed increase.

without root, you also can't bind to ports on any android phone, and rooting often requires an unlocked bootloader and not all android phones support bootloader unlocking. You also need an unlocked bootloader to install postmarket os.

so without binding to ports you can't run a web server unless you run it through a proxy server which the author did, or containers at native speed on postmarket os because you will not be able to flash the phone with postmarket os if you have missing kernel syscalls on android nor root the phone for the speed increase on android depending on your android kernel version i assume.

so with android containers may or may not work without emulating x86, and without root chances are it will be slow specially if you are forced to emulate it as x86 because it turns out you have missing syscalls, nor root to make them faster if they exist on android. again no chances to install postmarket os nor rooting to make containers faster, without bootloader unlocking.

not all android phones can have their bootloaders unlocked unless you find an exploit. https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame

I still think the best bang for your buck is an old desktop PC. Something like an i5 with 8GB RAM and an SSD will suit 99% of home server uses with capacity to spare.

Even in this environment of inflated hardware prices, you can get one for a reasonable price.

Although I do see the appeal in getting unconventional hardware to do what you want, just for the love of the game.

Nokia went through a phase in around 2006 of seriously believing the future was people liveblogging and serving it over 3G from Symbian based Series 60 devices. This was based on "Apache Raccoon" https://sourceforge.net/projects/raccoon/files/raccoon/PS_1_... which was a port of Apache to Symbian, and a port of Python for scripting, complete with the ability to write multithreaded code (GIL excepted) using Symbian Active Objects.
I work in a place where we have about 100 phones in a server room that we use for automated testing of mobile apps. A few phones get chucked out every year due to bloated batteries. We’ve even had one or two explosions. We have them well cooled now and in fireproof containers. We try to do some power management like automatically discharging them every once in a while etc…
Yeah ‘old phones’ are pretty capable devices.

I’ve wondered for a while if they could be used as an extension to your laptop like the old 80s PCs where you would plug in hardware.

So ‘make it a server’ is the obvious way I guess, and then you could do things like render webpages on there and then stream them as images to your actual computer (like the now shutdown Mighty app), or run ffmpeg on there to convert a video, etc

Cool project, but slightly better: before the rampocalypse I bought one of those aliexpress fanless linux boxes designed to be a router. I put a 32GB stick of ram in it and a 250GB SSD. I run opnsense in a virtual machine to serve as my home router and then I put the rest of my home server stuff on other virtual machines on that same box. It's still fanless/silent. It takes up zero additional space because it is my router. It would already be running 24/7 because it is my router so the additional energy usage of an additional VM is likely minuscule. The latency to my router is basically zero since it is on the same physical box. And it is using a real SSD so it has faster storage with almost certainly better endurance.
Crazy timing. I did the same thing last week!

I have an old oneplus 6 and all I did was plug it into my computer and told Claude what I want and it just worked.

I even told it to make sure the battery doesn’t charge above 80% to not fry the battery and it couldn’t find the setting so wrote something to make it work.

I feel like this whole thing would have taken a weekend pre AI - instead I did it on a whim and spent about 5 minutes on it and it took less than 2 hours of wall clock time.

I wouldn't view swapping Hetzner for Cloudflare as a gain in freedom.
I thought this was going to be a rant about QR code menus.
> It came back, and lesson learned: Android already has working drivers for every piece of this hardware. [...] Throwing all of that away in pursuit of a more conventional userspace was the wrong trade.

pmOS is a proper port with native Linux drivers, but there’s also Libhybris / Halium which runs Android drivers in a more typical “Linux” userland. Ubuntu Touch uses that, so it could be a good starting point. Sadly, I don’t see CMF Phone 1 in the devices list: https://devices.ubuntu-touch.io/

It is incredible the amount of gimmicks some folks will go through, even if it was to stay with reuse Android phone story, Java and Kotlin as regular Android app already provide all the juice required to do the job.
I'm using my unrooted stock s23u with damaged screen as a server but only to me thru tailscale.

Termux. Proot ubuntu. Serving OWUI and syncthing. Works fine. Had to remove pw protection so runit starts services at reboot. Therefore encrypted at rest any sensitive data

I Ssh in into it with ai harness to make changes. Made me not want to sell it after all.

I see the 'battery backed' as an issue.

Keeping it plugged in like that is going to harm the battery.

That and the fact that my Xiaomi 12 runs USB 2.0 ....

I'm stuck running stuff on MacBook at night when I don't use it because of that.

Electronic price need to become reasonable again, a 8gb raspberry pi 5 is about 200€ right now. It's absolutely insane.

My pi 4 did cost me 40€ a few years ago.

I have similar idea of using my old Xiaomi Mi A1 as a server, but I have never actually done it. The author's first idea and mine was similar, replacing Android with PostmarketOS. And here is the difference, I was not brave enough to actually install PostmarketOS to my phone. Especially after looking at the Postmarket Wiki where not all features for my phone are flagged as supported.

In the end, I abandoned the idea and opted on purchasing an Android TV Box that has been installed with Raspbian for my home server. Sure it may not be as powerful as my phone, but it came with full blown USB that I can use to add any storage I want and it was cheap (today, it was approximately USD 11-12).

I think you are doing much better with an optiplex 3050 micro and libreboot. Android with it's locked down bootloader and outdated kernels is a dead platform. You are fighting Google's control at every step. Sad, the US used to be all about freedom...
I did a similar thing recently.

I run kube in a VM, and it was ressource constrained.

I hooked an old samsung to my pc and have let claude handle everything.

I only had to unlock the bootloader, flash the image claude uploaded.

It rebuilt postmarketos multiples times to enable various flag, and now there is a kube node running on it.

I recently bought a $40 Z Flip 4 on Facebook Marketplace with a broken inner screen. Setup was tough while working half-blind, but once ADB was enabled, scrcpy made the rest easy. It’s easily one of my best purchases yet. It works surprisingly well as a full server and easily replaced the Raspberry Pi running my cloud sync apps. A 512GB microSD card alone would’ve cost double what I paid for the whole phone! My one complaint is that I'm unable to root the phone to optimize performance and set battery limits, but that hasn't held me back from anything I've tried to run so far.
If your phone is a Tensor-powered Google Pixel (so a Pixel 6 or newer), you can root it and run a full KVM-accellerated arm64 Linux VM with USB passthrough and SLiRP networking. I've used my Pixel 8 with a USB hub and a Mediatek MT7921AU USB 3.0 WiFi card in monitor mode with kismet for the ultimate mobile wardriving setup.
When I read about the browser 'surf', I first thought of the browser from suckless: https://surf.suckless.org/
Just a heads up, proxmox now supports ARM, so with the authors setup, it could potentially run Proxmox along with LXC for containers.

LXC does provide a security boundary, more than Docker but less than a full blown VM.

Not exactly the same usage but I run a headless Chromium with Puppeteer on a Raspberry Pi 4 at home for some light ("ethical") web scraping (as a residential IP is essential sometimes to bypass Cloudflare).

A real html page maxes the cores easily but it works. Keeping the pages open instead of closing / reopening tabs helps.

For reference I tried running it in a container inside my low end Synology DS223j but any container running, even doing nothing, ruins disk performances, weird bug.

Shouldn't it be "My phone is a server now"?
put an old computer in your closet. ssh through your phone (need a proper ssh client tho; I use a custom ssh client and keyboard, both not in the playstore but It's best for what I do). install GNU Screen. install Claude Code CLI. tell claude about your environment and what you are trying to do. enjoy.
Increasingly look towards the viability of this for production applications.

This article may come in handy when we look into it.

Extreme distributed regional servers - a dream come true.

The promise of the fabled lowest single tower latency, blast radius containment and resilient to the teeth has always been where my heart truly lies.

I've wanted to try this with an old phone and OTG storage for a local mysql database for my weather station instead of remote vps

But it still seems too tedious/unreliable and most android devices cannot charge at the same time as using OTG even with special cables, needs kernel support

I did the same, and am working on more!

https://far.computer

I've never heard of Surf but I can run 10x camoufox instances on a $8 VPS no problem. I highly recommend it.
This was something the Nokia N900 was excellent at. It was basically a Linux computer anyway so making it a server wasn't a massive undertaking.
I really like the idea of this!

How hard would it be to combine the power of a couple phones for a server? I'm sure someone has done something like that already, right?

I thought about this a few times but the flash storage is a bit sketchy for running a database, I am worried it can die. Tho android does have sqlite built in and works fine.
Nice writeup but use legacy phone is really need to do some tuning and hacks, but that's fun to do if one like it.

For me I have a 24x7 running intel gen 11 nuc, i am lucky to get it installed with 32G memory and two NVME disks years ago and cannot image add those memory and NVME disk with much higher price

Just run some docker and VM on that, use cloudflare tunnel or tailscale funnel if you want to expose some service to the wild internet

I recently even find a pixel 5 and passthrough it to the openclaw VM on that nuc, let it browse the X to find some posts and relax me from doom scrolling, though seems timeline still bad and no much valued post find.

> modern, rootable ARM64 phone

which one would people suggest? I got two already, both locked. Google Pixel 3a XL 64GB. Cannot root it, Sinlock. Not possible to install postmarktOS. Xiaomi Redmi Note 8T 64GB. Same thing, some lock, need a SIM card, some proprietary BS.. not possible to root easily.. I really wanted to build a cluster of mobiles, but its hard to find cheap and good mobiles for such experiment... and if i have to pay 500 buckets, i can do better with some Mini PC...

My goal is to reproduce the following experiment https://research.google/blog/a-low-carbon-computing-platform...

I plan to do this when I buy a new phone, thank you for the great writeup!

Would have been a fun load test had you hosted your blog on the phone.

To whom did you call with your server?
Which has likely crashed, as the link is no longer working
Sigh, I expected some crazy project like hooking a big Xeon rack to batteries, running Graphite or Android on it and sticking it in a backpack to use as a primary phone. That would have been glorious.

Instead, I got the same old post of someone serving web pages from a mobile phone :(

keeping phones connected to power 24/7 is a fire hazard