Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror

Comment Re:Why is is always the "IT Computer Expert"... (Score 1) 297 297

And if it's "automatic", almost by definition it's always online & thus vulnerable to a potentially WORSE (insofar as data recovery is concerned) mode of failure... encryption by ransomware.

Seriously. Name one... ONE... NAS or online backup solution that allows continuous adhoc writing, but acts like a virtual WORM filesystem and merely marks obsolete files as 'deleted' without actually deleting them, so that any attempt by ransomware to encrypt the files on the backup drive would simply fill up the drive until the ransomware crashed (and quite possibly provide an early warning of what it was up to).

In some ways, it feels like we've gone backwards over the past 20 years. Capacities have increased exponentially, but new hard drives seem to drop like flies compared to drives from 10-20 years ago. And often, they fail in creative ways that RAID (1, 5, 10, or whatever) can't save you from (golden example: OCZ's second-generation SSDs with Sandforce controllers that simultaneously omitted the supercapacitor needed to make sure the drive never lost power during writes (to save about a dollar per drive) AND disabled the multi-step safety measures Sandforce built into the default firmware (because it made the drives slow).

Comment Re:First, define what you mean by "C++" (Score 1) 336 336

I personally threw in the towel on C++ for AVRs when I found out that the only way to create instances of an object was an abomination like:

DesiredObjectType* ptrObjectType = (DesiredObjectType*) malloc(sizeof(DesiredObjectType));

or something to that effect. I don't remember whether it was just a temporary work-around to a bug in the current version of GCC, or something more fundamental... but it totally turned me off. I went back to assembly. It was easier, and made more sense.

Comment Re:1.5V alkaline vs 1.2v NiMH (Score 2) 243 243

The catch is, not all devices (especially devices more than a few years old) ARE "sanely designed". I remember quite well that the original Palm III had fairly demanding battery requirements... it was good for about a month with Duracell or Energizer alkalines, but only lasted 2-3 weeks with store-brand alkaline cells, and only lasted a few DAYS with NiMH cells. Ditto for my piece-of-shit Minolta d'Image DSLR, which was good for about 10 photos on brand new alkaline batteries before shutdown.

That said, the marketers behind this aren't being entirely honest... they're presenting the best-possible and most extreme edge case as the universal norm. It will make a HUGE difference for some (badly-designed/cost-cut) devices, and make no positive difference for well-designed devices. Regardless, it'll be useful, because shit devices vastly outnumber well-designed ones.

Comment Re:Just GBE everywhere! (Score 1) 557 557

Fiber of any kind is a waste of money unless you already know what you're going to terminate it with at both ends. Fiber might be "future-proof" in the sense that someone, someday, will make converter boxes to let you use older fiber for new purposes... but I can guarantee that any such conversion box will end up costing WAY more than you'd have likely spent just buying a spool of new fiber and pulling it through a conduit. That's why conduit is so great. You don't HAVE to try and guess an unpredictable future, and spend eternity putting band-aids on your mistakes from 20 years ago. Put in conduit, and you can pull whatever you need, when you eventually need it.

Comment Conduit. (Score 1) 557 557

Conduit. The future might be wireless, but the wireless you'll have to use won't be able to penetrate a window, much less a wall. Conduit will allow you to pull cheap cat5e today, and replace it with fiber 10-20 years from now when you finally NEED it.

Run conduit to every room where you think you might someday want to have a network connection, or need to put a line-of-sight access point. Don't forget the bathrooms, garage, basement, and snack bar in the kitchen.

From at least one box in each room where you're terminating the low-voltage conduit, run another conduit up to somewhere on the ceiling about a foot or two from the wall. You can omit the boxes and just leave the conduit there (photographed and documented for future reference), but they'll make your life INFINITELY easier if you someday need to put an access point on the ceiling). Remember what I said earlier about wireless? When the day comes that you'll need it, you'll be glad you have a ready-to-use conduit that just needs you to cut a hole in the ceiling and grope around until you find the conduit. For line-of-sight wireless, you'll be glad you have the ceiling location.

If possible, run two conduits to non-adjacent walls in the bedrooms and living room. Don't forget the area under the wall cabinets in the kitchen and the snack bar.

Big tip: don't terminate the homerun from the wiring closet to the living room in a box behind your likely TV location. Put the box near a corner, in a spot likely to be easily accessible, then run another conduit from THERE to the box behind the TV. That way, if you someday have a 700 pound entertainment center blocking easy access to the box behind the TV and you bought some new toy that needs to have wiring pulled, you can temporarily pull it to the accessible box and play with it for a few days without having to deal with large-scale furniture movement.

