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


Forgot your password?

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).


Comment: Re:Wireless charging hit mainstream ~ 1-2 years ag (Score 1) 184

by foreverdisillusioned (#49256817) Attached to: Why Apple Won't Adopt a Wireless Charging Standard
Meh. It depends on what you mean by "a lot". I think we're better off pushing for better heating/cooling solutions and more fuel efficient cars than insisting consumers screw around with micro usb cables to save a handful of watt-hours per year.

Also, I love how you think inductively charging your wireless toothbrush is "sensible" but making it easier to keep a life-saving device like a cell phone fully charged is, apparently, not.

Comment: Not funny--insightful (Score 1) 184

by foreverdisillusioned (#49256793) Attached to: Why Apple Won't Adopt a Wireless Charging Standard
This is what has happened again and again. If it was limited to Apple fanboys it might be tolerable, but the mainstream media insists on parroting the view that Steve Jobs invented things that trailblazers were doing 5+ years before.

I especially loved the fallout from the iPhone 1 vs. Android third party application situation with the full on meme-generating commerical blitz--"There's an app for that!" Yes, there's an app for that. Because competition from Android forced you to abandon some of your draconian 'Apple experience' enhancing lock-downs.

And, of course, 3G simply didn't exist until the iPhone 3G came along.

Comment: Re:Let's see... (Score 1) 177

by foreverdisillusioned (#49243331) Attached to: Preferred programming paradigm?

If you want lists (and parenthesis) you want LISP and no other, period.

That's technically true but a bit vague. I would say if you want metaprogramming, you want Lisp (or possibly Forth.) The ()s can sometimes suck and yeah it would be great if there was less resistance for supplementing it with m-expressions (for bits of code where the scope is clear and introspection isn't necessary), but the whole point of ()s is you are limiting yourself to a single basic syntax with an explicit and easily examined scope. This lets you do amazing things: http://lib.store.yahoo.net/lib... . Check out his 'anaphoric' macros for a simple yet compelling example.

It's also quite fast if optimized--faster than pretty much any popular scripting language available today. There may not be any other language available today that is very expressive and very fast with the possible exception of OCaml.

FWIW, it also has one of the most powerful and elegant object system I have ever seen, but first you have to break free of the very limited and limiting notions of C++ style (or Smalltalk-style) methods and inheritance.

Comment: Re:Stomp Feet (Score 3, Informative) 391

A couple years ago, youtube was extremely frustrating to watch on my DSL connection. Lots of buffering. I don't just mean one day youtube slow for some reason; this went on for several months and I basically gave up on youtube for a little while. Then I finally got around to googling the issue and I saw a bunch of people saying to use a VPN. So I did. Flawless performance from then on... this despite the VPN having significantly lower bandwidth than what I had through my ISP. Oh and my ISP was heavily pushing their own streaming on-demand video service at the time.

So tell me... what's YOUR explanation for what happened?

The problem with this sort of thing not being illegal is they really don't have to even tell people they are doing it. And if they're smart, they can and probably are taking measures to prevent people from realizing they're doing it--rotating out the customers they throttle, throttling only at certain times of day, etc.

So, that's my thesis. It has existed for quite a while, but it's growing and starting to involve third parties so that it really isn't possible to hide it any more. Oh yeah, and ISPs were throttling P2P users (not pirates--ANY use of p2p, like sharing ubuntu ISOS) a LONG time ago.

Comment: Everything is built on Gotos (Score 1) 677

In my last job I was dealing with a lot of extremely complicated Excel and Access macros written by finance majors. Smart people, but people who had zero formal programming experience. I opened up a module one day and this is what I saw:

if foo1 then [VBA requires a "then"]
Goto Label1
end if

if foo2 then
Goto Label2
end if

I stared at my screen for probably ten whole seconds and then began laughing uncontrollably, then kept laughing as I alternated shaking my head and occasionally shrugging in halfhearted approval. The guy invented an else. He didn't know about the existing else so he found a simple "design pattern" that did what he needed and used it. Once you got over the initial ridiculousness, it was pretty easy to follow.

And that *is* all that an "if" is: a species of goto. So are continuations. So are a lot of other control structures. This sentiment--"you shouldn't use a Goto when it is simple and intuitive; instead, you should use a bunch of conditional Gotos in an unintuitive way"--is completely incomprehensible to me. It's not merely saying 'never taking off the training wheels; it's saying, "if the training wheels make a certain turn in the path too difficult, just get off the bike, pick it up, gently turn it where it needs to go, and hop back on." If large projects with code monkeys require tons of least-common-denominator idiotproofing, so be it. But competent experts are not wrong to say that sometimes you need to take off the training wheels. I've yet to hear a coherent argument about the wrongness of Goto that doesn't boil down to "this is what I was always taught", "I'm not imaginative enough to think of a use case", or "you have to prevent stupid programming from doing stupid things."

Comment: Re:This sounds silly ... (Score 1) 411

by foreverdisillusioned (#49046733) Attached to: Your Java Code Is Mostly Fluff, New Research Finds
To defend your coworker here for a moment, I think he was talking about the general concepts of abstraction and DWIM (do what I mean). It is indeed true that Common Lisp and (perhaps to a slightly lesser extent) Scheme do this better than just about any other programming languages out there partially because it supports stuff like weak (actually, optionally strong) typing and first class functions long before 'modern' scripting languages popularized them, but mostly because by essentially having one single syntactic structure -- (DoThis To This Stuff) -- you are able to easily use self-analyzing and self-modifying code via macros. Since you brought up "it" in your post, I think a good and interesting example is Paul Graham's "anaphoric" macros from his book On Lisp ( http://www.paulgraham.com/onli... ) :

Macro definition of "aif": (defmacro aif (test-form then-form &optional else-form)
‘(let ((it ,test-form))
(if it ,then-form ,else-form)))

Now, the regular if is uses an (if this then_do_this else_do_this) form. Paul's macro functions exactly as if except the word "it" is now automatically variable referring to the value returned by 'this' in the preceeding if usage example. Thus, an example usage of aif:

(aif [really_friggin_long_to_type_and_computationally_expensive_thing] (print it) (print "null value error"))

The "it" variable is lexically scoped only within the aif, and in Lisp variables can be "shadowed" by interior redefinitions an arbitrary number of times (basically, once you hit the relevant ")" the higher-up definition of "it" takes over once again), so you can chain together consecutive or nested aifs seemlessly. And of course you can build aands, awhiles (very useful), etc. Note that usage of macros do not result in runtime slowdowns, only (potentially) compile-time slowdowns. Also note how simple of an example this is--look at how short that macro definition was. And once you train yourself to comprehend the ()s, it's perfectly and easily readable.

Common Lisp's generic functions (i.e. methods, except not hopelessly hobbled and limited in scope) are another good example of JustDoIt style programming. Also note that you can override the default definition of any operator/function so that, if you really felt like it, you could replace if's definition with aif.

None of this gets you out of actually defining what "it" is in JustDoIt (you are stuck with that in any language), but if done properly this kind of flexibility and abstraction results in code that is both more readable and more modular / maintainable. And it's a fast language, DAMN fast if you know what you're doing. Faster than Java, if you turn on the proper optimizations. No need for an interpreter--most of the heavy lifting can be done at compile time.

Just to show I'm not a total fanboy, almost all of the Lisps suffer from "good enough" syndrome and crotchety old man syndrome. The concept of M-Expressions (i.e. infix syntax, i.e. not having to use ()s all over the damn place) was abandoned because S-Expressions turned out to be so incredibly powerful. Power is good, but if you make it mandatory you jack up the learning curve unnecessarily, as well as make some things harder to read or as well as requiring more keystrokes to program... although I must say if you do pattern X more than once, you can always abstract out whatever pattern X is--just as aif abstracts out the pattern of evaluating an expression and then binding the return value to a disposable variable. That's the blessing/curse of Lisp. It's so easy for a journeyman Lisper to fix the warts in the language that no one ever fixes them in the language spec itself, and that unnecessarily scares off the noobs.

That, and there is just way, way too much fad-ism in computer languages... of which Java's popularity is possibly the best example.

Comment: Nah, in practice the CFPB is like the BBB (Score 1) 224

I recently filed a complaint with the CFPB for a situation wherein a major bank processed my mortgage application manual entirely via email. They did this because they managed to waste weeks of my time and then lose my first web form based application.

Well, I get an email response back re: second application and I'm denied because my credit scores are atrocious. This is surprising, so I immediately ask if they can give me more info, and they say no they are legally only allowed to tell me the credit scores. Huh. Ok. So I get my credit reports and for various reasons involving general credit bureau assholishness this takes several more weeks and by this point THE HOUSE WE'RE TRYING TO BUY HAS BEEN SOLD TO SOMEONE ELSE... and there are no inquiries on my reports. Did some more digging and all three FICOs are great.

They sent me someone else's credit scores. Never pulled my credit at all. And the CFPB really could not give fuck about any of it. By all means file the complaint--it may get someone at the bank to pay attention and issue a response so as not to look like a douche--but the CFPB complaint process appears to exist only so they can gauge big picture tends, not to get involve in individual cases.

In my case, the bank refused to respond to me at all until after I'd submitted the CFPB complaint. The official response: "Hey, you're right! Our bad. Feel free to submit a third application if you want! "

Despite losing the god damned house (and there isn't anything remotely equivalent on the market right now) and having written documentation for everything, the lawyer I've been in contact with still isn't sure we have a case; he wants to check some more case law first.

I think I may look into getting a shack in Montana next...

Comment: Re:Truecrypt was the hardest thing for the NSA (Score 1) 566

by foreverdisillusioned (#47127561) Attached to: TrueCrypt Website Says To Switch To BitLocker
As bingoUV said, I was referring to hardware keyloggers (harder to install on a laptop, but not impossible), hardware network surveillance / MITM boxes, physical microphones or cameras planted in the room (not your webcam), etc. If you are somewhat delayed discovering evidence of a break-in, it won't be too late to take action as long as they haven't examined your hard drive a second time, but it would already be too late if the attacker leaves behind any physical devices that broadcast or phone home.

Comment: Re:my 2p conspiracy theory (Score 1) 566

by foreverdisillusioned (#47125043) Attached to: TrueCrypt Website Says To Switch To BitLocker
This is either a magnificent troll or the single most interesting thing I've thus far read this decade.

Dude, if you can say more, please go for it. Use public wifi (McDonald's, etc.) and if you're worried about lingual forensics use short, stubby sentences without any words an elementary school child couldn't grasp.

Comment: Re:Truecrypt was the hardest thing for the NSA (Score 1) 566

by foreverdisillusioned (#47123275) Attached to: TrueCrypt Website Says To Switch To BitLocker
Or just think of it this way: If they have physical access they can install keyloggers, MITM devices on your network, audio bugs and cameras, etc. Imaging your hard drive is comparatively minor--oh no, you you have evidence strongly suggesting the presence of a hidden container. Why on earth would you worry about that really, really minor annoyance instead of the potential for captured passwords or intercepted network traffic?

Comment: Re:Truecrypt was the hardest thing for the NSA (Score 1) 566

by foreverdisillusioned (#47123195) Attached to: TrueCrypt Website Says To Switch To BitLocker
Bios lock it to not boot from anything but the FDE bootloader, so they have to actually dismantle it to get a dump. I can think of a few ways to rig it so you know if it's been opened up or not. There's a bunch of other physical security measures you can take as well--hiding your laptop when not in use (maybe with a dummy lying around), surveillance cameras (they can disable them sure, but will they be able to quickly rig up a fake video feed that matches? Especially if you leave the TV on in the background or something.) Seriously, if you're actually worried people are sneaking into your damn house then, relative to *that* level of paranoia (justified or no), these measures are not that difficult to take.

Comment: Unanswered Questions (Score 1) 566

by foreverdisillusioned (#47119425) Attached to: TrueCrypt Website Says To Switch To BitLocker
This is the strongest argument I've seen against NSL theories, but if it's true why did they do this in such a sensationalistic way? Why not gently explain the situation? Why the over the top site defacement and source code warnings? Why not release all of the source (not decrypt only) under the GPL so a fork could develop? Why the laughable non-sequitur reference to XP's EOL? And why did they recommend Bitlocker over, say, the excellent GPL that is DiskCryptor? Or mention this might be a good time to migrate to Linux?

Comment: Re:Mesh internet / web of trust now! (Score 1) 397

And by non-RSA, I don't just mean elliptic curve. The encryption protocol needs to support stateful and nonstateful solutions. Symmetric-only with web of trust, asymmetric+symmetric (like we have now), changing-response symmetric signing as an alternative to asymmetric certs, even one time pads need to be supported. All of these have advantages and disadvantages. And it should never be obvious to an eavesdropper which is being used at any given time.

It is the quality rather than the quantity that matters. - Lucius Annaeus Seneca (4 B.C. - A.D. 65)