> I found out about the data stream from https://iss-mimic.github.io/Mimic/, which has considerably more and more interesting stats than just how full the piss tank is.
> I will not be adding any of them.
This, right here, is how you communicate non-goals of a project. Just perfect open-source communication best practices. We all stand to learn from this project.
(Though, predictably, some of us sit to interact with it.)
I don't know why, but I imagine a situation where all communication has broken down, and the only working sensor is the one in the piss-tank, and the astronauts have to communicate in morse by modulating the delta in the tank. And some guy with ADHD, and this menu bar app installed, is going to figure out whats going on what is going on, and save them all. (Hey, Hollywood - if this turns into a movie - I want my royalties)
> Hey, Hollywood - if this turns into a movie - I want my royalties
We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s.
By writing the original on a social media platform you've effectively given full copyright to this company. If royalties need to be paid, they'd be paid to yc, not you
> We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s
Can you please talk about this some more? A cursory search did not give me anything. What short story are you talking about and which adaptation of it?
Tho most likely they wouldn’t pay out any royalties and if there is legal action, they’ll just count it against the profits of the movie and record the whole thing as a wash and pay no taxes and no royalties.
> We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s.
... do you mean precedent of a scifi premise from social media being turned into a movie? or the precedent of a piece of media using a piss-tank's levels as a means of communication?
I meant the precedent of wherever he'd be able to get royalties for something he wrote on a social media website.
you're giving full copyright to the social media website you're posting on. If someone wanted to buy a licence to use this - whatever it might be - the discussion would be between the social media platform and the licensee.
the original author of the work would not have any stake in that theoretical situation.
It wasn't a book, it was on Johansen's laptop. And the ASCII was for communicating by pointing the camera on the mars rover, because it couldn't be positioned precisely enough for 26 different positions.
Why, wasn’t The Martian an example of hard sci-fi, a story that conforms strongly to the known laws of physics? Not necessarily probability, economics or politics, but hard sci-fi is written to be plausible.
The story is enjoyable, but like most such tales is amounts to building a string of deadly obstacles for the protagonist and then giving him just enough to survive each one. (FWIW the least realistic step was the ship turning around to get him, because spaceships typically don't carry any extra fuel. But in general there were too many resources lying around for him to use, especially the unattended lift vehicle. The plutonium core and the potatoes were a nice touch, though.)
I mean, why even use an ASCII table at that point? For initial comm you could just do A=0, B=1 etc. for initial comms (until you get to the point you want to reprogram the eeprom) you can have higher bandwidth communication.
If I remember correctly, the book addressed this. 26 division of a circle was too much for reliable determination of which sign the camera was pointing at, so 16 (hex) made the angles more workable.
If we're talking efficiency, I wonder why he didn't consider Morse code. Well I guess that's easy, even though it's faster it takes a skilled operator to read it in realtime, and he had little time to write any individual bit of information down (cumbersomely writing in sand is slow)
You can't represent 26 possibilities with a single hex digit. So it'll require 2 hex digits.
If you're going to require 2 digits, then that can be done with 2 decimal digits as well. So there's no need for hex, and no need for ascii tables.
However, if you need more than just the 26 letters, e.g. if you also need numbers and/or punctuation, then ascii might be useful, and hex might be useful to encode ascii into 2 digits.
I didn't say it needs to be sent 2 digits at a time.
The points of my previous comment:
* Ascii is only needed if we need to encode things other than just letters (or if case matters).
* Hex is only better than decimal if hex allows the number of digits to be reduced. If we need to only encode 26 elements, then hex doesn't reduce the number of digits compared to decimal, so hex has no advantage over decimal in the 26-element case.
Using just 0 or 1 will increase the number of digits needed, so has a clear disadvantage compared to hex or decimal.
> Hex is only better than decimal if hex allows the number of digits to be reduced. If we need to only encode 26 elements, then hex doesn't reduce the number of digits compared to decimal, so hex has no advantage over decimal in the 26-element case
He had more than 26 things to encode, I believe he started with numbers, letters and a question mark.
> Using just 0 or 1 will increase the number of digits needed, so has a clear disadvantage compared to hex or decimal
Using 0 or 1 decreases that to only 3 cards (including question mark), and increasing the safety margin to 120° on the setup he had. It'd take longer but be more robust.
He later painstakingly translates machine code transmitted via the camera to the rover which patches the software to allow him to chat via text, so hex came in handy
Heh, I follow a Bluesky bot that posts HN stories that have gone over 50 points and unexpectedly saw a very familiar Github link. I'd made a Show HN story about this ~5 days ago (https://news.ycombinator.com/item?id=42464454) and I was like "huh, how'd that suddenly get more traction" but turns out it wasn't even my post!
I'm so delighted that this is easily my most popular OSS project over the past 15 or so years (I have my "serious" stuff elsewhere), and I'm not being sarcastic here.
I'll happily answer any questions folks have (expect some reply lag because holiday season). I figure the most popular question is probably going to be "… but why?" though, and the honest-to-the-gods answer is "because I thought it was funny"; I was trying to come up with a nice and simple 1st project to do with Swift (holy crap that language's concurrency story is confusing), and once I ran into iss-mimic I knew what I had to do.
Absolutely! Realtime data will require a subscription, which will also include an LLM analysis of the past week's data. I think one of the VCs funding my upcoming disruptive space station piss tank telemetry platform requested that.
I'm pretty sure I can also shove a blockchain in there somewhere too even though they're a bit passé.
It'd be fantastic to have the flag of the country last pissed on in the menu bar item.
Ie. when the tank level increased last I guess? The value doesn't always seem to just monotonically increase though, but I could be wrong – frankly I haven't paid that close attention to the value. Could also be something like microgravity causing a bit of… uh… slosh making the sensor reading slightly inaccurate, or something along those lines?
It actually started life as a Swift library package + cli tool without any sort of Xcode project, but somehow when I tried to add it to an Xcode GUI project I just kept getting weird-ass linker errors and gave up after a while (nobody ask what those errors were, it's been a week and I can barely remember what happened yesterday)
I know they're working on ways to recycle the urine into water. Can you add a display of water levels and somehow show when it transfers between the two?
Ok I was the the tech lead and a flight controller at NASA with the team that released this telemetry as part of Isslive which this api (used by ISS mimic) used - we spent a number of years educating the public about the space station program
But on a more serious note, while my use of live ISS telemetry is probably about as maximally frivolous as can get, it's nothing short of amazing that this sort of abject silliness is not only possible but actually trivial to pull off. So hats off to you and the rest of the hard-working folks at NASA (et al) who made it possible in the first place.
And yes there's definitely all kinds of interesting telemetry available from the ISS. Seeing the dashboard that the ISS mimic project has was quite an eye-opener
Thousands of people are today learning about these metrics thanks to your funny project. And from that, someone else will also make something cool and useful.
I was wondering, when the ISS will finally be shut down and destroyed, will the telemetry stream run until the very end? In that case, I’m going to wait in front of the terminal for that last farewell of the station when the time comes…
Interesting. I asked Claude and ChatGPT-4o similar things and got quite a bit of variance. Using Aider and giving it your prompt, "Output a single HTML page with included JavaScript and CSS that fetches the latest levels of the urine tank on the ISS and displays it appropriately - it should be mobile friendly" and adding "use the same api as the swift code" worked in one shot. However, Claude could not one-shot it If I just asked for a "web page", and it took a couple more prompts to get it working. ChatGPT-4o kinda failed at the task. It hallucinated a URL to load lightstream.js from, but didn't realize that and I had to gasp debug the problem myself. I also tried with Copilot in VSCode since that's now free and got similar results.
With such variance though, it now becomes much easier for me to see why the question of if LLMs are any good at coding is so contentious every time it comes up on HN. If, even for such a small, well defined task, there's such variance in behavior from seemingly small prompt changes, it's now easier for me to see why some people see it as the second coming and others think LLM-assisted program is all hot air.
Oh it definitely does reflect how much astronaut urine is in the tank, but the value changes (sadly?) don't indicate direct use of the toilet due to how the system is configured.
Heh yeah I was meaning to change background & foreground colours on the menu bar item, but apparently SwiftUI's MenuBarExtra labels don't actually support changing the colors – at least not in any way that I found immediately obvious. I naturally forgot to remove the unused enum after I gave up trying to customise the label.
I didn't know that working for a state-funded college meant my pay information would be public information until one day someone told me they googled me and found how little I was making...
I was a LIGO member, which is publicly funded, and our live data stream was extremely secret, and in fact when you publish a paper you have to go through an internal review process called P&P that checks if you're using any secret data without permission
Could you then start to identify which astronaut by the amount? I didn't follow the link to see what other data that is not being used contains, but if there's any other chemical analysis data it could be done. NASA could then solve their funding issues by selling all of that analytics to data hoarders and start showing ads on all of the screens on the ISS. Hell, I'm now surprised that some YC startup hasn't released a Smart Toilet that does this.
Depending on the frequency of data updates, rate-of-change and rate-of-rate-of-change could be calculated and possibly correlated with specific user(s).
I’m just waiting for Apple to invent the iSpace Station, where privacy is taken seriously and Google writes them a trillion dollar check to be the default service provider.
Hmm. Maybe the next version should use AI to deduce the path the whizzing crew member took, by combining the tank fill status with other telemetry data like station orientation, vibration in different components etc.
I love that the project embraces piss as its central theme, the name itself, all variables such as "pissAmount"... But then the project description modestly calls it "urine".
This is exactly the sort of reaction I was hoping to inspire.
Like I said in my Show HN story, this is clearly a ridiculous and more or less completely useless application (probably even if you work for ISS Environmental Control and Life Support System), but it really is kind of amazing that this is possible in the first place, and didn't even involve all that much effort apart from the obvious newbie hurdles like "how in the hell am I supposed to do XYZ in Xcode?"
Good point! I'll have to add that in at some point after the holidays.
My motivation was entirely that I thought this was both a hilariously stupid use of a space station's telemetry stream, but also kind of amazing at the same time. Also a great excuse to learn Swift, but the sheer ridiculousness was what drove me.
Like I said in my earlier Show HN post on this (I think? Or maybe on Bluesky), it's remarkable that we live in a world where it takes an afternoon to bang out a joke application that reads actual realtime telemetry data from a space station's toilets.
Just checked github and the folder/file names are totally unreadable. Even rust project has better folder name like src/ test/ instead of these pISSStream.xcodeproj pISSStream etc...
Space toilets are one of those things that are both critical and ignored in most depictions of space. Even in all the years of Star Trek they have "sonic showers" , but never depict a toilet.
It's amazing that NASA publishes this data in real time.
> Space toilets are one of those things that are both critical and ignored in most depictions of space. Even in all the years of Star Trek they have "sonic showers" , but never depict a toilet
Why would they? They have artificial gravity everywhere and iirc it’s never failed like every other piece of technology when the plot demands it. The toilets wouldn’t look any different, except maybe the ones to accommodate non-human species (THAT would be interesting). Star Trek elides a lot of things that would otherwise be boring because “post-nuclear war Utopia solved it.”
Evacuation is only interesting in zero-G. Although to be fair I don’t remember the expanse or most other hard scifi touching on the topic.
I suddenly realize, though, that I can't ever remember seeing a bathroom door anywhere on any USS Enterprise or similar.
Like, wouldn't there be one tucked away in a back corner of the bridge, or a corner of a room or passage adjoining the bridge? Shouldn't we see a bathroom door, or at least the open entrance to a "bathroom corridor", as the characters do a walk-and-talk down the hallways?
And then... regular TV shows show women putting on or taking off their makeup in the bathroom mirror, people having a conversation through the shower door, someone in a stall overhearing a conversation by the sink... has Star Trek ever shown that?
What the heck does a bathroom look like on Star Trek? And the bathroom signage?
There is a bathroom door off the Enterprise-D bridge labeled HEAD. And the official deck plans have a second bathroom off of Picard’s ready room. But those are the only official ones.
The Battlestar Galactica reboot had a few scenes in the locker room/shower/toilet area. Pretty spartan, but probably familiar to anyone who served on a navy ship.
I remember one Star Trek writer theorizing that the Klingons were so cranky because they never put toilets in their ships.
I loved Babylon 5. One minor reason was because a scene was filmed in a restroom. With ultraviolet lights used in place of water for the handwashing. A sign that the characters are living in The Future. Showrunner J Michael Straczynski did this specifically as a small dig against Star Trek.
My understanding is the waste gets resequenced and used to create other items.
* Enterprise - S1E8 Breaking the Ice
> Tucker: The first thing you've got to understand is we recycle pretty much everything on a starship. That includes waste, and the first thing that happens to the waste is it gets processed through a machine called a bio-matter resequencer. Then it gets broken down into.
> So the waste is broken down into little molecules and then they get transformed into any number of things we can use on the ship. Cargo containers, insulation, boots, you name it.
* Discovery - S3E12 There is a tide...
> Admiral Charles Vance: It's made of our shit, you know.
> That's the base material that we use in our replicators. We deconstruct it to the atomic level and then reform the atoms.
Having spent an uncomfortable and expensive night in a foreign hospital after creating my own personal fatberg, this sounds like a technological innovation that would bring tears of joy rather than stress to my eyes.
Isn't it a joke in Space Cowboys, where Tommy Lee Jones inspects a gadget and one of the young astronauts tell him it's the "ACM - Asshole Centering Monitor"
I remember David Beazley of SWIG fame saying that he uses this as a metric. Include stuff in the course that makes people say... " I don't know how that's useful but damn that is cool".
Now I’m curious when and how the tank is emptied. Is the waste periodically picked up and brought back to Earth? Is it flushed directly into space? If not, is it because there is a risk of septic satellites, so to speak, stuck in orbit for other satellites to collide with? Moreover, what happens if the tank reaches capacity?
It's recycled as drinking water on ISS. For the shuttle, it was dumped creating an ice cloud that was visible from the ground with the sun in the right position.
The water you can find to drink on earth has most likely been
recycled through men and beasts countless times over millions of years.
Though the precise permutation atoms could be new.
The Expanse (book series) has a nice quote about water that "had been piss and tears and sweat and blood. The circle of life on Ceres was so small you could see the curve."
(Can't remember if these 2 are actually back-to-back, or even from the same book, but I think they were. Been a few years).
I can't remember the original source but I recall a pseudo inspirational quote that X atoms in your body were once part of Michaelengelo (or some other famous person). Seems plausible, yet another mind bender attributable to quantum physics.
Leave a feature request issue! I might actually get around to it one beautiful day, and if we're very lucky that might even happen before the heat death of the universe.
Oh believe me I would have used that metric if there was one, but apparently there is no fecal storage tank as such; your poop is collected in a bag by the Universal Waste Management System or UWMS (which is what you call a space toilet when you're NASA and don't want to say "space toilet"), and those bags are stashed in a "removable fecal storage canister". Some of those canisters are returned to Earth "for evaluation" ("yup, it's poop"), but most are loaded onto a cargo ship that is then burned up on re-entry. Couldn't see any obvious telemetry for the UWMS' urine / feces separatator fan system kajigger either (the "Dual Fan Separator" + sort of gearbox, because apparently a space toilet needs a gearbox.)
> I found out about the data stream from https://iss-mimic.github.io/Mimic/, which has considerably more and more interesting stats than just how full the piss tank is.
> I will not be adding any of them.
This, right here, is how you communicate non-goals of a project. Just perfect open-source communication best practices. We all stand to learn from this project.
(Though, predictably, some of us sit to interact with it.)
I don't know why, but I imagine a situation where all communication has broken down, and the only working sensor is the one in the piss-tank, and the astronauts have to communicate in morse by modulating the delta in the tank. And some guy with ADHD, and this menu bar app installed, is going to figure out whats going on what is going on, and save them all. (Hey, Hollywood - if this turns into a movie - I want my royalties)
> Hey, Hollywood - if this turns into a movie - I want my royalties
We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s.
By writing the original on a social media platform you've effectively given full copyright to this company. If royalties need to be paid, they'd be paid to yc, not you
> We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s
Can you please talk about this some more? A cursory search did not give me anything. What short story are you talking about and which adaptation of it?
Probably this: https://en.wikipedia.org/wiki/Rome%2C_Sweet_Rome
Tho most likely they wouldn’t pay out any royalties and if there is legal action, they’ll just count it against the profits of the movie and record the whole thing as a wash and pay no taxes and no royalties.
> We already have precident on that topic via that short story about the reverse isekai airplane carrier to ancient Rome that was written on Reddit in early 2010s.
... do you mean precedent of a scifi premise from social media being turned into a movie? or the precedent of a piece of media using a piss-tank's levels as a means of communication?
I meant the precedent of wherever he'd be able to get royalties for something he wrote on a social media website.
you're giving full copyright to the social media website you're posting on. If someone wanted to buy a licence to use this - whatever it might be - the discussion would be between the social media platform and the licensee. the original author of the work would not have any stake in that theoretical situation.
The hardest thing for me to believe in The Martian was that one of the astronauts would have brought a book with a printed ASCII table in it.
It wasn't a book, it was on Johansen's laptop. And the ASCII was for communicating by pointing the camera on the mars rover, because it couldn't be positioned precisely enough for 26 different positions.
I love how that’s the hardest thing to believe.
Why, wasn’t The Martian an example of hard sci-fi, a story that conforms strongly to the known laws of physics? Not necessarily probability, economics or politics, but hard sci-fi is written to be plausible.
The story is enjoyable, but like most such tales is amounts to building a string of deadly obstacles for the protagonist and then giving him just enough to survive each one. (FWIW the least realistic step was the ship turning around to get him, because spaceships typically don't carry any extra fuel. But in general there were too many resources lying around for him to use, especially the unattended lift vehicle. The plutonium core and the potatoes were a nice touch, though.)
I mean, why even use an ASCII table at that point? For initial comm you could just do A=0, B=1 etc. for initial comms (until you get to the point you want to reprogram the eeprom) you can have higher bandwidth communication.
If I remember correctly, the book addressed this. 26 division of a circle was too much for reliable determination of which sign the camera was pointing at, so 16 (hex) made the angles more workable.
If we're talking efficiency, I wonder why he didn't consider Morse code. Well I guess that's easy, even though it's faster it takes a skilled operator to read it in realtime, and he had little time to write any individual bit of information down (cumbersomely writing in sand is slow)
You can't represent 26 possibilities with a single hex digit. So it'll require 2 hex digits.
If you're going to require 2 digits, then that can be done with 2 decimal digits as well. So there's no need for hex, and no need for ascii tables.
However, if you need more than just the 26 letters, e.g. if you also need numbers and/or punctuation, then ascii might be useful, and hex might be useful to encode ascii into 2 digits.
If I send you this: 48697468657265
Why do I need to send it to you 2 digits at a time? It's valid hex that converts to ascii, only 1 symbol at a time, which is how he communicated.
He could've done it with just a card for 0 and another for 1 if he really wanted.
I didn't say it needs to be sent 2 digits at a time.
The points of my previous comment:
* Ascii is only needed if we need to encode things other than just letters (or if case matters).
* Hex is only better than decimal if hex allows the number of digits to be reduced. If we need to only encode 26 elements, then hex doesn't reduce the number of digits compared to decimal, so hex has no advantage over decimal in the 26-element case.
Using just 0 or 1 will increase the number of digits needed, so has a clear disadvantage compared to hex or decimal.
> Hex is only better than decimal if hex allows the number of digits to be reduced. If we need to only encode 26 elements, then hex doesn't reduce the number of digits compared to decimal, so hex has no advantage over decimal in the 26-element case
He had more than 26 things to encode, I believe he started with numbers, letters and a question mark.
> Using just 0 or 1 will increase the number of digits needed, so has a clear disadvantage compared to hex or decimal
Using 0 or 1 decreases that to only 3 cards (including question mark), and increasing the safety margin to 120° on the setup he had. It'd take longer but be more robust.
He later painstakingly translates machine code transmitted via the camera to the rover which patches the software to allow him to chat via text, so hex came in handy
Too bad he didn't know Hangul (Korean writing system). He could have managed to communicate well enough with half a dozen chars.
I mean they had laptops; just
for (unsigned char i = 0; i < 127; i++) { printf("%x: %c\n", i, i); }
It’s a book. Explaining a lookup table is way easier for a reader than explaining this code snippet.
Or `man ascii`
Surely `spaceman ascii`
Brilliant!
> https://iss-mimic.github.io/Mimic/
Be sure to also read the project page:
https://github.com/ISS-Mimic/Mimic
All that data seems would be really helpful to help me do some nasty social engineering with the ISS and crew
Only thing now is how to haul my ass up there to do that
> Only thing now is how to haul my ass up there to do that
If you take a ride on Starliner, you might need to ensure your schedule is extremely flexible
"I'm calling about your space station's extended warranty"
Nice, time for a rebasing token that rebases to the Airlock Pressure value
scam some boomers with Real World Assets(tm)
Heh, I follow a Bluesky bot that posts HN stories that have gone over 50 points and unexpectedly saw a very familiar Github link. I'd made a Show HN story about this ~5 days ago (https://news.ycombinator.com/item?id=42464454) and I was like "huh, how'd that suddenly get more traction" but turns out it wasn't even my post!
I'm so delighted that this is easily my most popular OSS project over the past 15 or so years (I have my "serious" stuff elsewhere), and I'm not being sarcastic here.
I'll happily answer any questions folks have (expect some reply lag because holiday season). I figure the most popular question is probably going to be "… but why?" though, and the honest-to-the-gods answer is "because I thought it was funny"; I was trying to come up with a nice and simple 1st project to do with Swift (holy crap that language's concurrency story is confusing), and once I ran into iss-mimic I knew what I had to do.
Are you planning to add AI and monetize this?
Absolutely! Realtime data will require a subscription, which will also include an LLM analysis of the past week's data. I think one of the VCs funding my upcoming disruptive space station piss tank telemetry platform requested that.
I'm pretty sure I can also shove a blockchain in there somewhere too even though they're a bit passé.
Will you release the piss dataset for commercial use?
or will you consider a piss left license?
Will it be called the piss+ or the piss-pro?
Piss+ ofcourse. It sets up the zero-G defecation market for the much more profitable piss+poop product.
But the real money is in piss+poop enterprise which comes with SSO (single shit to orbit).
Thank you for this holiday gift of laughter <3
More agile
You don't really want an agile toilet interface. This is more a waterfall project.
Make sure there's plenty of space to output those logs.
Waterfall in a zero-g environment? I don't think so sir, Agile all the way.
Why not kanban? Stuff floats in the air on its own anyway.
Finally a real 3D kanban.
Boooo :)
Thank you, this response made my day:)
Hah! This is great!
I’ve done something like this, but also used the location of ISS to figure out which country was “getting pissed on the most” by the astronauts.
I’m fairly sure I got a working script somewhere for the data, but unfortunately never got around to create a leaderboard website for it :/
I would like to remind everyone that the "New pull request" button is like right there on https://github.com/jaennaet/piSSStream/pulls
It'd be fantastic to have the flag of the country last pissed on in the menu bar item.
Ie. when the tank level increased last I guess? The value doesn't always seem to just monotonically increase though, but I could be wrong – frankly I haven't paid that close attention to the value. Could also be something like microgravity causing a bit of… uh… slosh making the sensor reading slightly inaccurate, or something along those lines?
Now I'm thinking doing it for constellations, which zodiac is the most celestially pissy.
Knowing which star sign 'causes' people to pee would be invaluable information to astrologists!
The sky’s the limi.. no wait :D
I suspect I need to combine that datasource with this indicator that I made: https://www.secretbatcave.co.uk/electronics/shart-o-meter/
Have you considered making this a library? I think every Swift application needs this important metric on the about panel.
It actually started life as a Swift library package + cli tool without any sort of Xcode project, but somehow when I tried to add it to an Xcode GUI project I just kept getting weird-ass linker errors and gave up after a while (nobody ask what those errors were, it's been a week and I can barely remember what happened yesterday)
I know they're working on ways to recycle the urine into water. Can you add a display of water levels and somehow show when it transfers between the two?
link the bluesky bot?
https://bsky.app/profile/betterhn50.bsky.social
No AI woo-woo which I consider a huge plus
Not OP, but maybe this?
https://bsky.app/profile/hnews.southla.social
Ok I was the the tech lead and a flight controller at NASA with the team that released this telemetry as part of Isslive which this api (used by ISS mimic) used - we spent a number of years educating the public about the space station program
https://youtu.be/xAhw_8B25N0?si=OZXH9sZ0bY_iX40V
And now 12 years later we have PissStream.. haha
lol that is a bit funny.. good to see our livestream server is being put to good use - lots of other good telemetry though :)
I love ISSMimic
I am not sorry and I will do it again.
But on a more serious note, while my use of live ISS telemetry is probably about as maximally frivolous as can get, it's nothing short of amazing that this sort of abject silliness is not only possible but actually trivial to pull off. So hats off to you and the rest of the hard-working folks at NASA (et al) who made it possible in the first place.
And yes there's definitely all kinds of interesting telemetry available from the ISS. Seeing the dashboard that the ISS mimic project has was quite an eye-opener
Thousands of people are today learning about these metrics thanks to your funny project. And from that, someone else will also make something cool and useful.
I'm going to add "science communicator" to my résumé.
But yes, the app may be a joke but at least there's something there beneath the joke.
I was wondering, when the ISS will finally be shut down and destroyed, will the telemetry stream run until the very end? In that case, I’m going to wait in front of the terminal for that last farewell of the station when the time comes…
~2030 as of now.
Here's a web port of this: https://gistpreview.github.io/?76f03f49be58344bfa64c9d5d9f0e... (source code here: https://gist.github.com/simonw/76f03f49be58344bfa64c9d5d9f0e... )
Created by pasting the entire Swift GitHub repo into Gemini 2.0 and asking it to port it to a web page: https://gist.github.com/simonw/b4aec4e879e50ac74f6f9cc6e1cdc...
The bastard even added rudimentary error handling
Ethical usage would include thankful attribution.
Interesting. I asked Claude and ChatGPT-4o similar things and got quite a bit of variance. Using Aider and giving it your prompt, "Output a single HTML page with included JavaScript and CSS that fetches the latest levels of the urine tank on the ISS and displays it appropriately - it should be mobile friendly" and adding "use the same api as the swift code" worked in one shot. However, Claude could not one-shot it If I just asked for a "web page", and it took a couple more prompts to get it working. ChatGPT-4o kinda failed at the task. It hallucinated a URL to load lightstream.js from, but didn't realize that and I had to gasp debug the problem myself. I also tried with Copilot in VSCode since that's now free and got similar results.
With such variance though, it now becomes much easier for me to see why the question of if LLMs are any good at coding is so contentious every time it comes up on HN. If, even for such a small, well defined task, there's such variance in behavior from seemingly small prompt changes, it's now easier for me to see why some people see it as the second coming and others think LLM-assisted program is all hot air.
Good example of stream processing
ISS Mimic team member here - I love it. Great work!
And for anyone worried about astronaut privacy, the urine tank quantity does not reflect ... direct addition of urine from a crew member ;)
"Great" may be overstating things just a tiny bit especially in comparison to ISS Mimic but I'll absolutely take the compliment, thank you.
I'm also curious as to what the quantity actually does reflect – I clearly haven't peered deep enough into the soul of the UWMS.
Oh it definitely does reflect how much astronaut urine is in the tank, but the value changes (sadly?) don't indicate direct use of the toilet due to how the system is configured.
Well where exactly are my tax dollars going then? /s
Now I'm genuinely curious — what _does_ it reflect then?
Aliens using the ISS toilet confirmed.
It might include additional liquid for flushing/cleaning etc?
What I'm curious about is when the levels go down. Does that mean it's emptied over some country?
I thought, that most/all water is recycled into the drinking water tank after some processing.
On semi-related news...
Santa Cruz Wharf’s fallen restroom becomes an unlikely tourist attraction: https://archive.ph/k1lwt
Spot on variable names.
Heh yeah I was meaning to change background & foreground colours on the menu bar item, but apparently SwiftUI's MenuBarExtra labels don't actually support changing the colors – at least not in any way that I found immediately obvious. I naturally forgot to remove the unused enum after I gave up trying to customise the label.
Creator of apolloinrealtime.org here. I work on the ISS program now. Hat’s off, sir.
Apollo in Real Time is an overwhelmingly awesome resource. Thank you.
I... Did not know that was public information.
It's publicly funded!
I didn't know that working for a state-funded college meant my pay information would be public information until one day someone told me they googled me and found how little I was making...
Username checks out.
I was a LIGO member, which is publicly funded, and our live data stream was extremely secret, and in fact when you publish a paper you have to go through an internal review process called P&P that checks if you're using any secret data without permission
An API may have saved a Freedom Of Information Act request.
You could potentially send a notification every time a crew member takes a whizz
Could you then start to identify which astronaut by the amount? I didn't follow the link to see what other data that is not being used contains, but if there's any other chemical analysis data it could be done. NASA could then solve their funding issues by selling all of that analytics to data hoarders and start showing ads on all of the screens on the ISS. Hell, I'm now surprised that some YC startup hasn't released a Smart Toilet that does this.
Depending on the frequency of data updates, rate-of-change and rate-of-rate-of-change could be calculated and possibly correlated with specific user(s).
> Hell, I'm now surprised that some YC startup hasn't released a Smart Toilet that does this.
Thanks, Smart Pipe!
https://youtu.be/DJklHwoYgBQ?si=xfgjgOVc_P4-k44C
well, rule 42 of the internet: if you can think it, it exists on the internet
I'm more concerned about the unthinkable things.
Don't think too hard about it.
And probably let's not apply rule 34 here, either.
Is there a separate tank for solid excrement? Are we missing an opportunity for a shit stream?
How is that even released from ISS?
It's interesting that the Russian version of the page uses the same blue color scheme Russians like to use for their consoles and equipment.
It's a neat and considerate detail if you ask me.
I thought this was really cool so I decided to write a windows version :)
https://github.com/grantshandy/WinpISSStream
The internet is amazing
Privacy is not a concern in space I guess. Absolutely horrific, I love it.
I’m just waiting for Apple to invent the iSpace Station, where privacy is taken seriously and Google writes them a trillion dollar check to be the default service provider.
This reminds me of the [0] iBrain.
[0] https://www.youtube.com/watch?v=UtV80ZdpTY0
I love the "Merry Christmas" part, very seasonally appropriate. The clown stuff was pretty unexpected though.
Careful. We don’t need another iRack situation.
https://youtu.be/xcjLEwZqcQI?feature=shared
Hmm. Maybe the next version should use AI to deduce the path the whizzing crew member took, by combining the tank fill status with other telemetry data like station orientation, vibration in different components etc.
Just in time for “Merry Christmas, shitter’s full”
Found this X account which posts in real-time some of the same info, hahaha: https://x.com/isstoiletelem
When you make a newsletter (so hot right now) can you call it "Piss Fax"?
I love that the project embraces piss as its central theme, the name itself, all variables such as "pissAmount"... But then the project description modestly calls it "urine".
That's my favorite project of 2024 so far!
That is absolutely hilarious and amazing. I love the effort people put into things like this.
This is exactly the sort of reaction I was hoping to inspire.
Like I said in my Show HN story, this is clearly a ridiculous and more or less completely useless application (probably even if you work for ISS Environmental Control and Life Support System), but it really is kind of amazing that this is possible in the first place, and didn't even involve all that much effort apart from the obvious newbie hurdles like "how in the hell am I supposed to do XYZ in Xcode?"
I wish there was more written in the readme about the motivation for this project.
Good point! I'll have to add that in at some point after the holidays.
My motivation was entirely that I thought this was both a hilariously stupid use of a space station's telemetry stream, but also kind of amazing at the same time. Also a great excuse to learn Swift, but the sheer ridiculousness was what drove me.
Like I said in my earlier Show HN post on this (I think? Or maybe on Bluesky), it's remarkable that we live in a world where it takes an afternoon to bang out a joke application that reads actual realtime telemetry data from a space station's toilets.
I enjoy that you learned how to use Swift in some new ways, including the MacOS menu bar. This is a perfect practice project, it seems.
Knowing the status of the ISS piss tank is its own reward.
See, you get it.
I wonder how many amazing things put there died a crib death because the creator struggled to find a "real" motivation for it's existence.
I reckon more often than not "because I wanted to" is more than enough for many things.
I expected to see a CoC in the repo.
I mean,
> Not the epitome of good coding practices since this was my first Swift & macOS app ever, may break in exciting ways at the slightest excuse.
sounds like it's a learning exercise. One of my first interesting programs was a weather app; this is just a weirder version of that.
This is cool, when I clicked on the link https://iss-mimic.github.io/Mimic/ I was amazed to see a lot more data in the public domain.
If you like a more practical version of the metrics feed, I created a Grafana dashboard once:
https://github.com/Radiergummi/iss-metrics
Merry Christmas to you too
Forked the code and built a windows .net version. I got it to bring in telemetry data but failed to get the Urine Tank [%]
I don't see a "urine test" in the test suite.
100% probability that there will be a test with a name along those lines if I ever do end up actually writing tests
In space, nobody can hear you piss.
And they don’t need to, because they get a notification on their desktop when you do.
Add space piss notifications.
I don't think that page is using the word "errata" correctly. I think it's supposed to be a list of errors, but it doesn't seem to list any errors.
Urine trouble if I see this on your screen
Are there any video games that include the ISS? It would be a cool add-on, having live telemetry added to the in-game version.
This is the first and only macOS menu bar app I've ever used and I couldn't be happier.
Nothing against the project itself but I gotta say, the amount of votes this post has gathered makes me lose faith in HN.
Maybe one of the crew members will start to urinate in Morse code.
It's too hard to pull of. We need an RFC for a Urination Communication Protocol.
Awesome, was just looking for sth like this, perfect timing
Just checked github and the folder/file names are totally unreadable. Even rust project has better folder name like src/ test/ instead of these pISSStream.xcodeproj pISSStream etc...
Apple please do better.
Thanks.
I do hope someone can port this to gnome extensions.
My thoughts exactly. Surely somebody will take on this important work
If you’re looking at this post and thinking to yourself “but.. why?” that means it’s currently functioning correctly.
Relevant pop-culture:
https://bigbangtheory.fandom.com/wiki/Wolowitz_Zero-Gravity_...
Space toilets are one of those things that are both critical and ignored in most depictions of space. Even in all the years of Star Trek they have "sonic showers" , but never depict a toilet.
It's amazing that NASA publishes this data in real time.
> Space toilets are one of those things that are both critical and ignored in most depictions of space. Even in all the years of Star Trek they have "sonic showers" , but never depict a toilet
Why would they? They have artificial gravity everywhere and iirc it’s never failed like every other piece of technology when the plot demands it. The toilets wouldn’t look any different, except maybe the ones to accommodate non-human species (THAT would be interesting). Star Trek elides a lot of things that would otherwise be boring because “post-nuclear war Utopia solved it.”
Evacuation is only interesting in zero-G. Although to be fair I don’t remember the expanse or most other hard scifi touching on the topic.
The novel versions of the Expanse do touch on human excreta at points. There's a mention of a urine collection device in a space suit at some point.
The TV series does too, indirectly. Look up the etymology of the expletive "felota".
I suddenly realize, though, that I can't ever remember seeing a bathroom door anywhere on any USS Enterprise or similar.
Like, wouldn't there be one tucked away in a back corner of the bridge, or a corner of a room or passage adjoining the bridge? Shouldn't we see a bathroom door, or at least the open entrance to a "bathroom corridor", as the characters do a walk-and-talk down the hallways?
And then... regular TV shows show women putting on or taking off their makeup in the bathroom mirror, people having a conversation through the shower door, someone in a stall overhearing a conversation by the sink... has Star Trek ever shown that?
What the heck does a bathroom look like on Star Trek? And the bathroom signage?
There is a bathroom door off the Enterprise-D bridge labeled HEAD. And the official deck plans have a second bathroom off of Picard’s ready room. But those are the only official ones.
Visually, it's on the bridge of the Enterprise D [0][1]. Everyone else has to use a bucket [2].
[0] https://cygnus-x1.net/links/lcars/blueprints/star-trek-the-n...
[1] https://memory-alpha.fandom.com/wiki/Bathroom
[2] https://memory-alpha.fandom.com/wiki/Odo%27s_bucket
Star Trek has "sonic showers": https://memory-alpha.fandom.com/wiki/Sonic_shower
And for other bathroom activities: One can imagine creative use of the transporter. Although: https://www.youtube.com/watch?v=mIsauNJ392o
The Battlestar Galactica reboot had a few scenes in the locker room/shower/toilet area. Pretty spartan, but probably familiar to anyone who served on a navy ship.
I remember one Star Trek writer theorizing that the Klingons were so cranky because they never put toilets in their ships.
I loved Babylon 5. One minor reason was because a scene was filmed in a restroom. With ultraviolet lights used in place of water for the handwashing. A sign that the characters are living in The Future. Showrunner J Michael Straczynski did this specifically as a small dig against Star Trek.
My pet theory is that Star Trek just beams the waste out of folks automatically.
My understanding is the waste gets resequenced and used to create other items.
* Enterprise - S1E8 Breaking the Ice
> Tucker: The first thing you've got to understand is we recycle pretty much everything on a starship. That includes waste, and the first thing that happens to the waste is it gets processed through a machine called a bio-matter resequencer. Then it gets broken down into.
> So the waste is broken down into little molecules and then they get transformed into any number of things we can use on the ship. Cargo containers, insulation, boots, you name it.
* Discovery - S3E12 There is a tide...
> Admiral Charles Vance: It's made of our shit, you know.
> That's the base material that we use in our replicators. We deconstruct it to the atomic level and then reform the atoms.
Hopefully no beta testers had their guts beamed into space by accident when they were dialing it in. What a way to go.
The frequency with which the supposedly mature tech glitches out would have me very leery of using it for mundane purposes daily.
Having spent an uncomfortable and expensive night in a foreign hospital after creating my own personal fatberg, this sounds like a technological innovation that would bring tears of joy rather than stress to my eyes.
anyone with kidney stones would be interested as well
Maybe give my arteries a quick scrape while you’re in there.
Oh yeah been there too. Imagine the day you could beam them out!
It is a little known fact that everyone in Trek pees and poos in the sonic shower.
I like the story arc in Avenue 5 about dealing with waste in space. They went in a slightly different direction though
Isn't it a joke in Space Cowboys, where Tommy Lee Jones inspects a gadget and one of the young astronauts tell him it's the "ACM - Asshole Centering Monitor"
Centering Module
Of course there was the scene in Apollo 13 about catching the clap from sharing relief tubes that puts things in perspective
Thank you. Humanity's not done yet!
What type of MCU sensor is on the pee bucket? How would one communicate with it?
What an incredibly specific application!
A bit of a drip if you ask me. The whole thing reeks of stale body fluids. Why don't you piss off and make something useful?
Seriously though, this is a hits the sweet spot of being useless and funny perfectly.
Exactly what I was going for.
I'd rather make something funny (but also kind of interesting) than useful any day.
I remember David Beazley of SWIG fame saying that he uses this as a metric. Include stuff in the course that makes people say... " I don't know how that's useful but damn that is cool".
The perfect DevOops tool
Finally the perfect use for the accursed touch bar!
This readme is hilarious
so this means if the % is actively increasing, we could also have a isSomeoneCurrentlyPISSSing boolean
A live stream stream!
If the % increases in small steps, then the hasProblemsVoiding boolean is set.
This is weird.
I wholeheartedly agree
pISSStreamUITests -> pISSStreamUrineTests
The finns strike again.
Great for competitions.
What… uh, what sort of competitions are we talking about here, exactly?
Now I’m curious when and how the tank is emptied. Is the waste periodically picked up and brought back to Earth? Is it flushed directly into space? If not, is it because there is a risk of septic satellites, so to speak, stuck in orbit for other satellites to collide with? Moreover, what happens if the tank reaches capacity?
It's recycled as drinking water on ISS. For the shuttle, it was dumped creating an ice cloud that was visible from the ground with the sun in the right position.
https://www.space.com/7274-mystery-explained-glow-night-sky-...
It is filtered and reused as drinking water.
Shipping water is not ideal, I’m all for filtration and reuse. As a true NIMBY, I’ll stick with fresh water for myself.
The water you can find to drink on earth has most likely been recycled through men and beasts countless times over millions of years. Though the precise permutation atoms could be new.
Of for sure. It’s just that it’s a bit too close to home when you know who’s piss it is you’re drinking. I’m more ok with diplodocus piss.
The Expanse (book series) has a nice quote about water that "had been piss and tears and sweat and blood. The circle of life on Ceres was so small you could see the curve."
(Can't remember if these 2 are actually back-to-back, or even from the same book, but I think they were. Been a few years).
I can't remember the original source but I recall a pseudo inspirational quote that X atoms in your body were once part of Michaelengelo (or some other famous person). Seems plausible, yet another mind bender attributable to quantum physics.
The piss meter IS real. I love this.
Thank you.
Now this. This is the kind of quality hacking I come to this site for.
That's great thank you. Can we please get this as an on the iOS Lock Screen app. Thanks.
Leave a feature request issue! I might actually get around to it one beautiful day, and if we're very lucky that might even happen before the heat death of the universe.
Great! Now I just need a way to see the menu bar items that get pushed behind the notch.
...and it's almost 6MB. For a little widget that just reads some data from the network and displays it. That's what really takes the piss.
Relevant quote: "We flew to the moon on 4KB of RAM."
At least it’s got tests … oh, wait …
Why not the poop tank, dueces per hour. Not too hard to do engineering wise
Oh believe me I would have used that metric if there was one, but apparently there is no fecal storage tank as such; your poop is collected in a bag by the Universal Waste Management System or UWMS (which is what you call a space toilet when you're NASA and don't want to say "space toilet"), and those bags are stashed in a "removable fecal storage canister". Some of those canisters are returned to Earth "for evaluation" ("yup, it's poop"), but most are loaded onto a cargo ship that is then burned up on re-entry. Couldn't see any obvious telemetry for the UWMS' urine / feces separatator fan system kajigger either (the "Dual Fan Separator" + sort of gearbox, because apparently a space toilet needs a gearbox.)
This is not knowledge I ever expected to have.
https://www.nasa.gov/humans-in-space/boldly-go-nasas-new-spa...
>because apparently a space toilet needs a gearbox
For when you need to shi(f)t into maximum overdrive?
For all the potential US Vice presidents in here[1] this NEEDS to have a temperature reading too! Not to mention volume conversions to buckets.
[1] Hey, it _could_ happen. Look at Elon!