Comment Re:First, define what you mean by "C++" (Score 1) 336 336

That's probably because you've never done anything that's unsupported and unblessed by the chipset vendor.

Use case: rooted American Android phone. Gimped Broadcom radio driver that has FM reception disabled at carrier request, even though the hardware capability is present. Alternate .ko ripped from the European or International model's ROM dump and hacked to support American frequencies. Copy the .ko file to the phone, remount system as read/write, insmod.

Use case #2: rooted Sony Android phone. Camera crippled because Sony put the drivers for the advanced low-light and image-enhancement features in ARM TrustZone & throws away the encryption key if you unlock the bootloader via the Sony-blessed method. Acquire leaked files documenting what the code that was hidden away does, and build your own kernel module for the camera that implements everything in normal kernelspace (instead of TrustZone). Post to XDA, then go to bed happy, knowing that you're doing your part to fight The Man and bring Power to the People. ;-)

Comment First, define what you mean by "C++" (Score 3, Interesting) 336 336

Define what you mean by "C++".

C++ firmware for an Atmel AVR microcontroller?

C++ native Android loadable kernel module?

C++ MFC Windows app?

C++ hardware driver for Windows?

C++ Linux app built for GTK+?

The borderline-useless artificial construct college textbooks pretend is C++ for the sake of having something consistent and coherent to teach students for a few years at a time?

