Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×

Comment Re:A poor craftsman blames his tools. (Score 1) 531

"easy code"? What kind of made up term is that?

The whole point of programming languages is literally to make programming easier.

Speed and simplicity has ALWAYS been the goal. It's clear you're new at this, so let me educate you:

The problem is near absolute lack of validation. Unit testing, directional testing, random template testing, none of this is taught in schools and over my 30 years I've been a contractor, I'd say close to 90% of software projects have zero validation or regression infrastructure, compared to 100% of the semiconductor projects I've worked on.

There is less financial risk to shipping buggy code than there is to shipping buggy processors, which is why during my time at Intel, the validation teams were typically FIVE TIMES LARGER than the design and architecture teams combined.

When is the last time you, or any other programmer, spent 5x the effort writing test vectors for your software? How many books are written on validating software, compared to "Programming for Dummies"?

Back in the day, C linters were common in software projects, but slowly started to vanish because programmers became younger and more uneducated: academics don't emphasize validation like companies do, so the professors and grad students had no idea how to pass on these concepts of good programming. You can see this living on whenever you type "make check" after building a repo, it means someone cared enough to keep their code healthy, but this has been a dying art for the past 20 years. (I largely blame the rise of microsoft visual studio & borlad C in the 90's which pretty much ignored the Unix way, and then MS subsidizing college education, which led to the movement away from the Linux/GNU tools.)

I applaud the Node.JS attempt at providing very easy to use unit test suites. Modern web languages have seen a rebirth in test-driven development, and many companies have really smart strategies for keeping their codebase healthy. The strategy of defining the specification first and THEN writing code to pass the tests, instead of writing code first and tests later, is what needs to be done from top to bottom. Not only that, the test database needs to be kept healthy with ticket tracking and revision control

Programming is easy. Validating is hard. That's why so much code is broken: everyone wants to be the hero "hacker" (or architect) and no one wants to do the REAL work of validating and making code robust.

Comment russian programmers (Score 1) 277

To be fair, in my 30 coding career, some of the top programmers I've ever studied and worked with were Russian. Their skill was just vastly, disproportionately better than any other peers and colleagues. No idea why. I'd actually look forward to Russian made software! Except for all the pesky back doors.

Comment Traffic logging (Score 1) 279

I think we will eventually need a better method to track TCP/IP traffic going into our routers and on to the internet. I have a WRT1900 and its default usage graph is pretty lame but I can see who's sucking down bandwidth when my response time dips.

I would love to have a 1Hz usage update log for every device on my router, because I've seen my thermostat thank my network during a software update.

This will be the only way we can tell if our IoT devices are being used as a botnet. The primary gateway for IoT is HTTP(S). I don't see that changing for at least a decade. The edge nodes will always talk to a local web gateway that connects to our routers.

Hence, we need better router statistics and possibly even usage warnings. This will at least detect suspicious behavior.

Comment usb power supplies usually isolated (Score 1) 308

I fail to see how this will damage anything other than the USB controller hub, seeing as how typically peripherals are powered by their own isolated power supply either on the board power distribution or even from the main power supply. Maybe some boards will share a line if they are poorly deisgned, but the 900mA requirement for USB2.0/3.0 almost certainly guarantees a dedicated power plane on the opposite side of a bunch of diodes to prevent exactly this. Same goes for most peripherals: rarely are outside-facing power supplies left unprotected.

Comment Wow. Just. Wow. (Score 1) 154

Starting in ~2013 I worked 18 months developing several apps for android and kept thinking, "Holy hell this app model is so fucked." I kept pushing for responsive frameworks in the browser instead of iOS/Android app ports that consume double (triple!) the amount of resources, but nope, all three companies were unanimous in having an app.

This data just blows my mind. I've been away from it for over a year and thought it would decrease.

Comment It is code; the clue is in the name. (Score 2) 158

I program by writing in text files too, but that's just important for interoperability with other tools, it's not the definition of coding. Everyone knows that our CPUs don't execute ASCII, right? If it's Turing-complete, then it can be interpreted or compiled (i.e. "decoded") to do anything you want to execute.

Comment Re:Bandwagon (Score 1) 311

I'm one of those people who just listens to opinions and picks the best sounding one with very little thinking, mostly emotional. And I'm OK with that because it has served me well for 54 years. Caring about politics is as dumb now as it was the first time I voted almost 40 years ago, and not having my own opinion hasn't changed dick.

Comment Re:Weak Premise (Score 1) 398

What do you mean "best people" and "best universities"?

Why do you assume the best people come from the best universities?

Did you come from the "best" university?

If not, does that mean you're not the "best"? So you don't deserve a job?

If yes, then no one else but your peers from the "Best" universities deserve to be hired?

You make a lot of assumptions: a "best" university, everyone else is not the "best", even the idea of "best" ... this makes for a meaningless argument.

You're arguing that only the "top" people should have jobs, which is utterly laughable, because (a) good look measuring, and (b) that would ultimately mean only one person deserves a job.

This is a big part of the meritocracy myth that drives inequity. And you buy it hook line and sinker.

Comment Why so angry? (Score 0) 398

The reason why Silicon Valley is struggling is very clear: look at the rage in this thread. These are the same people who think diversity is bad because minorities are too stupid to be a part of technology. They're still humping the meritocracy myth.

If you are angry, it means you are smart enough to know they are right, but too worried about your identity to do anything about it. And it is easy for you to do nothing because it doesn't affect you. But, it's not about making you look bad, it's about helping other people who don't have the advantages you were born with.

Realizing you're acting in a way that makes life harder for strangers doesn't make you a bad person, it is what makes you wise.

Comment Define Coding Talent (Score 1, Interesting) 23

What exactly is coding talent?

I'm being a bit coy but mostly to spur discussion: I've been coding since the late 70's, and I think of coding like playing guitar: just about anyone can do it to a reasonable level, most people think they are rockstars, but only a handful really are.

When I was first interviewing for jobs circa 1990 there weren't many people who knew x86 protected mode, so there was always work writing hardware drivers. I was mediocre, I'll admit it, and so were most of my peers, but we got the job done.

Today there are literally thousands of languages, frameworks and tools depending on the application. Ironically, "talent" seems largely the same today as it was in the 80's: if you understand the unique collection (and versions!) of tools a company uses, you're in.

When I hired programmers in the 90's and 00's it was clear some folks got it, and some folks didn't. But even the folks that didn't still got high-paying jobs.

So it really begs the question, "What is talent?" and how do you measure it, and how much do you need? Finding talent means rating talent, and therein is a loaded debate.

Slashdot Top Deals

Understanding is always the understanding of a smaller problem in relation to a bigger problem. -- P.D. Ouspensky

Working...