Forgot your password?

Comment: Linus vs. most of management (Score 5, Insightful) 381

by Todd Knarr (#48165325) Attached to: Torvalds: I Made Community-Building Mistakes With Linux

As a software developer, frankly I'd rather deal with Linus or someone like him than most of the management I've had to deal with at my jobs. At least with Linus you know exactly where he stands and exactly where you stand with him, and why. When he calls something "stupid", he's usually very clear about his reasons for thinking it's stupid. I can deal with that. I can argue my position with him because I know what his position and his reasoning is. And he won't take my arguing with him personally, or even particularly badly as long as I can trot out facts and hard numbers to back up my positions and counter his. Better that than management that won't tell you what they want, won't say what they mean and try to deny their own decisions in the face of copies of their own e-mails and memos.

Comment: Yes, it's different (Score 1) 264

by Todd Knarr (#48145199) Attached to: Confidence Shaken In Open Source Security Idealism

The main difference is that you aren't leaving the trust to the open-source community. You can, but you don't have to. If you're affected by a problem, you have the option of legally fixing the problem yourself if it's that critical for you. You can discuss the problem with others without risking a vendor's legal department jumping down your throat. You can test your systems to determine whether they're vulnerable (eg. Debian-based Linux systems weren't normally affected by the recent bash bug even though the bug existed on them because of the way Debian configured their shells). Ultimately you've got options you just don't have with closed-source software.

And think about this. How many problems of a similar severity have we seen in closed-source software? And how many of those have the vendors known about for years and deliberately left in place because fixing them would involve admitting they existed and cause PR problems? It seems to me that open-source software still has a much better track record when it comes to these issues than closed-source software by a wide margin.

Comment: Benefit vs. cost (Score 1) 240

by Todd Knarr (#48142517) Attached to: Fighting the Culture of 'Worse Is Better'

The problem is that you don't have to consider just benefits, desirability, goals and values. You have to consider the other side of the equation: cost. And for programming languages like C++, the cost of breaking compatibility can be huge. If you change C++ in a way that isn't compatible with existing behavior, you have to check every single program written in C++ for bugs, errors and just plain failure to compile anymore. The cost of that's going to outweigh just about any benefit short of "creates a literal Heaven on Earth for every single person in the world". It'd be simpler to create a new language based on C++ with the desired changes made to it, which is what tends to happen. The same applies to software frameworks and architectures.

Comment: The problem isn't open source projects (Score 2) 81

by Todd Knarr (#48047881) Attached to: Xen Cloud Fix Shows the Right Way To Patch Open-Source Flaws

This is the right way to handle things, yes. The problem is that most researchers are used to dealing with proprietary software vendors whose reaction to any bug report is at best to ignore and bury the report and deny there's any problem, at worst to attack and sue the researchers. The only sane reaction to that situation is to handle things the way Heartbleed and Shellshock were: immediately publicly disclose all the details so that there are too many independent confirmations and too much publicity for the vendor to ignore the situation or deny the problem. When 99% of the time you need to follow one course, it's easy to lose track of when you're dealing with the other 1%.

Comment: Basic checks (Score 1) 410

The IRS could do a lot with a few simple checks:

  • Is the refund going to the same bank account as the last refund for this taxpayer? If yes, there's a minimal risk of fraud. The taxpayer would've complained if last year's refund was stolen.
  • Is the taxpayer's name on the account the refund's going to, and has the account been open more than a year? If yes, the risk of fraud's low. Banks typically don't let you open accounts without checking some physical ID.
  • Is the refund check being mailed to the same address as used on last year's return? If so, the taxpayer likely hasn't moved and the risk is low.
  • If any of the checks fail, compare the contact information on this year's return to last year's. If they're the same, contact the taxpayer to confirm where the refund should go. If they aren't, check any supporting filings from other sources (W-2, W-4, 1099, etc.) and see if any of those sources has contact information. Use that to contact the taxpayer.

It'll slow things down a bit when there's a problem, but it'll also let the effort be concentrated on returns with the highest chance of identity fraud.

And I mean, really. "Identity theft" is just a fancy new name for impersonating someone, and impersonation for the purposes of fraud is not new.

Comment: Re:COBOL: Why the hate? (Score 4, Insightful) 270

by Todd Knarr (#47924707) Attached to: College Students: Want To Earn More? Take a COBOL Class

And in many cases they probably can't do it over. We're talking about major financial and operational programs that weren't designed so much as they evolved along with the business over the course of the last half-century (since the introduction of the IBM System/360). The specs and requirements, if they exist at all, are buried in the back of a warehouse the size of Warehouse 13 and have probably been turned into nests for the mutant rats. The source code in many cases doesn't match the binaries or doesn't exist at all thanks to errors in migrating data and mistakes in editing files. The running binaries may literally be the only authoritative statement of what rules the company's accounting follows. There's a reason every single IBM mainframe since the S/360 has been capable of emulating an S/360 down to the hardware level, after all.

Comment: It's theory vs. practice (Score 1, Insightful) 546

by Todd Knarr (#47819657) Attached to: Does Learning To Code Outweigh a Degree In Computer Science?

The difference between someone with a Computer Science degree and one who's learned practical coding is the difference between a residential-home architect and a construction-oriented master carpenter. The first can design your home and tell you why it's designed that way. The second can actually build it, tell you what goes into the construction and why, and when certain design elements are going to muck up the physical realities. In the end, you're going to need both skillsets unless you restrict yourself to just building cookie-cutter copies of existing house plans. And ideally your senior people should have both skillsets so their designs take into account the grungy details of turning them into working code.

The absolute worst situation is senior architects/designers with no practical experience, they tend to turn out beautiful, elegant masterpieces that're a nightmare to actually implement. That's followed only slightly by pure practical programmers trying to do high-level design while being ignorant of the overarching principles and abstract concepts that help guide you when it comes to what's the best way to approach a problem.

Comment: Engineers do dress well (Score 5, Insightful) 166

I'd note that most software engineers aren't philosophically opposed to dressing well, or to reasonable dress codes. They're mostly opposed to stupid dress codes that make them uncomfortable while working for no good reason. Reasonable dress for a meeting with outside customers is different from that for a group of engineers banging out a solution to a code problem, and what's reasonable when you've hauled someone in on their day off to deal with an emergency isn't the same as what they'd wear during a normal workday. Management tends to lose sight of all this because they've got much different jobs from the engineers and the dress norms for them are going to be different from those for engineers because the routine situations are going to be different.

Comment: Re:Firewall != Windows Firewall (Score 1) 348

The problem there is that the Windows firewall itself creates it's own attack surface. You have such a large range of internal machines that need access to so many different services on the servers for monitoring, administration, deployment, support and so on, and so many of those services are either so poorly documented or multiplex so many different functions/services over the same port that it's difficult to write specific rules for them, that in the end your firewall rules for the servers end up being unmanageably complex. They end up not protecting you nearly as much as you think they are, and they actually cause problems and contribute to failures (I could count on spending at least half a day every week diagnosing firewall-rule-related problems, and every release tended to result in several rollbacks and re-deployments over the course of a couple of days because of errors or omissions in firewall rule changes which we also had to diagnose). Plus, for all that cost, the primary threat wasn't from other compromised servers, it was from internal machines which legitimately had access to the servers (ie. the desktops belonging to DBAs, sysadmins, managers and so on) which were compromised by malware coming in via other vectors that bypassed all the firewalls.

Comment: Firewall != Windows Firewall (Score 1) 348

You said they disabled the local firewall. That's how I'd run most Windows servers on a network of any size, because the local firewall just eats up resources on the server that could be better used for the server's actual job. The firewalls should be proper hardware firewalls built into the networking infrastructure located a) between the outside world and the client networks to control access to the network in general, b) between the POS terminal segment and the server segment to control what access the terminals have to the servers and to block the servers from unnecessary access back to the POS terminals, and c) between the two client networks you mention to control what access each client has to the other's network.

The Windows Firewall itself is fairly useless in a large network because as far as incoming connections go it can't control things any better than a hardware firewall can, and for outgoing connections it's pointless because any malware that might try making unwanted outbound connections has to be assumed to have enough access to disable or bypass the Windows Firewall.

Comment: One catch: the starting point (Score 1, Insightful) 710

People who're worried about climate change would likely be people who've already started cutting electricity usage. If you've already been doing things to cut down for several years already, how likely are you to be able to still make big gains? Not very. It's a lot easier to get those when you haven't cared and can still do the easy things like replacing burned-out incandescent bulbs with CFLs or LEDs, or replacing an old less-efficient refrigerator with a new one when remodeling the kitchen. It's not so easy when you did all those things, and replaced the windows with double-pane insulated ones and had the heating/cooling system upgraded to a modern unit, several years ago and now all that's left would be very-big-ticket items like a solar power system or infeasible stuff like completely rebuilding the house using modern materials and construction.

Comment: Re: It's not just the refund (Score 1) 137

by Todd Knarr (#47390637) Attached to: Amazon Fighting FTC Over In-App Purchases Fine

Amazon is confusing users by making it so that setting the parental controls to "no in-app purchases allowed" leaves the game in a condition where in-app purchases are still allowed. If I get in a car, put the car into Reverse to back out of a parking spot, then put it in Drive to go forward, a reasonable person would expect the car to go forward. They wouldn't expect it to continue to act as if it were in Reverse for another few minutes before the Reverse setting expired and it began to act in accordance with the gearshift setting. Similarly when you set the parental controls in an app you'd expect the app to act according to the controls, not to ignore your setting for several more minutes because you've entered the password recently (as part of setting the parental controls, not to authorize purchases).

Comment: It's not just the refund (Score 4, Insightful) 137

by Todd Knarr (#47389401) Attached to: Amazon Fighting FTC Over In-App Purchases Fine

I think Amazon's problem is going to be that just refunding the purchases doesn't help the parents. If the kid maxes out the credit-card on in-app purchases, the parents have to deal not just with those purchases but the fees and interest from over-limit charges on the card and/or the additional costs associated with any declined charges (eg. if I pay a bill on-line using my card and the charge is declined, I get hit for late fees and possibly service disconnections). Having this happen when you're out-of-town (eg. the kid does this while the family's on vacation, and when you go to check out of the hotel you can't pay your hotel bill and you have to figure out why without being able to check your accounts on-line to see what unexpected charges are there). The only acceptable way of handling things is what Amazon should've done from the start: once parental controls are turned on in an app, all actions that would cause a charge or affect parental controls always require a PIN (and ideally there'd be an option to say "don't allow charges period until parental controls are turned off again").

Reference the NULL within NULL, it is the gateway to all wizardry.