My point is that knowing "C++" (as an abstract, academic construct) barely equips you to do anything commercially useful with it. Probably 60% of what you need to know to do anything useful in C++ is platform-dependent, and another 20-30% is IDE-dependent (at least, in the Windows & Android realms, where trying to do anything independently of Visual Studio or Android Studio is an exercise in masochistic frustration (because both platforms are so tightly-coupled to their respective IDEs).

Comment Re:Eclipse (Score 2) 443 443

Android Studio beats Eclipse for Android development like an unloved child in a trailer park.

Seriously. Night-and-day improvement. No more times when you have to cut something into the clipboard, save the empty file, and paste it back to make Eclipse realize that it's imagining all the errors it thinks were in it. No more "type a semicolon, then have the cursor inexplicably move back so that the carriage return a moment later pushes the semicolon to the next line and breaks the code." No more situations where the IDE forgets what R.java is, where it came from, or how to regenerate it.

Just make sure you use the official Google version of Android Studio, and NOT IntelliJ. As I mentioned in an earlier post, IntelliJ 14 with the Jetbrains Android plugin is neither directly-equivalent nor a consequence-free superset of Android Studio.

Comment Re:Still use the most productive IDE (Score 1) 443 443

One warning -- Android Studio != IntelliJ Pro

Both are forks of a common ancestor, but the core IDE code bases diverge enough that Jetbrains basically has to backport Google's changes to IntelliJ every time there's a new release.

Maybe my opinion was skewed by horrible bugs in IntelliJ Pro 14.0.x that no longer exist in 14.1.x, but my advice is to just forget that IntelliJ Pro exists (even if you own a copy) and use Google's official Android Studio instead.

I never managed to successfully import an Eclipse Android project into IntelliJ. With Android Studio, it effortlessly worked on the first try.

Ditto, for creating a new app that used the Google Maps API. I fucked around with IntelliJ for WEEKS trying to get it to work, and had little besides inexplicable Gradle build errors to show for it. Android Studio automatically downloaded the SDK files it needed, and even made it blatantly obvious where I had to paste the API key.

For Android development, at least, Android Studio just feels a lot more refined, polished, and streamlined than IntelliJ.

Comment Re:Bummer (Score 1) 160 160

> Big oil and their lackeys the car manufacturers all would love
> to see rail transportation disappear completely.

Assuming "Big oil" or "the car manufacturers" even noticed the impact passenger rail has on their bottom lines (read: statistically, none at all), it's still a pretty big reach to argue that the amount is even big enough to justify paying the salary of a single lobbyist or two.

Remember, outside the northeast, American trains are almost universally DIESEL. And Bombardier's non-electric Acela-type trainset (designed for Florida's HSR about 10 years ago) burned JET FUEL & had per-mile fuel costs that would have made an airline blush (google: "JetTrain" -- it was basically a TGV/Acela power car carrying a jet turbine engine to generate its own power supply. At full speed, the economics weren't too awful... but by virtue of how turbine engines work, it burned almost as much fuel pulling the train at 70mph as it would have taken to pull the train at 180mph).

Cities didn't rip up their trolley tracks 50 years ago because evil industrialists were scheming to force everyone to buy a car... they did it because ripping up the trolley tracks was politically POPULAR with middle-class voters. They did it because it gave them room to widen roads to 6 lanes & build left turn lanes.

Comment Re:What is the cost of NOT doing it? (Score 1) 515 515

Don't forget, CAHSR will also INDUCE a lot of new travel that wouldn't have otherwise occurred, and will probably lead to a huge real estate boom in the central valley driven by exurbanites who work in Los Angeles and San Francisco & treat it like their version of the Long Island Railroad. Its value doesn't lie merely in the number of people it will take off the existing roads... its value ALSO includes travel that will exist mainly BECAUSE it exists.

Comment Re:Not sure inter-city mass-transit works in the U (Score 3, Informative) 515 515

American rail is made more expensive by urban sprawl, but not quite in the way most people think. If you compare somewhere like South Florida to Germany or Italy and look at how many people are likely to be within 5 miles of a given station, we really DON'T look all that different. Well, except Miami has a lot more skyscrapers sprawled across the entire metro area (even Broward has gotten into the act... witness "Tao" -- two 30-story towers built next to Sawgrass Mills mall whose balconies literally overlook the Everglades).

Anyway, the BIG difference between Florida or California and Europe is that in Europe, once you get out of the city... it tends to become rural & stay that way for a while. In contrast, if you were to build brand new tracks from Miami to West Palm Beach within 5 miles of I-95, you'd LITERALLY be plowing through a hundred miles of solid low & medium-density suburbia almost every inch of the way. In contrast, a comparable route in Europe would pass through at most a half-dozen cities, and run mostly through areas that were farmland or forest.

Comment Re:nonsense (Score 2) 532 532

This used to *really* piss me off when I had a pre-Obamacare individual policy (because I was a contractor) that excluded coverage for anything that I'd ever received treatment for in the past. Specifically, the fact that if they DID exclude something from coverage, they didn't even have the decency to at least soften the blow by letting you pay the steeply-discounted rate THEY would have paid the doctor if it were a covered procedure. It felt like getting doubly-screwed... not only did they refuse to pay, but the amount I had to pay was several times the amount they would have paid. It just seemed like the ultimate "fuck you" gesture from them.

Comment Re:Good (Score 3, Interesting) 302 302

Actually, a restored copy (or even a digitized copy) would be a derived work. Derived works can be copyrighted independently of the foundation work, as long as some degree of artistic creativity was involved. If I digitally-restored an old film that was in the public domain, digitally-watermarked it, and you distributed unauthorized copies of it, I could most certainly sue you for infringement. I couldn't stop you from independently obtaining a copy of the original work and doing YOUR OWN restoration on it (and getting your own copyright), but I CAN stop you from using MY restored copy as your source.

Here are some other examples:

The original German text of Grimm's fairy tales: public domain

A translation of them (with a few artistic liberties) published long ago: public domain.

A new translation of them: the lines you changed are a derivative work & copyrighted. The lines that were unchanged from the original translation are public domain. The limits of how far someone could go republishing your translation with your own changes slightly paraphrased: anyone's guess, but likely to be messy.

You print an anthology of public domain works. I OCR them, and typeset & sell my own anthology. You MIGHT have a valid (if weak) copyright claim if my book had a 1:1 correspondence with yours (every story in one was in the other, in the same order, but without any interpretations/footnotes/etc added by you), but the more my book diverges from yours in form and content, the weaker your claim would be.

You print an anthology of public domain works. I scan each page, and use the images to publish my own anthology. You can absolutely sue me, because I violated the copyright on your "performance" of the original public-domain works.

I record myself playing a Beethoven fugue. You copy and sell verbatim copies: I can sue. The content itself is public domain, but my specific recorded performance of it is not. The process of recording, mixing, and editing added copyrightable value. On the other hand, if I performed it in a public place & you made YOUR OWN recording, I'd probably have no valid claim against you. And I absolutely couldn't stop you from performing the public-domain work YOURSELF, recording it, and releasing it on your own.

The most difficult thing in the world is to know how to do a thing and to watch someone else doing it wrong, without commenting. -- T.H. White

Working...