Skip to content

You may google out several explanations on an error "WebSocket network error: The operation couldn't be completed (OSStatus error -9829)" when you attempt to connect to a secure websocket using Safari web-browser on Mac OS X 11.0.1 (Big Sur). One of them points out more strict requirements for trusted web-site certificates on MacOS an iOS, which I didn't know.

However, in my case the error was caused by a drawback in Safari browser, - turn out it simply does not send user certificate when performing secure websocket connection (wss:// URL scheme).

Hopefully, Firefox browser doesn't have this drawback and all works fine when you use it. Though you would need to install all CA certificates and user certificate into Firefox's store as it turn out doesn't use the system's one.

I was unable to edit a PDF form using Evince on Ubuntu, some fields remained empty once I move cursor out of them after entering data on some reason, while other fields worked fine.

Fortunately I have found Master PDF Editor 3 from Code Industry which done job perfectly. It has a free version for non-commercial use. In addition to Evince functionality it supports interactive instructions embedded into PDF document helping to fill the form.

I have tested it on Ubuntu 16.04 and 16.10.

A new snapshot version of DataparkSearch Engine has been released. You can get it on Google Drive or on GitHub.

Changes made since previous snapshot:

  • added setting reading timeout to socket based on document reading timemout
  • added support for wolfssl and mbedtls libraries
  • added timeout tracking for https
  • removed adjustment on server weight before putting url poprank into url data
  • fixed compilation without openssl
  • improved OpenSSL detection
  • added --enable-mcmodel option for configure
  • corrected compilation flags for threadless version of libdpsearch if no apache module selected to build
  • switched to CRYPTO_THREADID for OpenSSL 1.0.0 and above
  • minor fixes and updates

A new snapshot version of DataparkSearch Engine has been released. You can get it on Google Drive or on GitHub.

Changes made since previous one:

  • Corrected SQL schema for MySQL5
  • Fixed crash on URLs with no schema specified
  • New detection for Apache version
  • Fixed crossword section construction
  • p, option and input HTML tags can now be a section
  • More fine sleeping on mutex lock failure
  • Fixed compilation on FreeBSD 10
  • Added 'Robots collect' command
  • Fixed crash if dt:minute limit specified
  • Do not process sitemaps for Server/Realm/Subnet commands with nofollow option specified
  • Some other minor fixes

I am planning to retire the support for Apache 1.3 in future. Let me know if your are still using it.


With the recent AMP update at Google you may notice increased number of AMP parsing errors in your search console. They look like

The mandatory tag 'html ⚡ for top-level html' is missing or incorrect.

Some plugins, e.g. Add Meta Tags, may alter language_attributes() using 'language_attributes' filter and adding XML-related attributes which are disallowed (see ) and that causes the error mentioned above.

I have made a fix solving this problem and made pull request for WordPress AMP plugin, you may see it here:

Trying to solve the task of calculating word cooccurrence relative frequencies fast, I have created an interesting data structure, which also allows to calculate counts for the first word in the pair to check; and it creates word prefix tree for the text processing, which can be used for further text analysis.

The source code is available on GitHub:

When you execute make command you should see the following output:

cc -O3 -funsigned-char cooccur.c -o cooccur -lm

Example 1
./cooccur a.txt 2 < | tee a.out

Checking pair d e
Count:3  cocount:3
Relative frequency: 1.00

Checking pair a b
Count:3  cocount:1
Relative frequency: 0.33

Example 2
./cooccur b.txt 3 < | tee b.out

Checking pair a penny
Count:3  cocount:3
Relative frequency: 1.00

Checking pair penny earned
Count:4  cocount:1
Relative frequency: 0.25

The cooccur program takes two arguments: the filename of a text file to process and the window of words size to calculate relative frequencies within it. Then the program takes pairs of words from its standard input, one pair per line, to calculate count of appearance of the first word in the text processed and the cooccurrence count for the pair in that text. If the second word appears more than once in the window, only one appearance is counted.

Examples were taken here:

// - here on GitHub is my answer to Stan code challenge. It is an example how one can use SAX-like streaming parser inside an Apache module to process JSON with minimal delays.

Custom made Apache module gives you some savings on request processing time by avoiding invocation of any interpreter to process the request with any programming language (like PHP, Python or Go). The stream parser allows to start processing JSON as soon as the first buffer filled with data while the whole request is still in transmission. And again, as it is an Apache module, the response is starting to construct while request is processing (and still transmitting).