Thursday, 19 January 2017

Change default Screenshot Save Location MacOS X


I take a lot of screenshots for different reasons. I keep some, post others on social media or I use them to illustrate my posts. The default save lcation is current users desktop, and you might find the desktop to be cluttered with the screenshot files rather quickly.

Keyboard Shortcuts to Capture a Screen Shot with Mac OS X

Save to location
⌘ Cmd + Shift + 3 - Entire screen
⌘ Cmd + Shift + 4 - Portion of the screen
⌘ Cmd + Shift + 4 then Space - Specific application window

Copy to clipbard
⌘ Cmd + Ctrl + Shift + 3 - whole screen capture
⌘ Cmd + Ctrl + Shift + 4 - selective capture
⌘ Cmd + Ctrl + Shift + 4 Space - window screen capture

How to change default Screenshot Save Location

Press ⌘ Cmd + Space to open Spotlight and type terminal or, as I prefer, iTerm 2
$ mkdir $HOME/Documents/Screenshots
$ defaults write com.apple.screencapture location $HOME/Documents/Screenshots/
$ killall SystemUIServer

You also might want to move all your existing screenshots from the desktop to your new folder.
$ mv $HOME/Desktop/Screen\ Shot\ *.png $HOME/Documents/Screenshots/.

Change the default screenshot file name

The default screenshot name is "Screen Shot 2017-01-18 at 10.56.49.png"
[Name] [date] at [time].[type] You can only change the [Name] and [type]

$ defaults write com.apple.screencapture name "Prefix Name"

Change the screenshot image type

By default, OS X saves screenshots as .png (or Portable Network Graphics) files. Valid formats: .bmp, .pdf, .jpg, .jp2, .tif, .pict, .tga and .png

$ defaults write com.apple.screencapture type jpg
Tuesday, 3 January 2017

Mac OSX keeps prompting for SSH key passphrase


So, since I upgraded my MAC to OSX 10.12.2 I always get promted for my SSH key passphrase witch is rather annoying.
$ ssh example.com
Enter passphrase for key '/Users/<username>/.ssh/id_rsa':
This passphrase was stored in Keychain and was unlocked when I unlock my MAC
By adding UseKeychain yes to your ~/.ssh/config it solves this problem.
$ cat ~/.ssh/config
Host *
  UseKeychain yes
In courtesy of  @aral on Twitter.
You can also read more about Keychain changes in Technical Note TN2449
Keychain changes
Prior to macOS Sierra, ssh would present a dialog asking for your passphrase and would offer the option to store it into the keychain. This UI was deprecated some time ago and has been removed.
Instead, a new UseKeychain option was introduced in macOS Sierra allowing users to specify whether they would like for the passphrase to be stored in the keychain. This option was enabled by default on macOS Sierra, which caused all passphrases to be stored in the keychain
--Cheers
Sunday, 18 December 2016

Run a TFTP Server on Mac OS X



To upgrade firmware or upload config backup on networking devices TFTP server often comes handy. In my job I usually have access tosuch server, but in some cases when network access is limited or not available I configure a TFTP server on my laptop. For Linux see: Install and run a TFTP server

Mac OS X has a tftp server included, it's eazy to start it and do a minor configuration. First see if there are any commands related to tftp.
apropos tftp
You should get answer like this.
tftp(1) - trivial file transfer program
tftpd(8) - DARPA Internet Trivial File Transfer Pro
You can start it with launchctl
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist
To confirm it’s running use netstat to check what is listening on its port, traditionally port 69.
netstat -na |grep \*.69
Should get answer like this.
udp6       0      0  *.69                   *.*
udp4       0      0  *.69                   *.*
It's a good idea to symlink the tftpboot to a folder you have full control over because OS X El Capitan has strong security via its System Integrity Protection (SIP) which makes things more difficult.
cd /private/
sudo rm -rf tftpboot
mkdir /Users/<username>/tftpboot
sudo ln -s /Users/<username>/tftpboot tftpboot
sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist
sudo launchctl load -F /System/Library/LaunchDaemons/tftp.plist

