惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
The Blog of Author Tim Ferriss
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
S
Schneier on Security
G
GRAHAM CLULEY
The Hacker News
The Hacker News
C
Cybersecurity and Infrastructure Security Agency CISA
Know Your Adversary
Know Your Adversary
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿
M
MIT News - Artificial intelligence
V
Vulnerabilities – Threatpost
F
Fortinet All Blogs
月光博客
月光博客
Simon Willison's Weblog
Simon Willison's Weblog
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Hugging Face - Blog
Hugging Face - Blog
Spread Privacy
Spread Privacy
P
Proofpoint News Feed
A
About on SuperTechFans
云风的 BLOG
云风的 BLOG
Y
Y Combinator Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
T
Tor Project blog
T
Troy Hunt's Blog
Latest news
Latest news
N
Netflix TechBlog - Medium
Vercel News
Vercel News
Stack Overflow Blog
Stack Overflow Blog
Project Zero
Project Zero
N
News and Events Feed by Topic
F
Full Disclosure
酷 壳 – CoolShell
酷 壳 – CoolShell
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
CERT Recently Published Vulnerability Notes
H
Hacker News: Front Page
C
Cisco Blogs
I
Intezer
P
Privacy International News Feed
MongoDB | Blog
MongoDB | Blog
L
LINUX DO - 热门话题
Blog — PlanetScale
Blog — PlanetScale
Security Latest
Security Latest
Last Week in AI
Last Week in AI
Scott Helme
Scott Helme
B
Blog
博客园_首页
MyScale Blog
MyScale Blog
Cloudbric
Cloudbric

Hacker News

