You all probably knew where this was going, right?

Mind Traffic Control (Racket version) running on PocketCHIP
Mind Traffic Control (Racket version) running on PocketCHIP.

Of course, it’s been my priority to run the new MTC on the PocketCHIP. And it runs fine, without any special conversion; just needed to figure out how to install a library it depended on without going through drracket.

Now I’m off for my celebratory bike ride. 🙂

 

 

Save

Posted in Me.

Got my PocketCHIP yesterday.

And here it is running Emacs, with a Racket REPL via Geiser.

pcemacs

I have to say, this has been the dream for a long time … a cheap, portable device that runs Linux, has Emacs, git, rsync etc. And I can actually write and run Lisp on it.

It has a keyboard / screen that can be used in emergencies, but can also be accessed via USB-serial and PuTTY from any old Windows PC. (Useful when you want to go somewhere which may have a PC but don’t want to take a laptop with you.)

I’ve been excited by small computers before. I do stuff with Arduinos. I have a couple of Raspberry Pis sitting around. And last year got very enthused by the possibilities of the ESP8266 running nodemcu.

But in reality, the RaspPi and ESP have both proven more awkward to work / play with than the CHIP.

The RaspPi’s problem is its dependency on HDMI. And lack of ability to log in by serial over USB. I don’t usually have an HDMI screen to hand. And not in the same room as a network router I can connect an ethernet cable to. And without one, plus special keyboard / mouse etc. And wired internet connection, it’s hard to do much with the RaspPi. I normally only use it in the local hackspace.

The ESP8266’s issue is dependency on a 3.3v power-supply. Which is awkward. Even with an FTDI cable to connect it to the computer’s USB port, you need EXTRA power of the right voltage to talk to it. I have to use a spare Arduino, just to get that 3.3v power.

It kind of pains me to say it, as I really want to champion the British innovated Pi over the American innovated CHIP, but the CHIP guys have done a magnificent job of making their board easy to use straight out of the box. The PocketCHIP is a master-stroke. I unboxed it, plugged it into a USB charger, switched it on, and was exploring and playing with the CHIP within a couple of minutes. It combines all the extra gubbins you need to do stuff with the CHIP in one, obviously cheap, but pretty usable, package. Even the keyboard is OK for small bursts of typing.

I got a PocketCHIP and two extra CHIPs. Even without the Pocket, being able to communicate with a bare CHIP via a terminal over USB makes it far more accessible than the RaspPi. Once I’d figured out a terminal program (I found cu works well) I was able to log in, set up the wifi, update and upgrade the Debian and install the software I want to play with, without any hardware beyond the USB cable.

I really hope someone comes up with a Pocket equivalent for the Raspberry Pi Zero soon. It makes a massive difference to adoptability. And I don’t really understand why the Raspberry Pi can’t be accessed over serial. It’s got USB sockets. Why can’t we do serial over them?

Save

Save

Posted in Me.

Fixed a minor, but annoying, bug in MTC Racket today.

There’s an option, when you have a URL in an item, to get MTC to pull it and show the “title” of the page that the URL is pointing out. It’s a quick reminder of what the page is about without opening up the browser (when it’s not obvious from the link itself). You do this simply by typing “a” (for “analyze”).

However, if you typed that in an item without a URL, MTC was blowing up. That is now fixed.

Posted in Me.

Today I killed the old Mind Traffic Control on Google App Engine. And replaced it with a new, fairly basic, site. (Though one that’s quite pretty, in a Packt Publishing kind of way.)

This is the beginning of a whole new MTC ecosystem.

1) I’m no longer interested in hosting your todos on Google App Engine. The only functionality that’s left on the site is the “export”. You can get the tasks you put into the old MTC in one of .txt, .csv or .opml formats.

.txt means you can use either an ordinary text editor, todo.txt or the new command-line based mtc program on your own machine.

.csv means you can use a spreadsheet if you prefer

.opml can be read into an outliner such as OWL.

