No Julia plotting package has been crowned king yet. Winston and Gadfly are the main competitors. PyPlot is a Julia wrapper around Python's matplotlib; it is a stop-gap for use while the native Julia implementations mature. However, all three of these packages have non-Julia dependencies; this can cause installation ...read more
- Programmers are always learning. You learn how to use new APIs, new functions, new types. You learn why your code doesn't work. Julia has a lot of built-in tools to help you navigate, learn, and debug. You can use these in the REPL and in normal code. In this post, I split these functions and macros up based on what they help you do: understand functions, examine types, navigate the type hierarchy, or debug code. read more
In the shed where we keep gardening tools, there was a mess.
Dad wanted a thing to get all the long-handled tools up off the floor and out of the way. I started learning to weld a year ago, and have been bugging him for a project. These things combined ...read more
When people are introspective, they're thinking about how their minds work, about how and why they think what they do. The Julia language has some impressive facilities for letting you see how the compilers' mind works. Using convenient built-in functions that are available both at the REPL1 and ...read more
Here are some examples of starting and interacting with other programs from Julia. The official documentation is pretty good, but I want something with more (basic) examples and fewer words. I do reccommend reading that to see some of the fancier tricks you can pull (and for up-to-date documentation, when ...read more
I have long been confused by the strange behavior of integers as arguments to functions. If I pass a variable into a function, I expect the function to be able to modify it. This expectation applies to variables local to the calling context and to global variables; it also applied ...read more
One of the simplest first programming exercises to try in a new language is the FizzBuzz problem. It's a simple toy problem that is less trivial than "Hello, World" because it also involves using basic control-flow structures.
This blog post assumes that you've already installed the Julia programming ...read more
This post was updated on June 28, 2013 to reflect changes in the TcpServer/TcpSocket api in Julia.
Recently, I've been writing the WebSockets implementation for Julia.
TcpSockets were not well documented when we started using them, so I figure a tutorial might be useful for anyone else ...
There are surely too many monad tutorials on the internet by now. However, I, like many before me, feel the need to try my hand at it.
In most non-duck-typed programming languages, you can define an interface, which is a set of functions of particular names and types. A type ...read more
Code in this tutorial runs under Rust 0.8 as of October 31, 2013.
Rust is a compiled, strongly-typed language with first-class functions and closures. It has shared-nothing light-weight thread-based concurrency with message-passing for communication. It has memory safety but with this complicated three-kinds-of-pointers arrangement. It has a neat modern ...read more
This is a walk through of creating your first GUI program for Haiku. We're writing a super-simple application using just the built-in API.
Assumptions About You
Haiku and Paladin
OOP and pointers ...
Last February, I installed Haiku (alpha 3) on my eee pc 901. It worked well, except for not handling password-protected wifi networks. I used it a couple of times for web browsing, and then forgot about it.
Recently, I decided that installing random operating systems is amusing. This lead to ...read more
I have recently spent several days trying to install and boot FreeBSD, Haiku, and OpenIndiana on a single hard drive. I currently have Xubuntu, FreeBSD, and Haiku installed and booting. I am using a FreeBSD 9.0 release live-usb image as my install media.
This process has involved installing FreeBSD ...read more
Today is one month to the day since I last updated this blog. At that point, I had finally added course homepages. Now, users can create and enroll in courses. They are also required to enter a username and email address. That's really sad for a month's time ...read more
Today, I have course homepages, generated from the database, working. Additionally, the side menu is populated by courses that the user is enrolled- in/related-to. The links really work, and take you to the course's homepage.
I moved all the code that does SQL queries into a DatabaseHelpers module ...read more
Having modified the happstack-authenticate hsp-demo to display my theming (meaning the navbar and menu I took from a Bootstrap demo) -- on all the pages, even the login/logout ones, it is now time to make logged-in page display a bit more dynamic content. Meaning, something besides your user id. Actually ...read more
In building a web app, there are a lot of libraries to choose. Here's what I'm planning to use in building Assignment Manager:
HSP templates are written right in the Haskell files. They use Template Haskell to achieve this. You can insert arbitrary Haskell into the ...
Assignment Manager is a web-app written in Haskell on HappStack. The goal is to build a web interface to handle the assignment, submission, and grading interactions for a college course. Professors, TAs, and students will all interact with the application over the course of each assignment's life cycle. You ...read more
Why is it my favorite? For one thing I got the idea all at once and didn’t have to fiddle with it; and I wrote it in white-heat and scarcely had to change a word. This sort of thing endears any story to any writer. Then, too, it ...
Some short works of science fiction have some fascinating takes on how reality works, on who or what God is. These three stories are all very short, and each show a different facet of how things could be.read more
Warning: the discussion of each of these stories contains spoilers. These stories ...
This was written first as a practice college application essay for english class in the Spring of junior year. That Fall, I edited it for use as my actual college application essay. Later the same year, I submited it to our school's writing contest; it won first place in ...