Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

Comment Errors on big sites (Score 1) 437

I used to see a fair number of errors(crashes) that were both java and .net on many huge sites. But now I primarily see errors from crashing java sites. That could be due to people dumping .net, .net cleaning itself up, or .net programmers getting better. Personally I don't use either (did years ago) but the huge number of errors that I would see on what should have been well developed sites is what kept me away going back to either.

Now on smaller sites I see PHP crashes but I would expect to see more people using PHP on smaller sites and more people using it badly.

What I would love is a survey from say google showing what technologies are used on sites getting 1,000,000+ hits per day and what their error rate is?

Comment Consequences (Score 4, Interesting) 430

There need to be consequences for prosecutors who abuse their positions.This could be done mathematically. One abuse is when prosecutors level massive charges with the goal of pleading them down. Thus there could be a maximum ratio of charges laid vs convictions/pleas on those exact charges. Another abuse is the investigation itself. So there could be a maximum investigation to conviction ratio. Also there could be a maximum time for an investigation. If someone is investigated for years and years the drain on them is nasty. So it should require a judge's approval to continue an investigation past a certain amount of time. For a crime boss this could be a great long time but for some dumb computer case it should be 30 days or less.

When consequences kick in there should be both penalties to the prosecutor and benefits to the investigated. Much like the double jeopardy if you charge someone with something serious that you can't make stick it should then be impossible to convict them in revenge on a minor related crime. So if you charge some hacker with RICO and massive fraud but can't make it stick you can't then convict him in revenge for mail fraud because he filled out some form wrong.

Then there is the prosecutor. If these ratios are passed by a certain amount the prosecutor should immediately be suspended and their continued employment up for review. Pass the ratios again and game over they lose their job.

The last option should also be that the defense can have a single prosecutor removed and assigned to a random other prosecutor. This way the "career making" cases are then less about politics and more about justice.

Comment Nice code or agrees with his style (Score 2) 399

Much of code is a matter of taste:


