I bought Joe Armstrong's new Erlang book as a beta PDF early this year and have been enjoying the material (the book is now in print). Erlang definitely has a lot of hacker mindshare but I have been unable to convince my customers to use it (so far). This may be a generalization, but those of us who love to program in Prolog are very likely to also enjoy working with Erlang. Erlang is certainly a great tool but I think it is unlikely to be very popular for two reasons: it does not provide instant gratification like Ruby on Rails and there is no large company promoting it (e.g., like Sun, IBM, etc. promote Java). That said, Erlang has a great open source community behind it and learning Erlang is very worthwhile if you occasionally need scalable applications. A comparison with Java is interesting: Java (especially with the new concurrency support in JDK 6) scales well on single servers with large numbers of cores while Erlang probably has the advantage when scaling to multiple servers.
Popular posts from this blog
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: https://github.com/mark-watson/loving-common-lisp/tree/master/src/spacy 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: ./make.sh --with-sb-thread --with-sb-core-compression sh in
My wife Carol and I have been practicing social distancing and wearing masks for shopping for over 5 months now. Welcome to the new normal and a crazy world in which entertaining and seeing friends is done by meeting in people's yards and everyone bringing their own "meal in a bag." I enjoy writing so I have been updating my recent books, starting with Loving Common Lisp, or the Savvy Programmer's Secret Weapon and A Lisp Programmer Living in Python-Land: The Hy Programming Language . These are free to read online and licensed with Creative Commons Share and Share Alike, No Commercial Reuse, so you can also find copies on the web (hopefully up to date copies!). Last month I started a much larger project: I have not updated my book Practical Artificial Intelligence Programming With Java since the fourth edition was published in 2013. I have discarded a lot of older material like exert systems, and have three new chapters on the semantic web and also a new chapter on
I retired this spring after working on artificial intelligence projects since the 1980s. Freedom from having to work on large projects for other people and companies is liberating and frees up time for thinking about new ideas. Currently I am most interested in deep learning models for generating and evaluating recipes - for now I am using a GAN model (which I am calling RecipeGAN). When I managed a deep learning team at Capital One, I used GANs to synthesize data. During a Saturday morning quiet-time hacking sprint the first month at my new job, I had the idea to take an example program SimpleGAN that generated MINST digits and instead generate numeric spreadsheet data (using the Wisconsin Cancer Data Set that I had previously used in my books as example machine learning data). I was really surprised how well this worked: I could generate fake Wisconsin cancer data, train a classification model on the fake data, and get classification prediction accuracy on real data samples that wa