Forgot your password?

Comment: Re:Bad Analogy (Score 1) 61

by phoenix321 (#47940271) Attached to: London's Crime Hot Spots Predicted Using Mobile Phone Data

If you have a small enough town with a small enough cell size, it should be blindingly obvious which handset IMSI numbers where usually in the area when a crime was committed.

With enough data, you can simply map out the handset IMSI of the most probable perpetrators. There were 5 instances of a street robbery, at night, and the only common denominator is IMSI xyz that has been in the vicinity and moving around the time of all 5 robberies. It either is a totally unlucky individual or the most likely suspect.

Follow that IMSI with a drone for a few nights, record evidence and then lock these people away.

Note that I don't mind any and all police activity directed against common street thugs, as long as they have reliable evidence against them. (not dealers, not pimps, not smugglers, maybe not even thieves - but violent criminals that assault and rob innocent people or even invade their homes deserve absolutely no mercy.)

Comment: Algorithms are not hindered by wishful thinking (Score 1) 61

by phoenix321 (#47940173) Attached to: London's Crime Hot Spots Predicted Using Mobile Phone Data

We know that people that commit crimes are much more often from certain social and cultural backgrounds. There are untold numbers of "anecdotal evidence" around, but we don't want that to be true. So we tell ourselves white lies, blame victims, discount hundreds of incidents as "anecdotal evidence", pinpoint the few cases outside the norm and fabricate elaborate excuses about why such and such were practically forced to commit crime. We are constantly telling ourselves how we are to blame for not paying enough welfare, not enough education, not giving enough leeway while conveniently ignoring millions of people of other social and cultural backgrounds that simply don't commit any more crime than everyone else, being good people despite being poor and uneducated.

Choices of cellphone contracts and handset make and models are similar along cultural and social bonds. An algorithm will never know about that but detect the significance.

But anyway, even among the groups with the highest part in crime, only a few select individuals are responsible for a large percentage of crime.

Algorithms will find that when IMSI xyz is in the general area, people will get robbed. It will also find that when expensive handsets with IMSI abc where in the area when a phone robbery happened, they will probably be around the next crime area as well, since the thief will either have it now or sold it to a pawn shop in the high crime area.

Comment: Re:Reality Check (Score 2, Informative) 118

by hibiki_r (#47893517) Attached to: Software Patents Are Crumbling, Thanks To the Supreme Court

The way it works is not relevant: What matters is that, if I am writing code under a patent system, I am at risk of doing something that has already been covered by a patent. I can check for patents related to what I am doing, which is a major drain in productivity, and will increase penalties if it goes to trial and I am infringing, or I can code without looking, and be at risk that I am reinventing something that I never knew about.

It's those costs, or the uncertainty that comes from acting as if the risk of getting sued do not exist, that make software patents a terrible deal.

Comment: Highschool girl logic (Score 5, Insightful) 385

by hibiki_r (#47862669) Attached to: Unpopular Programming Languages That Are Still Lucrative

It's interesting how many programmers make decisions while ignoring the wisdom of the high school girl. When in doubt, you pick something that is popular. When you are really good at it, you pick something that is going to become popular, and by choosing it, you make it more popular.

Seriously though, it really depends on where you are, market wise, and where you want to be. There are a lot jobs around here for Java programmers that understand Spring and Hibernate. However, the people hiring for those jobs are looking for competence, and little else. You won't be able to ask for a great salary in those conditions, because while good performers aren't that easy to find, the hiring pool is also pretty large.

Instead, imagine that you have 15 years of experience, and you want to remain technical. At that point, having a decade of experience on the exact same thing won't really help you. Your selling point has to be that you've seen everything, and that you are up to date with the latest and greatest. So you don't look for yet another generic job with popular tools: You have to learn shiny new things, and sell that your know-how with many tools means you'll make a lot less architectural mistakes than a youngster. At the same time, this gives you a chance of getting into a technology early, when finding experienced people is harder. You ride the top of the wave, get paid well, and can keep in the tech switching train.

Soyou need both serious knowledge of a couple of popular languages, and then to try to spend your time working on the less popular ones, that are still growing, because that's where real opportunity is.

Comment: Fragmented market (Score 2) 250

by hibiki_r (#47840689) Attached to: IT Job Hiring Slumps

The market slumps because there's a whole lot of people that show experience companies do not want.

My project at a huge company just finished, so I started looking for another one: I interviewed in six places, got six offers in two weeks, 2 paying as much as my old job, 4 paying from 10 to 20% more. 4 were from companies in town, 2 were bay area companies asking for telecomutting. The salary that pays for an OK experienced programmer in the bay pays more than an architect makes in the midwest, and it's hard to hire in the bay if you are not a big name, so companies are starting to look outside for quality candidates.

But that's the thing, an applicant need a resume proving that you learn new skills quickly, and that he is working on tools that are growing in adoption, like languages with functional programming elements. The cost of a bad hire is just very high, it's just too risky to get someone that has a good probability of not working out.

Comment: Re:allows for on demand gaming (Score 1) 120

by hibiki_r (#47759361) Attached to: Predictive Modeling To Increase Responsivity of Streamed Games

Let's take a humongous game: 10 gigs. How long does it take for an in game, low compression, high quality video stream to be a whole lot more downloading time than those 10 gigs? And remember that predictive streaming can take 4 times more bandwidth than regular streaming. I would be surprised if you don't get to 10 gigs in a few hours.

I just can't see a world where, on average, you save bandwidth by streaming games. Quite the opposite, in fact: This system is a non-starter in a world of bandwidth caps.

Comment: Re:ISP don't like the streaming (Score 2) 120

by hibiki_r (#47759301) Attached to: Predictive Modeling To Increase Responsivity of Streamed Games

The bandwidth problem is not on the way out (it's bigger than you think, but it's still small), but on the way in. It's a 1080p video stream that has to be compressed on the fly that cannot do any significant amount of buffering. Netflix already eats bandwidth for lunch, and that with compression algorithms that can run for as long as you want to optimize bandwidth use. So we get weaker compression, and we send a user 4 frames for every frame they see, so 8 times the bandwidth of Netflix for the same image quality.

So yeah, if there are data caps, they better be in the multi-terabyte a month range, or you just can't use this system at all.

Comment: Re:You Answered It Yourself in Your Question (Score 1) 511

by hibiki_r (#47748769) Attached to: If Java Wasn't Cool 10 Years Ago, What About Now?

Java is uncool because it moves at a glacially slow speed, and has an ecosystem full of enterprise tools that do nothing but slow us down.

The first real shock came from Ruby on Rails. I'd never use the thing for anything large or requiring much customization, but it sure showed many Java programmers how the state of the Java art, full of Spring and Hibernate, was pretty unproductive, all things considered. To write production code, you don't really need the mess of AbstractFactoryProviders that Java had become. After this, we started seeing people writing JVM languages that cut some of that madness.

So now Java has been playing catchup to Scala, Groovy and Clojure, because you have the same Write Once, Run Anywhere features, but the code is 1/3rd of the size. Even languages that try to work on closed ecosystems try to mimic that kind of style: Just look at how much Swift looks like Scala's reference-counting cousin.

Java's inability to evolve the language will remain an issue for the foreseeable future. Just look at all the things java 9 is supposed to offer: The roadmap could be sold as a cure for insomnia.

Comment: Re:Simulations are limited by imagination (Score 1) 173

by hibiki_r (#47736731) Attached to: Google Wants To Test Driverless Cars In a Simulation

The problem with real life testing is that it's so absolutely slow you won't even go through the examples you can think of.

Simulator testing is a bit like property based testing on software. I come up with a 'test envelope' of things that could possibly happen, and let generators combine them in many ways, as to check way more options that I ever could with example based testing. Then we run a few thousand of those random scenarios every build. If there's ever a failure, it's recorded and we can reproduce it

In something like a car, your test envelope might be bigger than even in the largest property based testing system, but then you can just add that entire family of circumstances to the test.

Comment: Re:Why would anyone go willingly to the stadium? (Score 1) 216

by hibiki_r (#47637007) Attached to: NFL Fights To Save TV Blackout Rule Despite $9 Billion Revenue

Regular, over the air TV football is not really better for the football geeks, because camera selection is based on what is more spectacular, but misses quite a bit of action. You only get to see a wide receiver when the ball is thrown in his direction. Is he playing his best and getting beat? Is the QB just missing open receivers? Is a receiver just not trying when he is not the top option, giving away where the play is really going? Good luck getting any of that from the TV broadcast.

There is a camera that shows everything through: All 22 players, all the time. But since it's very far away, it trades bring close to the action away in exchange for great Xs and Os information.

It'd be far better to have this camera, which coaches use all the time, along with a close view of the action, but the only good way of getting close to that live is to have what an offensive coordinator has: Access to the TV broadcast, while being able to watch the game live from a relatively high vantage point, instead of down at the sidelines.

Comment: Re:What do you plan to DO with your degree? (Score 1) 637

by hibiki_r (#47617821) Attached to: Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

If there's anything wrong with starting with Java is not really the old thing about memory management: Today, many languages used in the industry are garbage collected one way or the other, yes, even in games.

However, the problem with Java is that it teaches you relatively little of what a programming language can do for you. It's a language that moves glacially slowly. It just now got basic support for lambdas. It's still about as verbose as you are going to get this side of Cobol.

So if I had to recommend a curriculum today, I'd make sure students can see the world outside of Java. Even within the JVM, Clojure, Scala and Groovy are are much nicer to work with than plain Java. One could teach some F#, or some Haskell. A key part of being a professional developer is learning new tools, so why just teach one?

Comment: Re:Not this again. (Score 1) 637

by hibiki_r (#47617731) Attached to: Ask Slashdot: "Real" Computer Scientists vs. Modern Curriculum?

I wonder if it's you that has to give back your geek card.

No, competent Java developers do not call the garbage collector at random. Or ever, really. However, there are often memory problems with Java apps that, from a user's perspective, are not really much different from a traditional C leak. What we do in JVM languages is make sure that objects are out of scope as early as possible, so that the garbage collector gets to them quickly. It's very common to see silly mistakes like making data structures grow without bound because code keeps adding to them, and never getting removed. It's not a memory leak, in the C sense, but your memory use is growing without bounds, and without doing anything useful, just the same.

There are quite a few variations of issues like that: A reference or two can make many megabytes worth of objects not get marked for deletion. If you had ever opened a Java profiler, you'd have seen that managing this kinds of memory problems is seen as just as important as figuring out what parts of the code are hogging the processor.

Comment: Re:Push vs pull (Score 2) 107

by hibiki_r (#47599263) Attached to: NFL Players To Use Tablet Computers During Games

Many, if not all NFL teams, already issue ipads to players to hold the playbook and film clips: Before you had to hand players tapes every week, and update the playbook, which used to be a big binder where you had to switch pages in and out.

What they are talking about replaces the binders with pictures of previous plays that you can see quarterbacks check on any TV broadcast. I guess that now that it's digitized, instead of stills, they'll get a video feed from the all-22 camera, and some way for the offensive coordinator, up above, to send bookmarks to the players on the side of the field.

FORTUNE'S FUN FACTS TO KNOW AND TELL: A cucumber is not a vegetable but a fruit.