Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×

Comment Re:Its politics/emotions not intelligence level .. (Score 1) 580

The problem with that is that you are the one deciding who is trustworthy and reputable.

And why is that a problem? Ultimately the data comes from somewhere, so the more I understand about the source, the better I understand the results. How many studies on climate change were funded by the NSF? The U.S. Army? NOAA? Some land grant university? A private university? Were they funded by Greenpeace? Were they funded by the American Coalition for Clean Coal? Follow the money. If the source of the study's funding comes from someone vested in the outcome, and those results don't fall in the same direction as the other studies, it's not particularly trustworthy.

Rather than belabor my methodology, consider the alternative and look at how the typical person evaluates a topic like climate change: they saw it on Fox News, they saw it in the Huffington Post, they saw it on MSNBC, or they heard it on NPR. Maybe they saw it on Jon Stewart or Stephen Colbert. Or maybe they got it from their boss, or their preacher, or their social club. Maybe they heard it from their favorite politician, or a sports figure, or some random actress. Now look at who has a financial interest in how climate data is perceived by the public: oil, gas, and coal companies. Is it easier for them to manipulate the data, the studies, the politicians, or the media? Is there a reason they won't try to manipulate all of the above, when the difference could mean trillions of dollars over time?

How would you suggest I get better, more relevant, more trustworthy data than looking at the studies? I may put up a weather station and track temperatures over time, but that only tells me about weather, not climate. I'm not going to Antarctica to drill for ice cores myself, or dig up geological strata to look for evidence of palm fronds in the fossil record. And I'm certainly not going to have 100,000 children so I can track the efficacy of their vaccinations. I have to trust others, so I do what I can with what I can learn.

Comment Re:Its politics/emotions not intelligence level .. (Score 5, Insightful) 580

Being a self-perceived-intelligent pig-headed engineer myself, I think you're missing a critical component in that description. I'm right, until proven otherwise. Show me a trustworthy test, show me trustworthy data, show me trustworthy studies, show me proof from a respectable authority that I'm wrong and I will happily change my mind and apologize to you for wasting your time in having to convince me.

One thing I've noticed about software engineers is that too many of them are lacking the critical statistics skills they need to function effectively. Perhaps it's because we tend to think in Boolean terms of true and false. Thus, "I have a 1:450,000,000 chance of winning the lottery" turns into "I have a chance of winning the lottery", which is a different wording that is remarkably easy to misinterpret as a "50:50" chance, even though both outcomes are statistically equal to false. They apply that same lack of understanding to any risk, including vaccination (a 1:3,000,000 chance of a serious adverse reaction becomes "a chance of a serious adverse reaction".)

In the case of vaccines, I was initially a bit skeptical when it came to vaccinating my son. But it was extraordinarily easy to convince myself that they're safe and effective, and that the one study showing a purported link to autism was completely fraudulent. It took about an hour of research that anyone with a browser and half a wit could do. And because it was so easy to learn the truth, I now hold all anti-vaxxers in that extra-special contempt I reserve for the willfully ignorant. In this case I consider them parties to attempted murder. They threaten society as a whole, either because they're too stupid to do the research or too dull to change their minds.

Comment Re:Z-Wave (Score 2) 327

There are many home automation systems out there that could serve this up with a wireless switch or a panic button. I have a Vera as well as the parent poster, and it would work perfectly for this task. In addition to text and email, you can also hook up a Prowl notification to be delivered as an alert to your phone.

A well-connected home would give you another option. Instead of relying strictly on the panic button or your toddler's response, you could ask your wife to use the home automation system at least once an hour (or so.) You could then configure it to trigger a notification if no light switches or TV remote buttons are activated, or if no doors are opened or closed during that time. Give her a way to disable it when she sets the alarm clock for a nap, or leaves home for a walk in the park, or whatever. Perhaps after 55 minutes elapse, you could turn on the lights or ring a doorbell to remind her to check in. The idea is similar to the dead man's switch railroad engine cabs have, where the engineer has to press a button or adjust a control every minute to prove he's still awake.

Of course, this might be too intrusive an approach and she may not be interested in this kind of monitoring, or you might think that a tolerable response time for your wife is too long for you to react, but it also might be a backup option that suits both of you.

Comment Re:Spot Messenger (Score 1) 327

The problem is that the Spot has more than just the one button. There is a button that sends the equivalent of "OMG MY PLANE HAS CRASHED INTO AN AVALANCHE ON A VOLCANO AND O GOD SEND THE RESCUE SQUADS NOW!!!" to whatever emergency agency is available. Not the kind of thing you ought to place in your two-year-old child's hands.

