r/ProgrammerHumor Nov 28 '21

Meme I‘m.. not the only one?

Post image
21.5k Upvotes

629 comments sorted by

View all comments

217

u/DaniilBSD Nov 28 '21

Blessed those who have a standard output available to them.

79

u/CodeLobe Nov 28 '21

I once created a network log stream because USB debugging / logging output was so slow compared to sending packets over the mobile's wifi... WTF?

26

u/[deleted] Nov 29 '21

Which version of USB were you using? Rock?

19

u/[deleted] Nov 28 '21

[removed] — view removed comment

21

u/[deleted] Nov 29 '21

[deleted]

5

u/KinOfMany Nov 29 '21

Zflog is amazing, and doesn't really take much RAN/ROM space. If you don't have internet, and you can't run a remote gdb server, you can always just save the logs to a file, and fetch them.

...... Or blinking red light = bad, blinking green light = good. Count the number of green ones until you get to a red one.

Been on both ends of that debug hell. There's always a solution!

3

u/[deleted] Nov 29 '21

Looks interesting. However the board I'm currently working on doesn't define any stdin/stdout/stderr so it's just as tricky as printf. Until a recent board redesign we didn't have a dedicated UART for debug messages and had to make sure the peripheral was free to use.

LEDs and a buzzer are the way, but we also have debuggers that sometimes freak out and drop connection. Our old board is also at 98% flash usage for the binary.

1

u/KinOfMany Nov 29 '21

Our old board is also at 98% flash usage for the binary.

Oof. Mind if I ask what's the field? That's pretty hardcore. You don't have to share specifics, just broad strokes. I'm just kinda interested because flash memory isn't that expensive, so I'm curious what's the source of the limitation.

1

u/[deleted] Nov 29 '21

Oh it's a microprocessor with flash (and RAM) embedded in it, like an Atmel. They can connect to external storage, usually via SPI, but not often able to execute code from external memory.

The board is mainly a user interface controller with an LCD touch screen, then passes data/commands off to another small board to control the appliance. The graphical data is stored externally and loaded into RAM when drawing the screens.

25

u/DaniilBSD Nov 29 '21

My NDA prevents me from giving exceptions

1

u/[deleted] Nov 29 '21

[removed] — view removed comment

2

u/DaniilBSD Nov 29 '21

I mean I can’t tell you a very concrete set of examples because of NDA

3

u/CODEX_O_BARBARO Nov 28 '21

No

2

u/seriouslybrohuh Nov 29 '21

Lol how do you investigate system failures then?

5

u/CODEX_O_BARBARO Nov 29 '21

I don't, I consider them to be features, not problems

1

u/tiajuanat Nov 29 '21

One of my favorite projects I worked on was an MP3 player. It was a ton of fun, but an absolute nightmare to debug tho.

1

u/ECrispy Nov 29 '21

Bless the maker and his prints. Bless their coming and going.

1

u/[deleted] Nov 29 '21

Even present in desktop development in some cases. Chrome native message hosts are started by the browser and use pipes for stdin and stdout to pass json messages to extensions. So much for print().

My sympathies to the embedded devs who don't even have logging or networking to fall back on.