Posts Tagged Mac
Most people reading this blog carry around a computer every day, whether its a laptop, tablet, or smartphone. Yet many of us still reach for paper and pen when it’s time to take notes.
For many of us, it’s because pen and paper are what we’re familiar with, and we know how they work. There’s a bunch of note-taking apps out there, and they don’t all work the same, or even similarly in many cases.
I recently decided that I was going to try to take notes in a digital format whenever possible and went on an adventure to see which of the most popular apps fit my needs. I had a pretty good idea of what I wanted when I started, and I’ve spent a few days trying to find an app that was just the right fit for me.
I put together a few apps I found and a list of the features that I directly compared between them below, and hopefully it helps someone in the same position that I’m in decide which works best for them:
|OneNote 2016||Evernote||Bear||Turtl||Apple Notes|
|Publisher||Microsoft||Evernote||Shiny Frog||Lyon Bros||Apple|
|Platforms||Windows, Mac, iPad, iPhone, Android, Web||Windows, Mac, iPad, iPhone, Web||Mac, iPad, iPhone||Windows, Mac, Linux, Android||Mac, iPad, iPhone|
|Cloud Sync||Yes, via OneDrive||Yes, via Evernote||Yes, via CloudKit (Subscription only)||Yes||Yes, via iCloud/CloudKit|
|Self-hosted sync option||No||No||No||Yes||No|
|Offline access||Yes||Paid plans only||Yes||Yes||Yes|
|Local storage option||No||Yes||No||No||Yes|
|Organization||Notebooks, Sections, Pages||Notebooks, Notes||Notes, Hashtags||Boards, Notes||Folders, Notes|
|File attachments within notes||Yes||Yes||Images and photos only||Yes||No|
|OCR within attachments||Partial||Yes||N/A||No||No|
|Encryption||Yes, per section||Yes, selected portions of notes||No||Yes||Yes, per note|
|Encrypts media within notes||Yes||No||N/A||Yes||Yes|
|Sharing||Yes||Paid plans only||No||Yes||No|
|Drawing/Write anywhere||Yes||Mobile apps only||No||No||No|
|Markdown support||No||Partial, as typing shortcuts||Yes||Yes||No|
|Language syntax highlighting||No||No||Yes||No||No|
|Note history||No||With paid plan only||No||No||No|
|Import options||Print to OneNote, Import from Evernote||zip file||Apple Notes, Evernote, DayOne, Vesper, Ulysses||None||ENEX|
|Export options||OneNote, Word, PDF, XPS, mht||ENEX, HTML||HTML, PDF, DOCX, MD, JPG||None|
There are a lot more options out there than just these. In fact, there’s a whole Wikipedia page here.
This article will walk you through installing GIMP on OS X with an ELA (Error Level Analysis) plugin to detect editing.
To learn more about reading ELA results, read this:
First, download GIMP from here: https://www.gimp.org/downloads/
Next, grab elsamuko-error-level-analysis.scm from the bottom of this page: https://sites.google.com/site/elsamuko/forensics/ela – Save it for later.
After downloading this .scm file, open it in your favorite text editor and locate the following line:
SF-STRING "Temporary File Name" "error-level-analysis-tmp.jpg"
Change it to the following:
SF-STRING "Temporary File Name" "/tmp/error-level-analysis-tmp.jpg"
And save the file. This fixes an issue with images not being able to be processed as the default location is not writable by GIMP.
Now double-click the GIMP .dmg file you downloaded, and copy GIMP to your Applications folder as shown:
Once you have it copied over, you will want to open the package contents by alt-clicking and selecting “Show Package Contents“.
From here, navigate to Contents > Resources > share > gimp > 2.0 > scripts and drop in the elsamuko-error-level-analysis.scm file you download earlier.
Now, run GIMP. Because of security-related things and stuff, the first time you run you will have to alt-click on GIMP and select Open. After doing this for the first time, you won’t have to do it again.
GIMP will appear to freeze for about 5 minutes while it builds its initial caches. This will cause GIMP to appear unresponsive. Do not force-kill it during this time, simply be patient until it opens.
Now, you can perform ELA on an image by opening it, and selecting Image > Error Level Analysis from the menu.
Once you’ve done that, running it against an image will produce an ELA mask as an additional layer, which you can use to analyze an image.
You can toggle the ELA layer visibility by clicking the eye shown in the following screenshot.
(Sample image from http://fotoforensics.com/tutorial-ela.php, retrieved April 11th, 2016)
So today I was going through my Synology NAS and noticed .DS_Store files all over the place.
These are actually files containing extended attributes created by Finder in Mac OS X. But, since they get written out to network locations, they can cause backup and versionining issues.
To disable them from being created on network locations, open a Terminal and run the following
defaults write com.apple.desktopservices DSDontWriteNetworkStores true
(Note: This only affects the currently-logged-in user)
Now in my case, I had these files all over my Synology NAS, so I was able to easily get rid of them by SSHing into the box and running the following:
find / -name .DS_Store -delete
wget is a really handy command line utility, but unfortunately not included in OS X. Curl could be a suitable replacement, but frequently scripts are written with wget, and it can be difficult and time-consuming to convert them to using curl.
Users interested in installing wget should first install Homebrew and then run:
brew install wget
This will install wget from Homebrew.
The below steps are deprecated and likely no longer work at all:
Below are the steps required to install a working wget on Mac OS X. This has been tested on OS X 10.6 Lion.
Install XCode from http://itunes.apple.com/us/app/xcode/id497799835?ls=1&mt=12 (at this time, it’s a 1.5GB download.)
Launch XCode, updating if necessary.
Go to Preferences > Downloads, and install Command Line Tools
Now open a terminal and perform the following steps at the command line one at a time to download, extract, configure, compile, and install wget:
curl -O http://ftp.gnu.org/gnu/wget/wget-1.14.tar.gz tar xvzf wget-1.14.tar.gz cd wget-1.14 ./configure --with-ssl=openssl make sudo make install
You should now have a working wget installed in /usr/local/bin. Confirm by trying
$ wget wget: missing URL Usage: wget [OPTION]... [URL]... Try `wget --help' for more options.
Feel free to comment below. Thanks!
2/7/2016: I got an email from someone who says this no longer works and gives the following message:
configure: error: –with-ssl=openssl was given, but SSL is not available.
If anyone has advice, please contact me. Thanks!
DD-WRT is feature-rich alternative firmware for a large number of home router models. It adds a wonderful array of new features, VPN being one of them. This walkthrough will show you how to quickly and easily configure a PPTP VPN server on your DD-WRT-powered router, so you can connect to your home network from afar, create a secure tunnel so you can safely use a public Wifi point with your laptop, or secure your iOS or Android device.
Setting up the VPN Server
So here’s how to get started. First, you’ll need a build of DD-WRT supported by your router which includes the VPN software. If you’re doing this on an Internet connection which has an IP address that changes periodically (i.e. residential), you’ll likely want a Free DynDNS hostname to point to your IP address. You’ll also need a basic familiarity of networking.
For the remainder of this guide, I will assume your router’s internal (LAN) IP address is 192.168.1.1.
Start by going to http://192.168.1.1 and login to your router’s administration panel.
Go to Services > VPN and set PPTP Server to enable. After doing that, a few new options will appear. The only ones you need to set are Server IP, Client IP(s), and CHAP Secrets. Set them as follows:
Server IP: You can set this to your router’s LAN IP, i.e.
Client IPs: Set this to an IP range OUTSIDE your DHCP range (See Setup > Basic Setup to figure your DHCP range) A good example value would be
192.168.1.200-250 for clients to receive addresses within that range.
CHAP Secrets: This is the username/password combinations for your VPN clients. Format is:
myname * mypassword *
Neither the username nor password can contain spaces, and must be all-lowercase.
You’re done with this page; Click Apply Settings.
Now go to Security > VPN Passthrough and make sure PPTP is set to Enabled. Click Apply Settings if you had to change the setting.
You should now be able to connect to your VPN using your Windows, Mac, or Linux computer by setting up a PPTP connection to your public (WAN) IP or hostname.
Can’t get connected? First, try setting up your connection to the router itself, using the LAN IP (192.168.1.1). If that works, then the VPN server is set up correctly; the problem is likely on the WAN side. Keep reading for suggestions. If you weren’t able to get connected, go back to the top and double-check your settings.
You may need to make the following settings adjustment if you are having trouble connecting specifically from your iOS device running iOS 4.3 or above. Go to Administration > Commands and paste the following in the box. Click Save Startup.
#!/bin/sh echo "nopcomp" >> /tmp/pptpd/options.pptpd echo "noaccomp" >> /tmp/pptpd/options.pptpd kill `ps | grep pptp | cut -d ' ' -f 1` pptpd -c /tmp/pptpd/pptpd.conf -o /tmp/pptpd/options.pptpd
(Source: DD-WRT Wiki)
If you can connect from the LAN side, but are still having trouble connecting from the WAN side, it’s likely your ISP or your gateway device (modem) is blocking the needed GRE protocol or the needed PPTP port or traffic. Contact your ISP for further assistance.
Do you have any experience or tips to share regarding VPN connections to a DD-WRT-powered router, or any suggestions in addition to the above? Please feel free to share them in the comments below. Thank you!
Google and Apple each brought their own services which allow users to upload their music library and stream it to their devices in the form of Google Music and iTunes Match, respectively. But how do those services compare?
Let’s take a side-by-side comparative look at some of the features:
|Feature||Google Music||iTunes Match|
|Number of songs||20,000 songs not purchased from Android Market||25,000 songs not purchased from iTunes|
|Supported devices||Works on common browsers on Win / Mac / Linux / Android / iOS (1)||Works on Win / Mac running iTunes; iOS devices supporting iCloud|
|Sync||Automatically sync music to Google Music using Win / Mac / Linux client||Automatically sync music to iTunes Match using iTunes|
|Sync Selection||Select which songs to upload using sync client||All songs from iTunes library are synchronized.|
|Local Storage||Save music to your Win / Mac / Linux / Android device for offline playback||Save music to your Win / Mac / iOS device for offline playback|
|Uploading||Every song must be uploaded||Matching is performed prior to upload; Only unmatched songs are uploaded|
|Supported file formats||Mp3, AAC (m4a), wma, flac, ogg (source)||Same as iTunes|
|Excluded formats||None||24-bit audio; Bitrates under 96 kbps; File over 200MB (source)|
(1) Although Google Music is reported to work on iOS devices,
As you can see, Google Music is aimed at the Android crowd, while iTunes Match is aimed at the iOS crowd. However, a few of the major points in Google Music’s favor that I see are that it supports playback from a web browser, has a Linux client, and is free.
Multiple Boot Systems Time Conflicts
From The Ubuntu Community:
Operating systems store and retrieve the time in the hardware clock located on your motherboard so that it can keep track of the time even when the system does not have power. Most operating systems (Linux/Unix/Mac) store the time on the hardware clock as UTC by default, though some systems (notably Microsoft Windows) store the time on the hardware clock as the ‘local’ time. This causes problems in a dual boot system if both systems view the hardware clock differently.
The advantage of having the hardware clock as UTC is that you don’t need to change the hardware clock when moving between timezones or when Daylight Savings Time (DST) begins or ends as UTC does not have DST or timezone offsets.
Changing Linux to use local time is easier and more reliable than changing Windows to use UTC, so dual-boot Linux/Windows systems tend to use local time.
Since Ubuntu Intrepid (8.10), the hardware clock is set to UTC by default.
Make Windows use UTC
Note: This method was not initially supported on Windows Vista and Server 2008, but came back with Vista SP2, Windows 7 and Server 2008 R2.
To make MS Windows calculate the time from the hardware clock as UTC.
Run regedit and navigate to
Right-click in the right-side panel and select New > DWORD Value. Create the key named
RealTimeIsUniversal and give it a value of 1.
Using a registry file
Create a file named WindowsTimeFixUTC.reg with the following contents and then double click on it to merge the contents with the registry:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation] "RealTimeIsUniversal"=dword:00000001
Make Linux use ‘Local’ time
To tell your Ubuntu system that the hardware clock is set to ‘local’ time:
1. edit /etc/default/rcS
UTC=yes if your hardware clock is set to UTC (GMT), or
UTC=no to have the hardware clock set to local time.
It’s come to my attention that this issue also affects Macs which dual boot via bootcamp or other methods.
Questions, comments, and feedback is welcome and appreciated.