I do not want to see this web content on Yosemite

For a couple of weeks I now this really annoying message during the start up  of my Yosemite installation.

To view this web content, you need to install the Java Runtime Environment.

If I do follow the instructions of the pop up, I usually land on the Java site.

To view this web content, you need to install the Java Runtime Environment.As I develop on a regular base, I have the latest version of Java already installed (right no it should be version 8u25). Therefore, nothing to do.

I case you thought of installing Apple’s Java version for Mac. That’s  IMHO not the way to solve the issue. You might cure the symptoms, however, you will not fix the root cause for this issue.

To get rid of the message, you need the find the root cause. In my case it was the attempt to try Facebook’s video chat some weeks ago. That was the only one installation I performed since I receive this message. Even though, I disabled the add-on in Firefeox, the message kept showing at start up.

To get finally rid of the message head straight to the terminal and enter

launchctl list

In case you wonder that launchctl does, check the manpage which says

launchctl interfaces with launchd to load, unload daemons/agents and generally control launchd. launchctl supports taking subcommands on the command line, interactively or even redirected from standard input. These commands can be stored in $HOME/.launchd.conf or /etc/launchd.conf to be read at the time launchd starts.

Anyway, you shot not get a list of off all jobs loaded into launchd. There ckeck if you can find com.facebook.videochat.{username}.updater in this list. Wondering what this is? It’s some kind of Facebook-collects-your-data thing. Honestly, I don’t want to know much more about what it does, I just want to get rid of it.

com.facebook.videochat updater

Check out

ls ~/Library/LaunchAgents/ | grep facebook

You should get something like com.facebook.videochat.{username}.plist.
Now run

launchctl unload ~/Library/LaunchAgents/com.facebook.videochat.{username}.plist

followed by

launchctl remove ~/Library/LaunchAgents/com.facebook.videochat.{username}.plist

You might want to run the following command instead

launchctl remove com.facebook.videochat.{username}.updater

You now can delete the property list file

rm ~/Library/LaunchAgents/com.facebook.videochat.{username}.plist

Now check for the FacebookUpdate application  via

ls ~/Library/Internet\ Plug-Ins/ | grep Facebook

Again, you should fine something like FacebookVideoCalling.bundle. Send it to /dev/null via

rm ~/Library/Internet\ Plug-Ins/FacebookVideoCalling.bundle

Now there still something to get rid of by calling

rm -R ~/Library/Application\ Support/Facebook/

Et voiá, your are done. The cause for the message should be gone by now.

To get rid of the JAR file itself use Spotlight to looking for FacebookVideoCalling. You should find something like FacebookVideoCalling_v1.6.jar. Use Finder then to get rid of it.

Finding FacebookVideoCalling_v1.6.jar That is, by the way, the only thing Facebook suggest to uninstall the videochat. Not only, the sort of infect you with the above updater, they also do not provide useful information for uninstalling the stuff.

The fact, Facebook’s add-on installed this nasty updater is quite annoying. Adding a job to the launchd for an Firefox add-on is quite questionable. Even more annoying that this one slipped through the cracks.

The Right Moment to start over with Visual Studio and .NET

Yesterday, Somasegar, corporate vice president of the Developer Division at Microsoft announced Microsoft is going to open source the .NET platform. Since I left Microsoft in 2011, this is one of the moments I am most stunned. There is a fully featured community edition of Visual Studio, Android emulator, .NET open sourced under the MIT License, support for Linux and Mac OS X. Further background information can be found on my former colleague Immo’s post over here.

I went from Windows to Mac once I left, dug into Python, Java, a lot of Apache projects and somewhat C++ and JavaScript, developing for the new Jolla and Sailfish OS and contributing to the IoT project  OpenHAB. Anyway, I never really was that overwhelmed by the dev ecosystem as I was with Microsoft.

It does not look like the Microsoft I left at all, however, with these major changes, I will be definitely one of the first nailing .NET on my Mac OS X.  I am looking forward for this. For today, I will install the new Visual Studio Community 2013 on my virtual Windows, though.

Check and Fix the Shellshock Exploit on Mac OS X

Since I switched to Mac in 2011, I do not keep that much track of vulnerabilities as I did running Windows as my main system. However, the recently announces Shellshock exploit got my attention. As Apple has no patch in place by today, I went for a manual path of the bash shell. Only precondition is Apple’s Xcode being installed on your system.

First, checking whether your  system is vulnerable, you simply need the following bash script being run:

env x='() { :;}; echo not' bash -c 'echo safe'

In my case, unfortunately, I got a

not
safe

on my shell, running Mac OS X 10.9.4. Checking the version is simple done as following:

