Parody

Here’s one on the lighter side. A bunch of gamers got together and made a short video spoof of the Far East Movement song “Like a G6,” but revolving around a D&D theme. Basically, if you’re a gamer of any sort, or live with someone who plays Dungeons & Dragons (or any other RPG for that matter), you’ll get why this is funny.

First of all, thanks to the guys at the D6 Generation for mentioning it. Also, yes, the song is available on iTunes.

Customer Service, or, Reality vs. Virtual Reality

Oddly, as a consultant, I do NOT adhere to the policy that the
customer is always right. That said, you cut the customer a lot of
slack, and you don’t prevent customers doing something eminently
reasonable.

Enter ebay. It turns out that – reasonably enough, though they
don’t make it clear in advance – that they limit the number of big,
expensive, or particularly brand-conscious items that can be sold at
any time by a new seller. This limit varies depending on both whim and
the particular item being sold.

In practical terms, I can only list items like my older MacBook Pro that I’m
trying to sell once every 30 days, and I can only list one such item
at a time.

While it’s a bit wonky that I have to wait a month to re-list my
laptop if it doesn’t sell, that at least is somewhat reasonable. It’s
when you actually try to revise your listings that the real shock
comes.

You see, a revised entry is treated, temporarily, as if it is an
additional entry. If your item limit is one, you cannot revise your
entry. You cannot add pictures, you cannot edit the description, you
cannot do a single thing to change it. You start with one entry, you
end with one entry, for the same physical item that does not magically
duplicate itself no matter how ebay’s system sees it, but you cannot
revise it because they treat it as a new item.

If I remove it from sale, I can’t relist it for another month. if it
doesn’t sell because I wasn’t able to add more relevant information, I
can’t relist it for another month.

The kicker is that no one in their right mind considers revising an
existing item to be the same as adding a new item
.

So I’d like to follow ebay’s guidelines for professionalism. I’d
like to add pictures. I’d like to revise the description to be
more informative and accurate – and thus useful to buyers.

And because of a stupid decision in how to handle revisions to
existing objects that flies in the face of reality, I cannot.

iOS5 – Undervalued Changes

Looking through Apple’s page on iOS5 and its new features, many of them are being covered by the tech press, especially the new notifications (sorely needed). There are a few that have received scant attention, and yet I know will personally benefit me or people I directly know a lot. 

Calendar is expanding the available views so that the iPhone/iPod Touch version will now allow a week view. I’ve lost count of how many times I’ve waited until I could open up iCal on my laptop in order to see the week at a glance.

Mail will now allow formatting, including bold, italics, and (most importantly for several people I know) indenting. My favorite new mail features are the ability to drag to arrange addresses, and the ability to manage folders.

Lastly, with an appleTV, the iPad2 can now be mirrored directly onto an HDTV over wifi.

There was not the classic “Steve” version of “One more thing”, but one new feature that has seen some mention in the press feels incomplete to me. There are also some things people were hoping for that were NOT announced.

There is a new messaging system built into iOS5 to supplement/coexist with MMS/SMS, but available to any iOS device even if not a cellular data plan – such as iPod Touches. I’m willing to be that like facetime, this is a feature that will be added to or made available to the Mac OS in Lion.

There have also been people talking about how movie streaming and a new AppleTV were not mentioned. My only reply is: All in good time. Apple is not positioning these things against Netflix, but once this infrastructure gets put in place, then movie streaming is such a no-brainer in terms of desirability that I’m sure we will see it.

One must remember – Apple no longer does annual announcements at MacWorld, etc. I suspect it’s because that lets them announce what features they want to, when they are good and ready to unleash something new.

Markdown and Writing

While major writing projects requiring lots of research, sometimes I just want to write up several paragraphs in an article without a lot of fussing about. Text editors are perfect for this, while also guaranteeing, unlike Word, Pages, or even more open formats, maximum future readablity and recoverability. Unfortunately, going back in to properly add links, italicize or quote text, etc., can be a pain.

Thus was born Markdown. Markdown is both a plain-text syntax for tagging text for web/formatted output and a program of the same name that converts text in the markdown syntax to valid HTML. Since the formatting and syntax use conventions already long common in emails, it’s very easy to mark up the text, and text formatted this way is highly readable even as plain text.

Since I don’t feel like breaking out a massive writing tool like Open/Libre Office or Scrivener every time I want to write up a few paragraphs, and since I absolutely hate going back after the fact to format everything in even the best WYSIWYG implementations when I could do it from the keyboard as I type, I really appreciate the ease of use.