Introducing Claude Opus 4.7 Qwen Studio The Future of Everything is Lies, I Guess: Where Do We Go From Here? GitHub - SeanFDZ/macmind: Single-layer transformer in HyperTalk for the classic Macintosh Show HN: Agent-cache – Multi-tier LLM/tool/session caching for Valkey and Redis Moving a large-scale metrics pipeline from StatsD to OpenTelemetry / Prometheus GitHub - Nightmare-Eclipse/RedSun: The Red Sun vulnerability repository GitHub - SethPyle376/hiraeth: Local AWS emulator focused on fast integration testing, with SQS support, SQLite-backed state, and a debug-friendly web UI. GitHub - macOS26/Agent: Any AI, replaces Claude Code, Cursor, OpenClaw. Over 18 LLM providers (Claude, OpenAI, Gemini, Ollama, Zai, HF, Qwen) wired into a native Mac app that writes code, builds Xcode projects, bumps versions, manages git, automates Safari, use AppleScript, JS or Accessibility, extend Agent! w/ MCP Servers, run tasks from your iPhone via Messages. YouTube now lets you turn off Shorts I Made a Terminal Pager Burgers | マクドナルド公式 Commands — HackerNews CLI documentation ChatGPT for Excel PiCore - Raspberry Pi Port of Tiny Core Linux Live Nation illegally monopolized ticketing market, jury finds Google Broke Its Promise to Me. Now ICE Has My Data. Founding Engineer at Adaptional | Y Combinator CRISPR takes important step toward silencing Down syndrome’s extra chromosome GitHub - saffron-health/libretto: The AI toolkit for building reliable browser automations US v. Heppner (S.D.N.Y. 2026) no attorney-client privilege for AI chats [pdf] Unexpected €54k billing spike in 13 hours: Firebase browser key without API restrictions used for Gemini requests Retrofitting JIT Compilers into C Interpreters IPv6 – Google The Accursèd Alphabetical Clock Cybersecurity Looks Like Proof of Work Now Fragments: April 14 Cal.com Goes Closed Source: Why AI Security Is Forcing Our Decision | Cal.com - Scheduling Software for Online Bookings Laravel raised money and now injects ads directly into your agent When moving fast, talking is the first thing to break Too much Discussion of the XOR swap trick – Heather Cafe Introduction to Spherical Harmonics for Graphics Programmers The Grand Line Building a Z-Machine in the worst possible language High-Level Rust: Getting 80% of the Benefits with 20% of the Pain GitHub - duguyue100/midnight-captain: Inspired by Midnight Commander, tailored to my taste. How to build a `git diff` driver · Jamie Tanna | Software Engineer Center for Responsible, Decentralized Intelligence at Berkeley The Local Universe’s Expansion Rate Is Clearer Than Ever, but Still Doesn’t Add Up - A new synthesis of astronomical measurements confirms a persistent mismatch that could point to physics beyond current models The air throughout our homes is infused with microplastics. But there are things you can do to breathe less of them The disturbing white paper Red Hat is trying to erase from the internet – OSnews The Future of Everything is Lies, I Guess: Annoyances ‘Abhorrent’: the inside story of the Polymarket gamblers betting millions on war Productive procrastination — Max van IJsselmuiden maps, territory and LMs 447 Terabytes per Square Centimetre at Zero Retention Energy: Non-Volatile Memory at the Atomic Scale on Fluorographane Show HN: Pardonned.com – A searchable database of US Pardons 20 Years on AWS and Never Not My Job The Seasons are Wrong Artemis II crew splashes down near San Diego after historic moon mission We gave an AI a 3 year retail lease in SF and asked it to make a profit | Andon Labs How a dancer with ALS used brainwaves to perform live On filing the corners off my MacBooks Installing every* Firefox extension OpenClaw’s memory is unreliable, and you don’t know when it will break Steve Blank Nowhere Is Safe Chimpanzees in Uganda locked in vicious 'civil war', say researchers watgo - a WebAssembly Toolkit for Go linux/Documentation/process/coding-assistants.rst at master · torvalds/linux GitHub - callumlocke/json-formatter: Makes JSON easy to read. Founding Product Engineer at Bild AI | Y Combinator A compelling title that is cryptic enough to get you to take action on it GitHub - Keychron/Keychron-Keyboards-Hardware-Design: Industrial design files for Keychron keyboards and mice. 100+ models with CAD assets in STEP, DXF, DWG, and PDF. Source-available, with commercial use allowed for original compatible accessories within the license terms. [ANNOUNCE] WireGuardNT v0.11 and WireGuard for Windows v0.6 Released 1D-Chess Helium Is Hard to Replace Cooperative Vectors Introduction | Evolve Keeping a Postgres queue healthy — PlanetScale Our response to the Axios developer tool compromise Do Americans read print books, e-books or audiobooks more? The Zettelkasten Method in Obsidian: A Practical Setup Guide Artemis II Is Competency Porn and We Are Starving For It WeakC4 Flight Viz — Cockpit View A Mexican surveillance giant you’ve never heard of is now watching the U.S. border Surelock: Deadlock-Free Mutexes for Rust RISC-V 101 – what is it and what does it mean for Canonical? | Ubuntu The Problem That Built an Industry How Much Linear Memory Access Is Enough? | Solidean Investigating Split Locks on x86-64 Simplest hash functions Sybilproof reputation mechanisms (2005) [pdf] What is a property? How Complex is my Code? Static code analysis in Kotlin — tools overview Toffoli gates are all you need PGLite evangelism dcmake: a new CMake debugger UI Clojure on Fennel part one: Persistent Data Structures Fragments: April 2 Python Release Python install manager 26.1 The Life and Death of the Book Review - Liberties Introducing Database Traffic Control — PlanetScale Bitcoin miners are losing $19,000 on every BTC produced as difficulty drops 7.8% God sleeps in the minerals Building slogbox Apple Silicon and Virtual Machines: Beating the 2 VM Limit Who was “Not Even Wrong” first? Pokemon Evolution Vs Darwinian Evolution The APL Programming Language Source Code
Smashed Toilet Phone Web Server
2026-06-15 · via Hacker News

Behold my smashed Samsung a70 smartphone. It's seen better days but it's serving up this nice webpage for your enjoyment

Don't feel bad for this beat-up phone. Sure it's been smashed, then later dropped in a toilet before sitting for over a year in a bag of rice; whatever, that just adds character to the phone, right?

Life Signs

Our story begins after that year in a bag of rice when I found it by accident in the garage, and decided to see if there were any signs of life. After a long sit on the charger I was pleased to see that indeed there were life signs, and the readings were strong! Once charged back up to full, the phone booted up as if it were brand-new in the box! That's where the fun stopped however, as it immediately became clear that the touchscreen no longer functioned, and thus its days as a portable phone were long over.

You would not be foolish to think this should be the end of the story; how are you supposed to do anything with a device you can't control? It may seem counter-intuitive but actually Android devices have pretty good mouse and keyboard support; most now even support external monitors. It stems from a desire to make the smartphone the center of your computing life. The thinking from these big tech corps is that if your phone can do everything, why even both with a desktop in the first place. That logic is debatable depending on your needs, but it helps in this case so I'll take it!

The Plan

I've long been interested in the possibilities for old phones that have outlived their 'portable phone' days. It might be because I remember when computers ran at 8 MHZ with 640 KB of RAM, and could do all sorts of fun things. These 'old' phones by comparison are hundreds of times more powerful than those old computers, and have all sorts of sensors and networking abilities built-in. Surely they can serve a need other than food for the recycler.

