WordPress database error: [<div style="clear:both">&nbsp;</div> <div class="queries" style="clear:both;margin-bottom:2px;border:red dotted thin;"> <p>MySQL query:</p> <p>INSERT INTO `v_options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_wp_theme_files_patterns-cd1a8bc8cbc72ce6fb0c0697a81cfe82', 'a:2:{s:7:\"version\";s:5:\"1.1.0\";s:8:\"patterns\";a:0:{}}', 'off') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)</p> <p>Queries made or created this session were:</p> <ol> <li>Executing: BEGIN | (no parameters)</li> <li>Executing: SELECT * FROM pragma_table_info(:table_name) as l WHERE l.pk &gt; 0; | (no parameters)</li> <li>Executing: SELECT * FROM pragma_index_list(&quot;v_options&quot;) as l; | (no parameters)</li> <li>Executing: SELECT * FROM pragma_index_info(&quot;v_options__option_name&quot;) as l; | (no parameters)</li> <li>Executing: SELECT * FROM pragma_index_info(&quot;sqlite_autoindex_v_options_1&quot;) as l; | (no parameters)</li> <li>Executing: INSERT INTO `v_options` (`option_name`, `option_value`, `autoload`) VALUES (:param0 , :param1 , :param2 ) ON CONFLICT (&quot;option_name&quot;) DO UPDATE SET `option_name` = excluded.`option_name`, `option_value` = excluded.`option_value`, `autoload` = excluded.`autoload` | parameters: _site_transient_wp_theme_files_patterns-cd1a8bc8cbc72ce6fb0c0697a81cfe82, a:2:{s:7:&quot;version&quot;;s:5:&quot;1.1.0&quot;;s:8:&quot;patterns&quot;;a:0:{}}, off</li> <li>Executing: ROLLBACK | (no parameters)</li> </ol> </div> <div style="clear:both;margin-bottom:2px;border:red dotted thin;" class="error_message" style="border-bottom:dotted blue thin;"> Error occurred at line 3775 in Function <code>handle_error</code>. Error message was: SQLSTATE[HY000]: General error: 5 database is locked. </div> <p>Backtrace:</p> <pre>#0 /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php(287): WP_SQLite_Translator->get_error_message() #1 /home/vmauery/www/wordpress/wp-includes/option.php(1134): WP_SQLite_DB->query() #2 /home/vmauery/www/wordpress/wp-includes/option.php(2145): add_option() #3 /home/vmauery/www/wordpress/wp-includes/option.php(1928): add_network_option() #4 /home/vmauery/www/wordpress/wp-includes/option.php(2638): add_site_option() #5 /home/vmauery/www/wordpress/wp-includes/class-wp-theme.php(2033): set_site_transient() #6 /home/vmauery/www/wordpress/wp-includes/class-wp-theme.php(1856): WP_Theme->set_pattern_cache() #7 /home/vmauery/www/wordpress/wp-includes/block-patterns.php(368): WP_Theme->get_block_patterns() #8 /home/vmauery/www/wordpress/wp-includes/class-wp-hook.php(324): _register_theme_block_patterns() #9 /home/vmauery/www/wordpress/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() #10 /home/vmauery/www/wordpress/wp-includes/plugin.php(517): WP_Hook->do_action() #11 /home/vmauery/www/wordpress/wp-settings.php(704): do_action() #12 /home/vmauery/www/wordpress/wp-config.php(99): require_once('...') #13 /home/vmauery/www/wordpress/wp-load.php(50): require_once('...') #14 /home/vmauery/www/wordpress/wp-blog-header.php(13): require_once('...') #15 /home/vmauery/www/wordpress/index.php(17): require('...') #16 {main}</pre> ] INSERT INTO `v_options` (`option_name`, `option_value`, `autoload`) VALUES ('_site_transient_wp_theme_files_patterns-cd1a8bc8cbc72ce6fb0c0697a81cfe82', 'a:2:{s:7:\"version\";s:5:\"1.1.0\";s:8:\"patterns\";a:0:{}}', 'off') ON DUPLICATE KEY UPDATE `option_name` = VALUES(`option_name`), `option_value` = VALUES(`option_value`), `autoload` = VALUES(`autoload`)


Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893

Warning: Cannot modify header information - headers already sent by (output started at /home/vmauery/www/wordpress/wp-content/plugins/sqlite-database-integration/wp-includes/sqlite/class-wp-sqlite-db.php:186) in /home/vmauery/www/wordpress/wp-includes/rest-api/class-wp-rest-server.php on line 1893
{"id":138,"date":"2010-12-28T03:10:13","date_gmt":"2010-12-28T10:10:13","guid":{"rendered":"https:\/\/vernon.mauery.com\/content\/?p=138"},"modified":"2010-12-28T03:10:13","modified_gmt":"2010-12-28T10:10:13","slug":"a-usb-cw-keyboard","status":"publish","type":"post","link":"https:\/\/vernon.mauery.com\/content\/2010\/12\/28\/a-usb-cw-keyboard\/","title":{"rendered":"A USB CW Keyboard"},"content":{"rendered":"

After getting my amateur radio license without having to pass a CW test, I felt a little bit cheated, so I vowed that I would learn CW and do my best to help keep it alive. After all, that is one of the two things that I remember about ham radio from my childhood (beeping and antennas). In the past year and a half, I am sorry to say that I have not yet mastered CW. But I have learned a lot about learning CW. \ud83d\ude42 Baby steps, right?<\/p>\n

Because one reason I decided to get into amateur radio was to give myself an outlet for my tinkering needs, I felt it was only fair that I should devote some of this tinker time to learning CW. How do you do that? By making a touch-sensitive paddle with an iambic keyer. This is what I set out to do about six months ago and am proud to say that I have a working finished product to share today. Much of my inspiration was from the fine folks at CW Touch Keyer<\/a>. Their products were very alluring and I almost bought one of them instead of building it myself, but they didn’t meet all my requirements. (Their Master Keyer was not available yet, which I think does meet all my requirements except the actual paddle part, which you must supply yourself.)<\/p>\n

My design goals:<\/p>\n