I also appreciate the fact that it’s widely available. While blogger doesn’t directly support it, it’s fairly easily added to WordPress, and is available for Posterous and Squarespace.

So here’s my cheat sheet that I keep in Emacs when I need a reference. Most of it is paraphrased from the original, and further details or nuance are linked to on a section-by-section basis to Gruber’s original spec:

Markdown reference:

You’ll note the headers for each section link to the respective section in Gruber’s syntax page for more information on the available options and nuances.

Block Elements

A paragraph is simply one or more consecutive lines of text, separated
by one or more blank lines

This is a new paragraph.

To FORCE a
newline,
use two
spaces.

Headers

Two types.

This is H1 (with ===== underneath)
====================================

This is H1 (with ===== underneath)

This is H2 (With ------ underneath)
-------------------------------------

This is H2 (With —— underneath)

Alternately, you can use ‘#’

# One '#' for h1

One ‘#’ for h1

## Two '##''s for h2

Two ‘##”s for h2

Three '###' for h3, and so forth.

Three ‘###’ for h3, and so forth.

Blockquoting

Markdown uses email-style “>” characters for blockquoting. They can be
nested by adding additional levels of ‘>’. They can also contain other
markdown elements (headers, code blocks, etc…

> This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,
>
>> Inset second level.
>
> Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

This is a blockquote with two paragraphs. Lorem ipsum dolor sit amet,

Inset second level.

Donec sit amet nisl. Aliquam semper ipsum sit amet velit. Suspendisse

Lists

Markdown supports ordered (numbered) and unordered (bulleted) lists.

Unordered Lists

Unordered lists use asterisks, pluses, and hyphens — interchangably — as list markers:

- Item a
- Item b
- Item c
  • Item a
  • Item b
  • Item c

Ordered Lists

Ordered lists use numbers followed by PERIODS. Order is irrelevant.

1. Dog
2. Cat
3. Kids
  1. Dog
  2. Cat
  3. Kids

List items separated by a space have the content of the <li> wrapped
in a <p> paragraph tag.

Code Blocks

To produce a code block in Markdown, simply indent every line of the
block by at least 4 spaces or 1 tab. For example:

This is a code block.

A code block continues until it reaches a line that is not indented
(or the end of the article).

HTML in a code block is converted to entities, and Markdown syntax is
NOT processed within a code block.

Horizontal Rules

You can produce a horizontal rule tag (<hr />) by placing three or
more hyphens, asterisks, or underscores on a line by themselves. If
you wish, you may use spaces between the hyphens or asterisks.

---
***
___

Span Elements

Links

Inline or reference. In both styles, the link text is delimited by
[square brackets]. See the original
syntax
for a
more thorough explanation of reference-style links.

This is [an example](http://example.com/ "Title") inline link.
[This link](http://example.net/) has no title attribute.

Reference-style links

[This is linked] [id1] to something
[id1]: http://www.midknightgallery.com/  "Midknight Gallery home Page"

This is linked to something

Also, a reference can be implicitly identified by the linked content

  [The Midknight Gallery][] is a great site.
[The Midknight Gallery]: http://www.midknightgallery.com/ "Home"

The Midknight Gallery is a great site.

Emphasis

**Bold**

Bold

*Emphasis*

Emphasis

Emphasis can be used in the middle of a word:

Crap*tac*ular.

Craptacular.

Backslash to escape literal asterix’s like this: \*.

Span of Code

Wrap a span of code within a paragraph with backtick quotes (`)

To include a literal backtick character within a code span, you can
use multiple backticks as the opening and closing delimiters:

``There is a literal backtick (`) here.``

Images

Inline image syntax looks like this:

![Alt text](/path/to/img.jpg)
![Alt text](/path/to/img.jpg "Optional title")

Reference-style image syntax looks like this:

![Alt text][id]

Followed by the same syntax as reference links:

[id]: url/to/image  "Optional title attribute"

Miscellaneous

Backslash Escapes

Markdown provides backslash escapes for the following characters:

\   backslash
`   backtick
*   asterisk
_   underscore
{}  curly braces
[]  square brackets
()  parentheses
#   hash mark
+   plus sign
-   minus sign (hyphen)
.   dot
!   exclamation mark

Automatic Links

Simply surround the URL or email address with angle brackets.

<http://example.com/>

Markdown will turn this into:

<a href="http://example.com/">http://example.com/</a>

Gamer Origin Stories

I often listen to a gaming-oriented podcast called “The D6 Generation,” focusing on board and miniature games. Most episodes include an interview with a member of the game design community, and a question often asked at the beginning of the interview is to describe their gamer “Origin Story” – or how they became a gamer.

So how did I get into this hobby in the first place? For most gamers my age, it usually starts at Dungeons & Dragons, but actually, it started even earlier than that with regular straight-up wargames.

My first wargame I ever bought with my own money was a copy of Starship Troopers by Avalon Hill.  I’m still not sure precisely where I first saw it – it may have been at the the Navy Exchange’s “toy” department. Perhaps it was the local hobby shop where I started looking for models more varied than the standard department-store airplane kits. It sure as heck wasn’t the standard Kmart, Sears, or JC Penny’s.

A long-time Heinlein fan even at the age of eleven, I was hooked. I started looking at other games. Fortunately for me (and unfortunately for any hope of sanity on the part of my parents), the husband of the couple that provided before-school care for us while my parents worked – the D.C. commute was a stone cold b*tch even then – was a wargamer and had a rather nice collection of AH games.. I lost a lot of time there playing Afrika Korps, Dune, and other games.

It wasn’t until we started staying over at a friends place after school in 5th or 6th grade that I first saw a copy of Dungeons & Dragons – a “box” set intended to get a foothold in toy and game stores – and promptly bought my own.

I started paying more attention to the weird books in “that” corner of the hobby shop. Sooner, rather than later, several friends and I had a fairly complete set of D&D books: the Player’s Handbook, the Dungeon Master’s Guide, the Monster Manual, and a number of modules. We also started looking at related stuff like Gamma World for post-apocalyptic Sci-Fi role playing, also by TSR.

Then I stumbled into a copy of The Traveller Book, a compilation of the first three manuals for the spacefaring RPG Traveller.

It was like finding home. I loved D&D – played it quite a bit through high school, but I’d spend hours going through the Traveller rules – especially the rather unique spaceship combat system (that used real newtonian mechanics!)

I’d also picked up a few more games – as I still played wargames. Panzerblitz and Magic Realm were added to my collection. I tried to convince my cousin to get into wargames by buying him a copy of Storm Over Arnhem based on the battle for Arnhem bridge that also inspired the movie “A Bridge Too Far.”

I also received my intro to Steve Jackson Games with the ludicrously fun “Car Wars,” spent a lot of money on Battletech right after it changed from Battledroids, and quite a bit of time in Shadowrun (magic and cyberpunk).

I then needed something with more flexibility, as the ever-changing editions to Traveller were driving me nuts, and I didn’t feel like keeping up. So I tried on GURPS (yeah, I know, I’m now a couple editions behind again, but that’s not bad for a game system I bought fifteen years ago…). While not very scalable and justifiably put down as fiddly, it had a unique character development system that allowed you to tailor your strengths and your weaknesses. It also had the flexibility needed to put out incredible resource books on everything from Vikings to Cthulhu and the far, far future. I ended up writing an article for the Pyramid (SJ’s in-house gaming magazine).

While dabbling in the vampire based games from White-Wolf games, I mostly skipped that as well as Magic: The Gathering, though I did end up getting quite a few cards for SJ’s loony “Illuminati: New World Order” card-based world domination game. The sheer lunacy of having Bjorne the viking dinosaur be the dictatorial ruler of California while running the world via TV advertisements was a sight to behold, and only a hint at the possible craziness in a game where all conspiracy theories could be true. Fasa actually had a very nifty game of armored grav tank combat that unfortunately petered out, but I dearly loved it.

These days, while I still have a few GURPS books, it’s mostly current boardgames, as I don’t have the time to invest in RPG’s. Descent, Survive! Warmachine, Mag Blast, Seven Wonders, etc. take up the majority of my monthly (sometimes bimonthly) playing time. I still have an old copy of Fortress Europa by Avalon Hill.

Emacs Fixes: Issue 2 – Transmit Compatibility

Transmit is an excellent FTP client, and hands down my favorite for the Mac. One of its niftier features is that of opening up a file on the remote server in a local editor, and uploading the changes automatically as they are saved in the editor.

This didn’t work out of the box in emacs, but I found a fix (h/t to Justillilly.com). 

In your user directory, you’ll find a hidden file called “.emacs” Edit the file to add the following:

(setq backup-by-copying t)

Or, you can use the in-emacs preferences. If you type M-x (refer to the tutorial if you’re not sure what that means), and then “customize”, you’ll get to a customization screen. Select “Files”, then “Backup,” and toggle “Backup By Copying” on, and save the results. This will automatically add the entry to your ‘.emacs’ file.

Emacs Fixes: Issue 1 – Command Line Access

BBEdit and Textmate have a nifty tool they install so that when you’re in the command line, you can use a command like “mate” or “bbedit” to open a specified file. When the file opens in the editor, you can even close out the terminal window without crashing the graphical environment.

While it’s possible to open the GUI version of emacs from the command line with a specific file, it’s not quite so graceful if you forget and close out the terminal window – it crashes. I’ve tried several workarounds, but none of them are truly satisfactory, especially given that I don’t have to open up the terminal to see hidden files in the first place.

So of course you learn the basics well enough that opening up emacs in the terminal allows you to get done what you need, and then realize that to open a file anywhere on the drive, even hidden files and ones hidden from you by the computer, is drop dead simple. 

C-x C-f (Control -X followed by a Control-f) allows you to open up the file browser, starting at your home directory (shown by a “~”). Hitting return then changes the display – the buffer – to the specified file or the contents of the selected directory. From there you can navigate through the file system with much of the same ease as you can through the terminal. 

The lesson here is that you don’t even need the terminal to open up a hidden file. If you are in the terminal because you want to pipe the results of a command to emacs, you can either deal with the terminal – emacs is emacs – or bring up the graphical version. In the last case, just don’t close  out the terminal window before closing out the graphical one.

In short – this isn’t an issue so much as it just works different. 

Making Emacs Work the Way I Wanted it To.

Not all was sweetness and light. Changes mean things are different, and comfortable habits die hard. 
Several things I missed from BBedit and/or TextMate, that were my priorities for “fixing” were:
  1. Some things just are different. The graphical version doesn’t open from the command line without a few clunky integration issues, but it’s something that isn’t really needed either. 
  2. Out of the box, emacs didn’t save things back to disk so that Transmit, my FTP client of choice, would copy the changes up to the server.
  3. Out of the box, the gui version of emacs doesn’t do color themes beyond the stock syntax-coloring-on-white. 
  4. Emacs didn’t do syntax hilighting for web pages using several programming languages (php, Javascript, and of course HTML are common), out of the box.
  5. The syntaxt hilighting for multiple languages is still somewhat clunky due to a few bugs. Javascript is different from what I’m used to in BBedit, but just as good. 
  6. I am still learning how to implement “lint”-based debugging of javascript  – a module that was available for TextMate.
  7. I still need to learn how to program for emacs. I also haven’t learned to replace the convenient snippet structure that TextMate had, but the programming built into emacs is powerful enough to write entire games that run within emacs.
  8. I still haven’t learned how to do a diff well – BBedit and TextWrangler (the free version with less features) still rule here.
First of all – keep in mind why I’m making this change. I’m finding myself in a position where I need a tool I can use anywhere. So, I’ll address how to tackle each of the first five that I’ve already solved, and any other issues that I fix to my satisfaction. 

Getting Started on Emacs for Macs

Getting started on learning, really, really learning emacs is not, in and of itself, that hard, but will be markedly different from almost anything you’ve done in Word, Notepad, or any word processor you’ve used in the last ten years. Especially if you’ve started out on Macs in the first place.

You’ll have to unlearn a lot that you “know.” Also, if you’ve used other high-end text editors like BBedit, you’ll find some features not available right away out of the box. 

As usual, the best way to learn is to actually do it. 

A good site to learn more about about emacs as you get started is the Emacs Wiki. The site includes all sorts of information, including where to get different versions, and how to setup certain features. They also have an excellent page on where to get and set up Mac versions. I recommend you download the version compiled by Vincent Goulet because it includes several common packages and needed adjustments to work smoothly with the MacOS clipboard, and then that you skip on to do the tutorial.

The tutorial? Emacs is ‘self-documenting,’ and includes an excellent tutorial that leads you through the basic commands to move through a document and modify it. To start the tutorial, first start up emacs, and then type CNTRL-h (hold down the control key and press ‘h’, often referred to in emacs as C-h), followed by a ‘t’. 

I’ll be back later to work around some things I missed from using BBedit and TextMate.