Thursday, December 24, 2015

Review: Throne of the Crescent Moon (The Crescent Moon Kingdoms #1)

Throne of the Crescent Moon (The Crescent Moon Kingdoms, #1)Throne of the Crescent Moon by Saladin Ahmed
My rating: 4 of 5 stars

This book is a brilliant, if flawed, gem worth reading in spite of its problems. Ahmed does Arabian high fantasy better than any I’ve come across, with the style and panache that envelops readers deep into the warm embrace of the author’s vividly crafted world.

“Throne of the Crescent Moon” follows the trials and tribulations of an aging adventurer-scholar, his zealous young dervish protogé, and a fiercely unrefined bedouin girl as they pursue ghuls and the sorcerous evil creating them. Ahmed deftly weaves political intrigue, class conflict, sexual tension, mystery, and adventure into a wonderous yarn which picks up speed as it unfurls, hurling the reader toward the final conflict between the protagonist and an antagonist who never quite establishes himself. It is perhaps too cruel to call the mysterious villain a cardboard cutout evil doer, but his thin presence does seem better suited to Scooby and the gang than Abdoulla Makhslood, last of the ghul hunters. In fact, it is probably because Abdullah and his friends, foils, and supporting ensemble are so well rounded that the absence of a strong antagonist is so keenly felt. Nevertheless, Saladin Ahmed gets so very many things just right that this is a book worth reading and an author worth watching.

View all my GoodReads reviews

Review: The Last Witness

The Last WitnessThe Last Witness by K.J. Parker
My rating: 4 of 5 stars

Some ideas are meant for novellas; sadly, there are good ideas which have been thrown on a rack and tortured into novel-length monstrosities—or worse, serial monstrosities. In “The Last Wish”, K. J. Parker weaves a tapestry whose slightly frayed edges suggest that this could have been one such book, had the author not had the wisdom to keep the driving conceit in focus. The book plays with the idea of memory transfer, willing and unwilling, across a spectrum of circumstance, while examining the effects foisted upon victims and participants. Parker gives the notion well and thorough treatment, wasting neither scene nor character in service to the muse. The memory stealing protagonist’s fluid identity gets a bit confusing at times, and some supporting locations and characters would benefit from additional detail, but such transgressions are forgivable when everything else delivers such satisfaction.

View all my GoodReads reviews.

Monday, October 14, 2013

The Curious Incident of the Dog in the Night-Time

The Curious Incident of the Dog in the Night-TimeThe Curious Incident of the Dog in the Night-Time by Mark Haddon
My rating: 4 of 5 stars

Some readers have compared this book to Salinger's "The Catcher in the Rye", presumably due to a common tendency to digress; yet where I found the former digressions distracting and annoying, the latter are awash with insightful, wry humor. There is no great mystery within, I spotted whodunnit after the first few chapters, but the doggedly determined narrative voice exudes a compelling charm to a degree such that I nearly finished the book in one sitting. Despite some superficial problems—e.g. prime numbered chapters—it's easy to like this book and in the end I'm happy to have met Christopher Boone.

View all my reviews

Saturday, September 28, 2013

Redshirts: A Novel with Three Codas

Redshirts: A Novel with Three CodasRedshirts: A Novel with Three Codas by John Scalzi
My rating: 5 of 5 stars

It didn't surprise me that I liked this book—it came to my attention through Patrick Rothfuss' high praise and the publisher's blurb piqued my interest. What surprised me was how much I liked it. I breezed through it in a couple days, often laughing but I'll cop to shedding a tear at the end. Given the subject matter, Wil Wheaton may seem like an obvious choice for the narration, but he's bloody brilliant in this—from the hilarious alien gargle-speak in chapter two, through the moving bit in the third coda, and all points between.

View all my reviews

Sunday, August 25, 2013

Fabulous Weekend

A Thirtieth birthday is often marked as an extra-special occasion, a strange rite of passage where the now ill fitting cloak of latter adolescence is doffed in favor of the thin mantle of adult respectability. My thirtieth birthday arrived in October 2000, and I decided to host a kind of symposium; I invited a handful of my most intellectually gifted friends to come, drink, and make a presentation—plans to take over the world were my suggestion but anything would be accepted so long as it was interesting. Far and away the winning presentation was given by David M. Ewalt. In a stunning example of a non-ohmic resistor, David dimmed the room lights and connected the wires of an electric cord to either end of a pickle, then inserted the plug end into a wall outlet. In the two or three seconds before the fuse blew, that pickle lit up with an eerie glow. All present will ever recall the man we then dubbed The Pickle King.

Last week The Pickle King published his debut novel, Of Dice and Men…

Of Dice and Men by David M. Ewalt

Of Dice and Men: The Story of Dungeons & Dragons and The People Who Play ItOf Dice and Men: The Story of Dungeons & Dragons and The People Who Play It by David M. Ewalt
My rating: 5 of 5 stars

Pairing his reporter's sensibility with a passionate, nerdy zeal, David M. Ewalt weaves the nappy threads of D&D's history, his own soul-baring journey of geek-enlightenment, and compelling in-game narratives into what must surely be the Bayeux Tapestry of Dungeons & Dragons…

Friday, July 26, 2013

Elantris by Brandon Sanderson

ElantrisElantris by Brandon Sanderson
My rating: 3 of 5 stars

I liked this book, I found the characters likeable but somewhat static, and the dialog has a lot of yelping but is otherwise believable. There are a number of sub-plot stubs left unexplored, perhaps as possible starting points for other tales set in the same world. The main plots move at a comfortable pace and I especially liked the richly detailed glyph magic as presented; though the resolution to the plot-moving magical mystery left me wondering why it had been left unsolved for ten years. I'm encouraged to read more Sanderson, hopefully this is not his best work.

View all my reviews

Monday, July 1, 2013

American Gods by Neil Gaiman

American GodsAmerican Gods by Neil Gaiman
My rating: 2 of 5 stars

It's a traveling panoply of old gods and other roadside attractions. Comparisons to Stephen King's "The Stand" are not entirely amiss as it tends to drag until the body count picks up. Gaiman writes superbly as a keen participant-observer of American culture, though in the case of "American Gods" it feels as if his vantage is a long, long way off. Not entirely without interest, the characters are numerous and evocative of little; like familiar faces on a commuter's train, they may hold our interest for a spell, but we never get to truly know them. Add a star if you like road trips, two if you like them so well that you don't mind when they go nowhere particular.

View all my reviews

Thursday, May 30, 2013

Android App Roundup

There are many great apps for android devices, unfortunately some are more difficult to find than others. Below is a quick roundup of a few recommended apps…

Monday, October 22, 2012

Loves Old & New

As a photographer, I remember my first true love; my good friend Godfrey took me to Adorama Camera where I deliberated, haggled, and eventually purchased a used Canon A-1.  There were others to be sure, like many boys my age I was no stranger to a Pentax K1000, though even she wasn't my first--those cherished, awkward, summer memories when an eleven year old was seduced by a much older Argus C3. Through the years I also have had brief flings with a Minolta (I swear I was only interested in her auto-focus!) and an exotic Зени́т ЕТ, but my first true love was that A-1.
Three of my favorite old school SLR cameras:
Canon A-1, Зени́т ЕТ, and Argus C3

To my mind, a good, fun camera allows one to focus on the important elements of a photograph with the option of leaving other choices up to the camera's programming or full manual control. This was the main thing the Canon A-1 offered over her competitors.  Debuting in 1978, the A-1 was a middle sister to Canon's AE-1 (1976) and AE-1 Program (1981). All three cameras allow full manual control though only the AE-1 Program is a true point-and-shoot camera; the A-1, however, offered a brace of features I simply could not resist: aperture priority and shutter priority. Aperture control is essential for managing depth of field whereas shutter control regulates exposure time. Controlling one or the other is a nice convenience in many common photographic scenarios.

Alas, such things are not meant to endure, even true love couldn't stand against the Digital Revolution. By the millennial change, I was busily commuting to NYC dot-coms and my photographical  pursuits had waned, only to be fiercely rekindled when I purchased a Canon EOS D30. Ah, such freedom! No longer was I chained to rolls of exposures evenly divisible by twelve. I began hoarding compact-flash cards and started shooting everywhere and anything. My sometime hobby began to resemble an obsession. My skill increased dramatically, and before long I was being asked to shoot specific persons, places, and things by those who had come to know me as a serious shutterbug. I would eventually do some professional work, including product shots for Condé Nast's Teen Vogue, but I will always consider the best of my D30 years as those I spent "guerrilla shooting" in the parties and streets of NYC.

I knew a 3.5 megapixels affair could never last, early digital SLR models all suffered sundry issues, and even the economic downturn only delayed the inevitable; in 2006 I decided I had enough and purchased an 8.0-megapixel Rebel XT. Whereas earlier DSLR models often seemed the red-headed stepchildren of the prosumer market, Canon's Digital Rebel series seemed to welcome them back to the fold. Sadly, theses digital cameras only partly achieved the existential sense of fun and wonder I recall of my A-1, perhaps a pointed illustration of H. L. Mencken's quip: "A man always remembers his first love with special tenderness, but after that he begins to bunch them."

Earlier this year I took another look at Canon's Rebel line; I noticed that significant improvements had been made over my aging XT, though in recent models development seemed to be oddly focused on video features. I read through specifications and reviews, eventually deciding the best balance of photographical improvement and price seemed the Rebel T2i, a 17.9-megapixel DSLR with nine point autofocus, and a spacious three inch LCD. I quietly drooled over this thing whilst my lovely wife conspired with family members to ensure I had it for my forty-second birthday.

Now that I've had a chance to spend some quality time, up close and personal with my new Rebel, I am happy to report that this camera is more fun than I expected, I daresay it compares more than favorably with my beloved A-1. I'm still learning all the nifty things it can do that my XT can't, but it's already clear that the Rebel T2i is a very fun camera.

When I told my sister Lynn that I had been researching cameras and determined my best available choice, she noted that my niece had recently purchased her first DSLR; to my proud astonishment, Elisa also chose a Rebel T2i. I hope she will remember it as fondly as I recall my true loves.

Wednesday, September 19, 2012

Sub-Context of a Dream

Upon awakening this morning I recalled having been dreaming of a conversation near a sunny window. For reasons which make best sense to an unconscious mind, I was attempting to explain the Nordic etymology of Gandalf’s Dwarven name to my wife and a cutout. (I commonly dream with “cutout” or “place holder” characters, who remain cloaked in faceless anonymity unless they interact) The focus of my dream was the frustration that neither was much listening to my clever linguistic analysis; Lysa’s excuse was an urgent need to empty her bladder—which seemingly vanished the moment she glimpsed a cherry tree in full blossom, just outside the sunny window. (The dream-imagery here was clearly plagiarized from Android live wallpaper)
android screenshot
Sakura Live Wallpaper

Of more interest to my waking self is the etymology therein, as I am always amused whenever I can recall the specific technical details of a dream. In this case, I had invented an (alternative) etymology for “Gandalf’s Dwarven name”. Note that I’m calling this a Nordic etymology because I am largely unfamiliar with Tolkien’s languages, nor do I actually recall the Dwarven name for Mithrandir/Gandalf. An quick check of Wikipedia reveals the truth of this, to wit: in the Khuzdul language of Tolkien’s Dwarves, the Grey Pilgrim is called “Tharkûn”; however, the “representation in English (anglicised from Old Norse)” is “Gandalf”. I suspect I was thinking of the former since I am aware of the actual Norse meaning which is “wand elf”.

The precise name wasn’t included in my dream, but I was giving the analysis as a tripartite Nordic compound meaning “(makes love) where ([he] works)”. My assumption is that I have some deep seated notion that old Gandalf had a thing for the bearded ladies.

Wednesday, March 30, 2011

Subversion Is An Old Man's Tool.

As Joel Spolsky put it: "Distributed Version Control is here to stay, baby”. If you've read Joel's stuff, you know he has a way of making sense — a quality of writing which can be tough to find on the Internet. As a Git user, I can't say Joel converted me, but he did get me thinking about why I too hung on to familiar ol' Subversion long after it's obsolescence. Rather than boring you with that, herein lies a minimalist guide to getting started with distributed version control.

If you are wondering about the Git vs Mercurial (Hg) debate, don't bother. Both work well and can even be used in tandem. The focus here will be on Git because it has alphabetical priority, and Joel has already written Hg Init: a Mercurial tutorial.

For experienced developers, the hardest part about learning Git is unlearning Subversion or other legacy VCS. Here are a few things to keep in mind (if you get bored, just substitute "jedi" for "repository"):

  • Any repository can be cloned.

  • Any repository can be a master.

  • Distributed VCS doesn't mandate distribution.

  • Local changes: checkout, commit

  • Remote changes: pull, push

A New Repository


Don't be put off the 'distributed' bit, git is perfectly happy to have just one folder — repository and working copy all rolled into one:
mkdir /srv/git/foo
cd /srv/git/foo
git init
# add some files
git add .
git commit -m'initial checkin'

So Git scales down nicely, but with shared repositories it is important to know that Git will grouse if asked to push changes to a destination where files are checked out. This problem is easily avoided with a bare repository, essentially a repository which cannot have files checked out locally:
mkdir /srv/git/foo
cd /srv/git/foo
git --bare init

Send in the Clones


Where git repositories already exist, new ones can be cloned; optionally, the new clone can be --bare:
# new working copy:
git clone ssh://user@gitserver/srv/git/foo
git pull

# bare clone:
git clone --bare ssh://user@gitserver/srv/git/foo
git pull

Go with the Workflow


Much of the Git workflow is straightforward, especially if your working copy was cloned from a (bare) master repository:
# get the latest changes
git pull

# make some changes
find . -type f -exec dd if=/dev/zero of={} count=1 \;

# oh crap! I just (sort of) Zeroed all my files
# no worries, just abandon the changes

git checkout .

# double check
git status

# make changes worth keeping
# ... then commit
git commit -a

# need to amend the last check-in message?
git commit --amend

# push local changes to master
git push


There's enough to jump in and get into trouble with git; to find out more, try the following resources:

Tuesday, February 15, 2011

Linux Security: Denyhosts

If you've read my Open SSH series, perhaps even if you haven't, you are probably aware of the power SSH offers to those who know how to use it. Command line bits. There are many ways to protect the service from unauthorized usage, focusing on self-contained or single host solutions, one finds two common flavors: those which make use of the Linux kernel's packet filtering tools (netfilter and iptables), and those which rely on Wietse Venema's TCP Wrappers. Netfilter certainly offers power and flexibility, but this may be at the cost of simplicity and management ease. While no security measure ought to be implemented blindly, there is an undeniable benefit to simple measures which can be configured quickly and with little fuss — in this arena, TCP Wrappers stands tall.

Tuesday, January 11, 2011

Cloud Life: Kernel Upgrades

One thing not mentioned in EC2StartersGuide is how to apply kernel patches. Technically, this isn't currently possible in the Amazon cloud, which is to say that the boot loader (e.g. grub) within an EC2 instance cannot load an arbitrary kernel; nonetheless, official kernel updates are available via package updates, though cloud servers won't automatically load the latest installed kernel when booted.

Tuesday, January 4, 2011

Managing MySQL

Database management is one of those tasks where GUI tools can often be handy and occasionally critical. The history of Linux point-and-click tools for MySQL is a bit checkered, and prominently features MySQL Query Browser and MySQL Administrator, official tools formerly supported by MySQL. Early releases were buggy and crash-prone, but had progressed to merely flaky by late 2009, when MySQL announced they would pull the trigger on them in favor of MySQL Workbench. MySQL support for the GUI Tools Bundle officially ended in June 2010, but the tools are still available in Debian and Ubuntu repositories, while MySQL Workbench is conspicuously absent. While this may deter many users from test driving Workbench, they are missing out on a powerful tool for database management. Fortunately, MySQL publishes MySQL Workbench binaries.

Sunday, September 19, 2010

Transatlantic Text Editing

Philip has posted a brief follow up to Managing Line Endings over at Armadillo. He's also got some articles which may be useful for anyone forced to use SSH on Windows.