I used kicad and wrote the firmware in Rust from scratch 👍
Father, Hacker (Information Security Professional), Open Source Software Developer, Inventor, and 3D printing enthusiast
I used kicad and wrote the firmware in Rust from scratch 👍
Watch a review of my keyboard 😄: https://youtu.be/iv6Rh8UNWlI
Center LEDs and custom 3D printed magnetic separation hall effect switches FTW!
Make no mistake: This is the world conservatives want! This is the desired outcome. This is their law. They were warned things like this would happen. They didn’t care.
She accuses it of admitting students who are contemptuous of America,
OK. So what?
Let’s logic out that statement:
I wonder what would produce “contempt for America”? Maybe deporting people without due process? Or not recognizing human rights?
Maybe we should agree, then: Harvard shouldn’t accept students that hate the Bill of Rights. Reject conservative ideology that suggests that due process shouldn’t be followed. Reject conservative ideology that actively seeks to undermine the US Constitution.
Let’s get keep those people (conservatives) with “contempt for America” away from places like Harvard 👍
I hate to break this to you but that means you’re not normal. If all you ever do in chat is talk about serious things that are of such earth-shattering importance that it would be incredibly rude and obnoxious for someone to post a silent looping video you’re not normal, and no fun at all.
The way Element currently works, it’s made for people like you… A strange minority that probably only thinks about “chat” in terms of communicating for an end goal and not for the pleasure of conversation.
Hah! I came here to make this exact comment.
I went and looked it up:
Nationally, undocumented immigrants pay $96.7 billion in federal, state, and local taxes in 2022.
From: https://www.floridapolicy.org/posts/undocumented-immigrants-pay-1-8-billion-in-florida-taxes-a-year-national-study-finds#%3A~%3Atext=Nationally%2C+undocumented+immigrants+pay+%2496.7%2Cbillion+in+additional+tax+revenue. (First search result)
Yeah it’s probably just a client side issue but the OP mentioned Element, specifically 🤷
I just wanted to point out that Element is no fun! No fun at all!
It works and it works great for what it does. Even voice and streaming are great with Element. It’s just got a terrible, no-fun interface and pointless limitations on things like looping videos. You can’t even configure it to make them play properly (as in, automatic and endlessly, the way they were meant to be played! 😤).
Looping videos and animated emojis are super fun ways to chat with people. Even in professional settings! It really breaks up the humdrum and can motivate people to chat and share more.
Element is all serious all the time and going into a chat channel there feels like a chore.
To be fair, both you and your friend can be correct 🤷
Element needs to be better. Discord is awesome with the way it auto-plays looping videos/gifs and has animated emojis.
Seriously: That’s all they’d need to do. The element devs need to focus on fun.
They should rename it then! The Steam OS version should be “GPD FTW” 👍
Oh I can explain this: You were born with a destiny that doesn’t make sense anymore because the gods had to make some changes to the timeline. Sounds simple enough but some people have actually been given theirs or someone else’s prophecy so now they have to make it happen… Somehow.
To resolve this situation they often have to come up with clever solutions to make sure the prophecy still happens in a way that the (new) timeline can handle. Such as “experiencing plague” and “getting caught rolling with a naked woman in public”.
For Microsoft, the key threat is that the Steam Deck isn’t even a Windows OS device by default, let alone having Microsoft’s Xbox services and Game Pass on it. Valve has used the platform, very successfully, to evolve Steam from being simply a digital store that runs (usually) on Windows, into being a very capable gaming OS in its own right.
That, perhaps more than anything else happening in the industry in recent years, is a threat to Microsoft’s plans for the Xbox platform and gaming more broadly – and if the success of the Steam Deck is a key component of that threat, then creating an Xbox device to compete directly in that space seems like the logical response.
And there’s the real reason why Microsoft cares. The success of the Steam Deck is a threat to Windows because it runs Linux. Also, the more games that run on the Steam Deck means the more games run on Linux.
Microsoft normally solves problems like this by abusing their monopoly and crushing their competition. In this case though, Microsoft is the underdog since Steam is the one with a much larger gaming monopoly. They’re going to have to spend billions and billions if they want to stand a chance against the Steam Deck.
The other enormous problem they face is that Windows is very, very far behind when it comes to technology compared to Linux. Devices made for Linux vastly outperform the best hardware that runs Windows. Even if that hardware was made to run Windows!
Windows is decades behind Linux from a technological development standpoint. For example, Windows is still running the same filesystem from over 30 years ago!
What this means is that for any given portable hardware Linux is going to vastly outperform Windows in basically every benchmark from battery life to frame rate. That doesn’t even include the fact that in Windows you’re forced to install many background apps (and kernel level rootkit anti-cheat) that takes up memory and slows everything down just to get basic security and play games.
without type safety your code is no longer predictable or maintainable
This sounds like someone who’s never worked on a large Python project with multiple developers. I’ve been doing this for almost two decades and we never encounter bugs because of mismatched types.
For reference, the most common bugs we encounter are related to exception handling. Either the code captured the exception and didn’t do the right thing (whatever that is) in specific situations or it didn’t capture the exception in the right place so it bubbles up waaaaay too high up the chain and we end up with super annoying troubleshooting where it’s difficult to reproduce or difficult to track down.
Also, testing is completely orthogonal to types.
Haha: “A space breaks everything.” Fuck YES! Are you kidding me‽ It’s one of the best features!
Why? Because it’s so easy to see. In other languages you’ve got semicolons which are surprisingly difficult to notice when they’re missing. Depending on the situation (or if you’re just new to programming) you could spend a great deal of time troubleshooting your code only to find out that you’re missing a semicolon. It’s frustrating and it makes you feel stupid which is never a good thing for people who are new programming.
Types are in a different category altogether with seemingly infinite reasons why you’d want a feature-rich, low-level type system and also why you’d want to avoid that.
IMHO, the point of Python is to be a simple language that’s quick to write yet also very powerful and speedy when you need it to be (by taking advantage of modules written in C or better, Rust). If it had a complex type system I think it would significantly lower the value of the language. Just like how when I see an entire code repo using Pydantic and type hints everywhere it makes the code unnecessarily complex (just use type hints where it matters 🙄).
I’m not saying using type hints on everything is a terrible thing… I just think it makes the code harder to read which, IMHO defeats the point of using Python and adds a TON of complexity to the language.
The promise of type hints is that they’ll enable the interpreter to significantly speed up certain things and reduce memory utilization by orders of magnitude at some point in the future. When that happens I’ll definitely be reevaluating the situation but right now there doesn’t seem to be much point.
For reference, I’ve been coding in Python for about 18 years now and I’ve only ever encountered a bug (in production) that would’ve been prevented by type hints once. It was a long time ago, before I knew better and didn’t write unit tests.
These days when I’m working on code that requires type hints (by policy; not actual necessity) it feels like doing situps. Like, do I really need to add a string type hint to a function called, parse_log()
? LOL!
New Years resolution the past 5 years: I will get better with Rust.
…and I do get better but somehow it always feels like it’s not enough. Like, I’m still an imposter.
I can program an entire embedded USB keyboard/mouse firmware from scratch that can do all sorts of things no keyboard has ever done before yet I still feel like a newbie somehow. Like there’s all these people that talk about traits and mutli-threaring with async and GPU and AI stuff and I’m like, “I wrote an embedded_hal crate that lets you use both 8 and 16-channel multiplexers simultaneously!” or, “I wrote an interface that let’s you use the extra space in your RP2040 flash memory as a filesystem!”
Yet everything I ever write in Rust always just uses the most basic and simple features because I still have trouble with complex lifetimes (passing them around quickly gets too confusing for me) and traits that work with non-basic types (because in the world of embedded 'static
is king).
Santa is a stand-in for Jesus… for children. They’re both magical beings that can perform miracles and have similar methods: Both Santa and Jesus have naughty lists and forms of punishment that come later; much later (both are equivalent lengths of time to a child though 🤣). Both bring “gifts”. Both have traditional appearances. Both have followers that wear silly hats and strange clothes. But most importantly…
Both are imaginary.
If you believe in Santa as an adult you’re ridiculed. If you believe in Jesus as an adult you’re just labeled, “Christian”. Yet the fact that nearly every child eventually finds out Santa isn’t real is quite disturbing to a lot of Christians. After all, if they could stop believing in Santa–who is so similar to Jesus in every way–then they could stop believing in Jesus.
Republicans are all about the nanny state. Tracking periods, banning books, deciding who gets to have what medications/medical treatments (instead of doctors), trying to control what websites publish, etc.
Mayor: [shoots some black guy] “What? It’s the same as the cops.”
Challenges with the firmware: Mostly just learning embedded rust. It’s a bit different from regular rust because your don’t have access to
std
(which means noVec
!).I remember having the hardest time just organizing the code. As in, I wanted to divide everything up into logical segments like, “LEDs”, “multiplexers”, “infrared”, etc and rust makes it kinda hard to do that without making everything it’s own little crate. Specifically, if you want your code to be device-agnostic. If you only care about your one board then it’s easy and doesn’t matter so much 🤷
I got the boards made at JLCPCB because they’re the cheapest and seemed good enough 🤷