Thursday, July 2, 2015

My Favorite Things on OSX

The lack of a proper package manger or app store makes setting up a new OSX install a pain. Here are links to my favorite programs to run on OSX.

Internet
Firefox -  is a free and open-source web browser that uses the Gecko layout engine to render web pages, which implements current and anticipated web standards.
Dropbox - is a file hosting service that offers cloud storage, file synchronization, personal cloud, and client software. Allowing you to save your documents and take them with you no matter where your working from.
Transmission - is a BitTorrent client which features a simple interface on top of a cross-platform back-end.
Java - is the foundation for virtually every type of networked application and is the global standard for developing and delivering embedded and mobile applications, games, Web-based content, and enterprise software.
Flash - is a multimedia and software platform used for creating vector graphics, animation, browser games, rich internet applications, desktop applications, mobile applications and mobile games.

Hardware
Logitech Gaming Software - Lets you customize functions on Logitech gaming mice, keyboards, and headsets.
One Toolkit - Mac toolkit for unlocking, flashing, rooting the OnePlus One Android phone.
Android File Transfer - Browse and transfer files between your Mac computer and your Android device.
HoRNDIS - is a driver for Mac OS X that allows you to use your Android phone's native USB tethering mode to get Internet access.
360Controller - unofficial Xbox 360 controller drivers with an included preference pane for managing settings. For use on OSX 10.9 and above.
To uninstall the 360 controller drivers remove the following files and reboot your mac:
  • /Library/PreferencePanes/Pref360Control.prefPane
  • /Library/StartupItems/360ControlDaemon
  • /System/Library/Extensions/360Controller.kext
  • /System/Library/Extensions/Wireless360Controller.kext
  • /System/Library/Extensions/WirelessGamingReceiver.kext

Media
VLC - is a free and open source cross-platform multimedia player and framework that plays most multimedia files as well as DVDs, Audio CDs, VCDs, and various streaming protocols.
Decibel - is an audio player tailored to the particular needs of audiophiles, supporting  FLAC, Ogg Vorbis, Musepack, WavPack, Monkey's Audio, Speex, True Audio, Apple Lossless, AAC, MP3, WAVE and AIFF.
XLD - is a tool for Mac OS X that is able to decode/convert/play various 'lossless' audio files. The supported audio files can be split into some tracks with cue sheet when decoding. It works on Mac OS X 10.4 and later.
  • Place XLD plugins in ~/Library/ApplicationSupport/XLD/PlugIns 
Kid3 Tag Editor - audio tag editor can edit the tags of MP3, Ogg, FLAC, MPC & WMA files in an efficient way, convert between ID3v1 and ID3v2, set the tags of multiple files, generate tags from file names or vice versa and import from freedb, MusicBrainz and Disco
Google Play Music Manager - you can upload music from your computer to Google Play and then listen to your favorite songs on your mobile device or computer.

Mac Utilities
Quick Silver - is a fast and free Mac OS X productivity application that gives you the power to control your Mac quickly and elegantly. Quicksilver learns your habits, making your everyday chores simple and efficient.
Better Touch - is a great, feature packed app that allows you to configure many gestures for your Magic Mouse, Macbook Trackpad and Magic Trackpad
Clip Menu - is a freeware application that can manage clipboard history. Allowing you to save copied text and pictures in an easily accessible drop down menu from the Menu bar.
Disk Maker X - is an application built with AppleScript that makes it very easy to build a bootable drive for installing OSX .
Tuxera - Full read-write compatibility with NTFS-formatted drives on a Mac. Access, edit, store and transfer files hassle-free.
Keka - is a file compression software for OS X, that specially implements p7zip (a 7-Zip port) among others.
Xee3 - is an streamlined and convenient image viewer and browser. It is similar to Mac OS X's Preview.app, but lets you easily browse the entire contents of folders and archives, move and copy image files quickly, and supports many more image formats.
Atom - is a free and open-source text and source code editor developed by GitHub for OS X, Linux, and Windows with support for plug-ins written in Node.js, and embedded Git Control.
  • Atom reports anonymous usage using Google Analytics, to turn off this "feature" go to Settings>Packages and search for Metrics. You can disable it with the toggle switch.

Productivity Software
Libre Office - is a free and open source office suite, developed by The Document Foundation. The file formats of Microsoft Office are well supported, though some layout features and formatting attributes are handled differently in the application or are not entirely supported in the filters.
Gimp - is a free and open-source raster graphics editor used for image retouching and editing, free-form drawing, resizing, cropping, photo-montages, converting between different image formats.

