"My double life as a software developer... and luddite"
-
Although at least she got to taste the food twice...
-
@pjh "Respected Food Writer", there is an oxymoron somewhere.
It baffles me that "That kebab was nice and wasn't greasy as shit" needs a more than a paragraph.
Fuck The Guardian.
-
a respected food writer
an enormous goodie bag. It contained various kitchen implements I could not even identify
-
@gąska said in "My double life as a software developer... and luddite":
a respected food writer
an enormous goodie bag. It contained various kitchen implements I could not even identify
Not sure what you're playing at. There's a lot of kitchen stuff out there you don't actually need. Or maybe once or twice per decade (and you can usually make do with what you're using on a regular basis).
I mean, just take a look at the available varieties of knives. And how many do you use? Two if you're honest. A large and a small one.
-
@rhywden I have an egg cooker. Essential.
-
@rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think? Just like it's expected from programmers to have at least elementary knowledge about assembler languages.
-
@gąska No.
Food Critique basically means bullshit artist.
-
@rhywden I use the sharpest and biggest knife while doing any food prep because fuck fucking around with the smaller ones.
-
@lucas1 said in "My double life as a software developer... and luddite":
I have an egg cooker. Essential.
Does it come with some urine of virgin boys?
-
@gąska said in "My double life as a software developer... and luddite":
@rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think? Just like it's expected from programmers to have at least elementary knowledge about assembler languages.
Guess I’m not a programmer.
-
@weng guess you aren't.
-
@gąska I know what an assembler program does; does that count?
-
@pie_flavor which one?
-
@gąska they all turn text representations of machine instructions into actual machine instructions, right? Instead of using programming constructs like variables or whatever?
-
@gąska Assembly did matter in the 8-bit computer days, when being a programmer was cool. Today is different.
-
@pie_flavor said in "My double life as a software developer... and luddite":
they all turn text representations of machine instructions into actual machine instructions, right?
Depends on what you mean by actual machine instruction. If you mean the lowest form of compiled program that the processor uses directly for computations, then no, it hasn't been the case for a long time already.
@sockpuppet7 said in "My double life as a software developer... and luddite":
@gąska Assembly did matter in the 8-bit computer days, and being a programmer was cool. Today is different.
But low-level processor architecture matters more than ever. No one cared about efficient cache access patterns back in the 80s.
Edit: also, I didn't mean that assembler language skills is necessary for most programming jobs today. I meant that every programmer worth their salt has at least a rough idea what abstraction level assembler provides and what kinds of instructions are available. Almost no electrical engineers use differential calculus in their daily work, but all of them had to at least pass an exam on that subject back in college.
-
@Gąska said in "My double life as a software developer... and luddite":
@Rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think?
Exactly. The professionals use three knives.
-
@gąska said in "My double life as a software developer... and luddite":
Almost no electrical engineers use differential calculus in their daily work, but all of them had to at least pass an exam on that subject back in college.
But I couldn't pass that exam (probably not even high school calculus) now.
-
@gąska said in "My double life as a software developer... and luddite":
I meant that every programmer worth their salt
No True Scotsman at its finest.
@gąska said in "My double life as a software developer... and luddite":
what kinds of instructions are available
Nope, don't know, don't really care. Not relevant to the kind of work I do. I'd object to someone saying I'm not a programmer worth my salt either. You don't need to know anything about assembler to be a good programmer. You should probably know about it if you're doing very low-level work though. But for something higher-level (like most web dev, most mobile dev, and a fair bit of desktop development), that's just extra, useless, knowledge.
-
@anonymous234 said in "My double life as a software developer... and luddite":
@lucas1 said in "My double life as a software developer... and luddite":
I have an egg cooker. Essential.
Does it come with some urine of virgin boys?
I wish I didn't get that reference.
-
@gąska said in "My double life as a software developer... and luddite":
Almost no electrical engineers use differential calculus in their daily work, but all of them had to at least pass an exam on that subject back in college.
-
@lucas1 said in "My double life as a software developer... and luddite":
an egg cooker. Essential
But that is just because you are such a hard boiled egg
-
@sloosecannon said in "My double life as a software developer... and luddite":
You don't need to know anything about assembler to be a good programmer.
Technically, no. Practically, a good programmer is someone who can write maintainable, efficient code in somewhat short time. You'd have to really try your hardest to avoid any bit of information about assembler in your quest for knowledge. You'd be like a pole vaulter who can't run more than 1km. A race driver who can't operate gear stick. Sure, it's technically possible to be one, but have you ever seen any?
-
@gąska said in "My double life as a software developer... and luddite":
@sloosecannon said in "My double life as a software developer... and luddite":
You don't need to know anything about assembler to be a good programmer.
Technically, no. Practically, a good programmer is someone who can write maintainable, efficient code in somewhat short time. You'd have to really try your hardest to avoid any bit of information about assembler in your quest for knowledge. You'd be like a pole vaulter who can't run more than 1km. A race driver who can't operate gear stick. Sure, it's technically possible to be one, but have you ever seen any?
Most racecars today shift gears by buttons or paddles,. or a stick pulled forwards or backwards, not sticks as present in consumer cars so although not probable it is entirely possible that there are elite racers that cant operate a manual transmission effiently.
And motorcycle racers have a foot operated shifter that requires no clutch at all, so there is no need for gear stick operation shenanigans. Just stomp the shifter when the shiftlight blinks angrily in your face without letting off the throttle.When working on say, virtual machines the byte code is more important to know stuff about than the piece of software that takes the assembly code and rearranges it into hardware instructions (or not quite hardware depending on the target I guess). And the finer points of the garbage collector. And the JIT.
Most software development really has no need for assembly level optimisations, and it's possible to be very good at another subset of programming that makes you a really invaluable asset for a team. Such as optimising interfaces and APIs, or talking to end users and figuring out what they really want.
I haven't looked at assembly since I worked on games because the performance issues where entirely different in the other types of development I've done since then.
-
@gąska said in "My double life as a software developer... and luddite":
@rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think? Just like it's expected from programmers to have at least elementary knowledge about assembler languages.
I don't think there's an exam for culinary journalists.
Also the interview does say she felt like an imposter as she actually wrote a book about the food industry, which is still different from cooking.
So complaining about this bit feels like kicking someone (the interviewee) when they're down.
-
@carnage said in "My double life as a software developer... and luddite":
@gąska said in "My double life as a software developer... and luddite":
@sloosecannon said in "My double life as a software developer... and luddite":
You don't need to know anything about assembler to be a good programmer.
Technically, no. Practically, a good programmer is someone who can write maintainable, efficient code in somewhat short time. You'd have to really try your hardest to avoid any bit of information about assembler in your quest for knowledge. You'd be like a pole vaulter who can't run more than 1km. A race driver who can't operate gear stick. Sure, it's technically possible to be one, but have you ever seen any?
Most racecars today shift gears by buttons or paddles,. or a stick pulled forwards or backwards, not sticks as present in consumer cars so although not probable it is entirely possible that there are elite racers that cant operate a manual transmission effiently.
But are there ACTUAL race drivers who can't? If a professional race driver asked to borrow your car and it happened to have plain old manual transmission, would you think it's appropriate to mention it?
And motorcycle racers have a foot operated shifter that requires no clutch at all, so there is no need for gear stick operation shenanigans. Just stomp the shifter when the shiftlight blinks angrily in your face without letting off the throttle.
And you think they have any problem driving cars that do require clutch manipulation?
When working on say, virtual machines the byte code is more important to know stuff about than the piece of software that takes the assembly code and rearranges it into hardware instructions (or not quite hardware depending on the target I guess). And the finer points of the garbage collector. And the JIT.
But they're all ultimately useless trivia for 99.999% of programming work. Nevertheless, when applying for senior position, you're expected to have at least vague, most basic understanding of all four.
Most software development really has no need for assembly level optimisations
For the third time, THIS IS ABSOLUTELY NOT WHAT I SAID!!!
and it's possible to be very good at another subset of programming that makes you a really invaluable asset for a team.
I've noticed a strong correlation between not knowing how processors work and writing shitty code in every language. Although there's plenty of programmers with good knowledge of computer architecture who still write shitty code.
I haven't looked at assembly since I worked on games because the performance issues where entirely different in the other types of development I've done since then.
Neither did I. But I still know that stuff.
-
@gąska said in "My double life as a software developer... and luddite":
But are there ACTUAL race drivers who can't? If a professional race driver asked to borrow your car and it happened to have plain old manual transmission, would you think it's appropriate to mention it?
Yes, in the case of motorcycle racers that haven't even gotten a driving license for cars. And they do exist, albeit rare.
For car racers, I'd be rather surprised to find one though.
-
@gąska said in "My double life as a software developer... and luddite":
For the third time, THIS IS ABSOLUTELY NOT WHAT I SAID!!!
Ah, sorry about that then.
-
@lucas1 said in "My double life as a software developer... and luddite":
@rhywden I have an egg cooker. Essential.
So do I. It's called a saucepan. Fill with water, bring to the boil, add eggs, launch timer for the required time, remove eggs. I totally fail to understand people who can't manage that. It's probably the simplest cooking task known to man.
-
@carnage said in "My double life as a software developer... and luddite":
@gąska said in "My double life as a software developer... and luddite":
But are there ACTUAL race drivers who can't? If a professional race driver asked to borrow your car and it happened to have plain old manual transmission, would you think it's appropriate to mention it?
Yes, in the case of motorcycle racers that haven't even gotten a driving license for cars. And they do exist, albeit rare.
In this scenario, the biggest problem is that you're giving a car to someone without driving license.
-
@gąska said in "My double life as a software developer... and luddite":
In this scenario, the biggest problem is that you're giving a car to someone without driving license.
Well... That's how you learn to drive them.
And now I should probably stop with the offtopic herpaderping... I might ruin my good name!
-
@steve_the_cynic said in "My double life as a software developer... and luddite":
@lucas1 said in "My double life as a software developer... and luddite":
@rhywden I have an egg cooker. Essential.
So do I. It's called a saucepan. Fill with water, bring to the boil, add eggs, launch timer for the required time, remove eggs. I totally fail to understand people who can't manage that. It's probably the simplest cooking task known to man.
But for those that can't, Delia has it covered:
And if you want soldiers with it:
-
@rhywden said in "My double life as a software developer... and luddite":
@gąska said in "My double life as a software developer... and luddite":
a respected food writer
an enormous goodie bag. It contained various kitchen implements I could not even identify
Not sure what you're playing at. There's a lot of kitchen stuff out there you don't actually need. Or maybe once or twice per decade (and you can usually make do with what you're using on a regular basis).
Yeah, but it's semi-reasonable to expect that a food writer would know what they are.
I mean, just take a look at the available varieties of knives. And how many do you use? Two if you're honest. A large and a small one.
Three, perhaps, or maybe even just one. Large one and small one or just a square one. The square one is often called a cleaver, but there are two ways people use square knives. The Occidental method uses it to, well, um, cleave / chop hard stuff (the weight of the blade - because of its depth - helps it do this, of course). The Oriental (primarily Chinese, but not exclusively) method uses it as a knife, to cut / slice things. A Chinese "cleaver" is sharp because they use it instead of the large knife and the small knife. The other benefit of such a knife is that you can use the "flat" of the blade as a sort of scoop to pick up the stuff you've just cut.
-
@steve_the_cynic said in "My double life as a software developer... and luddite":
@lucas1 said in "My double life as a software developer... and luddite":
@rhywden I have an egg cooker. Essential.
So do I. It's called a saucepan. Fill with water, bring to the boil, add eggs, launch timer for the required time, remove eggs. I totally fail to understand people who can't manage that. It's probably the simplest cooking task known to man.
Personally, I put the eggs in the cold water and then let the water reach boiling point, turn the stove of and let it cool down until it's cold enough to fish the eggs out with my bare hands. Always gets the eggs done perfectly the way I like them. No timer necessary, just being in the kitchen so you notice when the water starts boiling.
-
@gąska said in "My double life as a software developer... and luddite":
Practically, a good programmer is someone who can write maintainable, efficient code in somewhat short time.
And that has very little to do with knowing assembly. Unless you're writing something where that super-low level knowledge is useful, it's a lot better to know good things about your language of choice than it is to know what the code turns into once it hits the processor. I've never in my life seen a case where you need to know assembly to optimize performance. I've seen plenty of cases of code iterating in inner loops and other exponentially bad things that slow you down. But assembly level performance increases are a specialized task for if you can't manage to speed it up the "easy way"
-
@sloosecannon said in "My double life as a software developer... and luddite":
And that has very little to do with knowing assembly.
One does not need (or use) the knowledge how a computer works to do a programming job.
However, it can be surprising if after years or programming, learning technologies, reading news about it etc, someone would avoid finding out what CPU instructions, registers or caches are.
I do not mean being able to program in assembly - that comes only with practice.
But a general idea what is happening, similar to knowing that in a car's engine, the fuel explodes and pushes cylinders.
-
@sloosecannon said in "My double life as a software developer... and luddite":
@gąska said in "My double life as a software developer... and luddite":
Practically, a good programmer is someone who can write maintainable, efficient code in somewhat short time.
And that has very little to do with knowing assembly. Unless you're writing something where that super-low level knowledge is useful, it's a lot better to know good things about your language of choice than it is to know what the code turns into once it hits the processor. I've never in my life seen a case where you need to know assembly to optimize performance. I've seen plenty of cases of code iterating in inner loops and other exponentially bad things that slow you down. But assembly level performance increases are a specialized task for if you can't manage to speed it up the "easy way"
My rule of thumb is that it helps to have a decent knowledge of one level lower than what you're working in. In a managed language like C#, knowing roughly how references work, what happens if you try to change an immutable object (e.g. string concatenation), what happens with allocating and deallocating memory etc. helps you write better code. I'm so many layers removed from processor architecture that it's irrelevant though, and what I do know is probably hopelessly naive and inaccurate when it comes to modern processors
-
Wow, 30 posts about how a writer has put a little bit of hyperbole in her article, and a budding flamewar about whether you can call yourself a programmer if you don't know a thing about assembler.
-
@steve_the_cynic said in "My double life as a software developer... and luddite":
It's probably the simplest cooking task known to man.
Yeah, even I can manage that. Though I put the eggs in cold water like @Carnage, but don't wait for the water to cool down because I like the yolk runny.
-
@steve_the_cynic said in "My double life as a software developer... and luddite":
It's probably the simplest cooking task known to man.Egg cooker makes it even easier, plus you can control how they are cooked no matter how many you make.
Put eggs in, pour a glass of water, turn it on and wander off to read tdwtf/watch netflix/read a book.
-
@rhywden said in "My double life as a software developer... and luddite":
Not sure what you're playing at.
It's that humor thing. Don't worry, you're not missing much.
-
@gąska said in "My double life as a software developer... and luddite":
@rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think? Just like it's expected from programmers to have at least elementary knowledge about assembler languages.
First: Do you actually know what kind of kitchen gadgets were in that bag?
For example, what is this?
Second, I don't need to know exactly how to fry an egg to be able to judge that a black carbonized undercrust isn't exactly standard fare.
-
@adynathos said in "My double life as a software developer... and luddite":
@sloosecannon said in "My double life as a software developer... and luddite":
And that has very little to do with knowing assembly.
One does not need (or use) the knowledge how a computer works to do a programming job.
However, it can be surprising if after years or programming, learning technologies, reading news about it etc, someone would avoid finding out what CPU instructions, registers or caches are.
I do not mean being able to program in assembly - that comes only with practice.
But a general idea what is happening, similar to knowing that in a car's engine, the fuel explodes and pushes cylinders.In my car, the 'exploding fuel' pushes the pistons but maybe that's different where you are from?
-
@bjolling said in "My double life as a software developer... and luddite":
@adynathos said in "My double life as a software developer... and luddite":
@sloosecannon said in "My double life as a software developer... and luddite":
And that has very little to do with knowing assembly.
One does not need (or use) the knowledge how a computer works to do a programming job.
However, it can be surprising if after years or programming, learning technologies, reading news about it etc, someone would avoid finding out what CPU instructions, registers or caches are.
I do not mean being able to program in assembly - that comes only with practice.
But a general idea what is happening, similar to knowing that in a car's engine, the fuel explodes and pushes cylinders.In my car, the 'exploding fuel' pushes the pistons but maybe that's different where you are from?
I know you put it in quotes so you probably know it, but combustion engines should not have exploding fuel, but a controlled fast burn. Explosions in ICe are generally referred to as knocking, and it's bad.
-
@rhywden said in "My double life as a software developer... and luddite":
@gąska said in "My double life as a software developer... and luddite":
@rhywden but that's you and me, complete amateurs, at least one of which doesn't cook at all. A professional culinary journalist, one that received multiple prizes for her work, ought to be held to slightly higher standards, don't you think? Just like it's expected from programmers to have at least elementary knowledge about assembler languages.
First: Do you actually know what kind of kitchen gadgets were in that bag?
For example, what is this?
Second, I don't need to know exactly how to fry an egg to be able to judge that a black carbonized undercrust isn't exactly standard fare.
Aaaw, come on, that one is too easy.
-
@sloosecannon said in "My double life as a software developer... and luddite":
Unless you're writing something where that super-low level knowledge is useful
I've never in my life seen a case where you need to know assembly to optimize performance.
If you're doing soft realtime work with a very tight time budget, you really do have to look at the assembly sometimes. Often it's just so you can figure out WTF the compiler has done stupidly this time so that you can track down why your code no longer fits on the embedded processor (e.g., because you accidentally put a floating point constant in your expression, so the compiler included the full floating point emulation library and that's just bloated when you have only a few hundred bytes spare after all the code you actually need. Sure, you could just eyeball the source to try to spot the issue, but that's difficult because the problem is a one-character difference in a lot of code, and might even be in a macro in third-party library code…).
Not that I'm bitter about this at all.
OTOH, using the right algorithm is always one of the best “optimisations” and it doesn't need knowing much about the low-level implementation at all.
-
@jaloopa said in "My double life as a software developer... and luddite":
My rule of thumb is that it helps to have a decent knowledge of one level lower than what you're working in. In a managed language like C#, knowing roughly how references work, what happens if you try to change an immutable object (e.g. string concatenation), what happens with allocating and deallocating memory etc. helps you write better code.
I'm more of the sort of person who you call in when you've got a problem which refuses to stay bottled up to levels of abstraction like that.
-
@rhywden said in "My double life as a software developer... and luddite":
I mean, just take a look at the available varieties of knives. And how many do you use? Two if you're honest. A large and a small one.
I note you don't prepare tomatoes, or have never used a proper tomato knife.
-
@rhywden said in "My double life as a software developer... and luddite":
For example, what is this?
Oh come on, you're just splitting eggs now.
-
@carnage said in "My double life as a software developer... and luddite":
@bjolling said in "My double life as a software developer... and luddite":
@adynathos said in "My double life as a software developer... and luddite":
@sloosecannon said in "My double life as a software developer... and luddite":
And that has very little to do with knowing assembly.
One does not need (or use) the knowledge how a computer works to do a programming job.
However, it can be surprising if after years or programming, learning technologies, reading news about it etc, someone would avoid finding out what CPU instructions, registers or caches are.
I do not mean being able to program in assembly - that comes only with practice.
But a general idea what is happening, similar to knowing that in a car's engine, the fuel explodes and pushes cylinders.In my car, the 'exploding fuel' pushes the pistons but maybe that's different where you are from?
I know you put it in quotes so you probably know it, but combustion engines should not have exploding fuel, but a controlled fast burn. Explosions in ICe are generally referred to as knocking, and it's bad.
I was being a pedant about the cylinders vs piston thing, you insensitive clod ;-)