(use-package smartparens-config :ensure smartparens)

If you utilize use-package to install smartparens and require smartparens-config then do it like this:

(use-package smartparens-config :ensure smartparens)

This week I migrated to use-package and configured it incorrectly with something like this:

(use-package smartparens :ensure t :config (require 'smartparens-config))

Big giveaway: single-quote and backtick don’t work correctly in strict mode! There are a lot of explanations of how to “fix this issue”. It isn’t an issue with smartparens. This is how I got it wrong; very easy mistake to make.

A FORTH on a TV Dream Machine

The desire to build my own personal computer has been growing. My requirements are non-existent. That has never stopped anyone before, right? Not going down to the silicon, it seemed the making it inexpensive and FORTH driven would be the best approach. Using nothing more than a television and a keyboard also seemed like a great idea. Everything else would be a distraction. Anything costing much would be a barrier. Tonight I came upon the FIGnition FUZE. This is my and surely your FORTH on a TV dream machine!

FIGnition FUZE is the definitive £20 educational DIY computer! It works like an 8-bit home Micro: outputting to composite video and ready to be interactively programmed from the moment you switch it on. FUZE now has bitmapped graphics; sprites, sound and audio saving/loading as well as 8Kb of RAM; 384Kb of storage; an 8-key keypad and runs a variant of FIG-Forth. It uses USB for power; firmware upgrades and program downloads.

Just read “What Can It Do?” and you will be drooling. Faster than every 80s box ever? Yes. External flash appears as re-usable disk? Yes. Graphics? Yes. Audio system for loading/saving data? Yes. The list goes on.

This is the vintage FORTH box that you have wanted to build all these years even though you didn’t know it!

For Sale: Symbolics MacIvory

Are you the only kid who learned about artificial intelligence in the 80s from the film WarGames? Probably not. Would you like to play a game, though? You still can. Pick up a piece of history here. Very very cool. Consciousness expanding when you realize that this dev tech was around in the 80s, long before it would appear in the mainstream.

Who ever got fired for compiling code?

Q. How do you fix a memory corruption in S-PLUS?
A. Use R.

The IBM AS/400 is an application-platform consisting of custom hardware, an operating system, and database. It is a quite interesting system giving you literally everything that you need to develop a custom computing environment for a company immediately “out of the box”.

Working to deploy a pretty typical Java based system with DB2 and WebSphere backing it up, my co-worker and I ran into a bug with the JVM. The issue revolved around the fact that the web-application layer utilized a byte-code engineering library that resulted in the revelation of a bug in the JVM itself. First level support explained that it was our bug so we provided a stand-alone example in straight Java and that got us to second level support.

They explained that they would look into it and that that we should watch for a release note in the next version of OS/400. This was getting kind of silly so our department wanted to cash-in in one of their immediate-support “get out of jail free cards” that you get when you spend hundreds-of-thousands-of-dollars per quarter for IBM support. That got us to third level support.

Upon reviewing the issue that we researched, tracked down the exact situation where the bug occurred, and demonstrated a reproducible example, they expertly agreed that there was indeed a bug in their JVM, that they would have it fixed for the next release six months from now, and thanks for letting them know.

One of the value-adds of purchasing something from IBM is that every C-level knows that you can’t get fired for buying IBM. Something that you can’t have done either apparently is computing Java! :P

Whitespace

Most modern programming languages do not consider white space characters (spaces, tabs and newlines) syntax, ignoring them, as if they weren’t there. We consider this to be a gross injustice to these perfectly friendly members of the character set. Should they be ignored, just because they are invisible? Whitespace is a language that seeks to redress the balance. Any non whitespace characters are ignored; only spaces, tabs and newlines are considered syntax.

Whitespace must be learned.