HN user

AlexanderDhoore

2,345 karma

Embedded C. Some Python.

Posts13
Comments406
View on HN

Can someone with more knowledge give me a software overview of what AMD is offering?

Which SDKs do they offer that can do neural network inference and/or training? I'm just asking because I looked into this a while ago and felt a bit overwhelmed by the number of options. It feels like AMD is trying many things at the same time, and I’m not sure where they’re going with all of it.

I love teaching Scratch to kids. Some years ago, I used to do "CoderDojo", which is like a hobby club where kids can learn programming. Some kids go to soccer, others to art academy — and these kids learn programming. Super cool to teach.

However, most kids get stuck after they master Scratch. Especially kids around the age of 8–10. They learn Scratch. It's awesome. They make some advanced games and really get the hang of it.

Then they ask to do something more — some “real programming.” And that's where the hurdles start to pop up. First problem: my kids don't speak English, so most documentation and tutorials are out of reach. Second problem: suddenly they need to learn everything about computers — source files, graphics, networking... This is too big a hurdle for them to take. Third problem: text-based programming. Most of them literally can't type on a keyboard properly. Text is also much less fun than visual programming.

What I've always wondered — and this project reminds me of it — is: can we make the transition smoother? Stay within the Scratch ecosystem, which they know, but start introducing extra concepts step by step, without the big jump.

GoboScript introduces "text-based programming" as a first step, while staying within the Scratch world. I would have liked it more if we could teach the kids a real-world programming language, like Python or JavaScript — because then they’re moving toward "real programming" step by step.

The next step would be: introduce other computer concepts like file systems or networking.

I would love to build this myself. Alas, no time. Maybe one day.

Am I the only one who sort of fears the day when Python loses the GIL? I don't think Python developers know what they’re asking for. I don't really trust complex multithreaded code in any language. Python, with its dynamic nature, I trust least of all.

This is kind of wishful thinking. I'm not saying you're wrong, but there's no real way to prove you're right. Sometimes open source wins, but not every time. The whole machine learning field is still too young to have a clear answer.

To make the game more fun, think about letting the scenarios mess with each other. Right now, they kinda just happen on their own. But imagine if one user's scenario could throw a curveball into the next person's situation. Like, you can try to mess up someone else's plans. It's a party game, after all. That could add a cool and funny twist to keep things interesting.

I don't intend this as criticism at all, but it's quite amusing how routine iOS updates and new iPhone releases have become. I recall being in high school when the first iPhone was introduced, and the sheer novelty of smartphones was awe-inspiring. Nowadays, they've become so commonplace that I find myself getting more enthusiastic about new additions to the Python standard library!

Are we assuming that the current models aren't already engaging in this practice? In a world where ads dominate the internet and revenue flows from commercial interests, it's reasonable to assume that these models might already be skewed towards those who have contributed the most financially. After all, advertisements essentially govern the online landscape, so why would this scenario be any different?

In Rust each crate can be compiled with a different edition. If we had this in C++ you could compile one file/module with C++11 and another with C++20. The compiler defaults could change for new code, but be kept the same for old code. Nothing breaks. You opt-in to the new standard one file/module at the time.

The code is full of one character variable names. Why do people do this? Even if I was programming on my own one-man project, I wouldn't do this. Why force yourself to keep all that context in your head? Do you still know what everything means after a few months away?

The kind of questions I would ask someone with experience in construction.

"If I want to remove plaster from walls, which tools should I use? What should I do with the debris afterwards?"

"Which kinds of cavity wall insulation exist? Will this cause moisture problems in my house? What can I do to detect or prevent these kinds of problems?"

"Is it useful to insulate interior walls in an old house? Or should I just focus on the exterior? Will interior wall insulation raise the EPC (energy performance) of my house?"

It speaks Dutch just as well as English. I've been talking to it for weeks about the house I am renovating. I double check what it tell me, but it's very useful to get a first general answer.

I'd do it in C, but that's just me. If this is a one-person project you can hold you code to a high standard. Clean standard C11 with all warnings turned on (-Wall Wextra Wpendantic Wconversion). Write unit tests. Run them with valgrand/sanitizers. Use clang-format. Build with multiple compilers (GCC/clang/MSVC). ...

EDIT Not many hackers on hackernews apparently.

This is why I love working in embedded. Our clients would never complain about these kinds of reasonable restrictions. There are tons of limits like this in our machines, which nobody notices but make my life much easier.

I guess things are different in the Linux/PC software world.

It's funny that you chose -Wall as an example because it is the exact opposite of what you are trying to say. -Wall is effectively frozen and new warnings are never added to it, in the name of backward compatibility.

I used to teach C++ courses as a consultant. This kind of thing was part of the gospel I was trying to spread. Educate my follow software developers on the merits of good C++ memory management. It all felt so powerful and cool.

But after some time you realise that nobody is smart enough to keep all of these idioms and arbitrary C++ rules in their head. The only reason I could do it was because I put so much time into preparing my courses. So all of your collegues will keep writing terrible C++ code. And you will be left frustrated that nobody is "doing C++ right".

I guess one could chill down and accept the chaos. I chose to leave C++ behind.

That is exactly what I did.

I placed a ruler of 40cm on a closet at eye level. I did the thumb trick and found the exact distance I had to stand so my thumb jumped from left to right of the 40cm ruler. Then I measure the distance I was standing from the ruler. distance / 40cm = your body ratio.

So there is no reason to measure length of arm or distance between eyes. We are only interested in their ratio here. You basically run the "thumb trick" in reverse. From the distance and object size => you get the ratio.

"The distance from your eyes to your thumb is *about 10 times* the distance between your eyes."

Which means you could calibrate this formula using your own body. Let's find the exact value for my eye/arm ratio!

EDIT For me it's about 12.5 ratio. I'm 187cm tall.

Embed is in C23 4 years ago

GCC or Clang with all warnings turned on will give you almost what you want. -Wconversion -Wdouble-promotion and 100s of others. A good way to learn about warning flags (apart from reading the docs) is Clang -Weverything, which will give you many, many warnings.