2) The site has a new mission. Right now, it’s simply pointing visitors to the two pieces of software that I use to manage my todos and information : MTC command-line (in Racket) and OWL (in its three different versions : desktop, Android and web-served).

These are currently all simply source-code, hosted on GitHub. (Both MTC-racket and OWL are free-software, under the GPL).

It’s a geek view. But going forward, I’m going to be preparing, packaging and documenting these for actual users.

3) Right now, I still don’t know the relationship between MTC and OWL. They’re different programs, with different “mind traffic geometry”, in different languages. But I use both and I’m constantly musing about how they can and should interact.

The only thing which is clear to me at the moment, is that they should be brought together under the common Mind Traffic Control “brand”. As a statement of intent.

The question of 2014 is getting resolved.

4) “What about Project ThoughtStorms?”, you ask.

Well, I tend to think of “Project ThoughtStorms” as the developers’ view on my knowledge management / personal productivity software. While “Mind Traffic Control” is the user perspective.

There’s more to it than that. Project ThoughtStorms covers my experiments and add-ons to the Smallest Federated Wiki and thinking about wiki in general. MTC heavily emphasizes the dynamic flow of tasks. But that’s the broadest overview.

In practice I’ll continue to refer to MTC-racket and OWL within the contexts of both Mind Traffic Control and Project ThoughtStorms.

5) I am VERY happy to be deleting code. And collapsing several different overlapping ideas and codebases into … er … fewer. It’s a therapeutic decluttering that’s clearing space in my mind, and helping me focus and drive the surviving projects forward faster. It’s good.

But there is just a slight twinge of sadness. As I realize that this is a mile-stone in letting go of Python, a language I had a long and passionate engagement with. Both the old MTC code-base AND the server-side PageStore of OWL are Python.

But since porting OWL to Electron I can see that its future is very much in the Javascript (node / CoffeeScript) camp. Meanwhile the new MTC codebase is in Racket. And my latest quick conversion script persuades me that Racket is a good language for other small-scale tools. I have about a dozen of them in Python. But I’m pretty sure that new development in these areas will almost certainly be Lisp. (Racket or Clojure).

(Actually there is a project that’s still in Python where you’ll see some further development soon … but I’ll leave that to another post.)

Posted in Me.

I’m using Racket more than Clojure these days.

And I’m wondering, is this really about A Good IDE?

Because I still like Clojure better as a language. And I like the standard library a lot better. And love ParEdit in Emacs. It’s just that the all-in-one-ness of DrRacket is so darned convenient.

Posted in Me.

I’m starting to immerse myself more in the Racket world these days. And recently, I’ve had more troubles with my server and WordPress blogs. So I’m looking into Greg Hendershott‘s Frog (Frozen Blog) to see if this would be useful.

I’m thinking of porting some of my lower-traffic, not very visually sophisticated, blogs to it. So … first step, a quick and dirty wordpress-to-frog script.

It’s a hack and there are caveats. But it more or less worked. After a bit of tidying, expect to see some of my online blogging move to Frog.

Posted in Uncategorised.

A burst of development energy in a number of directions recently.

And things are starting to self-organize towards the new ecosystem.

Today’s exciting news : OWL makes a very nice desktop app, thanks to Electron.

Here’s the github repo.

I’ll be doing more testing, compiling, packaging this shortly. So that even non-geeks can play with it. But it seems to work fine.

To be honest, the few times I’ve installed OWL on non-geek friends’ machines, the “run a server and look at OWL in the browser” part has confused / put people off. Now things are VERY much simpler.

This is also going to give me some momentum to add a couple of extra features / ideas I’ve been thinking about over the last couple of years.

In the short term … this desktop repo is likely to be where I develop the next round of functionality. Though I’ll be porting these new features back to the Android and web-based versions.

Main issues in my mind at the moment : I’ve dropped the Python based server for this. We’re now purely Coffee / Javascript. That feels cleaner and more convenient. Will I now try do the same for the web version. It makes sense. But straight node? Express? Meteor?

What’s simplest and leads to least repetition of code?

Posted in Me.