Miscellaneous
Simple Comic - Simple Comic is an open source freeware comic book and manga viewer for Mac OS X supporting reading both directories of images and comic book archives.

Disable Spotlight
sudo mdutil -a -i on

Remove the Spotlight Icon from the Menu Bar
sudo chmod 600 /System/Library/CoreServices/Search.bundle/Contents/MacOS/Search

Enable TRIM SSD Support on OSX 10.10.4
sudo trimforce enable

Friday, May 1, 2015

Replace the LEDs in a CM Storm QuickFire XT Mechanical Keyboard

About a month ago I bought a CM Storm QuickFire XT mechanical keyboard with Cherry MX brown switches. It had everything I was looking for except for the red LED indicator lights. I put a sticker over them but it was a pain when I accidentally hit the Caps Lock key and there was no indicator. It was very easy to replace the LEDs to a more suitable light blue.

Equipment Needed:

  • 3mm LEDs (any color works)
  • Soldering Iron
  • Solder
  • Solder sucker
  • Solder Wick
  • Pry Tools
  • Tape


Take the keyboard apart
Three screws hold the keyboard together.  The two other ones are located under the feet and the third is under a sticker in the upper middle of the keyboard.



Use a metal or plastic pry opener to separate the top over and base.There are 8 plastic tabs you need to unhook to open the keyboard.



Locate the LEDs
Flipping over the board, you'll find the Num Lock, Cap Lock, and Scroll Lock three rows down in the upper left corner of the board. The Super/Windows Key Lock LED is the two solder points my the printed F9 in the middle of the board.



Unsolder the LEDs
Using the solder wick and solder sucker remove the LEDs from the board. You don't need solder wick but it may make the process easier. The Num Lock, Cap Lock, and Scroll Lock keys will have a black sleeve protecting the leads, the Super/Windows Key Lock is soldered directly through the F9 key.

Re-sleeve the new LEDs
The black sleeves used with the Num Lock, Cap Lock, and Scroll Lock LEDs are not glued to the board or LED. slide the off the old red LED and onto your new LEDs.

The the Num Lock, Cap Lock, and Scroll Lock LEDs have the positive and negative terminals marked on the board.



Resolder the LEDs to the board
You need to resolder the LEDs with respect to the polarity. The longer end of the LED is the anode (+) positive end. Feed the longer lead into the positive terminal in the board. Before you flip the board over to solder the connection use a piece of tape to secure the LED in place. If you do not secure the LEDs in place with tape the case will not fit and the lights will not sit flush in the holes.


The F9 key positive and negative terminals are not marked. The positive end is on the right side of the key.



Test the Lights

Thursday, April 23, 2015

Uubuntu 15.04 Vivid Vervet on the 2014 Dell XPS 13 - 9333

Ubuntu 15.04 and its community-maintained derivatives are the GNU/Linux releases that the 2014 Dell XPS 13 deserves. Shipping with the 3.19 Linux kernel, Ubuntu 15.04 Vivid Vervet has improved Intel Haswell chipset support, updates to the wi-fi driver stack, and improved multi-touch Elan touchpad drivers.

Installation of Ubuntu 15.04 is pretty straight forward. I focus on running Xubuntu, but below are are a few tweaks and tricks to get your Dell XPS 13 9393 running any Vivid Vervet release.

Sound fix
After installing Ubuntu 15.04 you may not have audio working properly on the 2014 Dell XPS. The fix is simple, you just need to turn off HDMI audio out. 

Left click the sound icon in the upper right hand corner of your desktop and select Sound Setting. Once in the Pulse Audio Volume Control navigate to the Configuration tab and set the



Suspend Fix
When installing Xubuntu you will have to set your laptop to suspend on close when on battery. Without changing this configuration the only the screen will turn off and your battery will continue to drain.

The 3.19 kernel handles suspend and wake wonderfully. To ensure you XPS 13 is suspending properly navigate to Settings>Power Manager. In the General settings tab, set When laptop lip is closed to Suspend while on battery.





Configure the Touchpad
Past Linux kernels have had broken Elan Touchpad drivers. Since the 3.16 kernel the Elan touchpad on the 2014 Dell XPS 13 has been able to accurate register two, three, and four finger gestures, finger width, and palm detection. Unfortunately the xorg-input driver has three and four finger detection disabled.  In order to re-enable them you will have to patch the xserver-xorg-input-synaptics driver.

The process is straight forward and a complete step-by-step guide can be found here.


