yokljo
yokljo on Hacker News
I really enjoyed "Samorost 3" by the same developers. Machinarium still takes the cake though.
Thanks. It was just a fun exercise and I had fun writing about it.
Haha thank you, I was quite pleased with the outcome. It's good, cause getting the animated emojis working would be pretty involved :P
I'm the OP, and I have to pitch in here. This comment is a bit unhinged, basically claiming that every WIP GUI library written in Rust sucks on principle. This is false, and there are some very good ongoing efforts that will probably be great and desirable GUI options in the future.
Also, the comment claims that QML is not Qt. QML was added to Qt in 2009 and has been where a large proportion of the developer's focus has been ever since. It is absolutely Qt and you can't claim otherwise.
A bit of a passionate response to a passionate parent comment.
Hey, I'm the author of the post. Thanks for reading! Appreciate it :)
I think QML is very easy to get started with and you should just give it a go. It's not without its weirdness as other comments have already mentioned, and unfortunately there's still many controls that are less-than-ideal for desktop applications than their original QWidget equivalents. Using QWidgets+UIC is nice, but in my experience creates problems when you want to get fancy and custom with your design, with animations and shifting layouts and whatnot, well, especially after using QML.
A lot of apps people use these days are cloud-first and automatically save all the time, so there's not even a save button to have a floppy icon for! The icon to say that it's synced looks like a cloud, and if you're using a web browser it'll probably have a Download button with a download icon. No floppy disks in sight.
I wouldn't be surprised if there's computer users out there that wouldn't recognise the "save icon".
RIP in peace
I strongly suspect I know what that does because I worked with Svelte 4 for years (you no longer have to do this in Svelte 5. I can recommend Svelte 5, it's nice).
Basically, assigning a state to itself tells it to signal that that state has changed and update anything that is listening to it. The `state` object is actually a JS Proxy returned by createState [0], which allows intercepting the assignment to the `windows` property and emit signals. Usually you dont have to do that, but in this case, the proxy doesn't notice that `state.windows.push(X)` is a mutation. Only assignments directly to the state object count as mutations.
TLDR, `state.windows = state.windows` tells the framework that `windows` changed.
[0]: https://github.com/MercuryWorkshop/dreamlandjs/blob/1e7a34a1...
While you're at it, go on a huge tangent writing a library that allows one implementation to work as both an X11 and Wayland compositor.
Actually why stop there? Make said library also compile to a full screen Windows and Macos application that somehow renders the contents of windows to textures and does event handing etc. that way you can write your desktop environment once and use it everywhere.
I've gone crazy with power.
This is a pretty neat idea, and shows that maybe a desktop environment could be a lot more flexible than we're used to if it was based on something flexible. Not exactly counter intuitive.
I'd like to see how complex a CEF-based Wayland compositor would be in comparison.
How about using Godot instead of CEF? It has a pretty full-featured UI system.
So many possibilities.
Haha nice! It's a good library, and it's flexible enough that you can extend the syntax of JS however you like (with some difficulty, as it's not exactly documented). I experimented with adding my own type system to JS by using Acorn. Can recommend.
Oh you must think you are reading Hacker News, sorry about that, this is actually AI Optimism News.
Nice. I built something basically just like this for work for the same reason last year. It only look a few hours though, cause I just used Acorn [0] to parse my JS, then directly evaluated the AST. It also had an iteration limit and other configurable limits so I can eval stuff in the browser without crashing the tab. I did not use an LLM.
[0]: https://github.com/acornjs/acorn
I think most popular languages were started as an experiment in some feature, or to solve a specific problem someone had. Those are good reasons to make a language. I see no reason to make a language just to take attention away from other existing languages. Instead, make a language so you can understand how to make languages. It is 100% doable by one person. It's fun and educational.
Agreed. It's nice to be able to just use the provided terminal when running KDE. It's very customisable and runs plenty fast. I also love being able to right click on Dolphin and tell it to open Konsole in the current folder. Also, I leave infinite scroll back turned on in Konsole and it works really well, swapping out to a file as it gets too much scroll back. Nothing worse than getting errors that I can't read because the terminal discarded them. I have Ctrl+Shift+X bound to clear everything, which I use before running just about any operation.
I've been thinking about this for a minute, and I think if an American were to say "why", and take only the most open vowel sound from that word and put it between "k" and "m", you get a pretty decent Australian pronunciation. I am an Australian so I could be entirely wrong about how one pronounces "why".
This is basically asking for a response that's just the original comment but with "KDE" and "Gnome" switched. I personally find KDE to look very nice and bring a much better and less clunky user experience than Gnome, so it's completely subjective I suppose. I congratulate the KDE contributors on continuing to make a great product even with people saying it sucks all the time.
Blender does this. It's sick.
People typing faster can make a huge difference at work: I get asked for help a lot, and when I ask someone to do something on their computer and they do it painfully slowly, that can represent a lot more time that I spend helping them rather than thinking about my own tasks. I thought this perspective was missing from the discussion, so now I've added it.
I second Bitwig. It even works a little bit better on Linux in some ways than on Windows!
This is false. TypeScript does not add any run time checks, but it does encourage you to add some yourself.
That's pretty much exactly my setup. On top of that I make sure I can do most important things with just my left hand: I use Ctrl+F1/2/3 as is default in KDE (Firefox on F1, editor of F2 usually), but then I rebind stuff to the Windows key: Win+W maximises a window, Win+A tiles to the left and Win+S tiles right. Kinda unrelated, but I also rebind Konsole's "Clear Scrollback and Reset" to Ctrl+Shift+X because I use it before running compilers and stuff, so I can easily find the actual start of the command's output.
What I find most interesting about your comment is the words "something most of us are familiar with", because it implies that consciousness is a two-way communication. It affects the physical world: If it didn't, then you wouldn't be typing those words. This is important if true, because it means you could absolutely scientifically prove its existence by measuring it.
I'm not taking any sides here, but just making a point.
Yes, but the comment could mislead people, so I clarified it.
This comment could mislead people: The linked article explicitly says that * and [] are identical when used in function arguments. It then goes on to suggest a possible syntactical change for the C language where the [] syntax would be a fat pointer.
Rust's borrow checker is not only for multi threading and memory safety. It allows someone designing an API for any kind of data structure to guarantee that the user is using it correctly, by making their code not compile when they are using it incorrectly (basically what any type system provides, but fancier). What you call borrow checker overhead, some would call fixing problems before they occur.
Well the two things are the part where physics does stuff, then the other part is where you become aware of it (whatever that even is, but you experience it none-the-less. Let's call it the consciousness).
Random assumptions/observations that might be relevant:
- The universe seems to generally work under "simple" principles that can be explained with a few mathematical equations.
- The brain is made of the same stuff as everything else.
- You are only aware of a very very small amount of things that actually happen in your body: You are not aware of what happens in your visual cortex, just what comes out of it. You are not usually aware of the sound waves themselves, just the conceptual "sound". I would call all that stuff "processed data". Sound, images, touch, all that stuff, generally get blended together into one cohesive experience.
- All that looks like a flow chart when I think about it. The photons go into your eye, stimulating nerves, electrons flying everywhere. That cascade of nerve stimulations goes into the visual cortex where stuff is processed into actual stuff that you care about, but the data is still just essentially electrical signals at that point. But then suddenly, you are aware of that processed data. Sounds like it explicitly got that processed visual data and sent it out a transmitter, to be listened to by none other than my "self".
- I guess I would then relate my consciousness to a radio receiver that's waiting on the other end. And in some specific part of my brain is a transmitter.
- A radio station can't possibly know if anyone is listening to the signal they sent, unless the listener communicates back that they are listening. In the same way, it doesn't make much sense to talk about how aware you are if the "aware part" (the radio receiver) doesn't talk back.
- Random final observations if this model were true: To maintain conservation of energy, the receiver would likely have to act like a capacitor, storing energy that was used to send the message to it, and using that energy to send a message back. Either that or it communicates back by collapsing wavefunctions (okay now it's getting a little out of hand). Also, maybe using this model, you could say that your sense of the progression of time is proportional to the amount of information sent. Which is why time goes so quickly while you are asleep, because your brain stops sending stuff out the antenna (also getting out of hand).
Hopefully you find this idea at least a little interesting. I feel like there's a world of possibilities here that haven't properly been considered.
I would love to hear your take on it.
How could you possibly know that you "became aware" of anything without some information being sent back from that-thing-that-became-aware? You know it so well that you are even able to comment about it.
I think the fact that people ('s brains) are so sure that they are conscious, is pretty clear evidence that for some reason your brain is getting messages back from this consciousness thing. Either that, or brains are consistently are built so they can't shake the idea that they have an observer (see: how many comments are on every HN article about consciousness, including this one).
Another fun implication if it really were aerial-like, is that our consciousness would have a sort of "maximum bandwidth".
I think this theory is actually pretty convincing.
It would be awful if you were conscious of every single thing your brain did, including all your subconscious thoughts and motor neurons firing.
That is why you are conscious of much more specific things like vision, hearing, touch and so forth. Generally the signals within your brain would be akin to random data, so surely they would be post-processed by your brain into a useful contiguous "conscious-ready" signal.
That post-processed signal would probably be sent from one location, and therefore the aerial analogy works well.
When you go under general anaesthetic, that specific part of the brain would stop transmitting completely and you don't experience a single thing until it wears off and it starts transmitting again.
When you sleep and dream, the signal is just a mess of neatly post-processed signals coming from different parts of your brain, so you are still basically conscious.
I read somewhere that if you stimulate a particular part of someone's brain, it can make them temporarily unconscious, which would make sense with the aerial analogy.
If that's how it works, then maybe our sense of time passing is directly proportional to the amount of data sent. So if your brain transmits a lot of stuff in a short time, that short real-time seems like a long conscious-time, and vice versa.
It's clearly a flawless theory ;)
What if your consciousness exists outside your physical brain, and within your brain is basically an aerial that is "tuned to your frequency", so no matter where you are your brain will always communicate with the same consciousness. I suppose with that theory comes the ability for two brains to tune into the same consciousness, and various other fun implications. Is there already a name for this?