Comment Re:Longer sentences (Score 1) 327

It's disturbingly easy to imagine a movie-drama scenario where you phone in a panicked claim that a gang of attackers has shot your brother, one is holding a gun to your mother's head demanding more drugs, and you're just a scared kid hiding upstairs, too afraid to stay on the line. Without any other intel, the cops may react hard and fast with an equally movie-drama response. They may decide to go in with shock tactics: full body armor, battering ram or explosive charges to breach the door, flash bangs to disorient and concuss everyone inside, and automatic weapons at the ready.

Given no other information, how do you think the police should react? "Knock, knock, excuse me, but could you murderers please put your guns down and step out of the house?"

Comment Re:I thought CS is being outsourced (Score 1) 120

Because those jobs are not staying overseas. Some of the companies that tried outsourcing their entire IT departments are now feeling the competitive disadvantage of not having the same amount of control they would get by owning custom systems. Sending a bunch of requirements to a contractor and getting a crusty system eight months later just doesn't cut it in today's business world.

Comment Re:Emergency probably has legal meaning (Score 1) 120

Even in a big school in an affluent community in Minnesota (a really good public school with over 2000 students) seems to have had fairly low interest in CSci. When my son went, they had an AP computer science class that had 18 students. The next year, they had 15, and then the next there wasn't enough demand to hold the class. The sole qualified teacher in the school moved out of state about the same time my son graduated, and I don't know if or when they hired a replacement.

That said, it's a few month course for a teacher to become certified to teach AP CSci. If there is a critical shortage, it could be fixed by the start of the next school year if they act now.

Comment Re:After that sweet sweet income tax (Score 1) 120

It's like squeezing blood from a stone. They're not going to get it from business taxes, that's for sure.

You don't think Walmart's lobbyists from Bentonville aren't earning their keep in Little Rock? The Waltons are not about to share a dime they don't have removed from their pockets at gunpoint.

Comment Re:Longer sentences (Score 1) 327

Why blame the kid? Perhaps because he was attempting to murder other people?

There isn't a technical,fix for a sociopath, other than to remove the sociopath from society. The only utility you can get from this idiot is to show other people that SWATting will be met with disastrous, life-ruining consequences in hopes of dissuading them of copying the crime.

Comment Re:Longer sentences (Score 4, Insightful) 327

This is nothing short of attempted murder. He may have intended it as a prank, but putting a dozen adrenaline-fueled heavily armed cops in the house of someone who might not be expecting an armed intrusion, and who might be prepared for one, is throwing gas on a fire. People could die if any tiny little thing goes wrong.

Nope, this is pure cowardly violence. Stuff this idiot in a cell for 20-25 years. Let some non-violent offenders out if you don't have room.

Comment There's a lot - you need a plan (Score 1) 233

I'm assuming you're here because this code is critical to your business, it works well enough today, and it can't be easily replaced. You need to keep it working as you go, but you desperately need to modernize it. There's a lot you can do to set yourself up for success, and it's not just tools.

First, get it building in the most current environment available. Is it Visual Studio? Port it to VS2013. Is it Eclipse? Get it into 4.4. Is it not even in an IDE? Get it into one - they're a great timesaver. Pick a refactoring tool, too, something that will help automate common refactoring activities like "extract method." You're going to do that a lot.

Next, get it checked into your source control system, and building on your team's build server. This would also be a good time to revisit the packaging of the deliverables. If you don't already have a task and bug management system like Jira, Mylyn, TFS, Bugzilla, or whatever, get one that integrates into your workflow and your IDE. You have a lot of work to do, and you don't want to waste it filling out Excel spreadsheets. You really need your tools to be as unobtrusive as possible.

There is no sense starting with sub-optimal tools, or fighting a crappy build or development environment. Your time is best spent on coding, and is wasted on everything else.

Now that you're almost ready to get working, build a small suite of automated integration tests before moving on to addressing the architecture. They'll be ugly tests, but you need to know the code is still working as you begin making changes. Make sure the build machine can launch your tests and tell you when they fail.

Now you can dig into the code base. Identify the underlying architecture. Is it event based? Does it closely model MVC? MVVM? Once you clearly define the architecture, break the solution into individually compilable libraries that represent the layers (controller, business logic, data accessors, etc.) Move the existing modules to the most appropriate library project. (Some won't fit cleanly, so you'll end up splitting those into parts later.) For now, make sure it builds and the tests run successfully.

