9 ms·
My server is a phone now
- thehamkercat 2mo ago"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%?
- guilhermeasper 2mo agoThat's what I thought when I read this. It will probably destroy this battery very quickly. But in other hand, it is probably a pain in the ass to remove the battery and do some workarounds to make sure the phone correctly behaves without it.
- wanda 2mo agoCouldn't you just have it charging on a time-regulated supply e.g. smart plug?
- iwontberude 2mo ago[dead]
- lucb1e 2mo ago> It will probably destroy this battery very quickly. 'Very quickly' seems to be measured in decades from what I see Most people I know have their laptop docked, either near-permanently at home or taking it between home and a desk with dock (so it's nearly always plugged in when in use) The 'servers' I've had were all old laptops - yes, with battery (don't have to buy a separate UPS if one is already included). I've now also had two non-server laptops that were plugged into power pretty much all the time. I treated my first laptop perfectly: taking out the battery anytime I'd be in a classroom for several hours and it was already full enough (you know, back when sliding out your battery was possible in the first place), but I'm not noticing any faster degradation on the systems I treat poorly. I'll activate the 80% cap function where it exists (that is, in the latest phones and my work laptop's UEFI config panel), but the evidence of it being helpful has yet to materialize I have read that studies show that charging to 100% causes degradation and I trust those more than random people's anecdotes (and I'm a random person), but I'm starting to wonder if I've maybe just misunderstood the study results. Maybe it's like how smoking increases your chance for some cancers but you might also be fine in the end. I see people with plenty of much younger and better-treated batteries that can't sustain literally 30 seconds of use whereas mine are reasonably close to the new state (some haven't had many charge cycles, just sat at a stressy high voltage all the time, which was indeed supposed to destroy them), and I don't know how to explain that otherwise
- gonzalohm 2mo agoI think laptops have a way to circumvent the battery when plugged and fully charged
- MayeulC 2mo agoSome phones do too, it depends on their power management integrated circuit (PMIC) and driver. Though it's always better to physically disconnect the battery when not in use, as there is always a trickle current otherwise (most "spicy pillows" batteries are due to deep discharge, as far as I know). The best practice is to store batteries disconnected, at 60% capacity). In theory you could build a small circuit to sit in between the phone and battery to protect it, maybe I'll have a go at it.
- guilhermeasper 2mo agoI had a laptop as a server for a really long time, and I also poked around using a phone for some server things (not as main server) and after some time it was unusable (the whole phone was suffering because wasn't prepared for a battery that fucked). Anyway, my point is, maybe his phone has some mechanism similar to laptops to prevent this kind of thing, but in the end it's a phone. It's not the intended use for it.
- lucb1e 2mo agoWell, maybe, but could that not also be the chance thing I mentioned? That it greatly increases odds, but a 'great increase' of 1% per decade is still not more than a third of the cases or so. Or it's the bypass charging that a sibling comment mentioned indeed
- stndef 2mo agoWhat you can do, with some extra steps, is have Home Assistant installed (and have a Home Assistant server, I guess!) on the phone and use a smart power switch that's also associated with Home Assistant. The phone's battery can be reported to Home Assistant, where an automation can be triggered to turn off power to the phone when the battery gets above a certain percentage and turned back on when it goes below. Not the best solution, but certainly an alternative from messing around with trying to get the phone to work without a battery.
- yhjc2692 2mo agoAfaik mobile electronics’ power circuitry is designed so that power goes straight from charging port to the processor, without constantly charging/discharging the battery, once charging is complete. Unless the system suddenly draws a lot of power (more than the charger is supplying) - which is unlikely in a smartphone.
- cfiggers 2mo agoSome phones bypass the battery when plugged in, but not all do. I know it's advertised as a feature of some gaming phones because graphics-intensive gaming is one use case where you'd want to use the phone heavily while plugged in.
- Forgeties79 2mo agoSteamdeck lets you set your preferred % and the dock does pass through charging/power, which I love because that combo guarantees the longest possible life for the battery. I turn it back to 100% for flights, otherwise leave it as 80% at all times. Mine is almost 4 years old now but I don’t feel even a hint of battery degredation yet.
- cfiggers 2mo agoI do the same with mine, except that I haven't been on a flight since I got it :)
- neurostimulant 2mo agoEven then, some phones that advertise bypass charging are actually using a software-based implementation, and they can still end up with swollen batteries after being plugged in for extended periods.
- rcxdude 2mo agoThis is true but lithium-ion batteries degrade even while not being charged or discharged, and this is worse at the extremes of the state of charge (including fully charged), and at higher temperature (and often a plugged in device is on constantly and therefore spends more time at a high temperature than it normally would), so it's still not great for the battery. A lot of devices have a mode where the batter is kept at a lower state of charge if it's been plugged in for a while to try to reduce this.
- daemonologist 2mo agoMost phones won't boot without the battery. Obvious workaround is to connect a power supply (and large cap) directly to the BMS, but in my experience most phones will shut themselves down when they think they've drawn more than the capacity of their battery, even if the voltage is still high. You can sometimes get around that by rebooting the device every couple of hours (and there might be a software/firmware fix in some cases?), but it's a lot less annoying to just accept a small risk of a house fire.
- hnuser123456 2mo agoYou could throw the phone in an ammo canister, if the wifi AP is close enough. When I was building hobby quadcopters, which requires several ~half-pound batteries that are a chemistry optimized for maximum power density, a lot of guys recommended steel ammo cans for battery storage.
- Forgeties79 2mo agoI’m also an ammo-case-for-drone-batteries guy but they aren’t running and don’t generate heat. A phone would cook right?
- johnecheck 2mo agoDepends on how well the canister insulates it. Steel conducts heat fairly well; it'd get hot inside but I'd guess some airflow around the canister would probably keep it from getting hot enough to cook the electronics. (definitely don't take my word for it lol)
- hnuser123456 2mo agoPhones are very low power, likely just a slightly warm spot on the can that radiates, conducts, and convects the heat out. You could also use one of those peltier module phone coolers, to ensure the heat gets out of the phone and into the air faster.
- 2mo ago
- seg6 2mo agoSome newer phones support bypass charging, which powers the phone directly instead of continuously cycling the battery. Mine doesn't support that, unfortunately, so I've limited charging to 80% to reduce battery stress.
- joombaga 2mo agoThat's surprising to me. It's been a standard feature on laptops for 20 years. Edit: Or I should say, it was 20 years ago. Maybe modern stuff is worse, but my M2 MacBook Air and Framework 13 Intel Core both power on without a battery.
- echoangle 2mo agoAre you sure that this is not something every single device does? I’ve never heard of a device that continually switches between charging and discharging while powered if the battery is full.
- chronogram 2mo agoNot OP, but I know that's not mainstream for phones at all. I think only Pixel phones enable it as a normal thing, when you have the 80% charge limit enabled. Sony (since 2020) and Samsung (since 2023) have it, but only when you enable it within some game settings for selected apps. Maybe gaming phones have it because they're plugged in more than others and care about heat. Apple doesn't do it.
- gerdesj 2mo ago"My phone is a server now" - OP's choice is a subtle one. By saying "my server is now ..." implies a change of server platform to a phone but not where it came from. Your offering: "my phone is a server now" implies a change of phone usage but does not indicate where the server came from. The article itself tells all.
- gareim 2mo ago> By saying "my server is now ..." implies a change Except the original title is "my server is a phone now", not "my server is now...".
- Xirdus 2mo agoTo me, "my server is now..." implies there was some server, it used to do server things, but now it has been repurposed to do something else. When I read the title, I literally thought "wow, I've seen a lot of people make servers out of old unused phones, but this is the first time I've heard someone make a phone out of an old unused server!"
- superb_dev 2mo agoAgreed, a more appropriate title might be “my server now runs on a phone”
- fmbb 2mo agoA phone is my server now.
- Aurornis 2mo ago> or is it fine to just limit the charging to 80% LiPo batteries will fail over time if left fully charged. If you don't need the battery it's best to keep it somewhere around 40%. If 80% is the only option, that's usually good enough. The primary failure mode starts when the cells are charged near their maximum voltage and kept there.
- sieabahlpark 2mo ago[dead]
- dlcarrier 2mo agoI prefer to assume he's lugging a 12U mini relay rack around with him, including a UPS and cellular fallback for networking, so he can run an Android VM and use it as his cell phone. See also, this atomic clock wristwatch: http://leapsecond.com/pages/atomic-bill/ http://leapsecond.com/pages/atomic-bill/
- zuzululu 2mo ago[dead]
- userbinator 2mo agoI thought the article would be about something VoIP-related.
- whazor 2mo agoRemove it. In normal conditions, you use the product while it’s active. But with a server you are not daily checking. You might have a bug in your changing limit. I think the constant higher temperature could also become an issue.
- guenthert 2mo agoHmmh. My Samsung Galaxy S4 doesn't boot w/o battery. Not sure, whether early in the boot process the presence of a battery is tested or whether there just isn't enough juice.
- 9rx 2mo ago> "My phone is a server now" would've been better Not really. No sign of a phone. Just a computer — same as what all other servers run on. "My server runs on a computer with a form factor that is atypical for server workloads" gets a little closer to the heart of the article, but even then it seems the real meat of it is about Android, not the hardware (although that is mentioned too). How about "My server runs on Android"?
- hackernud3s 2mo agoI've never heard of Surf but I can run 10x camoufox instances on a $8 VPS no problem. I highly recommend it.
- lucb1e 2mo agoNot having heard of that, either, I looked it up: > An open source anti-detect browser built for AI agents. Sounds legit, circumventing the locks people are trying to add to their properties in an attempt to keep costs down and the service available for people that are actually trying to use the service rather than bots roaming around. Really happy for you that you managed to run ten of those. Not a nuisance at all.
- hackernud3s 2mo agoIt's in the same category as Surf, which is the pain point in the article. It's relevant.
- lucb1e 2mo agoThat would be a fair point, but I don't see that in the source. The article's first mention of Surf is a link to a previous article <https://seg6.space/posts/resurrecting-ipad-mini/ https://seg6.space/posts/resurrecting-ipad-mini/> where the motivation is mentioned: > I wanted to turn [the old tablet] into a smooth, distraction free reading device, so I [got root and] transferred a few books with iFile and had exactly what I wanted [...] until the reading workflow left the book. \n\n Reading is not really offline anymore. Finding articles, checking references, downloading PDFs, opening links, and asking an LLM about something confusing all happen on the web. [...] [The ancient Safari engine can't provide] JavaScript, CSS, media, and browser APIs expected by current websites [and Apple didn't allow third-party engines.] [...] Since I was on vacation, this also felt like the perfect pet project to hand to an LLM and see how far it could get. Out of that experiment, Surf was born. The point seems to have been getting iOS 6 to run a modern browser, which was experimentally built with an LLM, not so much have LLMs roam and masquerade themselves on the web via it
- 2mo ago
- firasd 2mo agoYeah ‘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
- mohamedkoubaa 2mo agoA couple of old phones and a gaming laptop with a broken screen makes a beast of a cluster
- sejje 2mo agoI've been saving phones in my drawer for years, waiting to combine them to form a "supercomputer". Any day now!
- rtpg 2mo agoThe thing I've heard with people who do this "at scale" is to expect the phones to burn out. They're made for pretty bursty activity so if you try to do too much on em continuously they start acting weird real quick
- farfatched 2mo agoWhat does "burn out" mean? Doesn't the CPU throttle if the phone gets too hot? Or maybe some parts like the eMMC aren't spec'd for things like constant logging?
- rtpg 2mo agolike legit CPUs etc start failing. There's throttling but ultimately even that.... things might have gotten better though, I last had convos with people who did this maybe 6 years ago at this point.
- yoyohello13 2mo agoI thought this was going to be a rant about QR code menus.
- collabs 2mo agoCan you please tell me more? I'm trying to build a self hosted application (with Claude) so people can scan a QR code and place orders / send messages to the kitchen without having to flag down a server / waiter. It is supposed to save time and money for the restaurant and for the patrons and customers it is supposed to be more convenient. Do you not like this option?
- makeitdouble 2mo agoI always wondered how actually cheaper a QR menu is, compared for instance to an android tablet you set there or pass to the client so they order. People immediately see the cost of a tablet, the issues with charging, building the app and updating the data, customers not understanding the interface etc. Yet, they don't seem to grasp all of these are basically the same for a QR code: you're now maintaining an online service just for your restaurant. People still need to understand your site. You'll be dealing with their browser, extensions, languages etc. And you still need the QR code somewhere on the table, visible, explain that it needs to be scanned (by one person ? everyone ? do they need to keep the tab open ? etc.). These will all be costs, you pay either upfront by hiring experts to make the experience good, or on the go with crappy customer experience, your staff spending more time than needed working around the system and explaining it to your customers, and those not coming back. There are super cheap and simplistic ways to deal with all of that, and I assume GP has seen many of these. PS: The weirdest experience I ever had was someone at our table scanning the code, to copy/paste it on the browser on their personal profile (default was work browser). They missed a digit in the url params and ended up opening the order menu of a table at the other side of the restaurant, and just started ordering, then waiting for a pretty long time while the other table was dealing with the mess.
- JoshTriplett 2mo agoEvery system like that I've ever used has three fundamental problems: 1) It's optimized for the restaurant first, and the patrons second or not at all, and it shows. 2) Someone thinks "hey, we could sell ads on this", and now it's even more a piece of garbage. (This is also what happened with all the little kiosk-tablets on the tables at some restaurants. We just set them face-down on their screen and talk to a human.) 3) Most of them never anticipate unexpected problems. They might have an "order X" button, but they often don't even have a "call server" button. And when they do, it often doesn't work, because the other end isn't hooked up to something that gets people's attention. The much lower-tech and more enjoyable solution I've seen used successfully many many times is a call button on the table. Press the button if you want service. Bonus if it has a "press this other button if you want to be left alone".
- bogzz 2mo agoI 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.
- lucb1e 2mo agoThat's a test of the software more than the hardware. I run a lot of stuff on low-powered hardware and the main problems are when the software allocates a ton of memory unnecessarily (Java software is usually the worst offender) or does a million things for each request that are either unnecessary or duplicate. Any efficient blog software will handle HN fine on anything that you can call a smartphone, so like maybe not a Nokia with GPRS and 6MB on-board storage, but something like the Samsung S2 from 2011 that basically shipped as a Linux box -- just need to adb push ARM binaries for PHP and a webserver
- agnishom 2mo agoShouldn't it be "My phone is a server now"?
- Waterluvian 2mo ago“My daily driver is a clown car now.”
- jqbd 2mo agoIf you have a clown car already, know how it works, and it's magically cheaper to drive than regular cars and car prices are high then I don't see the issue with this.
- Waterluvian 2mo agoPlus I get to use the Harlequin Occupancy Vehicle lane.
- an0malous 2mo agobut this way is provocative, it gets the people going
- deleted 2mo ago[deleted]
- seg6 2mo agoI meant it from the server’s perspective: VPS before, phone now. The article clears up any ambiguity pretty quickly.
- domeinhornMOT 2mo ago[flagged]
- Kuinox 2mo agoI 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.
- alightsoul 2mo agodid you commit or open source your changes to postmarket os? also you can't unlock bootloaders anymore on samsung phones. you will need to find an exploit. https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame
- Kuinox 2mo agoClaude did the changes, I didn't do anything, I think it's was mostly recompiling with flags.
- purplemoonx 2mo agoThose saying it's said backwards clearly aren't self-hosters! iPhone hardware wise is like an amazing alternative to rpi (way better hardware) But the software makes no sense at all for a server, with screen locking due to inactivity and whatnot, not to mention energy and network priority is designed around a consumer use case on the move. If you run Linux on it and take advantage from the Apple hardware like the light sensors and accelerometer - maybe it makes sense for measuring wave height, sky color, attached to a buoy or oil rig or something, you can even show it on a map due to its GPS. Assuming the oil rig has WiFi or a cell phone booster. Idk though, maybe for something that important you just get the right stuff - cool hobby nonetheless.
- trvz 2mo agoThe main argument you give for it not making sense can easily be changed in Settings. The energy and network considerations have no impact on running a virtual machine in UTM – iPhones will give everything they can as long as thermals are fine.
- purplemoonx 2mo agoOn the contrary I gave use cases but concluded you’d be better off buying the right tools for the job (I would). But it’s still a cool project. I would just run Linux on the phone rather than what you’re saying. Not running iOS as a server lmao
- dd_xplore 2mo agoApple’s no software is server centric.
- alightsoul 2mo agoFYI 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 https://github.com/zenfyrdev/bootloader-unlock-wall-of-shame
- alightsoul 2mo agoI mean root In android
- fragmede 2mo agocve-2026-0047 if the phone is before March 2026
- alightsoul 2mo agoPostmarket os is required if your device runs android 7 or below due to termux limitations which prevent you from installing packages, or if your android version has missing kernel syscalls that prevent you from running containers without x86 emulation which is slow. Rooting is required to install postmarketos, and making termux faster and bind to ports on Android. You don't need postmarketos if your android version can run containers on termux with all the required kernel syscalls To root or install postmarketos you need an unlocked bootloader.
- SturgeonsLaw 2mo agoI 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.
- coffeecoders 2mo agoIt only makes sense if we are measuring raw capability per dollar. Once you factor in noise, physical size, idle power, battery etc, I think the calculation changes. For a home sever that's mostly idle, it is almost like commuting in a pickup truck.
- alightsoul 2mo agoalso factoring in spare hardware. most people have more spare phones than PCs.
- auspiv 2mo agoModern dell desktops (like 8th gen+) idle around 10W. Raspberry pi isn’t saving much
- lostlogin 2mo agoI’m impressed with that. I had a Nuc 9 extreme with a 10gb SFP card in it. It averaged 69w. The Mac Mini I replaced it with uses just under 5w. A Mini is possible the worst bang for buck. Also, the horror that that is Desktop Docker can’t be over emphasised. I know there are better ways of using Docker on a Mac, but having got something working I can’t face rebuilding it.
- microtonal 2mo agoBut when starting from scratch, it might be better to get an older Mini that is supported by Asahi and run Linux on it.
- ekianjo 2mo agokeeping phones connected to power 24/7 is a fire hazard
- _def 2mo agoDoesn't this depend on the kind of phone and battery?
- DANmode 2mo agoKeeping fans connected to power 24/7 is a fire hazard, too. Running electricity through wood, arguably insane.
- thenthenthen 2mo agoDunno, i ran my blog for two years from my old iphone 4. It was fine.
- pelasaco 2mo agoyou should drop the battery.. see this project https://research.google/blog/a-low-carbon-computing-platform-from-your-retired-phones/ https://research.google/blog/a-low-carbon-computing-platform...
- peheje 2mo agoSource
- jitbit 2mo agoYou can use a smart plug that turns it on/off. Or even a mechanical outlet timer. Or set the phone to never charge above 80% Thta said, keeping it on charger for months will eventually swell its battery, true.
- miuz2029 2mo ago[flagged]
- hoppp 2mo agoI 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.
- lucb1e 2mo agoJust because it's a database doesn't mean it does more write cycles on the flash cells than storing regular files would cause it to. Anytime you change something, it writes either a file, or does an update/insert query which causes a file write. In both cases you've written a few bytes to disk, doesn't really matter what the underlying system is (not majorly anyway, surely one solution will turn out to be some % better than another and cause the average phone's storage chip to last 30 years instead of 40 under some defined typical usage pattern) You can also just insert an SD card to do the write-heavy operations and swap it out when it wears out (you make backups, right? :D)
- kllrnohj 2mo agoAny storage device can die, that's why you have a robust backup system, right? Right...? :) But the flash storage in a phone is going to be the eMMC variety which typically means a proper controller and TLC NAND. Not as robust probably as a "proper" SSD/NVME, but a lot more durable than most micro SD cards. And it'll have health indicators.
- imhoguy 2mo agoIf your phone supports being USB host you can try USB splitter dongle and attach external SSD drive to it. Also if your phone has SD card slot you can try "industrial" SD cards. They are small in capacity but ideal for write load.
- craftkiller 2mo agoCool 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.
- mintflow 2mo agoNice 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.
- ventana 2mo ago[dead]
- jona-f 2mo agoI 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...
- zhixingheyi2023 2mo ago[flagged]
- aucisson_masque 2mo agoI 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.
- deleted 2mo ago[deleted]
- m1keil 2mo agoIt's an old phone getting a second life, the health of the battery is probably not a big concern at this stage.
- aucisson_masque 2mo agoyeah but when the battery fails, you loose your "server". i'm thinking more about long term.
- ponector 2mo agoIt's not a concern untill the phone is bloated because of damaged battery. Also it can catch fire!
- tkgally 2mo agoSide 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 https://en.wikipedia.org/wiki/Topic_and_comment
- dmos62 2mo agoNew understanding, you have added to mine, young padawan. PS: fascinating insight.
- SomeoneOnTheWeb 2mo agoThis is why I love Hacker News, so many neat info you don't get anywhere else! Thanks for your comment :)
- 2mo ago
- zniturah 2mo agoWhich has likely crashed, as the link is no longer working
- conradfr 2mo agoIt's working for me.
- louismerlin 2mo agoI did the same, and am working on more! https://far.computer https://far.computer
- conradfr 2mo agoNot 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.
- vladsiu 2mo ago[dead]
- deleted 2mo ago[deleted]
- RinatNabiev 2mo ago[dead]
- ceving 2mo agoI wouldn't view swapping Hetzner for Cloudflare as a gain in freedom.
- oriencuehfuwh 2mo agoBut then how else would you write your self-congratulating blog post?
- denysvitali 2mo agoI suggest you to go down this route, but replace Android with postmarketOS and make it a Kubernetes cluster: https://blog.denv.it/posts/pmos-k3s-cluster/ https://blog.denv.it/posts/pmos-k3s-cluster/
- TeMPOraL 2mo agoFirst thing the article does is explain that they did and it was a wrong choice.
- denysvitali 2mo agoNothing Claude / Codex can't fix. I'd call this a skill issue tbh On top of that, pmOS can work with non-mainline Linux, so with the Android kernel, which is somewhat guaranteed to have support for most / all the devices. You shouldn't use it if you care about security though, but that's a different matter
- Flere-Imsaho 2mo agoJust 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.
- enbugger 2mo agoany guides on transorming an android phone into a proxmox node?
- Flere-Imsaho 2mo agoIt's only just become available for ARM, so I doubt there's much information out there yet.
- crawlerload 2mo ago[flagged]
- curtisblaine 2mo agoSigh, 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 :(
- logicallee 2mo ago(not OP). okay here's something that's not the same old post. I don't walk around with it in a backpack though: I asked Claude to set up Twilio (a phone API), and after setting everything up for it, now I can give my Claude agent instructions in any format where I have access to it (such as our Jira, by email, or when I'm writing a prompt by hand in Claude Code) to call me if it gets stuck or has any questions or needs anything from me, or to call me when it's finished. so now I sometimes get to relax at home and get a call where Claude tells me that I have a Jira ticket that needs me to answer a question. so I open up Jira, answer the question, and go about my day. (I also have it call me to remind me about appointments and requires me to press a key to acknowledge it, so that I definitely don't miss the call and confirm that I got it - I did this because I was constantly missing reminders and calendar appointments.) So, while my server isn't literally a phone, it does call me when it has a question and to remind me about my appointments.
- madwolf 2mo agoI 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…
- KetoManx64 2mo agoIs it not worth the effort to take them apart and take the batteries out before you put them into the rack?
- axus 2mo agoThis reminded me about the recent Google blog post where they made a server farm out of a bunch of old phones: "Prior to deployment, smartphones must be processed to remove all but the motherboard, which contains the core compute functionality. Note that the motherboard is responsible for the largest fraction of embodied carbon (approximately 50% based on internal carbon footprinting assessments), so this effort targets the most impactful components." And they accomplished the author's first goal to run real GNU/Linux on the phones. https://research.google/blog/a-low-carbon-computing-platform-from-your-retired-phones/ https://research.google/blog/a-low-carbon-computing-platform... The new AGI goalpost will be "able to deploy Linux on everyone's old phone with drivers for all the hardware ".
- denysvitali 2mo agoAll Android phones run "Linux" - the hard part is running mainline linux
- alightsoul 2mo agoHow did they manage to run the phones without the battery? Apparently you need to desolder the BMS from the battery, and connect a power supply to it. And I guess simulate charging via USB and discharging so it doesn't turn off because it thinks it has drawn more than its battery capacity?
- pelasaco 2mo ago> 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-from-your-retired-phones/ https://research.google/blog/a-low-carbon-computing-platform...
- rd07 2mo agoI 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).
- KetoManx64 2mo agoIf the OS came pre-installed I'd be weary of Chinese call home/ your device being used as a residential proxy for DDOS farms
- rd07 2mo agoCorrection for my previous comment, it is not Raspbian, but Armbian. The Armbian was not pre-installed from the factory, it was an Android TV Box that some tech-savvy guy in my country reinstalled. And in the end, I reinstall the Armbian in a micro-SD card, so the pre-installed OS was not used at all.
- pjmlp 2mo agoIt 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.
- alightsoul 2mo agoYou can't bind to ports so you can't run a server without a proxy. Depending on your android version you also can't run containers due to missing kernel syscalls, so you have to use x86 emulation
- pjmlp 2mo agoHere is a secret, you don't need containers for server software, we have been doing it for decades. Yes there are ways to bind to server ports with official APIs, example can be requested to Fable, Claude, or whoever you feel like it.
- alightsoul 2mo agoWhat do you mean? Android blocks apps from binding to ports which is what apache httpd does unless you root. I would be asking Claude for an exploit to unlock the bootloader so I can root Also, you can't install things on termux if you have android 6 or below. You must install postmarketos and thus an unlocked bootloader.
- pjmlp 2mo agoNot if the application has the right permissions on their installation manifest. <uses-permission android:name="android.permission.INTERNET" /> Then you need to write the server handling code on a background application thread, with perfectly working server sockets. This only works on wlan, or local network when using bluethooth, but who wants data modem for a server anyway. With Gemini's compliment, import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import java.io.BufferedReader import java.io.InputStreamReader import java.net.ServerSocket import java.net.Socket import java.net.SocketException class AndroidTcpServer { private var serverSocket: ServerSocket? = null private var isRunning = false // Call this function from a CoroutineScope (e.g., lifecycleScope.launch) async suspend fun startServer(port: Int = 8080) { withContext(Dispatchers.IO) { try { serverSocket = ServerSocket(port) isRunning = true // Loop to continuously accept incoming client connections while (isRunning) { val clientSocket = serverSocket?.accept() // Blocks until a client connects if (clientSocket != null) { // Handle each client connection in a separate background routine handleClient(clientSocket) } } } catch (e: SocketException) { // Triggered when stopServer() closes the socket println("Server socket closed: ${e.message}") } catch (e: Exception) { e.printStackTrace() } finally { stopServer() } } } private suspend fun handleClient(socket: Socket) { withContext(Dispatchers.IO) { try { val reader = BufferedReader(InputStreamReader(socket.getInputStream())) val outputStream = socket.getOutputStream() // Read incoming text from client val incomingMessage = reader.readLine() println("Received from client: $incomingMessage") // Send a simple response back to the client val response = "Hello from Android Server!\n" outputStream.write(response.toByteArray()) outputStream.flush() } catch (e: Exception) { e.printStackTrace() } finally { // Always close individual client connections socket.close() } } } fun stopServer() { isRunning = false try { serverSocket?.close() } catch (e: Exception) { e.printStackTrace() } } } As you might imagine by my comment history, I am a big fan of letting Android be Android, with Android native apps, not stuffing GNU/Linux into an APK.
- deleted 2mo ago[deleted]
- kjaergaard 2mo ago[dead]
- twism 2mo agoput 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.
- _mjk 2mo agoWhen I read about the browser 'surf', I first thought of the browser from suckless: https://surf.suckless.org/ https://surf.suckless.org/
- fidotron 2mo agoNokia 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_00_0/ 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.
- ikurei 2mo agoI so wanna know more about this, I'll be spending a chunk of the afternoon reading on this story. The future used to be so cool. Having access to Wikipedia and live reporting always on hand was going to make everyone so informed, easier communications were going to make democracy and grassroots organizing flourish... We were all going to have our own server on our pockets... We were naive, but I sorely miss the tech-optimism that to some extent carried me through uni.
- fidotron 2mo agoA further example of how stunningly naive this was: they wanted (external NMEA) GPS connected to it (and Bluetooth beacons when indoors, which had to be created for the project) so people could publish their real time location.
- peheje 2mo agoI'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.
- iluvcommunism 2mo ago[dead]
- flimflamm 2mo agoTo whom did you call with your server?
- seg6 2mo agoIn 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 :)
- baublet 2mo agoI had an advisor really good at calling stuff like that out as "having an eye for the trivial." The advice helped me reframe my personal reading toward substantive engagement, rather than surface-level nitpicks like the order of words in the title.
- lightbendover 2mo ago[dead]
- christophilus 2mo agoGreat post. I’m impressed with your English skills. Turkish is a very different language, so I can’t imagine it’s easy to pick up English. Anyway, you inspired me to try doing this with one of my old devices. Gonna put that on my September hacking list.
- m_montazeri 2mo ago[dead]
- notpushkin 2mo ago> 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/ https://devices.ubuntu-touch.io/
- Iron_Ninja5 2mo agoI 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.
- hn4e309qn4 2mo ago[dead]
- elendilm 2mo agoIncreasingly 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.
- ck2 2mo agoI'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
- ciefa 2mo agoI 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?
- thatSteveFan 2mo agoPosted up thread: https://research.google/blog/a-low-carbon-computing-platform-from-your-retired-phones/ https://research.google/blog/a-low-carbon-computing-platform...
- dannyeei 2mo agoCrazy 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.
- theshrike79 2mo agoThis 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.
- Denatonium 2mo agoIf 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.