Yahoo Security Notice December 14, 2016

- by Oleg Ivanchenko

Yahoo has identified data security issues concerning certain Yahoo user accounts. Yahoo has taken steps to secure user accounts and is working closely with law enforcement.

More information here:

Tags: Hack Yahoo

SQLSTATE[HY000]: General error: 1364 Field doesn't have a default value

- by Oleg Ivanchenko

I have got an error:

	SQLSTATE[HY000]: General error: 1364 Field 'XXXX' doesn't have a default value

Happened with MySQL 5.7.12, Mac OS X 10.11.5. MySQL installed from a package from

The obvious solution does not work: adding default value into SQL code (default '') generates another error for a TEXT field:

	SQLSTATE[42000]: Syntax error or access violation: 1101 BLOB, TEXT, GEOMETRY or JSON column 'XXXX' can't have a default value

Thus I had to update MySQL settings. The default MySQL strict mode has to be disabled.

In my case there were no /etc/my.cnf file. The default settings were in /usr/local/mysql/support-files/my-default.cnf. I added /etc/my.cnf with the following code in it:


And of course MySQL should be restarted :-) Look here for more details.

It solved the problem.

MySQL start/stop/restart in Mac OS X

- by Oleg Ivanchenko

How to start/stop/restart MySQL in Mac OS X? Very easy!

In OS X Yosemite / El Capitan (MySQL post 5.7) run in terminal:

sudo launchctl load -F /Library/LaunchDaemons/

Note: This is a persistent setting which means that MySQL will automatically start on the next OS X start.

sudo launchctl unload -F /Library/LaunchDaemons/

In OS X pre Yosemite (MySQL pre 5.7) run in terminal:

 sudo /usr/local/mysql/support-files/mysql.server start
 sudo /usr/local/mysql/support-files/mysql.server stop
 sudo /usr/local/mysql/support-files/mysql.server restart

Quite easy :-)

SSH: Public Key - not in PubkeyAcceptedKeyTypes

- by Oleg Ivanchenko

After upgrading to OS X El Capitan and corresponding upgrade of MacPorts I faced a problem of ssh connection using a public key. While debugging:

$ ssh -v hostname

I have got:

debug1: Skipping ssh-dss key /Users/<user>/.ssh/id_dsa for not in PubkeyAcceptedKeyTypes

The fix was to add to ~/.ssh/config the following string:

PubkeyAcceptedKeyTypes ssh-css

However it was a good trigger to evaluate RSA vs. DSA usage for SSH authentication keys. A good topic for discussion ...

Alert: Bash Code Injection Vulnerability

- by admin

This is really serious: Red Hat Product Security has been made aware of a vulnerability affecting all versions of the Bash package shipped with Red Hat Enterprise Linux. Since many of Red Hat's products run on a base installation of Red Hat Enteprise Linux, there is a risk of other products being impacted by this vulnerability as well.

The same issue found in Debian 6 & 7...

In order to test if your version of Bash is vulnerable to this issue, run the following command:

$ env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"

If the output of the above command looks as follows:

vulnerable<br />
this is a test

you are using a vulnerable version of Bash. The patch used to fix this issue ensures that no code is allowed after the end of a Bash function. Thus, if you run the above example with the patched version of Bash, you should get an output similar to:

