This is just a little note about one of my favorite datatypes in Clojure. Like most Lisps, Clojure has a very useful group of datatypes built in including some set types. I use sorted-set a lot. Until recently, I hadn’t noticed sorted-set-by, a function that returns a sorted set using a comparator you specify. I found myself needing to create a sorted set of strings where the sorting was case-insensitive. The sorted-set-by function was exactly what I needed.
Recently, I wrote about updating an old program that did the Sign Test. Well, I have lots of old programs that could stand a bit of refreshing. Another of the simple ones calculates the confidence interval around the proportion of successes in a series of Bernoulli trials. I wrote about it way back in 2011. The original was written in Java and Swing many years ago. It is still available in a repository on Bitbucket.
While editing some program text recently, I noticed myself doing something weird. I do most of my programming in Clojure these days. I mostly use IntelliJ IDEA with the Cursive plugin for Clojure. This turns out to be a great way to develop. One of the (many) things I love about IntelliJ IDEA is that it does spell checking in my code. Stops me looking (so much) like an idiot when I misspell stuff in comments.
In the process of updating some old programs, I had to change the GUI frameworks used. The old programs were written in Java using the Swing GUI framework and the JGoodies Forms and Looks libraries. Nowadays, the official GUI framework for Java is JavaFX. Making the transition from Swing to JavaFX was relatively painless because the programs were so small. However, one of the things I missed from the JGoodies Forms library was the “titled separator”, that is a separator with a label in front of it.
Long ago, I wrote a post about a small program to calculate the probabilities of a sign test. A lot has happened since then. The sign test is still useful to me on occasion, but the application framework used to write the original program is now unsupported. Too, the original program used Java’s Swing framework for the GUI. The new official GUI framework for Java is JavaFX. So I’ve updated the program a bit.
Often, when reading blogs, I am struck by the number of misspellings, incorrect word usages, bad grammar, and so on. But the experience of transferring this blog from other systems to it’s current home has been an eye opener. I proofread my posts, usually multiple times. However, in doing so I was struck by the number of misspellings, incorrect word usages, bad grammar, and so on. I am humbled (in the real sense of the word.
As part of the work of transferring old blog posts from other systems (mostly WordPress) to Hexo, I hit a bump when trying to use images in the new posts. There are basically two recommended ways to access images in Hexo. Put a new sub-directory, say images in your Hexo source directory. Put your images in your new directory. In your posts, use the usual Markdown method of linking to images, that is something like !
Way back in 2014, I wrote a post asking whether my new hosting company, CloudAtCost was a scam. Back then, I concluded that they were not. Fast forward to now, and it turns out they were a scam after all. Back in June they started sending me notices about not having paid a fee for “Maintenance”. They threatened to shut down and erase all my stuff at some unspecified time in the near future if I didn’t pay up.
First light with a new blogging platform. My hosting vendors have been playing games with me. They offer terrific prices to new customers to start using them. But the loyal folks who have been using them for years get nothing – except maybe a price increase. Not cool. So, I’m looking into hosting my blog for free on GitHub Pages. It even provides HTTPS out of the box. No configuring certificates or any of that stuff.
Last time, I wrote about some of the really nice note-taking apps available nowadays. Since then, I’ve come across another great one I just had to tell you about: Collate. It has just about everything I could want. I’ll let you read about all of its features on its web site, but some of the things I like most include: It’s cross-platform, capable of running on Windows, MacOS, and Linux.