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


Forgot your password?
Take advantage of Black Friday with 15% off sitewide with coupon code "BLACKFRIDAY" on Slashdot Deals (some exclusions apply)". ×

Comment Re:Welcome to the world of the future. (Score 1) 66

Photos doesn't support local networking because it's an entirely new application and Apple is notorious for being extremely minimalist when they redesign things. Their product design team was tasked to come up with the "perfect" photo app and that means older features that very few people use go out the window. Apple really really really doesn't care about information monetization, it's just not part of their business model. It does genuinely seem like their leadership believes protecting user privacy is more valuable to them than the snooping. If you use a Mac and iPhone or iPad you should just use iCloud Photos. It makes your photo organization and synchronization much easier and from my perspective there are little to no downsides.

As I think would be evident, Apple is obsessed with design. I just read a reviewer talking about the new Apple wireless keyboard/mouse/trackpad combo. They basically said that compared to others you can buy, it's a shitty keyboard because the design is so unique. But the unique design is obviously exactly what they were going for and there are a lot of customers that will appreciate it. If you want to be cynical about Apple, then you just need to be scared that they'll make things that are focused on design over functionality. They may even redesign something YOU liked because THEY didn't like it.

Comment Re:Welcome to the world of the future. (Score 1) 66

Bzzzt! Mac and iOS applications can be re-signed using a new private key/certificate pair without recompiling. This is especially useful for the dozens of enterprise iOS apps that I've built for customers. These apps are signed with an Apple Enterprise Distribution cert so they can be installed directly on devices without using the app store or going through the approval process. Their provisioning always expires after one year though so I have an automated method of unpacking the apps, replacing the old provisioning file, repacking and resigning them. Existing devices with the apps can just have new provisioning files pushed to them over the air. (I've been in this business for almost three years)

SIP is an extremely effective security feature, but of course it's also extremely annoying. /usr/local is where you should be writing to. Or /opt/local in the Unix style. Either of those locations are whitelisted for writing. As are all the system-level locations that users are supposed to put various plugins, extensions, or configurations. Furthermore, disabling SIP just requires booting off the recovery partition and running one command in Terminal.

The intent of these features like code signing and SIP is absolutely NOT about pandering to the idiot masses. Apple isn't worried that some moron is going to open up /System/Library and say "hey who put all these files here? off to the trash you go!" They're more concerned that your flash player updater is tainted and when it asks for root to install an internet plugin it also installs malware or patches your launchd with a rootkit. Kext and application signing makes it relatively trivial for them to protect virtually all Mac users from malware. Unless you've disabled Gatekeeper the OS will refuse to run anything for which the signing cert was revoked. SIP makes the system virtually immune to any sort of malicious system patching such as key loggers or rootkits without a serious kernel exploit. These methods don't guarantee perfect security but they do make it much harder to attack OS X, as well as make updates to OS X more effective at protecting against existing malware.

Comment Re:Technically, suspend is not the problem. (Score 1) 378

On the other hand, Apple does something ungodly with their iPhone/iPad/iPod devices. When connected to a computer via USB, they change their device ID depending on what state the operating system is in. They have separate USB device identifiers for both the booted iOS mode and each of the myriad of hardware recovery modes they can end up in. Causes downright awful behavior on Windows where when you go to do an iOS reinstall, the host things you unplugged your iPhone and plugged in something else and thus goes and does its painfully slow driver search all over again. I've written software that does lots of low-level interaction with iOS devices in these various states and we had to document how to change Windows' boneheaded driver search behavior so our customers aren't stuck with an hour-long "searching for drivers" headache.

Comment Re:The problem with Apple is compatibility... (Score 1) 110

OS X 10.11 El Capitan System Requirements:
MacBook (13-inch Aluminum, Late 2008), (13-inch, Early 2009 or later)
MacBook Pro (13-inch, Mid-2009 or later), (15-inch, Mid/Late 2007 or later), (17-inch, Late 2007 or later)


Mind you that's the unreleased OS X version currently in beta! And it definitely supports ANY MacBook or MacBook Pro shipped in 2009. And a lot of them shipped before then. (There was no 13-inch MacBook Pro shipped in early 2009.)

Furthermore your Mac doesn't support Win8 under bootcamp because the drivers that are included for your Mac model don't support windows 8. You can try to install it manually and then maybe you'll find up-to-date drivers for the hardware. It'll probably work, depending on what "unsupported" Mac you have but it's quite simply "unsupported."

Comment Re:Google: Select jurors who understand stats. (Score 1) 349