Pick one of the layers to work on first, perhaps the UI, perhaps the data access layer. Get it compiling clean, with no warnings, and turn on the compiler switch to enforce "treat warnings as errors." Run a static code analysis tool (Coverity, Klocwork, Fortify, /Analyze, lint, or anything, really) and fix whatever warnings it gives you.

Tolerate no bugs. As you go through the code, when you find a bug, fix it then and there. Your QA staff will no doubt be finding plenty of bugs on their own, but you need to keep the project as clean as you can.

Next, start refactoring the chosen layer into appropriate subdivisions, such as a controller, business layer interface, etc. You'll want to do a bunch of other housekeeping work here: get rid of globals and singletons, push stray business logic down into the business layer, pull stray UI interactions from the business layer up to the UI layer, etc. This would be a good time to introduce some automated unit tests to the logic you extract and move around. Unit tests force you to make the code testable; things like dependencies on databases, services, files, etc., cause problems with tests, so you start treating them with dependency injection. The primary outcome is that by making your code testable, you make it modular and readable. Plus, you get a few more tests under your belt.

Run a complexity metric across the layer, and look for the highest complexity modules. Start chipping them down. Again, look to adding some unit tests to prove that the code you're isolating does what you claim, and that you're making your logic stateless.

Decide on an exception handling strategy, and make your exception handling consistent. Pick the one appropriate to your app and technology: SEH, try/catch, C-style return codes, whatever, just apply it consistently as you go. Similarly, this would be a good time to review any logging your app does.

One of the most important refactoring tools you have is "Rename Method." If you can't say what the method does in a couple of words, it's too complex and not very modular - use Extract method, then name the results appropriately. Once you get good at naming the parts you extract, you'll probably start to see duplications more clearly. This is the time to sensibly combine the methods that are true duplicates, and distinguish those that are not.

Let your build server put those idle cycles to good use rerunning your tests with every build. Make sure your users remain happy with the product.

It is important to not compromise on code quality on anything you do from here on out. You are here because your predecessors let it go to hell; do not follow them down that path.

Good luck!

Comment Re:Be careful how you define Troll (Score 1) 467

You could tag the tweets you don't like as "Censored by tacokill". I'll tag the tweets I don't like as "Censored by plover". People who like the way you tag trolls and not dissenters can employ filters that get rid of everything you dislike. People who like the way I tag trolls would filter out anything I think is bad. They could subscribe to both of our sets of tags, or neither. I promise I'd filter out the Westboro idiots, but maybe you think they're dissenters, so you would stop filtering based on my recommendations.

Instead of the retweet system, it's more similar to slashdot's "friends and foes" system, and suppressing all messages from anyone who you or your friends dislike. I would imagine this would spawn the growth of "professional friends" services, who are essentially offering a trustworthy filtering service that gets rid of the worst trolls.

Comment Re:Be careful how you define Troll (Score 1) 467

There's a cure for that. Instead of reading the whole stream, you could subscribe to filters that are tagged by their producers. Got some censors who call normal conversations trolls? Ignore those filters. Once you've built up a list of censors you trust, you no longer get messages from the trolls you disagree with.

This was done over 20 years ago with the cancelmoose. There's no reason it couldn't be resurrected by Twitter.

Comment Re:Be careful how you define Troll (Score 2) 467

That's the ultimate social problem of the web, and something we've lost with the failings of broader outlets such as city newspapers. There are too many completely politicized sites where people are only exposed to their own groupthink. The Democrats gather on democratsRus.com, the Christians gather on christiansRus.com, the Seahawks fans gather on seahawksRus.com, etc. They fuel their own fires, and don't accept news or input that challenges their opinions. Anyone who stops by with a dissenting opinion has virtually no option for rational discourse, so they don't stick around, so the one-sided people remain one-sided.

I believe there was a brief period of time with some city newspapers (before Rupert Murdoch bought and overlaid them with his personal brand of yellow journalism) where they would employ a spectrum of reporters. They may not have had the ability to completely override the editor's politics, but they generally weren't all in lockstep, either. There was at least a chance you could get exposed to a slightly broader spectrum of opinions. But today, you can subscribe to the Huffington Post and close your mind to anyone who might reasonably think taxes should have limits, or you can read only Fox News and ignore anyone who thinks that people in need aren't just lazy. The only place where opposing sides seem to have real debates anymore is in the courtrooms, which have become the battleground instead of the houses of Congress. Besides, we all know how well Congress does at representing people's opinions (at least the opinions of those that were bought and paid for by special interests.)

Slashdot Top Deals

Serving coffee on aircraft causes turbulence.

Working...