Programming can be thought of as something that takes place as part of interacting with a culture - a culture with two very different audiences. One "audience" is the CPU, and the other audience is made of other programmers - and those other programmers are typically the ones who get ignored, or at least mistreated.… Continue reading Programming is also Teaching
Want to install GraalVM on OSX? It's easy. First, get SDKMan. Trust me. You want it. Almost as much as brew, if you're doing anything with the JVM. You'll want to install bash - via brew - because SDKMan uses bash and the OSX bash shell is badly outdated. Once you have SDKMan installed and… Continue reading Installing GraalVM on OSX with SDKMan
Things I have learned recently: People still don't really get JNDI, and the Java frameworks around today make it easy to ignore, even though it's still a core technology. It's not difficult to see how it can be confusing: context in JNDI is everything, and context makes it a challenge to create examples that make… Continue reading JNDI
Things I think I've learned today: Blogs are so yesterday, man. It's probably the medium and platform I've chosen - I don't use Medium, for example, although I have an account there - and I don't publish often enough, or with enough direct focus, to really attract users, because I'm really not trying to build… Continue reading Blogs are so eh
Grappa is a parser library for Java. It's a fork of Parboiled, which focuses more on Scala as a development environment; Grappa tries to feel more Java-like than Parboiled does. Grappa's similar in focus to other libraries like ANTLR and JavaCC; the main advantage to using something like Grappa instead of ANTLR is in the… Continue reading A Simple Grappa Tutorial
I still prefer Java over other languages. The Background: Javabot I'm a fairly regular contributor to javabot, an IRC bot written for the Freenode ##java channel. I don't know that I'd be considered a major contributor (I'm not listed in the credits, for example, so maybe I do know - and I'm not a major… Continue reading I still prefer Java.
Test-driven development is, loosely defined, a practice in which tests are written before anything else, without regard to correctness. For example, if I want to write a program to generate "Hello, world," I would write a test that validated that "Hello, world" was generated - before I had anything that might create the output. When my tests pass, I know I've "finished," because my tests define a specification. By having tests in place, though, not only do I have a record of the specification, but I also have a way that I can add to the specification in such a way that I know I'm not breaking code - I would simply add more tests that corresponded with the changing specification, and I will know if my changes break other code. Here's the thing: I wrote the Java implementation using test-driven development practices (TDD), and the automaton is kinda neat; TDD also provided me the opportunity to fix the names of structures (renaming `Dataset` to `Generation`, for example) because the tests made it obvious that the names were inaccurate. However, seeing the differences in the development process between my Python implementation and the Java implementation, I might look into TDD with Python anyway.
OWL is a language used to describe ontologies - systems of knowledge. It's found primarily in the Semantic Web, which mostly means "hardly anywhere," and part of the problem is that using OWL is really pretty difficult. You can find plenty of technical language, but very little that describes how and why you'd actually use… Continue reading An Incomplete Introduction to OWLAPI
I was reading a book on Neo4J and encountered this sentence: What is the secret of Neo4J's speed? No, Neo4j developers haven't invented a superfast algorithm for the military. Nor is Neo4j's speed a product of the fantastic speed of the technologies it relies on (it's implemented in Java after all!) (Emphasis mine. Quote is… Continue reading Java Authors, Learn Java
I just republished an article I'd worked on for Red Hat, called "Smart Grids." It's got twelve parts already, with two more not actually finalized; I'd been pulled off of the smart grids article and never quite got back around to it. I'd still like to, though. It's a good walkthrough of an "Internet of… Continue reading Smart Grids series reposted