Showing posts from February, 2020

Custom built SBCL and using spaCy and TensorFlow in Common Lisp

Here are some of my of my recent notes that might save you some time, or teach you a new trick. I have had good results using the py4cl library if I wrap API calls to TensorFlow or spaCy in a short Python library that calls Python libraries and returns results in simple types like strings and dictionaries. I just committed a complete example (Python library and Common Lisp client code) to the public repo for my book  Loving Common Lisp, or the Savvy Programmer's Secret Weapon that will be added to the next edition of my book. Here is a link to the subdirectory with this new example in my repo: I frequently make standalone executable programs using SBCL and I just noticed a great tip from  Zach Beane for compressing the size of standalone executables. Start with rebuilding SBCL from source to add the compression option; get the source code and: ./ --with-sb-thread --with-sb-core-compression sh in

Protecting oneself from surveillance capitalism

As an author I find occasional use of Facebook and Twitter to be useful for “broadcasting” notifications of my new books, open source projects, etc. I also find gmail to be useful for some types of email. Still, I do like to take a few easy steps to push back a little against the free use of my web behavioral data to profit corporations who I don’t do business with (and those I do): Use ProtonMail as my primary email Use Firefox on my Linux and macOS laptops with individual containers for Google, FaceBook, etc. On iOS devices, favor browsing with private tabs. Use a VPN when I am traveling and when I  need to use public WiFi  Limit use of my gmail address to a backup email and as a junk email address. For online purchases from Amazon, etc. use a secure email service that does not use the contents of your email to market to you and as data to sell to 3rd parties. Frequently delete all cookies from web browsers that you use. Use private browsing windows for routine use of the