Today one of my junior developers basically threw a fit over what he was calling a violation of the C standards in all of our production code. He was quite rude about it to me, suggesting that I as the project lead had displayed some magnitude of incompetence in being ignorant of just how badly things had been screwed up. His gripe was basically that the multiple inclusion guards in most of the header files (you know, #ifndef SOME_HEADER_H #define SOME_HEADER_H #endif) were of the form "__ProjectName__ModuleName__HeaderName__." Of course the C standard definition says that any name beginning with a double underscore is supposed to be reserved for the compiler. You know, in case some compiler decides to #define something that would conflict with a symbol or variable name you were already using in code. Now the funniest part of this was that these "malformed" header guards were so numerous because the IDE we use just so happened to be automatically generating them exactly according to that pattern, by default.

Now in this case I was fairly incensed because this developer was confronting me about the "major problem" he discovered right after I got out of a three hour intellectual property meeting (complete with lawyers!) and I then realized that in that three hours he had written about 20 lines of code. I nearly blew my stack again when the next day another junior developer submitted a pull request that basically consisted of a renaming of all the header guard definitions throughout the project... I don't even know whether to call it lack of experience, lack of perspective, or some sort of manifestation of "I just graduated with a CS degree and I took an Advanced Operating Systems course so I know everything!"

Comment Re:Unsupported obsolete OS (Score 1) 368

You're not "blocked" from installing Mavericks (or Yosemite) on a 2006 Mac Pro. I happen to have one of them running Yosemite. However if you try to boot one of those machines in yosemite you'll quickly discover that it can't boot because that Mac Pro only supports 32-bit EFI and Mountain Lion and higher only shipped with 64-bit boot loaders. Not "blocked," it literally can't boot. So then you do 30 seconds of googling and find a simple patch to install on your hard drive which allows 10.8, 10.9, 10.10 ad infinitum to boot on any system that only supports 32-EFI, like your 2006 Mac Pro. Then you try to boot the system and either have no graphics output or kernel panic. Because the drivers for the almost 10 year old graphics card in your Mac Pro aren't available in a 64-bit build. So you spend $50 on some recent ATI or nVidia card that the 64-bit drivers do exist for (my GeForce 640 GT is supported out of the box on Mavericks and Yosemite) and THEN you can run Mavericks on your 2006 Mac Pro. Nothing has been blocked. Apple just decided they didn't want to spend engineering resources porting, fixing, and rebuilding firmware and drivers to support a hardware platform that was rapidly approaching "vintage" status. Fortunately their exist Mac enthusiasts and developers who aren't as picky about what they spend their valuable time on.

Comment The README (Score 1) 1

Check out the manpages for launchd, launchd.plist and launchctl. There's your README, it's pretty extensive. Also, OS X in general has a hierarchy of configuration and system data.

/System/Library is the root of the hierarchy, intended for system-wide configurations that are part of the original installation. /Library is also system-wide but is intended for components that are added or updated by the user. ~/Library is the user-specific location. Each of these config locations has a LaunchAgents and a LaunchDaemons classification. LaunchAgents are considered a deprecated technology but their usage is still available. The difference between the two is that daemons are intended to run solely in the background without user interaction and can be active without the user being logged in. Agents only run while the user is logged in and are permitted the ability to present a UI to the user when necessary. It's really not that complex.

Comment Re: H1-B debate? (Score 3, Informative) 398

I recently became friends with an Iranian woman and her family that are trying very hard to emigrate to the United States. She is currently in the process of trying to get hired and sponsored by one of these job shops because she has practically no other choice for employment here. Everyone in her family is very intelligent and hard working and my friend herself has masters degrees in computer science and business administration. She's an atheist, however, and she can't go back to Iran without a risk of being "outed" and imprisoned or executed.

Previously when I thought of "H1-B" I thought of exactly what you described. Young people with nothing to lose dorming up and working for peanuts because it's the easy way out, driving down wages in what should be a very competitive highly skilled job sector. I'm glad I met someone who showed me the other side of the coin. I consider myself a liberal and a humanist and I'm ashamed at myself for having held such a xenophobic view and expressing frustration with the people who are coming here seeking H1-B and similar visa work. Truly the only entities that deserve any derision for the wage depression and unfair labor practices are the sponsoring companies who pay such paltry wages and the tech companies that create demand for cheap foreign labor.

Comment Re:Everyone is waiting for California (Score 1) 320

If the Google cars are level 3, then why do every single video I ever see of them being driven show the person in the driver's seat sitting alert with their hands less than an inch away from the steering wheel? It definitely appears that they're not expecting a comfortable transition time. From some of the other stories I've read here regarding these Google cars, it can happen rather suddenly that the driver takes over because they realize the navigation computer doesn't recognize some road obstacle or driving hazard. They even have a guy in the passenger seat with his eyes glued to a laptop, watching a real-time visualization of what the cars "eyes" see.

Comment Re:Amateur hour (Score 4, Informative) 64

Note that basically the only hacking technique he used was running a couple websites with malicious code that stole user's email and passwords. Then trying those credentials at lots of other sites looking for stuff to take. In particular, he discovered that the founder/administrator of CryptoRush used the same password for everything and he was able to download server backups that contained the necessary information (private keys?) to access the exchange wallets. So basically everyone involved was participating in amateur hour.

Comment Re:Seems to be fixed for me(?) (Score 1) 318

Debian doesn't use bash as the system shell, it uses dash (which isn't vulnerable to the attack). The output from your test commands indicates that your system shell was ignoring the malformed environment variable definitions that are the very source of the problem on vulnerable systems.

No problem is so formidable that you can't just walk away from it. -- C. Schulz