While I have some neat ideas for remote control and other IoT applications, a web server is kind of like the "Hello World" of repurposing hardware. If you can get it to talk to other machines, all the other features can be bolted on afterwards.

Technology Auditions

The most critical part of any project, is the technology selection stage. You need to select a solid foundation for your project, that you won't regret later on. These days there are a dizzying amount of options, but surely an Android based web server isn't common, and will have fewer options.

That thought didn't age well. It seems I'm not the only one looking at hobby or even commercial applications for web servers on Android phones, as there are a surprising number of options. Aside from native Java or Kotlin, there are apps built with Apache and PHP built-in; just upload your scripts and start serving. You can also get a linux command line with Termux, and install any environment you're used to.

Hardware First

Let's take a break from the software side, and sort out hardware first instead. Normally this is just a big a challenge as software, but since the phone isn't modular there's actually less to worry about here. The phone's WiFi works just fine but we need wired ethernet for reliability. We also want power, as the phone battery isn't going to run forever. Here's what I came up with.

The USB-C hub provides power to the phone, while also supporting peripherals like the pictured USB ethernet adapter. With the other hub slots we could potentially add USB storage, cameras, printers, etc.

With some careful networking setup, the phone will switch seamlessly between WiFi and ethernet (keeping the same IP address). If it's unplugged the battery takes over as normal; it's got built-in redundancy!

About That Battery

Undoubtedly at least one of the readers of this story will raise alarms at the prospect of keeping a lithium battery on full charge all of the time. It's a fire hazard! It can explode!

I have a fair bit of experience with charging batteries of many types, and with confidence I can say that these concerns are largely overblown. Any appropriately designed battery charging system will stop charging the battery once it's fully charged. It's very easy for a charging circuit to detect when a lithium ion battery is fully charged (especially compared to NiMH), so there's little (not nothing, but little) to go wrong. Sure if the battery is already damaged that could be a problem, but then it would have been a problem anyway. There's also some suggestions out there that leaving a lithium ion battery fully charged will degrade its max capacity over time; I haven't seen any evidence of that in practice, but in our case we don't really care much about that anyway.

If you're interested in some more basic facts about batteries, check out my Battery Basics article.

Back to Software

The first software option was an app with an AMPP stack (Apache, MySQL, PHP). It was ultra easy to setup and load files, and it just worked. If all you want is something casual, then this is probably the way to go.

There were some issues with this approach, with the biggest being reliability. The app is solid but as with most apps, it will crash or get closed by android eventually. I needed something that could restart itself if it ever crashed. There's also the point about hardware I made earlier; I wanted control over the hardware in the phone (ie bluetooth, camera, SMS), and I wasn't going to get that from PHP on android.

I finally decide upon a far more custom solution, built with Cordova and a variety of native plugins. For the web server I used a plugin that wraps the NanoHttpd Java web server library. This approach gives me complete control over the request-response flow, while allowing me to build hardware interactions into my responses. Anyone want to send SMS remotely over a web interface?

How It's Going

I've been running this setup for over a year at time of writing, and it's exceeded all my expectations. Maybe if you're reading this it's exceeded your expectations as well, since that smashed toilet phone served up this content!

The app crashes or is closed around once per week, but the alarm plugin in the app on 2 minute intervals reboots the app if it's not already running. In between the reboots the web server is snappy and versatile. I have written a whole range of hardware integrations (ie Bluetooth, SMS, UART to USB Serial), and can remote control them from anywhere.

Currently I'm using Cloudflare as a proxy, but that's mostly to be on the safe side; I have a second phone I use for development, and I'm able to access it directly, with router port forwarding, or with my local linux proxy. Cloudflare also takes care of the SSL certificate for me, but I have a working prototype of an ACME client for Let's Encrypt certificates, so I may even switch to my own certs at some point.

Future Goals

I really want to see how far I can take this, and plan to try to replace most or all of my personal and development services with an equivalent that runs on this server. I've recently completed an FTP server and client, which should allow me to move much of my development work off of my linux box. I've got some basics for SMTP which allows me to send email, but having my own SMTP server would be even cooler!

I plan to open-source everything but the caveat as I see it is that it must be hosted on Git that is hosted by the phone. I've created a project I'm calling Qik to put everything under. If you're curious about how things are going, the Qik page sums everything up. If you interested in the web server portion, the Qik Node page is dedicated to the web server.