Follow Slashdot stories on Twitter


Forgot your password?
DEAL: For $25 - Add A Second Phone Number To Your Smartphone for life! Use promo code SLASHDOT25. Also, Slashdot's Facebook page has a chat bot now. Message it for stories and more. Check out the new SourceForge HTML5 internet speed test! ×

Comment Re:SLIDE RULE (Score 2, Insightful) 870

I have a little one at my desk. The trig scale on the back of the slider would be a handy place to put cheat notes. Or even better, write them on the body of the slide rule under the slider so they are normally hidden.

Hiding your cheat sheet on an "open notes" test sounds like a good time to waste time.

Comment Re:Its not always needed (Score 5, Funny) 319

Note: if your teacher is using chalk in a room equipped with a large whiteboard, it may be a good time to double check their technological competence.

Does technological competency (which in /. means "computer gadget competency") matter if the subject is statistics, calculus, physics, or even algorithm analysis or theory of automata?

Shit, even in Computer Science/Software Engineering, I wouldn't care if my professor hasn't programmed in, say, the latest JEE stack or what not. For subjects like distributed computing, algorithms, or networks, it really doesn't matter.

Gimme a good old' school professor with chalk dust all over his head any day of the week!


Comment Re:EA (Score 5, Interesting) 161

While i've been a fan of RTSs since the days of the brotherhood of nod, it does seem to be much more difficult to find good ones these days.

In particular co-op RTSs seem to be non-existent and most that do support it seem like it was added at the last moment on a whim. If you're interested in a game that has more focus on the S part of RTS, and excellent co-op opportunities, i recommend AI War: Fleet Command. It's an indy game written by a developer who actually cares about it's playerbase(No i'm not that developer, but I do play the game), and makes free DLC available almost every week with bug fixes, gameplay improvements, new units, etc. The gameplay is very asymmetrical. The enemy has already taken over the galaxy and is now distracted with other pursuits. The more planets you capture and the more structures you destroy the more annoyed the enemy becomes, sending larger and more powerful fleets against you. You can't go recklessly taking over every planet you encounter because the enemy would soon be mighty pissed and send everything it has against you.

It's not for everyone, however you should at least check it out if you're finding the RTS platform has been lacking as of late.

Comment Re:Legalize Cannabis, not Cocaine! (Score 1) 441

Swiss studies have shown that simply providing heroin at a price similar to what it would be on the open market decreased the amount of income that the study subjects took in through other illegal activities by 90%, in a few weeks.

And what pray-tell would be "took in through other illegal activities?" Does selling the drug they bought legally which they otherwise would have bought illegally count in that reduction?

Citation please.

Comment Re:Why should PUBLIC records be behind a paywall? (Score 1) 145

Like in Texas where they use public money to build a highway, and then sell it to company so that they can turn it into a toll road.

If you want to make a toll road fine, but it shouldn't be publicly funded. Sell bonds if you need to raise funds for its construction.

If you want to make a road using public funds, it should be FREE to drive on. None of this double dipping shit.

Comment Re:The Amiga Hand? (Score 1) 517

The Haskell code is called a "specfication", but if it is Haskell code, surely it should count as a _program_ already?

Usually formal specifications are denoted using some sort of semantics. Large step semantics defines how create a derivation tree. Basically, how is a large program broken up into steps and completed one step at a time. Small step semantics define how an instruction takes one step in a program. There are other various forms of semantics, but each one defines mathematical constructs like stores (mapping from program variables to values), and using these constructs, you can prove different properties about that specification.


How can you prove that that program is bug-free?

"bug-free" usually means there is nothing left up to the implementation of the formal specification. For example, in C/C++ dereferencing of null pointers left up to the implementation. This means that one implementation can seg fault because you tried to access invalid memory, and another could return a random value, while another could always return 1. All three of these fully implement the specification because the specification does not define what to do when dereferencing null pointers.

Using a strongly typed language such as Haskell, Ocaml, or most any other functional language helps to prevent cases where the specification doesn't explicitly define an action. For example what is True - 3. In a strongly typed language, this would never compile, so the specification doesn't have to define this case, however in C++ where bools are actually ints this can happen.


How about conceptual bugs?

If a conceptual bug is one where the specification is incorrect, then this proof technique will not catch those "bugs".


Was the toolchain verified?

Usually the first compiler for a language is proven to be correct, and then using this fact, all subsequent compilers can be compiled using the first compiler. For example (i'm going off of memory here) the first ocaml compiler was written in c/c++ and proven to be correct. Once it was proven to be correct, when further optimizations/modifications were needed, a new compiler was written in ocaml, then compiled using the first compiler. Since it is usually easier to prove the correctness of a functional program that is strongly typed, proving the next generation compiler is significantly easier than the first generation.


How about the hardware on which it runs?

I'm not sure about this. As i'm not familiar with the kernel, it may be that it doesn't interface with any of the hardware itself and interacts w/ the hardware through modules/drivers. If this is so, then the modules/drivers would need to be proven correct as well.


What overhead does this approach have? Are the benefits worth it?

The benefits are very large for certain situations. For example, when the nuclear reactor starts to overheat, you want to be able to say with 100% confidence there will not be a meltdown and it will automatically shut itself off. You would want to say (with 100% confidence) that while flying on autopilot, the aircraft will not suddenly decide to go into a nose dive, etc.


I'm not saying this is all bullshit, but it looks like me that they are pointing to one program, calling it a "specification", and then demonstrating machine translation / verification to a similar program. I'm not sure if I buy that methodology.

What i assume that they did was first create a formal specification(denotational semantics, etc) for the kernel, implemented it in Haskell then implemented it in C. They proved that the C implementation is a 1-1 mapping of the haskell program. I wasn't able to determine, but i assume they had already proven that the Haskell program is a correct implementation of the formal specification.


My apologies for the formatting.

Comment Re:plausible deniability (Score 3, Insightful) 500

I don't understand the point of having "popular" software the natively supports having 2 keys. One that reveals "safe" data and one that reveals your "secret" encrypted data. If the software becomes popular so too will the knowledge that it supports multiple keys.

You: Okay police officer here is my encryption key.
Police officer: What a nice porn collection... I notice that you're using TrueCrypt, now give us your "other" key
You: Uhh what other key? I don't know what you're talking about.

That whole plausible deniability thing kind of falls off the table w/ truecrypt if it's common knowledge that it contains multiple keys.

Comment Re:6 years ago (Score 1) 232

in 2003 I recovered $15,000 for someone who lost their money to a web based computer scam. It was not easy and I didn't kill anyone (at the request on my client). Africa is a dangerous place. I have been doing stuff for a while, the odds of you getting all your money back are pretty much 0%. In fact I would say I did not get my clients money back, I probably got them someone else's money.

Hi, my name is adelanwa hassan and i am bounty hunter in nigeria.

I heard unfortunately you were mistaken into giving monies to certain people in nigeria to rescue their frozen bank funds. Most likely these people are yahoozie and once they unfreeze their bank accounts, they will not give you the promisd frunds. For the low price of 10% of the monies you sent to this yahoozie up front, I can recover 100% of the monies. I accept cash and cachier checks, send me the monies and the email address of the person and i will return your monies, 100% money back guarentee!

If you are willing to give me 20% of the monies you sent up front, i can also attempt to recover a portion the bank monies that were unfrozen with you funds. This is not guarentee though as i have only been able to recover these monies 75% of time.

-adelanwa hassan
Nigerian Bounty Hunter (sorry i just couldn't resist)

Slashdot Top Deals

"In matters of principle, stand like a rock; in matters of taste, swim with the current." -- Thomas Jefferson