What does "in this room: 25" mean? The number remains the same when I change the station. Is there only a single room and I changed the station for everybody? Or are there 25 people in every room (=station)? :-)
It's the current visitors. I liked the word "room" to make you feel like you're in good company, but maybe it'd be better to just write "live now". What do you think?
The streams are just the name as a youtube video. For example if you click the "lofi hip hop radio - beats to relax/study to" in the bottom left (r what ever you are on) you'll see all the streams. Copying that name and pasting it in Youtube will show you the stream.
Though I do agree a link to them (since there is no mention of Lofi Girl anywhere for example) would be nice.
The project has a better chance of survival if it follows the rules of the platform sourcing their content. I think that warning somebody that they're standing on a cliff edge is the polite thing to do, even if the cliff is man-made.
Yes, although I’d note that among people who listen to lofi music, the “anime girl studying with rain outside the window” animation is an extremely well known meme.
Can't have contributions when the images likely aren't even under a license that would allow use like this. I guess it's better not to say where they are from and hope people don't notice...
The image of the girl lying on the floor is a screencap from the "Whisper of the Heart" movie. I doubt it's licensed. Various "lo-fi" YouTube channels used to do that as well, but got copyright strikes and changed to original artwork.
> Dimitri chose the character of Shizuku Tsukishima from the Studio Ghibli film Whisper of the Heart as the face of the channel, with footage of her studying or writing used in the streams. When the popularity of the streams ultimately led to some getting taken down for copyright violations, Dimitri decided to maintain the Ghibli-esque aesthetic but with an original character and put out a call for artists.
Could the CPU load be reduced? If I am only on the page, not even playing any music yet (probably because something is blocked), I get 1 core up at 100% CPU load. This can't all be for an animated background image, can it?
It appears that every GIF frame is a Chrome paint (which makes sense) but a way to make the GIF static or turn off the GIFs would reduce paints down to basically nothing.
If it's only a few frames you might be able to arrange them vertically in a PNG and animate background-position to get the same effect for cheaper.
Correction: you want to use transform to force creation of a new rendering layer, then when adjusting the rendered position of the element using transform will not cause a repaint.
To go in the opposite direction, if you wanted to add an option for people fine with large CPU/GPU expenditure (i.e., if this were playing on a dedicated TV in an actual café), it might be fun to add a WebGL canvas and make lofi/vaporwave-inspired effects [0].
I actually really like this feature when playing music for a whole room on my OLED TV. People like watching the fancy graphics and I get to dodge a tiny little bit of burn in.
It might be cool to needlessly spin up a CPU/GPU for no reason other than not being familiar with a more effectient method of doing something? I don't know where you come from, but that's not my definition of cool at all
Hinted at with lower bandwidth requirements, but the biggest win with video is their stellar compression. GIFs store every single color value, which is why they get so huge so quick.
Hey, just wanted to let you know I've just pushed a "low-energy" mode that will remove some elements and effects on screen. On my Mac (MBP with M1 chip) it makes the webview go from 40% CPU to around 10-15%.
The stations are actually YouTube streams, if you open dev tools you can get the stream ID from the YouTube thumbnail that gets preloaded by the YouTube library.
Well it's not like I know a hundred lofi songs by heart or subscribe to lofi news but it serves as a nice background when I'm working alone in my apartment.
Yeah, that's pretty much it; lofi is loud enough to drown out intermittent noise in the area, while monotonous and simple enough to allow you to concentrate on whatever you're doing instead of on the music.
I like it, but I use it moreso for when I want to tune out noises in my surroundings with something other than say, "bird noises" or "distance thunderstorm".
Yes exactly, I usually listen to it when studying. With it on 25% volume and noise cancelling headphones it tunes out the world very nicely while avoiding dead silence.
I think there's a line where it stops being reasonable. If I know every comment on a Show HN is going to be blatant self promotion, I'm not going to view those posts even if the OP is interesting to me.
> Show HN is for something you've made that other people can play with. HN users can try it out, give you feedback, and ask questions in the thread.
> On topic: things people can run on their computers or hold in their hands. For hardware, you can post a video or detailed article. For books, a sample chapter is ok.
I am glad to see work from other hacker news members. When it isn't interesting to me, I find something else on the internet or IRL that is.
Great point. While not everything is appropriate to share in response to someone else's "Show HN" post, I've definitely seen (and appreciated) others linking similar projects. It usually is in the context of saying something like:
- I tried this too, and can appreciate that you solved way harder things than we expected to have to deal with
- I had this idea too but like your execution
I think it's very fitting, especially since we are celebrating not just the idea, but the execution that someone did to be able to show it off here.
Maybe there should be a weekly/monthly “Show HN” (like the who’s hiring thread) where everyone can promote what they’re working on. Doesn’t have to be new things, even progressive updates would do.
Hey @dang, how does a free-for-all self promotion thread sound (minus the spam)
I tried my hand at something similar using a sleep music themed YT channel and website. Couldn't get things to click. And FB ended up blocking my site on the sharing debugger.
I love breaking things and I've noticed that user are able to intercept the UID / ID of the received messages in the Websocket and edit / spoof past messages from other users.
edit: And editing other user names and rooms settings.
Thanks for catching that! One thing I really wanted for the project was not having to sign in to use, but that's been causing a lot of security holes like this. Gonna try to fix everything soon
Out of curiosity, what are the motivation(s) for not requiring users to sign in? Is it just lowering the barrier to entry, or are you concerned with privacy?
I'm really not knowledgeable about firestore, firebase or even authentification systems but couldn't an user request a secret key that the user will use to authentificate itself when sending a message into the websocket (that will not be transmitted to the other users)?
For the login-gate, I'm pretty sure 99%+ of the visitor would have not created an account. Even without the login, the HN room shared in that thread was kind of inactive.
Since the rooms are "private' by default (secret token in the URL), authentification is now really necessary for casual usage.
Yes you could generate a rsa key pair in the browser and send a tuple of user id (or just a nonce) and public key to the server as a form of automatic registration. The client could prefix each chat with the user if/nonce and sign it with the private key before sending it to the server. From then on the server could simply retrieve the public key it has associated with the user id prefix and reject any messages that fail signature validation.
This could also work in a peer-to-peer context by only using the server for public key registration (i.e. by chat room). All messages would go directly between clients and the server would never receive chat messages.
236 comments
[ 0.24 ms ] story [ 114 ms ] threadCounting the listeners in a station instead of visitors site-wide would be kinda neat though, and "room" works well then I think.
edit: or maybe "in the cafe" for site-wide visitors? That should be clear and has the same feeling as "room".
"In the room XXX" really confused me because I thought I were in room XXX. (There's at least a colon missing after "room"!)
Though I do agree a link to them (since there is no mention of Lofi Girl anywhere for example) would be nice.
Maybe they will care when they get their account and maybe even any related accounts suspended.
I love lofi hip hop, so I wish good luck. But especially because of the exposure this might end not nice for the operators.
The image of the girl lying on the floor is a screencap from the "Whisper of the Heart" movie. I doubt it's licensed. Various "lo-fi" YouTube channels used to do that as well, but got copyright strikes and changed to original artwork.
https://www.giantbomb.com/forums/anime-790045/is-studio-ghib...
Studio Ghibli did release a lot of screenshots from many of their movies about 6 months ago¹, but this movie is not among those included.
1. https://news.ycombinator.com/item?id=24564775
> Dimitri chose the character of Shizuku Tsukishima from the Studio Ghibli film Whisper of the Heart as the face of the channel, with footage of her studying or writing used in the streams. When the popularity of the streams ultimately led to some getting taken down for copyright violations, Dimitri decided to maintain the Ghibli-esque aesthetic but with an original character and put out a call for artists.
Correction: you want to use transform to force creation of a new rendering layer, then when adjusting the rendered position of the element using transform will not cause a repaint.
https://caniuse.com/apng
[0]: http://hands.wtf/rad
[1] https://fill.com.ua/gif/zagostrennya
You can activate it by pressing "l".
Is the list of stations hand picked, can I access it outside this app?
When adding to home screen I get React app as title by default.
[1] https://news.ycombinator.com/item?id=24476641
I admit these backgrounds require a bit of effort to make. But what's the point? To use it as a screensaver?
It's not unlike elevator music.
I like it, but I use it moreso for when I want to tune out noises in my surroundings with something other than say, "bird noises" or "distance thunderstorm".
https://lofi.chat/r/Hacker-news-310e9120
Good vibes only
https://news.ycombinator.com/showhn.html
> Show HN is for something you've made that other people can play with. HN users can try it out, give you feedback, and ask questions in the thread.
> On topic: things people can run on their computers or hold in their hands. For hardware, you can post a video or detailed article. For books, a sample chapter is ok.
I am glad to see work from other hacker news members. When it isn't interesting to me, I find something else on the internet or IRL that is.
- I tried this too, and can appreciate that you solved way harder things than we expected to have to deal with - I had this idea too but like your execution
I think it's very fitting, especially since we are celebrating not just the idea, but the execution that someone did to be able to show it off here.
Hey @dang, how does a free-for-all self promotion thread sound (minus the spam)
edit: And editing other user names and rooms settings.
Just letting you know. :)
I’m curious to know how the solution would work.
For the login-gate, I'm pretty sure 99%+ of the visitor would have not created an account. Even without the login, the HN room shared in that thread was kind of inactive.
Since the rooms are "private' by default (secret token in the URL), authentification is now really necessary for casual usage.
This could also work in a peer-to-peer context by only using the server for public key registration (i.e. by chat room). All messages would go directly between clients and the server would never receive chat messages.
- I am not affiliated with it.
I wouldn't classify lofi as elevator music, however. But I love "chill" music in general.