PLAYING AROUND WITH RACKET
Lately I’ve been playing around with the racket dialect of lisp. Racket is a language of the scheme family, and so far I’ve found it simple enough to pick up through the provided tutorials. Things I like about it are Simple syntax. It is a lisp, after all, so there are plenty of parentheses. One thing racket does, however, is treat all brackets: (, [, and {, the same. As long as they are balanced by the appropriate closing bracket, they are interchangeable.
PLAYING WITH BOOTSTRAP
You may have noticed that the appearance of my website has changed, starting yesterday. This is because I wanted to find an excuse to mess around with bootstrap, an excellent package of javascript and css for making front-end website design easy. For the time being I’m sticking with one of the sample layouts, but I plan to play around with it in the future, so expect to see some changes!
A BASIC MONTE-CARLO SIMULATION IN COMMON LISP
Monte-Carlo simulations are algorithms that approximate numerical results by repeatedly sampling some space. Generally, the more samples you collect, the higher the accuracy of the result. In this blog post I am going to demonstrate how to use such a technique to approximate the value of the mathematical constant pi. The high level idea is as follows. We know the area of a circle can be found using the formula A = pi * r ^ 2, where r is the radius of the circle.
VACATION!
I’m on vacation this week, and I’ve really needed it. Work is great, but everyone needs a break to recharge after a while. I’ve personally felt my battery draining closer and closer to empty for a few weeks now. So while on my stay-cation (I jokingly tell people I’m going to puerta my-yarda) I’m hoping to accomplish the following: Finish installing my hardwood floor. Only the stairs remain. Fix up my Haskell Weather package.
AN EXAMPLE ANAPHORIC MACRO IN COMMON LISP
Anaphoric macros are macros that capture symbols intentionally, only to refer to them by a different name (an apaphor is an expression referring to another.) A popular example in Common Lisp is the loop macro, which uses the symbol “it” to refer to certain things in different contexts. Here’s an example from wikipedia: (loop for element in '(nil 1 nil 2 nil nil 3 4 6) when element sum it) As another example, here we will introduce a special version of the built-in “lambda” special form, that introduces a symbol “self” that refers to the lambda being defined.
FREESLACK: A "FREE AS IN FREEDOM" SLACKWARE OS
If you are an avid slackware linux user like myself and want to run a free as in freedom linux distribution, check out the FreeSlack project. They’ve essentially documented all non-free packages that ship with a default Slackware installation and give instructions on how to remove them. They also provide free repositories for use with the slackpkg updating tool.
ON ELECTRONIC VOTING
There was a recent letter to the editor in the online edition of the Windsor Star that criticized the decision to use electronic voting machines in several local communities. I wrote up a comment to the piece, and thought I’d reproduce it here. I’m a Computer Scientist by training, and a software engineer by profession, and I agree with the gist of what is being said here. There’s too much that can happen from when you press the button to when the vote gets tallied, and the entire process is near-invisible for the majority of the population.
WEBSITE UPDATES
It’s been quite some time since I’ve updated my blog, and since a lot has happened this year, I figured it was time for a new post. To start things off, I got married this past Summer to the love of my life. We had an outdoor ceremony on the hottest day of July surrounded by our friends and family, followed by a beautiful reception at the Serbian Centre in Windsor.
HOW I READ MY EMAIL
When the weather is nice I enjoy working outdoors when I can; since my current data plan on my phone is abysmal, and I prefer working on my full-sized laptop, my email setup is a bit different than normal peoples’. I don’t rely on simply connecting to a remote server because I like being able to read, sort, and reference my email while offline, so this post is a simple description of how I “do email”.
NEW YEAR'S RESOLUTIONS (I MIGHT ACTUALLY KEEP)
Every year I, like many people, set a bunch of resolutions for the new year and then never actually follow through on them. Well this year I’m intentionally keeping my list of goals very short, so that when I don’t get around to them, my disappointment ratio will be a bit better. So here’s my short list of resolutions that I might actually keep. Really learn a language from the Lisp family.