if ( x==1 ){


Are taste. Comments and variable/function names are functional and thus more arguable (but still generally religious). Any review of this sort that talks about code formatting is wasting our time(unless they went way overboard with something stupid) with religious nonsense so I wish he would stick to the benefits of how they pass parameters etc.

The only time anyone ever "Wins" the code formatting argument is when something else is brought into the argument such as "Format it my way or get fired." or "Format it my way or I quit"

Nearly every place I worked had someone who always began the argument about coding standards with "I don't care which standard we use as long as we all stick to it." But then they relentlessly argued for their standards and wouldn't give an inch with well structured arguments for every space, comma, and return. Often these standards had all kinds of specific metrics like a certain ratio of comments to lines of code. This way they could point to other people's code and mathematically prove that they sucked. Although the worst were the passive aggressive sorts who would reformat any block of code they touched on to "their" standard which was wildly different from the entire rest of the programming team.

Comment Even more subtle (Score 5, Interesting) 134

I hate any company that is driven through spreadsheet thinking but I think this story only really applies to the Zyngas of the world. My beef is a little bit different. It is where multiplayer games slowly cut off all the interesting discoveries. Too perfect a sniping spot; modify it to make it vulnerable. Room too perfect for a grenade tossed by a defender; change it. Gun a little too powerful; tone it down. All these fixes make eventual sense in that once enough people make one of these discoveries then they exploit the crap out of it and it really ticks the other players off. But at the same time these discoveries are cool. When I find that perfect ambush site I will annoy a bunch of players until they just start tossing a grenade into that spot every time they walk by. So if the spot is too perfect by all means fix it but then create another "too perfect" problem. Let people find it and then fix it. Too many multiplayer games get fixed until it is just a boring stalemate while other games never get fixed and that perfect sniping spot just runs all the other players out of town. In real war you often have move/counter moves the whole war along which is the thinking that drives the whole "Fighting the last war" syndrome where after the war the winning side keeps countering the enemy's last move better and better. But in many games all the counter moves just fix existing problems while not actively seeking to create new ones.

Comment Re:Insulting but necessary (Score 1) 776

Very dangerous as we don't always need awesome programmers. Often the high-school student programming up a school website is just right. Once you have a PE you will then get "Professional" bodies that will then prevent the high-school student from programming and then poof prices go through the roof. But while that might look good I can give a great example of that blowing up the second the Professional society gets greedy.

In Nova Scotia years ago if you bought a house you would pay a surveyor around $100 to walk around a property to make sure that the house was thoroughly on the property. With few exceptions the surveyor could eyeball this so it was an easy $100 for every house sold. Then the NS Surveyor's "Professional" organization insisted on a full survey for every sale which would cost around $1,000 (at the time) but some smart insurance person said, "Wait a second how often does it turn out the house isn't on the property?" So he started selling insurance, for $100, to the buyers that he would cover all the liabilities if it turned out that the house wasn't on the property. This satisfied the banks and was easier than getting a surveyor to eyeball it. So now all the surveyors lost that nice little side business of $100 for every sale and certainly never gained the $1,000 business. If you do the math it is $100 time the number of buildings sold in the province. That is a huge massive loss for the small number of surveyors that existed at the time.

So if any state or province were to try to create a PE designation that had the slightest backing in law all that would happen is that on paper it would look good but everyone would figure out ways to end run the system. Instead of hiring a local developer you would outsource(out of your jurisdiction) to someone who might make you a "Shrinkwrap" solution that you are the only person to ever buy. Or even worse the law would be written that you can't use software not certified by a local PE resulting in that government losing the next election.

The PE designation and the laws backing it only make sense when you are talking bridges or other engineering where lives are at stake. PE laws don't exist to protect the top people in the profession from being embarrassed by those at the other end.

Comment This is what government is for (Score 1) 202

I wish that they would do this sort of thing here but I just know that what would happen is that the government would cave into lobbyists that would then set up the regulations that didn't boil down to houses needing to have a fiber hook up but to pay the telcos to have fiber. Then the telcos could call it "building infrastructure" instead of "lining pockets".

But instead of creating the conditions for all people/companies to thrive the government they will keep trying to pick winners. In my area the government recently gave hundreds of millions to two failing pulp mills. The very word mill evokes images of 1920. "I goin' to quit school and work at da mill like me grandpappy."

Comment Insulting but necessary (Score 1) 776

Insulting but necessary; recently I a friend who is an awesome coder walked out of an interview when they handed him an final exam like coding quiz. He felt that it was too impersonal a way to assess for a position as the lead senior developer for a company. But at the same time I would say that the vast bulk of people I have encountered in the programming world were shockingly short of programming skills. A few years ago I developed a system for a company that then was handing it over to a company with whom they had a maintenance contract. So the two top programmers for the company with many years of programming experience and one of whom had graduated from one of Canada's "Top" CS programs began asking me interesting questions about my code; the most critical question was "What are those odd arrays that you are using?" The odd arrays were associative arrays. So I just thought they used a different word so I began thinking of anything even slightly synonymous, hashtable? Lookup table, map, key/value pair? In the end I gave a more than one hour tutorial on the value of a using keys to find values and how the hashing and use of trees could make the underlying algorithm wicked fast even on massive data sets.

The questions went on and on. Won't that waste too much memory (it was a single purpose server with 8G and a data set well under 500M)? Won't scanning through that huge array take forever(I had explained the whole look up tree and showed that a typical lookup only took a tiny handful of steps and that it didn't matter as the system was wicked fast even with a test load many times the system growing far beyond the company's wildest dreams.)

But these two who I now refer to as the Hash Twins could talk the talk. They would blah blah about log files and in-line assembly and wanted to argue about commenting style but had massive gaps in fairly basic bits of programming. So these two would have interviewed quite well unless your interview was basically a coding test. A timed coding test also makes sense in that if you gave me the weekend to pass a basic test in a language that I am very unfamiliar with like Haskell I could probably pass but I would have to look up nearly every bit as I not only don't use Haskell and am unfamiliar with functional programming so I would not be able to step into a complicated Haskell project as the technical lead. I shouldn't pass.

But even after years of C++ I would fail if you gave me a test full of pedantic questions such as "List all the different basic ways you can use the keywords static and const, define the following keywords: explicit, compl, noexcept, and decltype." (I had to look those up)

So I would think that a basic filter test should be quite understandable where you give a person a machine and say, "In the language of your choice code me a function that takes an integer and returns and integer of that Fibonacci number." or for a database person say "Given this trio of tables(users, products, and product sales) cough up an SQL statement that pulls up a list of all the Canadian users and a count of product X that they bought and include those Canadian users who bought nothing." If you couldn't do something that simple in less than 20 minutes (assuming job relevant questions) then an interview would be a waste of everyone's time. I am also willing to bet that the two above questions would kill more than 80% of applicants around these parts. Also questions like the above allow the user to show their thinking; do they put in error conditions? Do they use stupid variables? Do they do it in 10 seconds really well or do they sweat out the whole 20 minutes and produce marginal crap? Do they show a lack of Mathematical ability by asking what the Fibonacci is (Not a deadly strike but a test to see how broad their knowledge is as great CS does use math. Plus if they don't know Fibonacci it only takes a few seconds to explain)

Comment Oddly enough the solution is a new law (Score 3, Interesting) 620

There needs to be a new law that makes it clearly illegal for the police to interfere with someone recording them in a public place. Given the fact that police can be menacing it should be illegal for them to even ask you to stop or actively try to block you. In the same way they can't continue to ask you questions once you invoke your right to have an attorney present and have invoked your right to silence. The penalty for the law should be multi fold. Potential felony for the cop but also a minimum fine partially payable to the victim. This would serve to get more people videoing the police and the insult of the police having to write out checks to people they tried to intimidate would be golden.

The next tier of offense would be if the police then erase the video. With that there should be a minimum mandatory sentence along with a huge fine, again with much going to the victim.

Lastly there should be no exceptions tossed in as the slightest wedge given to the police would be abused to hell; So no being able to say it is evidence. If someone videos the police then the video should be as sacrosanct as client attorney privilege; if they want to youtube it then fine if they want to keep it safe then their choice.

It all boils down to information is power. Previously it was the whole your word against a policeman's which basically made their side of a story the only side of a story. But now the public has massive power not only through the video but through the near frictionless ability to distribute that video. 20 years ago if you were to say video the police pulling over a clearly drunk powerful politician even the local media might not touch that video assuming the police let you walk 5 feet away with it. Now you put it on youtube and the police suddenly do their job and charge the politician and while the prosecutor might not go for the throat will at least go through the minimum motions.

But all arguments that this somehow interferes with the police being able to do their jobs is false. The police have the clear ability to abuse or not abuse their power. But someone videoing the police does not change what happens they are not able to create abuse they can potentially try to show something out of context or add a colourful commentary but most people aren't stupid and will see through that in a flash. My guess is that any policeman that gets frustrated with being recorded is a policeman who doesn't want to be forced to obey the rules or knows they just broke the rules. They are lashing out because of frustration not because they think they are in the right.

This all reminds me of a local Indian restaurant lashing out after being closed for a zillion health violations; they argued that the health inspectors didn't understand Indian cooking nor did they think the health inspectors had any right to be in their kitchens. They argued that their insurance didn't cover health inspectors only employees, that the health inspectors were exaggerating, and that the inspection reports should not be public as the public wouldn't understand them. These all sound like the arguments that police make against recording them.

Comment Love linux, but this is stupid (Score 3, Interesting) 127

I don't want a Shuttleworth phone, I want a linux capable phone. I want a phone so controllable that if the phone is capable of doing it then I or someone else is doing it. The ideal phone would be one so controllable that some hardcore dude would instantly cobble together a complete command line interface to the phone:

phone-dial 5551234
sms-message -u5551234 'I will be 5 minutes late'
I am sick of phones that are missing features that would tick off the telcos. I want to block text messages from certain users (I'm looking at you Telus) I want to have a list of people who can and can't call me at certain times of the day. I want to block calls from certain callers. I want an easy button to turn my cell data on and off. I want to delete any app that I don't want. When (not if) I reinstall the OS I want to strip out everything and then put back only that I want (I'm looking at you NewsStand). Whereas I see an Ubuntu phone as being Shuttleworth trying to get his piece of the appstore pie. I want a phone that cannot be locked to a carrier.

Comment Re:C? (Score 4, Interesting) 535

Your operating system, almost all shrink wrap applications such as MS Office or Photoshop, Your console's operating system, Your games, Your microwave's OS, Your car. C or C++ but even the C++ in most of the above systems is more C like than C++. Where people mistake the popularity of Java is that many of the jobs at hand such as the local phone company's new billing system will be in Java. But the code that makes the phones actually ring will be something more hardcore such as C or even erlang.

So most of the public will go through their day probably using C or C++ based code 99% of the time and a bit will be say the timesheet software running Java that they access through their C based browser using C based network drivers on viewed through a video card with C based drivers on a C based OS with their packets going through C based routers and switches after using a C based security system to get into the building where they used a C based elevator system to get up to work. Of course many of the above systems use a smattering of other bits such as scripting libraries but those are being run by a C library. The only other language that the average person might encounter would be some Objective-C on their iPhone or some Java on their Android; but again those OS's are basically C.

When they get home and browse the web they then get the full onslaught of servers running a dog's breakfast of PHP, Java, RoR, etc. But those servers are all programmed in.... you guessed it C.

Comment Re:a bit of latency (Score 4, Informative) 535

Quite a few people are using the NDK and programming in C++ much to the chagrin of Google. So technically there might be 10-100 lines of Java loading 20,000 lines of C or C++. A great place to get started is: http://www.raywenderlich.com/11283/cocos2d-x-for-ios-and-android-getting-started

Here they have the most popular iOS game development library ported for programming on android in C++.

Comment C Just works (Score 4, Insightful) 535

The bulk of my recent programming has been in Objective C but once I leave API calls my code quickly becomes pretty classic C with elements of C++. Yes I love the simplicity of a foreach type structure where it is brain dead to iterate through some set/hash/array of objects with little or no thought about bounds but once I start to really hammer the data hard I often find my code "degenerating" into c. Instead of a class I will create a structure. Instead of vectors I use arrays. I find the debugging far simpler and the attitude to what can be done changes. In fairly raw C I start having thoughts like: I'll mathematically process 500,000 structures every time someone moves their mouse and then I literally giggle when it not only works but works smoothly. What you largely have in C is if the machine is theoretically able to do it then you can program it. Good mathematics can often optimize things significantly but sometimes you just have brute manipulations that need to be fast.

But on a whole other level my claim with most higher level languages ranging from PHP to .net to Java is that they often make the first 90% of a large project go so very quickly. You seem to jump from prototype to 90% in a flash; but then you hit some roadblocks. The garbage collection is kicking in during animations causing stuttering and the library you are using won't let you entirely stop garbage collection. Or memory isn't being freed quickly enough resulting in the requirement that all the users' machines be upgraded to 16Gb. Then that remaining 10% ends up taking twice as long as the first 90%. Whereas I find with C (or C++) you start slow and end slow but the first 90% actually takes 90% of the final time.

But where C is a project killer is the whole weakest link in the chain thing. If you have a large project with many programmers as is typically found in a large business system working on many different modules that basically work on the same data set that a safer language like Java is far far better. I am pretty sure that if the business programmers working on projects that I have seen were to have used C instead of Java that those server systems would crash more than once a minute. You can still program pretty badly in Java but a decent programmer shouldn't blow the system apart. Whereas a decent C programmer might not be good enough for a large project.

So the story is not if C is better than say Java but what is the best language for any given problem set. I find broad systems, like those found in the typical business, with many programmers of various skill levels are idea for Java. But for deep system where you layer more and more difficulty on a single problem such as real-time robotic vision that C or C++ are far superior. A simple way to figure out what is the best language is to not compare strengths and weaknesses generally but how they apply to the problem at hand. In a large business system where horsepower is plentiful then garbage collection is good and pointers are only going to be a liability. But if you are pushing up to the limits of what the machine can do such as a game then a crazy pointer dance might be the only possible solution and thus demand C or even ASM.

Lastly do you want your OS programmed in Java?

Comment Re:My stupid story (Score 1) 284

I could see a really crappy bomb fizzing or whatnot if it the contents ignited instead of detonating. Years ago I flew model rockets and the occasional one would do something strange. It wasn't uncommon for one to ignite, smoke for a huge amount of time, and then sort of fly. Keep in mind that these bozos are potentially cobbling these things together and are likely to not get it quite right.

Given the first thought of most baggage handlers is: dildo followed by razor or toothbrush it is pretty dumb. But I don't think they are hiring from the leading engineering schools. They are getting guys from the hardware store where a guy told me the new LED lights don't break because instead of a filament they use a spark. Did I give him a quick lecture in Quantum physics; it would have probably have been as useful as telling this guy that all those training videos document the least likely thing in peoples' bags.

Comment My stupid story (Score 2) 284

I can not cast stones at these people as I recently arrived home from a trip to find that there was a horrible buzzing noise in my house. I could hear the noise from the front door and thought it might be the furnace; no joy. Maybe the fridge, nyet. Oh no my computer, nope. But no matter where I went it was of roughly even volume. Then as I took off my backpack I realized it was my electric toothbrush buzzing in the backpack. So my little lesson is that you hear the sound you are expecting. In a airport the paranoid are expecting bombs and so they hear bombs.

Comment Supreme Court of Canada (Score 5, Insightful) 304

The supreme court of Canada recently made a very radical decision I think regarding a bunch of guys who left a big bank here. Basically the court decision was that people can work wherever the hell they want for whomever will have them. The court seems to have completely tossed out the idea of an employee having any kind of non-compete as violating their right to work. But the decision went much further. It wasn't just about working for the competition or even stealing former employees but the court even said stealing old clients and their phone numbers was fine as long as it was reasonable that the employee could have remembered that data. So if an employee even wrote some names and numbers down it was fine as long as it was a reasonably memorable list. In the particular case the employees were dealing with a fairly small elite clientele so the bank really lost big time. Again the court said that you can't make an employee forget stuff.

This of course is a Canadian supreme court case but I went to a lecture given by a supreme court justice who said that most supreme courts look to other supreme courts around the world that are based upon the English system of law as the same sort of cases tend to crop up in the various courts at similar times. So without a doubt the US courts will at least glance at this outstanding decision supporting workers rights.

To me the answer is quite simple. What is HP doing for any employee the day they leave? Absolutely nothing. So what should an ex-HP employee do for HP after they leave? Absolutely nothing. As for any contract. You could sign a slavery contract but any court would toss it out in a second. The key to a contract is that there is an exchange. If I promise to give you a gift of $1,000,000 tomorrow for absolutely nothing on your part you can't actually sue me when I don't deliver. There has to be an exchange. When the employee stops paying the employee the contract has ended regardless of what extra bits HP might wish for. I suspect that this will be going to the supreme court in the US as people will think that it is "unfair" for the employees to be so disloyal and some lower courts might be so foolish as to fall for this argument. But the law is not about fairness. It is about rules; and contract law is fairly old and boring that way. So it will be interesting to see how this all turns out. Personally I was surprised to see our supreme court side so thoroughly with the little guy when the other side was one of the biggest banks in Canada.

Slashdot Top Deals

The shortest distance between two points is under construction. -- Noelie Alito