|
What if it lost two legs, would it be a sexopus or a hexopus?
|
|
|
|
|
As much as it could become a Centipede.
I have lived with several Zen masters - all of them were cats.
His last invention was an evil Lasagna. It didn't kill anyone, and it actually tasted pretty good.
|
|
|
|
|
Actually, they regrow. So yes, it's still an octopus.
|
|
|
|
|
Damn Marc, you're good.
Software Zen: delete this;
|
|
|
|
|
A big one is not using synchronization primitives when running multithreaded code.
Even with multiple cores, you can time your code such that if you're careful, since everything operates at fixed latencies you don't need to synchronize.
For example, if you're rending a frame on a separate thread than you're drawing it, you are a okay, as long as you're always rendering *ahead* of where you are drawing. The schedulers on these devices are very simple, so you can actually get something like interlocked execution even across cores. Interrupts interfere with this, but in some situations, you don't need to worry about that.
I'm in principle okay with this, because it saves CPU and thus power, but OMG is it nasty.
I just spent some time retooling someone else's code to be single threaded because I was getting heap corruption and they weren't using synchronization primitives. I thought that was why. Nope. Something else is going on. It's not crashing or leaking (as best as I can tell without a debugger) though. It's only even reporting because of some memory guards that wrap allocations. This is what made me think of this.
Real programmers use butterflies
|
|
|
|
|
Could have been worse.... could have been me having to debug that one.
|
|
|
|
|
Yes, it's nasty, but synchronization primitives can add a lot of overhead to a task, and make the task non-restartable. For example, take the case where a thread in the task takes ownership of a mutex then crashes. How do you know what the state of the mutex should be? You can possibly detect the crashed thread, but restoring the task to a consistent state without restarting from the beginning is much more difficult.
(I'm not going to do more than mention deadlocks, livelocks, priority inversions, convoying, and all of the other issues that can occur with lock-based multithreading. Even where fixes are possible, many small processors simply don't have the horsepower to handle all of these issues.)
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
Daniel Pfeffer wrote: Yes, it's nasty, but synchronization primitives can add a lot of overhead to a task
Yeah, that's why I said I'm okay with not using them (regardless of how ugly it is to me)
It's just ... the "timing" thing doesn't inspire confidence in me. I'm used to traditional OS's where you simply can't do that.
Real programmers use butterflies
|
|
|
|
|
Embedded real time programming is a vastly different world from where most of us live and work.
|
|
|
|
|
... how come you can still buy Iceberg Lettuce?
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
I dunno, I'm kinda warming up to the idea.
|
|
|
|
|
It gives me chills just thinking about it.
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
They've kept it on ice?
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
We'll see an increase in hot sauce sales.
|
|
|
|
|
since it's called "iceberg", shouldn't 3/4 of it be underwater?
|
|
|
|
|
Quite frankly in the age of texting and acronyms you would think they would stick with the name "sun" vs "glow ball warming", feels a little neanderthally to me and so much slower to type in my phone.
|
|
|
|
|
This is a pretty hot topic. And easy too, no sweat.
|
|
|
|
|
As I've matriculated as a coder I've noticed several watershed moments in my development of the craft.
It has to do with what I typically swear at.
Over the years,
I've gone from primarily swearing at the languages for not having what I want
To primarily swearing at the compiler for not doing what I want
To primarily swearing at my IDE and toolchains for breaking
Real programmers use butterflies
|
|
|
|
|
So to borrow an interview question...
Where do you see yourself in 10 years?
|
|
|
|
|
I honestly hate that interview question.
I like to keep my options open. The best parts of life can be the parts I didn't expect. When I was 17 I was homeless and I didn't see myself at Microsoft at 18. There I was.
I don't plan out my life. Living is for closers.
Real programmers use butterflies
|
|
|
|
|
honey the codewitch wrote: When I was 17 I was homeless and I didn't see myself at Microsoft at 18. There I was.
I've always found it amusing how people imagine Microsoft employees in business suits. It's more like pink hair, blue hair, mowhawks, nose rings mixed with regular people from all over the world and from all walks of life.
Even have full size kegs of beer in some of the buildings.
|
|
|
|
|
Beer and pizza fridays. Nobody cared that I wasn't 21.
ETA: I totally identify with Cameron from Halt and Catch Fire. She was a woman after my own heart.
Real programmers use butterflies
|
|
|
|
|
I loved that TV series (Halt and Catch Fire). It seemed as if it was a biography of my life.
|
|
|
|
|
dandy72 wrote: Where What do you see yourself swearing at in 10 years?
FTFY
Freedom is the freedom to say that two plus two make four. If that is granted, all else follows.
-- 6079 Smith W.
|
|
|
|
|
That's exactly what I meant. I think codewitch went a little too literal with her answer.
|
|
|
|