$ env x='() { :;}; echo vulnerable'  bash -c "echo this is a test"<br />
bash: warning: x: ignoring function definition attempt<br />
bash: error importing function definition for `x'<br />
this is a test

So, UPDATE ASAP! yum update; apt-get upgrade - just do it regularry - every day, just as having coffee :-)

Can Bender bend an iPhone6 Plus?

- by admin

YES! He can. Even not Bender but you - just look how to do it.

According to experts, though, it probably shouldn't be surprising. As Jeremy Irons, a Design Engineer at Creative Engineering explained:

From an engineering standpoint, the iPhone is an amazingly small and delicately constructed device. The only thing really contributing to the structural integrity of the iPhone 6 Plus is the thin aluminum frame that covers the back and reaches around the sides. There is also another very thin piece of steel behind the glass, but we are not working with much as far as bending strength.

iOS 7 Functions Compatibility Matrix

- by admin

iOS 7, the latest version of Apple's mobile operating system, is now available for download. The update can be installed on any compatible iPhone, iPad, or iPod touch by visiting your device's settings menu, choosing "general," and then selecting the software update option. iOS 7 can also be installed with the help of the newly-released iTunes 11.1 on Windows and OS X. (You'll want to download that anyway, as it's required to sync music, videos, and other content to your device.)

The most immediate and striking change in Apple's latest OS is the all-new user interface designed under the eye of Jony Ive. iOS has been given a comprehensive visual makeover intended to make the overall user experience "simpler, more useful, and more enjoyable." But changes aren't just skin deep; iOS 7 introduces new features like iTunes Radio, AirDrop sharing, Control Center, and improved card-style multitasking.

Note that not all of Apple's latest features are available across all iOS hardware. If you're running the new software on anything older than an iPhone 5 or iPad 4, you stand to lose out on some functionality. Please find below those differences matrix.

New file in Mac OS X Finder

- by admin

Sometimes we need to create a file from Finder directly. And this is strange that Finder allows easily to create a folder but not a file! Although Linux and Windows file browsers have this option. So, let's enhance Finder!

First start Automator (Launchpad / Other / Automator). In the chooser that appears next, select Service.

At the top of the Automator main window, set the "Service Receives Selected" drop-down to "files or folders". Then select Library / Utilities in the left tree menu. Next drag (or just double click) "Run AppleScript" into the main working area (mid-right). Here you will get "Run AppleScript" box. Paste the following AppleScript into this code box, then click the hammer icon to compile the code:
on run {input, parameters}
tell application "Finder"
set currentPath to insertion location as text
set x to POSIX path of currentPath
end tell
return x
end run

Next double click on "Set Value of a Variable" (also in the LIbrary / Utilities section). Click the "Variable" drop-down and create a new variable. Let's call it currentFolder.

Select Library / Text in the left tree menu. Next drag (or just double click) "New Text File" into the main working area (mid-right). Here you will get "New Text File" box.

Drag the variable you just created (currentFolder) from the Variable panel at the bottom of the Automator window to the "Where" selector of the "New Text File" action. Change "Encoding" to "Unicode (UTF-8)". Click the New Text File's "Options" button (at the bottom of the box) and select "Show this action when the workflow runs". This will allow you to specify the names of new files.

Save the service with "File / Save ..." top menu and give it a name (For example "New File"). To test it, in the Finder go to the folder where you want to create a new file. Control-click on an existing file within that folder and select "New File" from the "Services" submenu. A dialog should appear requesting a filename. Enter one then click "Continue"; your new file should appear.

This obviously creates a text or RTF empty file (file with .txt or .rtf extension). You can change the extension to whatever you need as the last step.

SQL Joins Diagram

- by admin

For those who love SQL :-)

Source: Data Visualisation

MySQL innodb_buffer_pool_size optimal value

- by admin

innodb_buffer_pool_size is a quite important MySQL configuration parameter which can dramatically increase your DB productivity. The larger you set this value, the less disk I/O is needed to access data in tables. Just today I have got one of a heavy SQL query time changed from 15.5 to 1.2 seconds by changing innodb_buffer_pool_size from 23M to 320M! On a dedicated database server, you may set this to up to 80% of the machine physical memory size. Of course, you need to be careful with memory consumption, especially for a non-dedicated server.

To get optimal value of innodb_buffer_pool_size for your DB you may run this SQL:
SELECT CEILING(Total_InnoDB_Bytes*1.6/POWER(1024,3)) RIBPS
FROM (SELECT SUM(data_length+index_length) Total_InnoDB_Bytes
FROM information_schema.tables WHERE engine='InnoDB') A;

It would return optimal size calculated as sum of DB stored data and indexes multiple by 1.6. But it does not know anything about you physical memory! Thus set innodb_buffer_pool_size not more than 15% of RAM size. To test how much memory your new configured MySQL would maximum consume, use this mysqltuner Perl script. You can also use this script for optimizing of your MySQL DB other settings.

The last but not the least: innodb_buffer_pool_size has to be put in mysqld section of you MySQL configuration file (/etc/my.conf in RHEL):

Older posts »