bash --version
GNU bash, version 3.2.51(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

In case you passed the check, you should run a second one, as since Thursday, there is a second attack vector knwon

env X='(){(a)=>\' bash -c "echo date"; cat echo; rm -f echo

The good news, not vulnerability from this vector.

date
cat: echo: No such file or directory

In case one would get the current date and time, there would be vulnerability, too.

As there is no patch from Apple right now, there is an possibility to build an update manually from the GNU repositories.

mkdir bash-fix
cd bash-fix
curl https://opensource.apple.com/tarballs/bash/bash-92.tar.gz | tar zxf -
cd bash-92/bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-052 | patch -p0
cd ..
sudo xcodebuild

In case you are vulnerable to the second vector, there is a another path to be applied:

mv build/bash.build/Release/bash.build/DerivedSources/y.tab.* bash-3.2/
cd bash-3.2
curl https://ftp.gnu.org/pub/gnu/bash/bash-3.2-patches/bash32-053 | patch -p0
cd ..
sudo xcodebuild

By running

bash-fix/bash-92/build/release/bash --version 
bash-fix/bash-92/build/release/sh --version

you should be able to verify the version of the fix.

GNU bash, version 3.2.52(1)-release (x86_64-apple-darwin13)
Copyright (C) 2007 Free Software Foundation, Inc.

Before replacing the old version, I backup the original bits.

sudo cp /bin/bash /bin/bash.3.2.51.bak
sudo cp /bin/sh /bin/sh.3.2.51.bak

Now you can replace the original ones by

sudo cp bash-fix/bash-92/build/Release/bash /bin
sudo cp bash-fix/bash-92/build/Release/sh /bin

Once this is done, you can check for the exploit again

env x='() { :;}; echo not' bash -c 'echo safe'
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
safe

Once verified, you can get rid of the bash-fix folder and your system should be safe from this exploit.

 

Wiping all your iPhone’s Photos

Since iOS 7, the possibility to wipe your entire camera roll in iPhone has gone for good. In case you have  a lot of photos on your devices, deleting all of them might be quite an elaborate job to do.

To make it quick, there is still a possibility, if you have your Mac at hand. Connect your iPhone and start Image Capture which comes with your Mac OS X.

Image CaptureMake sure to select your iPhone on the right hand list, select all (⌘+a) photos from your device and press the delete bottom located at the bottom of Image Capture.

Deleting...Depending on the number of photos on your device this might take some time.

Make sure to import your photos beforehand either using Image Capture as well or some synchronization such as Dropbox’s Image Upload.

 

Can’t Be Opened on Lion Easy Fix for Single Application

After installing Eclipse on Mac OS X, I was permanently told the app’s developer is not identifiers and the app can’t be started.

Can't be openend...

Better than turning off Gatekeeper and less annoying than CTRL-clicking the app all the time is simply to run

xattr -d com.apple.quarantine /applications/eclipse/eclipse.app

No side effect on security settings at all…

Where is my Space

Using Bootcamp, running a Mac OS X and a Windows installation in parallel, space is slowly but constantly running low on my MacBook Pro. Before upgrading my HDD, I was looking for a better way than using du or df -h to check where I might free up some space on my disk.

Disk Inventory X is a free tool available using cushion tree maps to visualise the disk usage. A similar tool was developed at the Technical University of Eindhoven named SequoiaView. While SequiaView was developed for Windows, Disk Inventory X is designed for Mac OS, working fine with version 10.8.3.

Disk Invetory X

After selecting the disk, it’s possible to browse through the directory structure analysing where your storage when to.

Disk Invetory X Cushion Tree

Both, SequoiaView for Windows and Disk Inventory X for Mac are quite useful programs that should be definitely part of ones toolset.

Early 2011 MacBook Pro RAM Upgrade

Since working more more in virtual machines and processing large amounts of data, I was looking to upgrade the memory of my early 2011 15” MacBook Pro currently utilizing 4GB of RAM. After digging through hardware specs and various manufacturer site, I decided to pick a 16GB kit from Crucial.

CT3327367 Crucial 16 GB Memory Upgrade

The specs of the memory chosen are 

  • Part Number CT3327367
  • Module Size: 16GB kit (8GBx2)
  • Package: 204-pin SODIMM
  •  DDR3 PC3-10600
  • CL=9
  • Unbuffered
  • NON-ECC
  • DDR3-1333
  • 1.35V
  • 1024Meg x 64

The only thing you need is a Phillips #0 screwdriver to remove the bottom of the MacBook.

Phillips #0 screwdriver for MacBook Pro

Old memory out, new in is pretty easy, both modules are on top of each other.

Crucial Memory Upgrade CT3327367

Once upgraded, I had to check the Windows Experience Index, if the new memory did change anything considering the performance, Actually the subscore for the memory went up from 5,9 to 7,6.

Windows Experience Index before memory upgrade

PerIndexNew

While I bought the MacBook, more than 4 GB was not a requirement. In addition the model is officially supported by Apple only up to 8 GB of RAM. However, the hardware can handle 16GB which now just comes in quite handy.

iPhone 5 Battery Review

Almost three weeks after receiving the new iPhone 5, I wanted to write a few words about the battery life of the new iPhone. If you check out the Apple support forums, you might find thousands of people complaining about the battery drain of the new iPhone.

Also you find dozens of tricks how to extend the battery life by turning off all kind of features (which make the phone interesting  in the fist place).

Battery Life Now

iPhone 5 Battery LifeAfter three weeks, I have an average usage similar to the following screen:

Given six and a half hours of usage and 41 hours of standby, I have to charge my phone every seconds day, which is similar to my previous iPhone 3GS and iPhone 4/4s I am aware of.

To Lithium Ion or Nothium Ion

I did not turn of any features and I did not re-install my phone from the scratch. I restored my iPhone 3GS backup and kept all the settings. I have turned on WiFi all the time and most of the time I use Bluetooth as well. Also 3G is turned on all the time. I have some calls and write several text messages during the day, but I do not switch the phone of during night (but do use the new do not disturb mode). I check Facebook and Mails a lot during the day, read tweets on a regular base and check in as often as I can using foursquare.

When I used the phone during the first few days, the battery did no last longer than eight hours (i.e. the phone turned of before a working day was over). I “calibrated” the battery in letting it drain completely and loading it up to 100% several times – which is a very questionable technique considering the underlying technology.

The lithium ion technology is a quite clean technology. There shouldn’t be any learning effect on the battery, the first charge should be as the 20th and fully draining the battery should not affect its overall capacity.  One of the few drawbacks of lithium ion batteries might be their complete failure after two or three years.

The last then percent of the battery drain quickly when being used, however, after the first three weeks the battery seems to be fine. Alexander Olma run some tests on the phone with extensive traffic usage resulting in 3h non-stop downloading bits and bytes until the phone turned off.

Due to the lack of data for comparison (i.e. data I can access), I can’t say whether there are other smartphones out in the wild with extensive longer battery life than the iPhone 5. However, a fully charged phone can make its way through a normal business day and a nice evening while still waking you up the next morning.

Elevation Dock Unboxed

Last year, I became a backer on Kickstarter. I was looking for a while how to support great ideas in a way with relatively little risk. I wasn’t looking for sort of business angel backing,  was looking how it is possible to help folks with great ideas and visions to achieve their goals. The Elevation Dock for iPhone was the first project I pledged and as plus, I received a reward, one of the first docks being produced.

Elevation Dock Package

The dock arrived via standard mail, i.e. in Germany it was not delivered with DHL as parcel it came by snail mail, though. Fair enough, as only a few dollars have been added for international delivery.

 Opening the Delivery

For international delivery the box was fairly packed. Could be better, as it seems that the box moved around in the box a lot. If it would contain breakable parts, this would be probably fatal. However, considering that some human put a lot of effort into packaging this thing for me, that’s fine. I guess there is a lot of improvement in he future.

  The Dock Box

The box of the Elevation Dock quite nice. White, sort of apple style, took me a few seconds how o open it, I tried first to push the inner box out of the sleeve before I realized that you can simply flip the box cover.

Elevation Dock Box opened

The box itself showed that it traveled some thousand miles and that several people moved the parcel from A to B before it finally arrived here. Actually, I don’t care, at this moment I am just interested in the content of the package.

Elevation Dock Content

The dock, which is surprisingly heavy for being made from anodized aluminum, comes with a pre-mounded USB cord. It’s only a few inches. A longer replacement cable is provided if you want to place your dock somewhere away from your USB hub, power supply or computer. Kudos for this add-on.

Comes with Hex Wrench

Actually, I haven’t seen this in the first place, the dock comes with a hex wrench. I think this piece does not cost that much but it#s great for being included. It’s in fact the only tool you need to replace the USB cord. What it does not come with is a AC adapter. While there is a spare place in the package it seems there are no adapters in the Kickstarter rewards added. Maybe this was announced in one of the various mails send during the creation and funding process and I missed that one. However, the empty place in the box labeled AC adapter is quite an indentation there will be a adapter in the docks sold regularly in the future.

Elevation Dock Left RearElevation Dock from Above
Elevation Dock ConnectorElevation Dock Rear

The overall manufacture quality is impressive. The surface is well done and all parts fit perfectly. Turning the dock upside down, you see how well the parts fit. The black bumper within the dock can be turned to fit iPhones with cases into the dock. Also this part fits perfectly and is easy to change.

Elevation Dock Upside Down

The rubber stands are well made, on various surfaces the dock comes with quite some  friction.

iPhone 3GS fits well

As my new iPhone 5 is still on its way, I tried the dock with my not-nearly-retina-and-meanwhile-slow-like-hell iPhone 3GS. Fits perfect. In fact, it fits so well that you have to hold the dock once you want to pull the iPhone from the dock. We have tried this with the iPhone 4 as well, and as promised by Elevation Lab, the dock is a low friction dock. It is awesome how easily you can remove the iPhone 4 from the dock. No need to fix the dock at all, the iPhone 4 just slips out of the dock. Very well designed. That was the original reason I supported the dock.

Bad Luck

On the photography above you might have seen a small spot on the left edge of the dock. This is really bad luck, as the quality of the dock is so high, I really got one with a small mark on the left top edge. Maybe this happened during packaging, as I cannot imagine this happened during transportation. As most of the packaging and quality assurance process in done by hand yet, this might happen. I bet the process for controlling the quality of the devices will improve over time.

 Swapping Cords

As a very last step, I tried to exchange the cables provided with the dock. Opening the dock with the hex wrench works quite smooth. Opening the bottom of the dock, I found this surprising note. It should be obvious not just to bull on the cord how some moron, however, it is a great idea to provide such a note to the user. Many people would probably damage the connector while swapping the cords.

 Dock Connector

Finally, I had a look at the connector. Again, very high quality. The USB cables have micro USB connectors. Surprisingly, the dock connector is mounted using hex screws. Said that it should be possible to change the bolt in connector. In fact, Elevation Labs recently announced that they are currently working on a exchange connector for the new iPhone 5.

I am quite happy being a backer of this project. The quality of the device is high standard, the updates on the project by Casey Hopkins have been great and regularly, and finally receiving the reward is just awesome. Now I am looking forward for the new connector. The time Apple announced the the new connector, the design and production of the dock has been already in full progress. Also many people complaining about the dock having the old connector, one should bear in mind, the docj was designed as a low friction dock for the iPhone 4/4s. And as far as being evaluated it is as promised.

As a resume, Elevation Labs will be definitely one of the gadget providers I will keep on my favorite list for the future. As they already announced the design of a new dock with improved sound capabilities and the development of the new connector I hope that business goes well and they will supply a lot of nifty gadgets in the future.

Revolutionary becomes Evolutionary

Recently, I discussed a lot with friends and colleagues about new mobile devices. Using Windows Mobile for years, I switched to Apple’s iPhone 3GS three years ago. Before, I talked quite a lot with a friend who recently bought one at that time.

Before, I used an iPod for listening to music and Windows Mobile devices such as the HTC Hermes or the HTC Touch Pro for quite a few years. Over time, I got annoyed by always carrying two devices, two power plugs, two connector cables and by managing at least two different applications to sync both devices. Eventually, my decision to buy an iPhone was driven by quite rational thoughts.

I was pleased with the hardware quite a lot, never worried about the processor, ram or other components of the device. The only drawback for me as an developer was the fact that you cannot simply deploy your home brewed application to the device.

I skipped two generations of the iPhone, finally rethinking of getting a new device. What shall it be? Meanwhile, I am quite off the track developing for Windows Mobile. Also, the hardware fragmentation for Windows devices is quite a bit. Similar situation with Android based devices. Which one is the reference hardware to buy? While the idea of developing for the Android platform is tempting, there are more facts to consider.

After three years, I have to admitt, the ecosystem lock in is quite a reason. IPad (first gen but with 3G), an almost retina but bought a few months to early MacBook and quite a lot of periphery to use with my devices is a good reason to stay. Nevertheless, with the new Lightning connector many peripheral devices became obsolete.

Much more than the hardware lock in is definitely a data lock in. Dozens of apps with your data, synced address books and calendars, lifelogging and quantified self data collected over the years is a good reason to stay with the current platform.

With the release of the new iPhone there is a lot of making-fun-of-the-new-iphone going on, however considering the facts above you see there are simple reasons to stay with a platform. This is definitely a goal of every manufacturers, and Apple plays this this game very well.

Looking at the new hardware, iOS 6 as well as the new Mac OS, there is no rocket science, there is no Star Trek communicator and no universal translator comming with new iPhone. There is no revolution, simply a technological evolution of a long designed system. A system that grew five generations.

Personally, I think a steady evolution of technology is worth quite a lot. I don’t want to migrate all the data, I don’t want to worry about the hardware to buy, I don’t want to learn new user interfaces and usability concepts for now. I want a device being part of my daily (business) life, easy to use, sitting in my pocket being available when needed. With the current evolution of the iPhone this should be possible for the next one or two hardware generations.

Said that, it will be a 64GB iPhone in white for me while it will be a Nokia Lumina 900 or a Google Galaxy Nexus for others due to the same or similar reasons mentioned above.

iPhone 5