Enable Smooth Tear Free Video Playback

Enabling Intel's tear free hardware settings allows for smooth tear-free video playback during videos and gaming with the Intel HD 4400 integrated graphic chipset.

To enable the Intel driver TearFree option in a terminal type:
sudo mkdir -p /etc/X11/xorg.conf.d/
sudo wget -q -O /etc/X11/xorg.conf.d/10-intel.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/10-intel.conf
Then reboot:
sudo reboot

Via the terminal check to see it was the enabled:
cat /var/log/Xorg.0.log | grep Tear

Your /etc/X11/xorg.conf.d/10-intel.conf file should contain the following:
# last update: 29 March 14
Section "Device"
    Identifier    "Intel Graphics"
    Driver        "intel"
    Option        "AccelMethod"  "sna"
    Option        "TearFree" "true"
EndSection
If the tear free option is no showing that it has been enabled check your configuration.

Disable Bluetooth at Startup
I never use bluetooth and find that having it enabled and turned on all the time is a waste of battery resources.

First disable the adapter, in a terminal:
sudo service bluetooth stop

To check in bluetooth is turned off or on, in a terminal type:
hciconfig

Now we need to keep the bluetooth adapter from turning back on when we reboot. Use your favorite editor (gedit, mousepad, nano, etc) to change the InitiallyPowered entry in your /etc/bluetooth/main.conf file from true to false.

In a terminal: (mousepad is the default text editor for Xubuntu, in Ubuntu use gedit, or for Kubuntu kedit)
gksu mousepad /etc/bluetooth/main.conf

Under the InitiallyPowered entry
Change:
InitiallyPowered = true


To:
InitiallyPowered = false


As always I want to thank the author of http://xps13-9333.appspot.com/

Tuesday, February 24, 2015

Enable Multitouch On The Dell XPS 13 (9333)

With 3.16 and newer kernels the Elan touchpad on the 2014 Dell XPS 13 is fully supported in Linux. The XPS's touchpad is able to register two, three, and four finger gestures, finger width, and palm detection. Unfortunately the xorg-input driver has three and four finger detection disabled.  In order to re-enable them you will have to patch the xserver-xorg-input-synaptics driver.


Install the necessary dependencies for xserver-xorg-input-synaptics
sudo apt-get build-dep xserver-xorg-input-synaptics

Download the source files for xserver-xorg-input-synaptics
apt-get source xserver-xorg-input-synaptics

Change to the xserver-xorg-input-synaptics directory. As of writing this article Xubuntu 14.10 is using 1.8.1, if the version number has changed or you distro uses a different naming scheme you will modify your cd command
cd ~/xserver-xorg-input-synaptics-1.8.1/

Download and apply the patch to enable multitouch support
wget http://xps13-9333.appspot.com/root/synaptics-swipe.patch -O - -q | patch -p1

or

wget https://dl.dropboxusercontent.com/u/6062904/synaptics-swipe.patch -O - -q | patch -p1

Change the version number so updates do not remove the patched driver. Follow the command line prompts. I used nano to edit the file.
sudo apt-get install devscripts
dch -i

Build the newly patched xserver-xorg-input-synaptics package while ignoring signing errors.
dpkg-buildpackage -uc -us

Then install your newly created xserver-xorg-input-synaptics deb

There are a couple ways to map the newly support gestures to actions. Below is my method but other will also work. 
sudo apt-get install xbindkeys xdotool

Create a .xbindkeyssrc configuration file
mousepad ~/.xbindkeysrc

Add the following to the /.xbindkeyssrc file:
"xdotool key Alt+Left"
  release + b:10

"xdotool key Alt+Right"
  release + b:11

"xdotool key Ctrl+Shift+Tab"
  release + b:8

"xdotool key Ctrl+Tab"
  release + b:9

Again there are different methods for setting the 3 finger gestures to actions but a simple startup script worked for me.
mkdir ~/.scripts
mousepad ~/.scripts/touchpad.sh

Add the following to your startup script
#!/bin/bash
    sleep 10s &&
    synclient SwipeThreeUpButton=8;
    synclient SwipeThreeDownButton=9;
    synclient SwipeThreeLeftButton=10;
    synclient SwipeThreeRightButton=11

Make the script executable
chmod +x ~/.scripts/touchpad.sh

Then make sure to add ~/.scripts/touchpad.sh to your starup programs.

I want to thank the author of http://xps13-9333.appspot.com/ who wrote the patch and helped me work through installing it on my system.