Tuesday, January 14

dept. of we're completely fucking fucked

We are Huxleying ourselves into the full Orwell.

Duncan Bayne:

I understand your position - caught in the middle - but you’re asking us as a group to propose technical solutions to requirements that we are prohibited from reading. Doesn’t that strike you as a bit odd? Likewise, you’re asking the W3C to compromise their Open Web principles on behalf of those same secret requirements.

A bit of transparency here would be nice.

Can we at least get a written summary of requirements from the stakeholders? I.e. not Netflix, Apple etc. but the people whose licensing terms are forcing this issue?

The MPAA is now a member of the w3c

A timeline of Edward Snowden’s revelations

dept. of hey maybe this isn't so bad / text editor tuesday #2

I’m writing this in Light Table, a newish text editor with some appealing properties. It looks decent (a bit unfinished, maybe, but simple without being jarringly archaic), seems to be very plugin-oriented, comes with file tree navigation and at least vaguely functional vim-like keybindings, and integrates with all sorts of REPL-y, compilery things which I really know nothing about.

I see there was a KickStarter, and now vaguely remember being interested at the time. I have a few unanswered questions about the development / business model, but the pace of dev work is encouraging, and there are a number of active contributors.

I might take this for a serious spin. It actually feels like it could be a contender. It’s been years since I tried a new editor and didn’t immediately abandon it in disgust or profound discomfort, and this one is still evolving pretty rapidly towards what seems like a clear vision of something. I’d really love to discover that there is work being done on another long-term viable Real Editor project. Vim is too small and fragile a basket to keep all of one’s eggs in.

Of course, there is discomfort. Standing in for another Real Editor is a tall order for any piece of software. A few notes follow.

  • It turns out I use gq (usually aliased to ,q) to format paragraphs a lot. I’ll bet this isn’t hard to get.
  • The behavior of x at the end of a line seems to be slightly broken in this vim plugin. It eats a character but doesn’t move to the left.
  • The workspace file tree stuff is close enough to NERDTree that I could totally live with it, but I don’t know yet if it has keyboard navigation.
  • There’s a type-to-filter list menu for commands as part of the core UI, and I am already a little bit in love. I want this feature in vim. (And am tempted to build something basic using dmenu, which I already use a lot under xmonad.)
  • The window resizing when you fire up the command menu is slick, but I’m not sure I want it on every last :w.
  • Is there blockwise selection? I’m always shifting a chunk of code over a couple spaces, ctrl-ving the first space in all the lines, and substituting in a comment character or what-have-you. I would miss this kind of feature, a lot.
  • You can do ct or cf followed by a character, but ci and ca (change inner, change around) are mostly not working yet.
  • Using % to bounce between brackets seems to work. Not sure how complete this is.
  • The tabs work like you’d want, I think, but can I do split windows? Yes, it turns out, by creating a new tabset. This feels a bit clunky to me right now.
  • Autodetecting syntax would be nice. (And yes, you masochistic weirdos with your monochrome code, I know who you are, and I’m going to come right out and say this: I like syntax highlighting. Hell, I love syntax highlighting.)
  • Configuration syntax is ClojureScript. Which brings us to the fact that the editor is written mostly in ClojureScript. So, ok, it’s a Lisp. A Lisp targeted at JavaScript. A Lisp originally written to run on the virtual machine designed in the first place for Java but now targeted at JavaScript. We’re now in territory bounded by the life’s work of so many different kinds of bearded weirdo that it’s a little dizzying.
  • It might be fair to ask oneself whether this is built on a stack that will survive the next 20 years, because the whole thing feels just a tiny bit too much like some kind of postmodern art project not to ask the question. Then again, if Emacs isn’t a postmodern art project, you sure couldn’t prove it by me, and when it’s down to mutant cockroaches and enormous rats squabbling over the last scraps of meat on our civilization’s bones, I’m pretty sure some of the more learned cockroaches will be composing broadsides on one side or another of the immortal emacsen/vi-alike question. On the evidence, we can’t really say that insane self-hosting dynamic language platforms masquerading as editors don’t persist.
  • Note to self: Read these architecture notes.
  • I think there is a client-server thing going on here.
  • Is there a console client or console mode of some sort?
  • It’d be nice to have more ex commands built out.
  • Syntastic handles PHP really well. Equivalent features for PHP would be sweet. (Getting syntax checks inline, at every write, must save me 10 or 20 minutes some days, and it now seems to me there’s very little good reason to tolerate that worthless extra debug cycle where you figure out you left off some punctuation or misttyped an identifier.) This thing is built with inline REPL-like behavior specifically in mind, so I bet it’s not too hard to spin up, but I don’t know how much work there’s been on any PHP integration.
  • The search-and-replace is kind of decent, but is it good enough to replace (heh) %s//g in the trivial cases? Can I get something like :perldo for the less-trivial cases?
  • Rough edges in the GUI: Resizing views of things is kind of uneven, and doesn’t always happen automatically when I’d expect it to. Sometimes inputs appear to be capturing the cursor, but aren’t visible on-screen. (Is any of this because I’m running a weirdo window manager?)
  • Configuration needs better docs.
  • This might actually make a good replacement for the profoundly dissatisfying Arduino IDE.
  • I have avoided using the word “IDE” in these notes, because I think of Eclipse and get sort of twitchy. Still, it’s self-described that way, so I’m going to temporarily set aside my biases.

I might go back and fill in some of the more obvious stuff here as I learn a bit more.