Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Comment Re:I disagree (Score 1) 241

Math is all about being precise, logical.. Communicating exactly one concept at a time. Natural languages do neither.

Except math is almost never actually done that way in practice. Euclid was wonderful, but almost all modern math does not work that strictly (and Euclid really should have been more careful with the parallel postulate -- there's "more than one thing at a time" involved there). Yes, proofs are careful and detailed, but so is, say, technical writing in English. Except for a few cases (check out metamath.org, or Homotopy Type Theory) almost no-one actually pedantically lays out all the formal steps introducing "only one concept at a time".

Comment Re: Your Results Will Vary (Score 1) 241

Not every programmer deals with these [mathematical] questions regularly (which is why I donâ(TM)t think math is necessary to be a programmer), but if you want to be a great programmer you had better bet youâ(TM)ll need it.

I don't think you need math even to be a great programmer. I do think a lot of great programmers are people who think in mathematical terms and thus benefit from mathematics. But I also believe you can be a great programmer and not be the sort of person who thinks in those terms. I expect the latter is harder, but then I'm a mathematician so I'm more than read to accept that I have some bias in this topic.

Comment Re:I disagree (Score 3, Insightful) 241

Math IS sequencing. So is using recipes. That is how math works.

Math is a language. Just because you can frame things in that language doesn't mean that that language is necessary. Recipes are often in English. English is sequencing (words are a serial stream after all). That doesn't mean English is necessary for programming (there seem to many competent non-english speaking programmers as far as I can tell).

Disclaimer: I am a professional research mathematician; I do understand math just fine.

Comment Re: Your Results Will Vary (Score 1) 241

College education wastes countless hours teaching academic stuff that a great majority of programmers will not use on the job, while neglecting critical skills that could be immediately useful in a large .[sic]

Of course there was a time when college education was supposed to be education and not just vocational training.

Comment Re:Your Results Will Vary (Score 1) 241

I think part of the problem is that "programming" is itself so diverse.

The other part of the problem is that math is so diverse. There's calculus and engineering math with all kinds of techniques for solving this or that PDE; there's set theoretic foundations; there's graph theory and design theory and combinatorics and a slew of other discrete math topics; there's topology and metric spaces and various abstractions for continuity; there's linear algebra and all the finer points of matrices and matrix decompositions and tensors and on into Hilbert spaces and other infinite dimensional things; there's category theory and stacks and topos theory and other esoterica of abstraction. On and on, and all very different and I can't even pretend to have anything but cursory knowledge of most of them ... and I have a Ph.D. in math and work for a research institute trying to stay abreast of a decent range of topics. The people who actually study these topics in depth are all called "mathematicians", but if you're an algebraic geometer then sure, you're probably familiar with category theory and homological algebra; if you do design theory and graph theory then those seem like the most useful subject available.

Comment Re: Your Results Will Vary (Score 2) 241

Calculus is perhaps not the best measure however. Depending on where you go in the programming field calculus is likely less useful than some decent depth of knowledge in graph theory, abstract algebra, category theory, or combinatorics and optimization. I imagine a number of people would chime in with statistics, but to do statistics right you need calculus (which is an example of one of the directions where calculus can be useful for programming).

Of course the reality is that you don't need any of those subjects. Those subjects can, however, be very useful to you as a programmer. So yes you can certainly be a programmer, and even a very successful and productive one without any knowledge of calculus, or graph theory say. On the other hand, there may well be times when graph theory, or calculus, or statistics could prove very useful. what it comes down to is whether you are inclined to think that way -- and if so it can be a benefit; if not it won't be the way you think about the problem anyway.

Comment Re:I agree Python (Score 3, Informative) 466

I've gotten a lot of mileage out of Python for cleaning and pre-processing CSV and JSON datasets, using the obviously named "csv" and "json" modules. ... However, if you are doing very much manipulation of tabular data, I'd recommend learning a bit of SQL too.

You may want to look into pandas as a middle ground. It's great for sucking in tabular or csv data and then applying statistical analysis tools to it. It has a native "dataframe" object which is similar to database tables, and has efficient merge, join, and groupby semantics. If you have a ton of data then a database and SQL is the right answer, but for a decent range of use cases in between pandas is extremely powerful and effective.

Comment Re:Programming language in 2 hours ? Yeah, right. (Score 1) 466

Because Ruby is my preference and I am more familiar with it, I can tell you that it is in continuous development, and bytecode-compiled versions are available (JRuby, which uses the JVM, and others). I do not know about Python in this respect because I haven't used it nearly as much.

Python has the default implementation CPython which compiles python to an interpreted bytecode; there's also Jython which compiles to JVM, and IronPython which compiles Microsoft's CLR. There's also Cython (which requires extra annotations) which compiles to C and thence to machine code, and numba which does compilation to LLVM. Finally there's Pypy which is a python JIT compiler/interpreter written in a restricted subset of Python.

Comment Re:Spidey: Stingray Detector App for Android (Score 3, Interesting) 253

This is interesting. I was just discussing this with my friend last night, and proposed this exact solution. However, it's still a reactive solution. It will detect that you may be the victim of a stingray attack, but it won't stop your phone from connecting in the first place. But there is another potential solution, I just don't have enough experience developing android roms to say how it would have to be implemented. The idea is this: maintain a database of all know cell towers (your link to OpenCellID would do nicely, they offer their DB for download). Using a rooted or fully custom ROM, such as cyanogenmod, have the phone compare any new tower to the database prior to connecting. If it doesn't exist in the database, red flag it and don't connect.

The question is, can this be done on the OS level, or does it have to happen on the driver level? If it can be done at the OS level, easy peasy, just modify the code to establish tower connections to include this check. If it has to happen on a driver level, it gets trickier. Most phones use proprietary binary drivers for their cell radios, so they couldn't be readily modified. However, it may be possible to load an intermediate driver, which in turn loads the proprietary driver. If it could be determined which driver calls involved connecting to a new tower, you could just pass through everything else, and only pass through calls to the tower connect function if they passed your database lookup. Trickier, but doable. Because really, you want to avoid connecting to these things at all. Nice though it is to see you're being attacked, it's better to stop the attack before it starts.

Comment Re:Seems reasonable... (Score 4, Insightful) 260

Do you live in the area? I do. The cabs here can suck. A cab in the middle of summer that smells of old smoke, with no AC, in 95F and 10% humidity in the middle of summer is a not good thing.

That said, there are some amazing cabs too - but it's a guessing game. I've been (illegally) kicked out of cabs because my destination was too far or too "dangerous". Cabs get very picky during peak hours on who they pick up and in what neighborhoods they pick up in. Only this year do DC cabs take credit cards reliably, and only because of much-hated and delayed regulation changes based on Uber entering the game.

Do I think Uber/Lyft/etc. need to join in to regulations? Sure. That's a good direction. But sorry D/M/V cab industry, maybe you should have upped your game a long time ago. I have much respect for a good cabbie, but not much for the industry.

Japan

Percentage of Elderly In Japan Continues to Grow as Number of Children Drops 283

First time accepted submitter Cornelie Roe (3627609) writes in with some bad news about the population of Japan. "The number of children in Japan has fallen to a new low, while the amount of people over 65 has reached a record high as the population ages and shrinks, the government said. There were an estimated 16.33 million children aged under 15 as of 1 April, down 160,000 from a year earlier, the internal affairs and communications ministry said on Sunday. It was the 33rd straight annual decline and the lowest level since records began in 1950. Children accounted for 12.8% of the population, the ministry said. By contrast, the ratio of people aged 65 or older was at a record high, making up 25.6% of the population. Jiji Press said that, of countries with a population of at least 40 million, Japan had the lowest ratio of children to the total population – compared with 19.5% for the United States and 16.4% for China. Last month, the government said the number of people in the world's third largest economy dropped by 0.17% to 127,298,000 as of 1 October 2013. This includes long-staying foreigners. The proportion of people aged 65 or over is forecast to reach nearly 40% in 2060, the government has warned."

Comment Re:Priorities? (Score 3, Insightful) 231

Rigorous testing is helpful, but I think it's the wrong approach. The problem here was lack of requirements and/or rigorous design. In the physical engineering disciplines, much effort is done to think about failure modes of designs before they are implemented. In software, for some reason, the lack of pre-implementation design and analysis is endemic. This leads to things like Heartbleed - not language choice, not tools, not lack of static testing.

I would also go as far as saying if you're relying on testing to see if your code is correct (rather than verify your expectations), you're already SOL because testing itself is meaningless if you don't know the things you have to test - which means up-front design and analysis.

That said, tools and such can help mitigate issues associated with lack of design, but the problem is more fundamental than a "coding error."

Comment Re:worthless top five phrases (Score 2) 38

So they mined the journal for words and phrases... meh, those aren't memes

They are memes in the sense that they are specifically finding words and phrases that are frequently inherited by papers (where "descendant" is determined by citation links), and rarely appear spontaneously (i.e. without appearing in any of the papers cites by a paper). An important feature is that their method used zero linguistic information, didn't bother with pruning out stopwords, or indeed, do any preprocessing other than simple tokenisation by whitespace and punctuation. Managing to come out with nouns and complex phrases under such conditions is actually very impressive. You should try actually reading the paper.

Slashdot Top Deals

Never call a man a fool. Borrow from him.

Working...