When you’re not using the TFTP server, make sure to unload the service.
sudo launchctl unload -F /System/Library/LaunchDaemons/tftp.plist
netstat -na |grep \*.69
The netstat should return nothing.

-cheers
Wednesday, 5 October 2016

Restoring a single table from a full mysqldump file



Yesterday I needed to restore one table from larger database dump file. To begin with I found out which lines I needed end with sed i got my data.
sed -n 955,991p data.sql > new_data.sql
Pretty easy, but in a large file you have to work your way to find the line you need. The solution I found was more specific and works like a charm. The first version of the command was a rather inaccurate because it was missing the "DROP TABLE IF EXIST" for the table you are restoring and you need to edit out few lines from the bottom of the new file before using it in order to prevent deleting the next table, "address". leaves "DROP TABLE IF EXIST" for the next table at the end of the new file.
sed -n -e '/CREATE TABLE.*`person`/,/CREATE TABLE/p' data.sql > new_data.sql
Leves this at the end og the new file.
--
-- Table structure for table `address`
--

DROP TABLE IF EXISTS `address`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `address` (

Then I came a cross better solution to get your table data. While this is the backup layout.
--
-- Table structure for table `person`
--

DROP TABLE IF EXISTS `person `;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `person` (
  `id` int(4) NOT NULL AUTO_INCREMENT,
  `name` varchar(225) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `person`
--

LOCK TABLES `person` WRITE;
/*!40000 ALTER TABLE `person` DISABLE KEYS */;
INSERT INTO `person` VALUES (1,'Emma'),(2,'Noah'),(3,'Olivia'),(4,'Liam'),(5,'Sophia');
/*!40000 ALTER TABLE `person` ENABLE KEYS */;
UNLOCK TABLES;

As you can see "UNLOCK TABLES" is the last line, so that is what we look for in the sed ccommand.
sed -n -e '/DROP TABLE IF EXISTS.*`person`/,/UNLOCK TABLES/p' data.sql > new_data.sql

Now your new file should be ready to use, but I recommend that you check before you use.

--cheers
Monday, 12 September 2016

How to disable the Caps Lock key on Mac


Caps Lock is the the most unnecessary key on the keyboard for me. I rarely need to write more than couple of words in capitals and to often I accidently hit the key, suddenly finding myself typing IN ALL CAPS
Here’s an easy way to change the behavior of your Mac’s Caps Lock key and even disable it altogether.

  • Click the  icon in the top-left corner of your desktop and select System Preferences
  • Select the Keyboard icon and click the “Modifier Keys” button in the bottom-right corner 
  • From the pull-down menu next to “Caps Lock Key”, select “No Action” 
  • Press “OK”



Monday, 20 June 2016

How you can make someone unfollow you on Twitter

This trick is known as a "soft block", and it comes handy when someone’s annoying you on Twitter and you really do not want to block him. You have a few options for dealing with annoying accounts.
Block, which prevents them seeing your tweets.
Mute, which stops you seeing their tweets and replies to you.
And Soft block which forces them to unfollow you.
If you are active Twitter user you are most likely familiar to Block and Mute. But you might or might not have heard about Soft block. Because It’s not an official feature, soft block is not commonly known.
The procedure is quite simple, all you have to do is promptly block and unblock the user in question.

If the person doesn’t notice you’re not coming up in their feed anymore, you’re good. Else repeat.

--Cheers


Wednesday, 25 May 2016

Restoring applications after minimizing to Mac OS X dock


When you click the yellow pill button in the upper left corner of a window to minimize that window in Mac OS X or if you use ⌘ Cmd + M you might want to bring the application back. When cycling through running applications, including the minimised applications, using ⌘ Cmd + Tab you might expect to retrieve the application back.

This sequence on the other hand will bring wour application window.
1. Use ⌘ Cmd + Tab untill you find your application.
2. Before releasing ⌘ Cmd, press and hold ⌥ Alt

Other method is to hide application using ⌘ Cmd + H, then you can restore your window with ⌘ Cmd + Tab