"I" before "E" except Gleitzman

Gleitzman Archive

Digital Housekeeping: Data Sovereignty in a Era Run by the Cloud

Or, How I Learned to Stop Worrying and Love the Blog

A Long and Winding Road

I’ve been blogging since 1999, first via extremely cringe LiveJournal posts and later documenting my experiences from a Rotary exchange program to Japan in 2004 (including a nostalgic return last year). Over the years I’ve used various platforms, but none have felt quite right.

The Tumblr Era: A Love-Hate Relationship

For a long time, Tumblr was my go-to platform. It was easy to use and had a great community. However, as Tumblr evolved, it became clear that it wasn’t the ideal solution for my needs. The lack of HTML support and the platform’s overall instability made it difficult to maintain my blog.

I wanted to add an Age Gate / Age Verification pop...

I wanted to add an Age Gate / Age Verification pop…

I wanted to add an Age Gate / Age Verification pop-up for Squarespace. The top search engine result had some code, but it A) didn’t work B) didn’t look very good and C) didn’t have any functionality for tracking cookies. Instead, use this code:

First, put this into the injected code in the Header

<!– Age Verification Pop-up HTML –> <div id=“age-verification-popup”> <div class=“popup-content”> <h2>ARE YOU 21+?<div class=“image-circle-container” style=“margin-bottom: 24px;”> <img src=“https://images.squarespace-cdn.com/content/6788837817ec6330feff09fe/a0416e38-e21f-4f14-88b3-0a8c8589e435/lambi_lamb_black.png” alt=“LAMBI” class=“centered-image” fetchpriority=“high” loading=“eager” decoding=“async” data-loader=“raw”>

<div class=“button-container”> <button id=“verify-button-yes”>YES <button id=“verify-button-no”>NO
<p class=“disclaimer”> You must be of legal drinking age in<br> your respective country for entry.<br><br> We encourage drinking responsibly!

1997

1997

1997

It was the first year I got a CD-RW, Netflix launched a DVDs-by-mail service, the Hale-Bopp comet made an appearance, and I learned about California because of a little group called Heaven’s Gate.

July 1936.

July 1936.

July 1936.

There are betrayals in war that are childlike compared with our human betrayals during peace. The new lover enters the habits of the other. Things are smashed, revealed in new light. This is done with nervous or tender sentences, although the heart is an organ of fire.

A love story is not about those who lose their heart but about those who find that sullen inhabitant who, when it is stumbled upon, means the body can fool no one, can fool nothing — not the wisdom of sleep or the habit of social graces. It is a consuming of oneself and the past.

Love and Endearment

Love and Endearment

Love and Endearment

There once was a man from the South Complements would flow forth from his mouth “You’re fire” to Pookie “Your Kelly, your Louie” Now post it before we go out

“Here lies the strong hidalgo whose bravery exceed...

“Here lies the strong hidalgo whose bravery exceed…

“Here lies the strong hidalgo whose bravery exceeds so much that even death did not triumph over his life. He experienced all that the world has on his body, and to be sane in such an ordeal, he believed his fortune to be mad and lived as a madman.”

Ethics, Technology & Public Policy

Ethics, Technology & Public Policy

Ethics is a hot topic in technology. In the 80’s nerds were shoved into lockers. In the 90’s and 2000’s they were on the front page of Time. In the 2010’s, algorithmic bias and the negative effects of social media were starting to be felt and the nerds were now testifying in front of congress. Who knows how this decade will unfold as we’re witnessing a never-ending fountain of technological innovation and associated nebulous anxiety.

Conversational AI Interview on "Behind The Bots"

Conversational AI Interview on “Behind The Bots”

In college I worked at the Helpdesk answering questions over the phone about different tech problems for professors and my classmates. I found the tricky problems engaging, but there was a lot of repetition to that job. I now work in the field of Conversational AI, building the tools and experiences I wish I had back at the Helpdesk. Contact center automation is a curious space with various ethical dilemmas and “what-if” scenarios that are indicative to generative AI.

Superhero like, even

Superhero like, even

Hackers penetrate and ravage delicate public and privately owned computer systems, infecting them with viruses, and stealing materials for their own ends.

Howdoi joins the Alfred Gallery

Howdoi joins the Alfred Gallery

Larry Wall, creator of the Perl programming language, offers the following “three great virtues” of a programmer:

Laziness

  • The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. See also impatience and hubris.

Impatience

Post 702103647797084160

Marys Peak, the highest point in the Oregon coastal range.

Unmaintained in the wintertime so access is a bit tricky, but hiking from fall into winter with a reward of spectacular views at the top is unrivaled.

Howdoi use howdoi in Emacs?

Howdoi use howdoi in Emacs?

One of my favorite things about howdoi is the portability - meaning that you can get instant coding answers anywhere (not just on the command line). Contributors have created integrations for howdoi on Slack, Telegram, Discord, Visual Studio Code, and Alfred (just to name a few!).

As an Emacs user, you can use the code snippet below to get instant answers inside Emacs.


(defun howdoi (start end command)
  (interactive
   (let ((command "xargs -0 howdoi"))
     (if (use-region-p)
         (list (region-beginning) (region-end) command)
       (list (line-beginning-position) (line-end-position) command))))
  (let ((response (shell-command-on-region-to-string start end command)))
    (kill-new response)
  (save-excursion
    (end-of-visual-line)
    (newline)
    (insert (shell-command-on-region-to-string start end command)))))

(defun shell-command-on-region-to-string (start end command)
  (with-output-to-string
    (shell-command-on-region start end command standard-output)))

Then, when you want to know how to # format a date in bash you can invoke M-x howdoi on that line and voila!

Bespoke Dial v2

Bespoke Dial v2

Bespoke Dial v2

Working on a new prototype in old timey automation. Time to breathe new life into these rotary phones.

It’s interesting to me the subtle differences in wiring over the years, especially in build quality between Bell (pre-breakup) and AT&T.

Excited to be able to get back into hardware hacking.

Must everything get worse as it gets old? Is plann...

Must everything get worse as it gets old? Is plann…

Must everything get worse as it gets old? Is planned obsolescence the law of the land? As a hacker with a 5 year old laptop, it’s easy to look at those with fancy new models with more than a little envy. However, I enjoy my current computer. Sure the battery life isn’t the greatest, but the only time I truly get hot and bothered is when my machine also gets hot and bothered — and throttled — severely liming the CPU and making your machine crawl.

The m3u is dead. Long live the m3u!

The m3u is dead. Long live the m3u!

It seems like everyone is a DJ nowadays.

As usual, I blame digitization. When you had to lug 30 lbs of vinyl up a creaky warehouse stairwell, there was a pretty good chance you were going to play some fire. Serato was alright, because at least you still had the turntablism. With the advent of CDJs and Rekordbox, it was all over.

Ancestral Music from India, Persia, Turkey, and Greece

Ancestral Music from India, Persia, Turkey, and Greece

I had the good fortune of catching Maz Karandish & Alexander Karvelas, along with their tabla player, performing an evening of ancestral music from India, Persia, Turkey, and Greece. This was part of a Groupmuse event in the Oakland hills – notable for being the first event put on by that organization that strayed from the Classical European Chamber Music tradition. The performers were fantastic, including the dancers for many of the Turkish and Greek songs, and I was happy to see an organization like Groupmuse offering a diversity of voices as a direct result of the George Floyd murder and resulting protests.

Take It Back

Take It Back

Take It Back: a renegade gathering to make up for lost time stolen by the plague. Performed on a brilliant sunny day in Berkeley, California.

Take It Back Flyer

新年快樂 🎆

新年快樂 🎆

新年快樂 🎆

Happy Lunar New Year. It’s the Year of the Tiger for all those born in 1986 (or 1946).

Beyond Electric Sheep

Beyond Electric Sheep

I’ve been digging into Phillip K. Dick’s back catalog and finding a few wacked-out gems. Much of his work focuses on and draws inspiration from his periods of on-again off-again drug use. They’re difficult and flawed reads at times, but the concepts are just as fresh as they were almost a half century ago.

A few titles I’ve enjoyed are:

  • The Three Stigmata of Palmer Eldritch - a psychedelic odyssey of hallucinations-within-hallucinations
  • Ubik - A layered and labyrinthine space opera
  • A Scanner Darkly - I love me some Keanu but the book is better

Of course, if you haven’t read Do Androids Dream of Electric Sheep that’s not to be missed.

Cuyama Lamb Fire Department

Cuyama Lamb Fire Department

When the Chumash people were the most populous in Santa Barbara, large flocks of wild ungulates roamed the land munching on grasses, wild radishes, and various flora. By reducing the fuel load, goats and sheep helped keep wildfires in check by consuming material before the seasonal fires could.

Today Cuyama Lamb provides grazing services to the area, bringing a large flock to trim the grasses and trees, and give local residents a pop-up petting zoo. They’re pretty much the opposite of Smokey the Bear, and probably much more effective in actually preventing large scale fires.

Parafoil Kite

Parafoil Kite

Parafoil Kite

Had never flown one until this week, but it’s super fun! This is a Synapse 140 from Prism.

Theoretical Windmills

Theoretical Windmills

No stroll through Montecito, once a haven for bandits and highway robbers, would be complete without a visit to the Music Academy Of The West, an “institution of musical learning.”

The well-to-do John Percival and Mary Jefferson, while vacationing in Spain during the Santa Barbara earthquake of 1925, sent back a shipment of tiles depicting the story of Don Quixote, which Mary used to decorate a small courtyard at the Academy.

Prodigious PyTorch Processing with Python

Prodigious PyTorch Processing with Python

Back in the day, when you wanted to get some data into Python, it was easy enough to load the whole .csv or .txt file into memory, do the kind of operations you needed, and be done with it. Then came generators and streaming formats for stuff that wouldn’t quite fit into RAM. Nowadays, even lazy iterators can fail you from time to time, especially when dealing with big data and resource constrained machines, like Google Colab.

Major League Hacking Mentorship

Major League Hacking Mentorship

I am again excited to be participating in the MLH Fellowship, a 12-week program pairing promising young developers with mentors and experts working in the world of open-source software development. It is a fantastic program that has allowed me to work together with talented students all over the world.

This semester’s fellows are assisting with the development of howdoi, a simple tool for finding answers to common programming questions.

Don’t Say Damn…Say Whoa

Don’t Say Damn…Say Whoa

Don’t Say Damn…Say Whoa

I’ve been enjoying these old mixes of The Electrifying Mojo.

Mixcloud

The music is always on point and the message is just as crisp as it was all those years ago. The Mental Machine is just the sort of positivity the world needs right now.

Sit back, tune in, and enjoy the ride.

Buggin’ Out

Buggin’ Out

Introducing Buggin’ Out: a leftist-not-liberal stream from Turtle Bugg featuring groovy tunes, politricks, and discussions on nightlife, culture, and probably food at some point.

Our inaugural episode, broadcast on the heels of the 2021 inauguration, brought together artists Ciel, TANO, L. Sangre, and Gunnar Haslam in conversation with Turtle Bugg AKA Dr. Bugginstein.

Check out the show below. The first two hours are a DJ set followed by the panel discussion until the end.

AfterClass

AfterClass

Introducing: AfterClass. Online classes taught by someone who watched part of a MasterClass.

The thing about writing is, you just gotta feel it man.

Only $99 for the All-Access Pass.

Afterclass Lecture Series

Mission: Dance 2 (Jungle Boogaloo)

Mission: Dance 2 (Jungle Boogaloo)

The world is constantly shapeshifting, adapting, and evolving. This mix was improvised by popular request on an unexpected Wednesday at a warehouse in the Mission, San Francisco.

This is What You Get

This is What You Get

The music world is having a reckoning. With musicians and performers being some of the first to be cut and the last to be allowed to go back to work after the pandemic, where do we go from here?

Turtle Bugg (Sublimate), Ash Lauren (Underground & Black), and Matt McDermott (RA) weight in on possible futures.

Year in Review 2020

DIY Data Sovereignty

DIY Data Sovereignty

These days it feels like privacy is at a premium. Data sovereignty is a relatively overlooked concept as we continue to pour our personal data into the well-lined pockets of large companies. Some folks are trying to shift the balance of power but there is a long road ahead.

As I think of my own digital footprint, I was reminded that in addition to not having sovereignty over my data I also don’t have control over the machines that keep and serve it.

Teaching Machines to Groove

Teaching Machines to Groove

A good conversation is like a dance, and we’re teaching machines to groove.

Replicant has found success not only for our technological excellence, but a deep focus on the aesthetics and ethics of Voice AI. We’ve assembled a truly amazing team of artists, scholars, technologists, linguists, musicians, and scientists to craft the future of great conversations.

Interested? Drop me a line.

Howdoi Mentorship

Howdoi Mentorship

Every now and again I miss the library. A hall of wisdom, quiet and serene, with stacks and stacks of worlds to explore. Nowadays, the internet has largely replaced the role of trawling through shelves of books and reams of microfilm.

Software development, once a bastion of deep thought and planning, has in the modern era been reduced to the tying together of disparate APIs and the inevitable Quest for the most pertinent StackOverflow page. Howdoi, a simple tool for finding answers to common programming questions, was largely a response to the seemingly never-ending shuffle between the code editor and the web browser. When spending time in the latter, there’s a pretty good chance you might find yourself distracted from the task at hand.

ClearlyNo!

ClearlyNo!

Once upon a time, back when the ‘net was fresh, my best friends and I had a website. It was named after an infamous saying by our AP History teacher, Dr. Seitz. He would wind up into a blustering, lengthy story about the causes of World War I, and finish on a pointed, rhetorical question for the audience.

THE ANSWER (he would say) is CLEARLY NO!

Never thought I’d say it, but I’ve been feelin’ particular pangs of nostalgia for simpler times. So I invite you to grab a pepperoni roll, try to remember your locker combo, and step back into the world of ClearlyNo, a slice of high school circa 2004.

Iron Blogger SF

Iron Blogger SF

Because you you should blog more.
– Charlotte Brontë
Because there’s no motivation like peer pressure.
– Joseph Stalin
Because doing things for beer is never a bad idea.
– Franz Kafka

Like to write? Want to write more? Enjoy beer and good company? Join the Iron Blogger Challenge, which has helped me keep writing and building things on a regular basis.

The premise is simple – submit one post or creation a week. Miss a week and put $5 toward an evening of free drinks for the group. Stay innovative and meet cool people.

Smangtasia

Smangtasia

Smangtasia is a place on earth. A psychedelic experience in the mountains surrounded by nature, specifically tailored for the pansexual rave warrior.

The fun starts July 20-23 on the farm in Roxbury, NY. Find out more at smangtasia.com.

Caucasians at Gospel Brunch

Caucasians at Gospel Brunch

I think we would all get along better as a society if we just agreed to clap on the 2 and 4.

Powerful Bash

Sneak Peek: Asana Desktop

Sneak Peek: Asana Desktop

Quick add shortcut native to macOS. I used to use Todoist (Things also) and that was one of my favorite features. Whatever app I was in I could hit a key command that would bring up the quick add window.

I think desktop notifications, offline access (like the mobile apps), and a global keyboard shortcut for Quick Add (similar to Things) would be my favorite features of a native app if it ever comes on Asana’s roadmap.

Mission: Dance

Mission: Dance

This mix is an homage to legendary NYC discotheques Area, Limelight, Visage, Danceteria, Roxy, and the Paradise Garage. Performed on a rather lit Wednesday at a warehouse in the Mission, San Francisco.

Mission: Dance disco ball

Bye, Felicia

Bye, Felicia

While recently nerding around with my car, I rediscovered the origin of “Bye, Felicia.”

Although it’s Ice Cube who delivers the line, Chris Tucker really pulls the whole scene together.

Iron Blogger SF

Iron Blogger SF

Because you you should blog more.
– Charlotte Brontë
Because there’s no motivation like peer pressure.
– Joseph Stalin
Because doing things for beer is never a bad idea.
– Franz Kafka

Like to write? Want to write more? Enjoy beer and good company? Join the Iron Blogger Challenge, which has helped me keep writing and building things on a regular basis.

The premise is simple – submit one post or creation a week. Miss a week and put $5 toward an evening of free drinks for the group. Stay innovative and meet cool people.

Motherpeace x Dior

Motherpeace x Dior

Was surprised to find this Motherpeace tarot collaboration with Dior. Not usually a high-end brand fan but this is pretty sweet.

Sublimate in the Bay

Sublimate in the Bay

As some of you know I throw a monthly house and techno party in Brooklyn called Sublimate. It’s one of the city’s last proper undergrounds, and we put a huge focus on quality artists and kooky spaces. If you dig my DJ sets, it’s because I’m fortunate enough to be able to meet my favorite artists and shepherd their dope beats back to you.

On October 13 I’m super excited to bring the love to the Bay for an evening with the godfather of house music, Chez Damier, “dutch master” Frits Wentink, and Brooklyn’s best kept secret Sagotsky. It’s gonna be lit city 9000.

Saponification

Saponification

The process of soap making involves a chemical reaction, called saponification, that converts fat (acid) and lye (base) into soap (salt) and glycerin.

Some commercially made bars are not called soap because they’re actually synthetic detergents with the glycerin removed. The company makes more money by selling the glycerin on its own, I assume to other companies that specialize in extremely large bubbles.

Unlike saponification, emulsification involves a non-chemical process where two or more non-mixable liquids are allowed to be mixed. Milk, vinaigrettes, and mayonnaise all fall into this category. There are different processes, but you can imagine that in an oil and water mixture, the oil surrounds small droplets of water allowing a stabilized suspension.

Malditoria

Malditoria

Last night Michelle, Selene, and I saw the debut performance of Malditoria, an interactive card game that examines stereotypes, stigmas, and identities in Mexican American culture through the mediums of Loteria, performance, and card readings. The show was funny, poignant, and showcased the creativity of the entire crew.

Selene won a pretty sweet print.

Momma Knows Best

Momma Knows Best

Mom made a delicious rhubard upside-down cake. Tasty, light, and not too sweet!

Snag the recipe here.

West of the Sun

West of the Sun

I’ve been working my way through a number of Murakami novels that slipped through the cracks in my earlier reading. The latest is South of the Border, West of the Sun which was short, sweet, and satisfyingly strange.

For those headed to Japan, my friend recently penned a travel guide to Murakami novels that includes the real-life locations from every book. It was quite exciting to discover physical locations featured in the fictional tales.

Shizen

Shizen

In the English garden, a person seeks to escape from humanity into a natural space free of artificiality. In a Japanese garden, one tries to express, in a defined space, the totality of mountains and rivers.

Omiya Bonsai

Omiya Bonsai

For those without a field in which to plant fruit trees or espalier figs, a bonsai is an intriguing way to bring nature into homes, cities, and places otherwise devoid of nature. Omiya, north of Tokyo, has a bonsai tradition dating back hundreds of years.

For those in the Bay area, Katsura has bonsai supplies and the Bonsai Society has a basics class on April 30.

Infrastructure Observatory in Singapore

Infrastructure Observatory in Singapore

The Infrastructure Observatory organizes tours of factories and large-scale operations that underpin our society. Recent excursions have included the BlackStone Station power plant in Cambridge, the MTA’s Coney Island Yards, an expansive tank museum in Palo Alto, and a banana factory in Jalgaon, India that produces 3% of the world’s bananas.

If you happen to be anywhere near Malaysia on March 3, the newly founded Singapore chapter will be touring the Senoko Waste-to-Energy Plant. With an inflation-adjusted cost of $700 million, the plant occupies 7.5 hectares and burns 2,400 tonnes trash 24/7 producing 56 megawatts of electricity.

B-boys on E

B-boys on E

It’s widely known that marijuana and hip hop are inextricably linked - just turn on the radio or take your pick of MCs becoming poster-boys of weed culture. However, there’s a more obscure branch of rap references dating back to the early 90’s that have another target in focus: ecstasy. In December of 2000, Simon Reynolds penned an article for the webzine of London-based record label Hyperdub, which now boasts artists such as DJ Rashad, Burial, and Martyn, about the rising trend of MDMA-related references in rap lyrics.

Iron Blogger SF

Iron Blogger SF

Because you you should blog more.
– Charlotte Brontë
Because there’s no motivation like peer pressure.
– Joseph Stalin
Because doing things for beer is never a bad idea.
– Franz Kafka

Like to write? Want to write more? Enjoy beer and good company? Join the Iron Blogger Challenge, which has helped me keep writing and building things on a regular basis.

The premise is simple – submit one post or creation a week. Miss a week and put $5 toward an evening of free drinks for the group. Stay innovative and meet cool people.

More Twerking!

More Twerking!

Following the NYE disco funk set from Old Man Syne, James Fish and I decided it was about time to rinse out the crowd, bumping serious old skool beats till 6 N’ tha Mornin’.

The high priestess Shanza sayeth unto the people: ❝More Twerking!❞

Twerkin with Old Man Syne

Age of Wonder

Age of Wonder

This New Year was spent with good friends in the cozy woodland surroundings of Wonder Valley Ranch in the Sierras. My alter ego, Old Man Syne, cooked up some groovy beats to help ring in 2017.

Old Man Syne

Folks danced hard, and in the morning I was paid the most excellent complement when one reveler told me that my set was like being inside a “utopian dentist’s office from the 70’s”.

Hitchhiker’s Guide to Python

Hitchhiker’s Guide to Python

Howdoi is a code search tool that has been used by countless developers, hacker schools, and students to help with common coding tasks. It was a pleasure to write and has dozens of contributors to the codebase on Github.

Recently howdoi was featured in Kenneth Reitz’s Hitchhiker’s Guide to Python published by O’Reilly. There is a section on writing great code that recommends reading others’ work to learn how to craft better code. I’m honored howdoi was chosen as an exemplary project.

Teaching Nerds to Talk

Teaching Nerds to Talk

The age of the algorithm is upon us and technical knowledge rules the day. However, without proper communication there is no opportunity for teaching and learning. At MIT I taught 6.UAT, an oral communication course that might as well by titled Teaching Nerds to Talk.

Here’s a classic video from a lecture where I explain the specifics behind peer-to-peer file sharing (think BitTorrent, Soulseek, Napster, and Kazaa). I’m surprised how well a 2008 talk holds up today, where P2P is still a large percentage of internet traffic.

The (Almost) Perfect HoloLens Development Environment

The (Almost) Perfect HoloLens Development Environment

In true Microsoft fashion, the HoloLens is an incredibly interesting piece of technology that is hamstrung by a thick layer of jank smeared over the device and development process, especially for those on a Mac. After shaving numerous yaks that I thought I would never have to revisit (DirectX drivers? Really Microsoft??), here’s a relatively sane tutorial on getting your HoloLens environment and emulator up and running.

Ediblebob

Ediblebob

There are places and events that, through the years, begin to take on special meaning. Few parties more near and dear to my heart than Trip Vest’s once-birthday-now-festival on a secret San Francisco beach. It’s had many names in its history – last year at Edididob (Every Day I Dream I’m Dancing on the Beach) I played a particularly luscious morning mix for the revelers. In fact, sunrise is one of my favorite times to spin because dancers are in such a malleable state you can take them almost anywhere.

The Pretty Lady and the Electronic Musicians

The Pretty Lady and the Electronic Musicians

This “modern fairy tale” from Xerox Films explores various advances in electronic music, circa 1972, as two enterprising musicians construct increasingly elaborate instruments to compete for the favor of a beautiful lady. The piece explores the various technologies behind the theremin, amplifiers, musique concrete, synthesizers, and multi-track recording. The twist ending is particularly prognostic of modern times.

The film is animated by Stephen Bosustow, who is also responsible for Mr. Magoo, the excellent Freedom River (1972, narrated by Orson Welles) and The Legend of Sleepy Hollow (1972, with the voice of John Carradine).

A Brave New Post-Open Source World

A Brave New Post-Open Source World

Understanding the history and artistry of algorithms reveals an interesting vantage point from which to explore the importance and implications of software systems and their associated movements.

Nadia Eghbal has penned a brief yet engaging history of open source and offers a glimpse into the future of what she calls the “Post-Open Source World.” The details reveal a captivating, frothy battle where tyrannical choices alter the adoption and success of budding technologies. A brave new world indeed.

Iron Blogger SF

Iron Blogger SF

Because you you should blog more.
– Charlotte Brontë
Because there’s no motivation like peer pressure.
– Joseph Stalin
Because doing things for beer is never a bad idea.
– Franz Kafka

Blogging consistently is a challenge, especially when you’re staring at an empty text box and there’s a whole internet full of Seinfeld Cinemagraphs to explore. Luckily we have Iron Blogger, the modern incarnation of the blogring.

The general idea is to write a blog post every week. If you do, that’s great and all the Iron Bloggers will read your insightful post. If not, you put $5 in a pool and when we have enough money the group hits the bar for drinks. I found the $5 fine was enough of a stick to get me to write more regularly about a wide range of topics. This round features folks who blog about technology, photography, zines, startups, yoga, and more. The posts don’t have a be a masterpiece – simply getting the ideas out of your head is enough to make the internet a better place.

Make it Rain

Make it Rain

As you know, California is currently racked by a drought engineered by the same crooked ‘scientists’ who faked the moon landing. Luckily, Betabrand has a solution: in partnership with SpaceX they’re grinding up used pants and bits of fabric from the cutting room floor to pack inside a rocket that will be detonated above the skies of Mendocino county to induce rainfall.

To raise money for the (rather expensive) pants, not to mention the rocketry equipment, Betabrand held a fundraiser at their offices on Valencia that yielded more than $600 for those effected by the drought and wildfires. Your humble DJ ¢hip$et, né Pup, threw down drippy, wet beats feat. none other than the face-melting cypherpunk Ri¢h Jone$.

Vishwamohini Script, or, Playing the Tabla with JavaScript

Vishwamohini Script, or, Playing the Tabla with JavaScript

When it comes to playing music from a web browser, I’m a big fan of MIDI.js. From Symphony of Satellites (demo) to Mario for the Blind (demo), MIDI.js is a wonderful way to manipulate audio with JavaScript.

A few months ago, I received a nice message from Shivraj Sawant from Pune, India, founder of Vishwamohini, a website promoting Indian Classical Music. He had a number of questions about manipulating soundfonts, specifically inquiring about the use of the tabla (an instrument I had never seen played through MIDI.js. Together we dug up an old tabla.sf2 soundfont (from the frenetic Oslo Laptop Orchestra) and converted it to a format compatible with the browser.

Beach Dreams

Beach Dreams

Ten years ago I met a chipper, extremely bright, and enthusiastic kid by the name of Trip Vest. Together we built soccer-playing robots out of drill motors, solenoids, and scavenged spare parts. Through the years, although we didn’t hang in the same circles and Trip moved to California while I bounced between Japan and New York City, we remained good friends and I always saw him with a smile on his face.

Audiomerge

Audiomerge

I often have to combine multiple audio files (wav/mp3) into a larger mp3 file. You can automate this process using the following script, audiomerge.

Usage: audiomerge output.mp3 input.wav input2.wav input3.wav

THIS IS THE PROCEDURE

THIS IS THE PROCEDURE

Around 1,800 BCE, the world’s first known algorithms were exquisitely impressed on clay tablets by Babylonians living along the Tigris and Euphrates rivers. To mark their novel creation, the earliest algorithmistsstamped their works with the phrase “This is the procedure,” marking a critical turning point in the history of civilization.

Thousands of years later, those seminal algorithms have evolved into beautiful, living works with the ability to reach into our hearts, minds, and bodies. Alongside them, technologists themselves have risen as a powerful new creative class, sculpting imaginative, provocative algorithms expressed in today’s most dynamic and abundant raw material: pure code.

Happy New Year!

Happy New Year!

Happy New Year 1999! Hope it’s a good one.

Capucine

Capucine

This weekend I caught a real gem of a documentary at the Exploratorium’s Imagine Science Film Festival. Capucine, a chronicle of the first monkey film maker, left me reeling and eager for more from Luis Nieto. Enjoy!

West Virginia

West Virginia

This weekend brought me back to my hometown of Morgantown, West Virginia. It was wonderfully nostalgic to be back and I took note of a couple items I’ve been missing since moving to California:

  • Large, long thunderstorms
  • Lush, rolling green hills
  • Pepperoni Rolls
  • A combination ice cream parlor and gun range
  • Fireflies
  • Swimming in the lake

Automatic App Deployment with "git push"

Automatic App Deployment with “git push”

When deploying pet projects on remote servers, I dislike the extra step of logging into the remote machine to execute a git pull (and perhaps a server reload) every time I push new code. Sure there’s Jenkins and all sorts of bazooka-like solutions, but this is a knife fight. Poking around an old PHP repo, I found a nifty line of code that will update your app via a URL endpoint.

Harbin Hot Springs

Harbin Hot Springs

If you’re looking to step outside the confines of a modern, clothed lifestyle, look no further than the restorative springs, grounds, and hiking trails of Harbin Hot Springs. Certainly a fine spot to get in touch with your inner goddess and/or spirit animal.

Be sure to check out the hiking trail to the Tea House!

Far Out! A Journey back to 1974

Far Out! A Journey back to 1974

For fans of funk and disco the 70’s are a magical and formative era. For a DJ the 70’s are a smorgasbord of groovy rhythms and deep grooves. This weekend, in celebration with my buddy Bill, his fiancé Jen, and a killer cast of friends and family I put together a musical line-up for their 1974-themed party at Dunton Hot Springs in the mountains of Colorado.

Rhodes, Greece

Rhodes, Greece

A castle a day keeps the doctor away
    – Ancient Greek Saying

Rhodes is one of the easternmost Greek islands, located a stones throw off the Turkish coast. Covered with castles, rocky forests, and brilliant ruins, it’s a wonderful place to lose yourself.

You can see more photos on the album.

The Future is Now: SpaceX

The Future is Now: SpaceX

Los Angeles is a remarkably versatile city. While beautiful bodies fill beaches within a stones throw of stars of the silver screen and the towering Hollywood sign, there is a deeper perhaps more historically significant movement underway. A hope for the future that stretches from the wide, sun-burnt California avenues to the coldest depths of space. Fueled by liquid oxygen and kerosene, the new gold rush is here.

Sri Lanka with Daisy Yoga

Sri Lanka with Daisy Yoga

Before departing on the Daisy Yoga retreat, I only knew of Sri Lanka as a country recently gripped by civil war and as the birthplace of female rapper M.I.A. Within hours of landing at Colombo airport and trekking to Kandy I found that the country is amazing, with picturesque views, friendly people, and delicious food. Our group of 14 spent two weeks taking in the sights, sounds, and smells of the country before landing in Unawatuna to help repair a Buddhist temple and school hit hard by recent typhoons.

Winter in Tokyo

Winter in Tokyo

Winter in Tokyo is a special time as snow is rare and gives the temples an even more peaceful demeanor. Below are a few of my favorites shots from the trip. You can check all the photos on the web album.

The Robot Restaurant, featuring life-size robots who do battle for your pleasure

Five G Synth Shop, you place for everything analog in Harajuku

Doppelgängers: Hallucinating Oneself

Doppelgängers: Hallucinating Oneself

An even stranger and more complex form of hallucinating oneself occurs in “heautoscopy,” an extremely rare form of autoscopy where there is interaction between the person and his double; the interaction is occasionally amiable but more often hostile. Moreover, there may be deep bewilderment as to who is the “original” and who the “double,” for consciousness and sense of self tend to shift from one to the other. One may see the world first with one’s own eyes, then through the double’s eyes, and this can provoke the thought that he—the other—is the real person. The double is not construed as passively mirroring one’s posture and actions, as with autoscopy; the heautoscopic double can do, within limits, whatever it wants to (or it may lie still, doing nothing at all).

– Oliver Sacks, Hallucinations

ශ්‍රී ලංකා ප්‍රජාතාන්ත්‍රික සමාජවාදී ජනරජය

ශ්‍රී ලංකා ප්‍රජාතාන්ත්‍රික සමාජවාදී ජනරජය

After an absolutely fantastic week in Tokyo I’m headed to ශ්‍රී ලංකා ප්‍රජාතාන්ත්‍රික සමාජවාදී ජනරජය – the Democratic Socialist Republic of Sri Lanka. Kendall and I will be spending the day in Singapore before reaching our final destination.

For now, I leave you with a shot of the Doge sculpture at Tokyo Shibuya station.

The $50 Billion Trip to Australia

The $50 Billion Trip to Australia

On a brisk evening in Oakland, CA I had just finished dinner and was heading to the kitchen for a glass of wine when my phone rang unexpectedly. On the other end was Chris Dixon, the man who had recruited me to Hunch and negotiated the sale of the company to eBay for $80 million. He had a special mission, if I chose to accept it, involving a secretive adventure to Australia with a hand-picked team to re-invent the ailing eBay brand and website. The concept was simple: give users the ability to follow sellers, buyers, and product categories the way you can follow people and brands on Facebook and Twitter.

Back to...the Future

Back to…the Future

This week I’m headed back to Japan, a place that is near to my heart after living in Tamano, Osaka, and Tokyo in my younger years. In preparation for the trip it was fun reading through my old blog posts written while I was an exchange student in 2004.

You can find the full dump of the posts from Japan at Thousands of Miles from Home.

Testing the TSA: Flying Domestic without Identification

Testing the TSA: Flying Domestic without Identification

Is identification required when flying on a domestic flight? This post is a recap of my experience trying to answer this question.

Our story begins in late 2008 when Nick Semenkovich, then News Editor of MIT’s The Tech, told me that a government issued ID was not required to fly on domestic flights. A bit of research uncovered Gilmore v. Gonzales, a 2007 case involving EFF co-founder John Gilmore that questioned the constitutionality of ID requirements when boarding a domestic flight. The court held that neither the identification policy nor its application to Gilmore violated Gilmore’s constitutional rights since refusing to show identification merely triggered a more thorough “secondary screening.” However, this seemed to suggest that identification is never required for domestic flights as long as you submit to additional screening.

Perfecting your Grunt Workflow

Perfecting your Grunt Workflow

Deep within the brain of a developer, nestled between the gentle folds of the nucleus accumbens, lives a strong and primitive craving for automation. The concept of a function, f(x)=y, and likely algebra itself induces this region of the brain to release a powerful, pleasurable burst of dopamine.

It is from this area of the brain that Grunt, the automation system extraordinaire, was born. Grunt saves you the effort of running repetitive tasks such as concatenation, minification, translation (LESS -> CSS), testing, deployment, code linting, and more. It’s a bit like a Makefile with a bunch of community-contributed bells and whistles written in JavaScript.

Warm Slice of Jazz

Warm Slice of Jazz

Jazz has become my go-to choice of musical accompaniment while working, offering an analog alternative to the usual electronic lineup. Generally I’ll tune in to KCSM 91.1 and have started compiling my favorite artists on Spotify in a playlist called a Warm Slice of Jazz (named for one on my favorite quips from comedian John Oliver (skip to 5:50).

Special thanks to Micah Ginnis and Peter Eames for sending some fantastic musical recommendations and Leonid Afremov for the portrait of Pharoah Sanders.

Covert Claus 2013

Covert Claus 2013

‘Tis the season for giving and this year was one for the record books. I participated in redditgifts, the largest online Secret Santa gifting extravaganza the industrialized world has ever known. The premise is infamous among the office crowd: you are assigned a stranger and given a bit of biographical information shared by that individual (including their reddit username and mailing address). You send that person a thoughtful gift and receive a gift from a different stranger who has been given a short bio about you.

Generating Repetitive CSS with Loops in LESS

Generating Repetitive CSS with Loops in LESS

Metaprogramming — writing code that generates other code — can be particularly useful when dealing with languages that are widely adopted yet lack advanced features. With the help of metalanguages like LESS and SCSS you can use advanced constructs (variables, looping, string formatting, etc.) to make your CSS DRYer and more fun to write.

Often in CSS you’ll find repetitive structures like the following:


// CSS for the Bamboo and Ball tiles in mahjong
.tile-0 { background-image: url(/img/tiles/bamboo_1.png); }
.tile-1 { background-image: url(/img/tiles/bamboo_2.png); }
.tile-2 { background-image: url(/img/tiles/bamboo_3.png); }
.tile-3 { background-image: url(/img/tiles/bamboo_4.png); }
.tile-4 { background-image: url(/img/tiles/bamboo_5.png); }
.tile-5 { background-image: url(/img/tiles/bamboo_6.png); }
.tile-6 { background-image: url(/img/tiles/bamboo_7.png); }
.tile-7 { background-image: url(/img/tiles/bamboo_8.png); }
.tile-8 { background-image: url(/img/tiles/bamboo_9.png); }
.tile-9 { background-image: url(/img/tiles/ball_1.png); }
.tile-10{ background-image: url(/img/tiles/ball_2.png); }
// CSS for tiles 11-16 omitted for length
.tile-17{ background-image: url(/img/tiles/ball_9.png); }

The above rules are used to create 18 mahjong tiles (9 in each suit) represented by CSS rules .tile-0 through .tile-17. Here’s an example of what the tiles look like when rendered.

Sharing is Caring: Using JavaScript on the Frontend and the Backend

Sharing is Caring: Using JavaScript on the Frontend and the Backend

A major benefit of using a shared language on the browser and the server is a smaller amount of duplicate code in your codebase. Let’s assume you want to be able to share the file shared.js between the client and the server:

On the server


    var shared = require('./shared');
    console.log(shared.hello());

On the browser


    <script src="shared.js"></script>
    <script>
        console.log(shared.hello());
    </script>

There are a number of libraries that can be used to facilitate this type of sharing including RequireJS, gemini, or node-browserify. If you’re looking to stay away from libraries here are two patterns for creating sharable JavaScript files that can be used on both the client and the server.

Testing Network Awesome Embeds

Testing Network Awesome Embeds

Test at small size (600px)

Code for 600px


<iframe frameborder=0 src="http://networkawesome.com/embed/120-megabytes-dfa-music-videos/" width="590" height="337" scrolling="no"></iframe>

Test at large size (800px)

Code for 800px


<iframe frameborder=0 src="http://networkawesome.com/embed/120-megabytes-dfa-music-videos/" width="800" height="419" scrolling="no"></iframe>

Emacs Initialization, Organization, and Configuration

Emacs Initialization, Organization, and Configuration

A quality developer is constantly on the lookout for a quality tool. With a bit of poetic license on a phrase coined by Sackman, Erikson, and Grant:

There are order-of-magnitude differences among programming tools.

Although there are a number of tools in my belt, Emacs is my primary swiss army knife / operating system. I use Emacs for editing Python, Javascript, Lisp, Scala, Java, HTML, CSS, Markdown, and LaTeX. I use it for managing git repositories. It’s my psychologist and my blog editor.

Iron Blogger SF

Iron Blogger SF

Because you you should blog more.
– Charlotte Brontë
Because there’s no motivation like peer pressure.
– Joseph Stalin
Because doing things for beer is never a bad idea.
– Franz Kafka

Blogging consistently is challenge, especially when you’re staring at an empty text box and there’s a whole internet full of doge gifs to explore. Luckily we have Iron Blogger, the modern incarnation of the blogring / social club.

Warning: Don't Use This Software!

Warning: Don’t Use This Software!

The Southwest Airlines boarding process has a rich and colorful history. Bucking the industry standard of providing assigned seats in different cabins, Southwest has historically offered an “open seating” policy that favors an assigned boarding order to determine who is first to enter the plane and choose a seat. Beginning 24 hours before a flight’s departure, passengers are arranged into groups (A1-A60, B1-B60, and C1-?) according to a formula determined by Southwest:

Wrangling Toy Applications with Supervisor and Nginx

Wrangling Toy Applications with Supervisor and Nginx

I am a toymaker. Some toys are simple, others complex, and some are just plain wacky. What unites these toys are that they are:

  • Awesome
  • Stand alone applications that don’t share a common codebase
  • Written in a variety of languages

Showcasing, hosting, and monitoring applications can be difficult, especially if you want to have them all live under one domain or URL path (e.g. http://gleitzman.com/apps/appname). Whether you’re working in Python, Javascript, or Ruby you need a reverse-proxy that can receive requests and delegate to a specific application’s server. I’ve tried a number of techniques but ultimately landed with supervisor and nginx.

Play it Again, Sam: Reloading Node.js modules

Play it Again, Sam: Reloading Node.js modules

Reloading modules in Node.js can be a bit tricky. After initially importing a module, subsequent calls to require have no effect. Looking for something along the lines of Python’s reload command I’ve arrived at this solution that allows modules to be reloaded (as well as imported the first time) with the following require.reload command.


// Import a module
var mymodule = require('./mymodule')
// After making some changes to the module, reload it
mymodule = require.reload('./mymodule')

Reloading is accomplished by searching the cache for a specific module using require.searchCache and removing that module and its children with require.uncache. The real heavy lifting is done by the call to delete require.cache[mod.id]. Below is the script for starting a modified repl that includes the additional require commands by default.

MIDI.js: Playing Audio in the Browser with Javascript

MIDI.js: Playing Audio in the Browser with Javascript

“Everything old is new again.”

        –Peter Allen

The evolution of the web browser is in many ways the repackaging and reintroduction of technologies that have existed on the desktop for decades. Consider WebGL replacing OpenGL with the help of the <canvas> tag and HTML5 video replacing ActionScript/Flash with the <video> element.

At the well-run Science Hack Day SF I was able to dive into these new browser technologies along with Jade and Rich to build Symphony of Satellites, an app that generates music based on the trajectories of satellites currently overhead. Using data calculated live from NORAD, musical notes ride and set as satellites appear and disappear over the horizon. The velocity of the satellite, its elevation, and other aspects of its trajectory determine the instrument, pitch, and rhythm of notes generated by that satellite and the visualization on the page. The promo video for the app is worth watching.

Fixing Alt+Tab when Switching from Mac to Windows

Fixing Alt+Tab when Switching from Mac to Windows

From time to time the need arises to use a Windows machine and CoRD is my client of choice on the Mac. It speaks the RDP protocol, is fast, and contains some nice tweaks like clipboard synchronization and the ability to connect to multiple machines at once. All in all a great client except for one Achilles heal of an issue – every time I switch back to CoRD with ⌘+Tab the Windows Start Menu is activated.

Howdoi + Alfred: Even More Instant Answers

Howdoi + Alfred: Even More Instant Answers

Having dabbled with a number of application launchers, I eventually settled on Alfred for its slick design and Powerpack features. Recently Alfred v2 introduced Workflows to automate anything and everything with the touch of a key.

Here’s a custom workflow for howdoi that displays answers via Growl and also copies the result to the clipboard.

Download it here: Howdoi.alfredworkflow.

Open Files on Github from Emacs

Open Files on Github from Emacs

In the course of a project it helps to share pointers to specific files and lines of code with others. I use Github for this task, sharing URLs like: https://github.com/gleitz/howdoi/blob/master/howdoi/howdoi.py#L156

When sharing URLs from a project with deep directories (Scala/Java) it can be a real pain to open github.com, pick a branch, and then click through src/com/blah/blah folders until you find the file. Instead, use this command-line Python script to generate a Github URL directly from a file or directory. Also included is an elisp function to generate URLs from Emacs.

Quieting Adium, or, OCD Dockwork

Quieting Adium, or, OCD Dockwork

As technology continues to roll toward a more standards-driven regime, a delightful bit of nostalgia can be gleaned from the rich and varied history of the chat application. Not unlike the lineage of the User-Agent string during the browser wars, Instant Messenge applications were written, rewritten, copied, and abandoned while efforts to standardize the protocols of the big three IM companies (AOL, Microsoft, and Yahoo!) foundered.

The Art of the Pull Request

The Art of the Pull Request

There is little argument that GitHub has revolutionized the way open source projects are managed. Gone are the days of hunting down a project’s maintainer and negotiating needed changes in the hope that your email with attached patch file was accepted into the master branch (although some projects still require such pomp and circumstance). This generally opaque process was replaced by GitHub’s fork + pull request model. You might say that git itself contains a robust pull request system but GitHub added the special social sauce and dead-simple pull request generation system making it the lingua franca of the open source community.

Howdoi – Instant Coding Answers via the Command Line

Howdoi – Instant Coding Answers via the Command Line

One of my favorite collaborations to come out of the illustrious Oxidized Bismuth Blogger (OxBiz) ideation list is howdoi, a tool for instant coding answers via the command line.

The idea is simple – ask a question and get an answer.


$ howdoi format date bash
> DATE=`date +%Y-%m-%d`

Howdoi solves life’s little coding mysteries like the always frustrating command line flags for tar (as illustrated by XKCD).

Sea Ranch Trails Map

Sea Ranch Trails Map

The Sonoma Coast, nestled between powerful Pacific bluffs and mighty Redwoods, plays host to a bevy of wonderful hiking spots. The Sea Ranch has released a 2013 version of their Trails Map with references to hiking trails, beach access, tide pools, seal rookeries, and other points of interest. Check out the following hi-res map images if you’re headed up the coast.

Revisiting Japan circa 2004

Revisiting Japan circa 2004

While cleaning out a closet to post a few items on Yerdle I re-discovered a hard drive with a copy of my blog from 2004. At the time I was living in Tamano, Japan with three host families and studying as a first-year high school student. As I held the clunky drive in my hand a flood of memories rushed into my mind. I could smell the seaside and taste the takoyaki.

Sunrise Mountain / Frenchman Mountain

Sunrise Mountain / Frenchman Mountain

Sunrise Mountain / Frenchman Mountain

Set back from the glitz and glamour of the strip are the twin peaks of Sunrise and Frenchman Mountains. Hike off that hangover or just take a nice stroll for a long distance view of the Las Vegas. Set back from the glitz and glamour of the strip are the twin peaks of Sunrise and Frenchman Mountains. Hike off that hangover or just take a nice stroll for a long distance view of the Las Vegas.

Liberating Google Voice: Placing and Receiving Calls from your Computer

Liberating Google Voice: Placing and Receiving Calls from your Computer

I’m a big fan of Google Voice back from the days when they were called GrandCentral. Among the many niceties provided by the service are receiving voice messages as email, sending and receiving texts from your browser, and the ability to keep the same phone number forever.

One of my favorite Google Voice tricks is receiving and placing calls from the computer. The process used to be super simple using the now-defunct Gizmo5. Back in the day whenever someone called your Google Voice number the Gizmo app running on your computer you let you pick up the call. Placing calls from Gizmo was a snap and had the interesting side-effect of allowing for free calls from your computer. Google acquired Gizmo5 in 2009 and shut down the service in 2011, channeling the acquired technology into the current Google Voice Chat that allows you to place and receive free phone calls from Gmail.

Speaking with Computer Generated Voices

Speaking with Computer Generated Voices

While creating Yet Another Choose Your Own Adventure I took a detour into the world of computer-generated voices. As Chris Maury noted in his post, the quality of algorithmically generated voices is improving and I wanted to learn more about the state of the industry.

Pop quiz! Think of a computer generated voice you heard recently. Apple’s Siri? Portal’s GLaDOS? The Mac OS say command?

While GLaDOS was created by an actual human, say and Siri both have their roots in a company called Nuance which merged with Kurzweil’s ScanSoft in 2005. Apple acquired Nuance in 2012 and renamed one of the voices, Samantha, to Siri. You can hear more sample voices from Nuance and the general quality is quite good. I didn’t want to pick Siri as the Choose Your Own Adventure voice because she has become a bit too cliché. Commercial applications were either prohibitively expensive or lacked the proper API for a weekend hack so I dug into some of the research communities around text-to-speech (TTS) to find open source solutions.

Building Web Applications with Meteor

Building Web Applications with Meteor

In search of a weekend hack and after hearing a number of nice comments about the Meteor programming platform I decided to kill two birds with one stone by porting Yet Another Choose Your Own Adventure (first debuted at Art Hack Day SF) to Meteor for folks to play online.

The result is http://adventure.gleitzman.com/

Going to meet the meteor

image

Programming with Meteor has a bit of a learning curve but the included examples are an excellent place to start. Below are some thoughts are observations – follow along at home with the code at https://github.com/gleitz/meteorcyoa.

Bespoke Dial: Old-Timey Automation

Bespoke Dial: Old-Timey Automation

Software development affords a great deal of freedom that you won’t find in the physical sciences and engineering. Tolerances, non-ideal particles, and even the laws of physics fall away as you construct ever larger digital systems. As Hal Abelson noted in his seminal 6.001 lecture, “in building a large program there’s not that much difference between what [you] can build and what [you] can imagine.”

It is always refreshing, therefore, to escape the cerebral world of code and return to the reassuringly palpable realm of the physical. Hardware and electronics, although bound by the laws of Newton and Maxwell, are instantly accessible solely because they can be touched and held by the user.

Controlling Remember the Milk with your Voice

Controlling Remember the Milk with your Voice

Of all the online tools and gadgets to appear during the past decade, the TODO list manager is my favorite. I used to have difficulty remembering specific tasks but after writing everything down I tend to miss far fewer beats. Having tasks in an online form means your notes are with you wherever you go. A good task manager can help you reduce clutter and achieve zero inbox by getting tasks out of your email and into a scheduled, organized list. A great task manager can make you stop procrastinating altogether.

Hunting for Unicode in Emacs

Hunting for Unicode in Emacs

<nerdy>

Emacs has wonderful Unicode support. Copy and paste text from a Word document and Emacs will happily preserve your smart quotes, ellipses, and em dashes. There isn’t a canonical way, however, to strip these “special” characters into their more sane ASCII counterparts.

The unix command tidy does a good job of converting Unicode characters but you are left with ugly HTML equivalents like € instead of the usual quote character. We’ll need an alternative for Emacs, preferably written in Emacs lisp.

The Fox is Black

The Fox is Black

The lovely folks over at The Fox is Black have been releasing a treasure trove of awesome desktop designs as a part of the Desktop Wallpaper Project. I found the webpage to be a little slow to load and there is unfortunately no way to download all backgrounds as a bundle. I wrote a little script to grab all the background in 1400x900.

Download the pretty colors.

Portland has a number of wonderful offerings, incl...

Portland has a number of wonderful offerings, incl…

Portland has a number of wonderful offerings, including the most authentic Japanese Tea Garden I’ve seen in the US. The layout is traditional, the guides fantastic, and scenery thought-provoking. If you’re going to be in the area the garden is a must-see.

Filmmaker Alan Berliner is something of an obsessi...

Filmmaker Alan Berliner is something of an obsessi…

Filmmaker Alan Berliner is something of an obsessive collector. Everywhere at Once pulls from his vast and random collection of films and sound to create a sense of purpose in the form of “synchronized symphony.”

Credit Card Points and Miles: A Primer

Credit Card Points and Miles: A Primer

In the years following the credit crisis, payment card companies and banks are bending over backward to offer fantastic sign-up bonuses to attract customers. These organizations offer lucrative airline and hotel miles as well as hard cash in the form of statement credits often for just signing up for a card or account. You might think these offers are too good to be true so I’ll reveal some of my best practices and tips for acquiring a bounty of miles without ruining your credit.

Hack of the Day: Javascript Transport via Chrome Extensions

Hack of the Day: Javascript Transport via Chrome Extensions

In the beginning of a project it is common to cut corners to save time. Security is often the first to be sacrificed because you might not be dealing with terribly sensitive information and who really wants to hack your crowd-sourced “Netflix for knives” pinterest-clone, anyway?

However, there are some poor security decisions I’ve been alarmed to discover recently on a number of websites. These sites that I use and enjoy have made the cardinal sin of storing passwords in plain text in Javascript. This is a Bad Idea® for a number of reasons and no amount of https is going to save you.

In a desert far, far away...

In a desert far, far away…

I’ve gone home for the week. See you next week back in the default world!

Foreign FX

Foreign FX

Along with a hearty love of fresh fish and small dishes, the Japanese have a rich set of sound effects. Here is a list of my favorites, including some gems like “guchi guchi” (a wet sound) and “jan jan” (tada!)

http://www.muri.se/misc/soundfx.html

On Olympic Basketball

On Olympic Basketball

I propose that either

  1. Basketball be removed as a sport in the Olympics
  2. Baseball be reinstated
  3. Women’s Soccer be removed (perhaps along with men’s?)

Rhythmic gymnastics can stay.

Hackers and Brunchers: Big Ideas from the Little I...

Hackers and Brunchers: Big Ideas from the Little I…

Hackers and Brunchers: Big Ideas from the Little Island

In the spirit of the Olympics, this Sunday Alameda played host to some of the best technologists, thinkers, and makers in the Bay Area for the first Hacker Brunch. An extension of Hacker Dinners, the brunch cast a wider net and included guests from as far as Germany.

On Saturday was the second meeting of OxBiz, a casual, improvisational ideas group. The photo is kickstarter-funded camping hammock strung up at the park.

LollapaYOUza: Your personalized guide to Lollapalooza

LollapaYOUza: Your personalized guide to Lollapalooza

Christina Mercando and I made an app for Lollapalooza that learns about your tastes to recommend bands you would enjoy at the festival. We entered the application in the HackLolla competition and were awarded the Grand Prize, making LollapaYOUza the official fan app of Lollapalooza 2012.

You can give the app a spin at http://lollapaYOUza.com. We also made a funny video to promote the app. I hope it makes you smile:

Dr. Megavolt

Dr. Megavolt

Through a wonderful comedy of circumstances, Kendall and I were in the Alameda Independence Day parade this week representing Alameda Municipal Power and Tucker’s Ice Cream. Given the power company theme we dressed as Dr. Megavolt and Professor Zap.

As a newcomer to parades I was surprised how personal they feel. You expect to get on the back of a truck and wave to a thousand nameless people, but in reality you get the unique opportunity to stare directly, even deeply into the eyes of real people from your real neighborhood. There is a true energy there. The whole experience was wild and certainly recommended.

Domain Snipin'

Domain Snipin'

I’m a firm believer of substance over appellation but also believe that people tend to judge a book by its cover. Taken to its logical conclusion, the Apple Marketing Philosophy (as seen below) would dictate that every great product needs a great name.

Into the wilds of the web

Last year I released WikiMaze, a dungeon crawling trivia game powered by Wikipedia and based loosely on Encarta 95’s MindMaze. I’m quite happy with the result and owe many thanks to Ben Bronstein for the excellent illustrations. The only issue: all I could manage at the time of the game’s inception was a .ME domain. I contacted the owner of wikimaze.com multiple times but did not receive a response.

TardyParty: Automating Google Groups with Python and PHP

TardyParty: Automating Google Groups with Python and PHP

After months of excellent idea generation on Oxidized Bismuth Blogger (a mailing list for short-form musings and wacky business ideas) last week the OxBiz crew held its first meetup/hike in Redwood Regional Park. One idea that came out of the meetup was a weekly summary proclaiming who had submitted ideas that week and who had failed to post. This email would hopefully shame delinquent list members into posting more frequently.

On Creepiness

On Creepiness

As a species we’ve become increasingly proficient at acquiring and storing data. This elevated access and recall allows for the creation of companies both on and offline that appear to be omniscient. This power can be interpreted as “creepy” or even “magic”.

Levels of acceptable creepiness are quite nebulous any vary from person to person. One person’s Beacon (moderately creepy, in my opinion) might be another person’s Wifi snooping (not so creepy).

A Turkish Wedding

A Turkish Wedding

Last week brought me to the other side of the world for a Turkish wedding. More photos coming soon…

A Sane Floor Numbering Scheme in Madrid

A Sane Floor Numbering Scheme in Madrid

So simple! If only there was a button for “close door” (and, unlike close door buttons in the US, it worked)

Social Chaos in the Age of Thinking Machines

Social Chaos in the Age of Thinking Machines

Dress up. Leave a false name. Be legendary…but don’t get caught. Art as crime; crime as art.
– Hakim Bey

Note: I’ve been challenged to write a blog post about Temporary Autonomous Zones, a book that is certainly worth your time. This post casts the tenants of TAZ into the future for a glimpse of what social chaos means for robot culture.

What is culture?

A Brief History of Hotspots

A Brief History of Hotspots

I do a lot of computing on the go. Be it trains, hackathons, hotels, or being stuck on the runway, internet connectivity is a requirement. I’ve tried a number of solutions throughout the years to stay connected. Long before the days of a “data plan” I was tethering my Dell Inspiron through a hacked Verizon KRZR K1M with a standalone GPS. It was a clunky simulacrum of the iPhone, but it worked (unfortunately, it would take another decade for that sort of technical prowess to be cool).

On Javascript

On Javascript

I’ve come to appreciate the flexability of Javascript. In particular, how you can solve a problem in a number of different yet elegant ways.

Recently I’ve come across two sites that do a rather good job explaining a number of nice JS patterns. I’ll leave this here for your perusal.

http://shichuan.github.com/javascript-patterns/ https://github.com/rwldrn/idiomatic.js

And of course if you haven’t see it, check out this video of The Good Parts.

What the rap game can teach us about ebooks

What the rap game can teach us about ebooks

To understand the forces controlling the burgeoning ebook industry, which is projected to pull in more than $3.5 billion in 2012, we must first travel back to the roots of rap music.

The year: 1978 The place: Pasadena, California

Damon G. Riddick spent his early years DJing at parties in Pasadena while the west coast music scene erupted out of the galactic stardust that was B-Boying, beatboxing, DJing, graffiti art, and MCing. By the time Uncle Jamm’s Army put out “Dial-a-Freak”, the cities of Compton, Watts, and South Central had become strongholds of west coast rap.

Thoughts from the Bay

Thoughts from the Bay

A few quick observations of the Bay Area after moving from New York City.

  • You meet people from “the internet” in the grocery store and at parties. Amazing, and something that never happened in NYC. Perhaps more friendships in SF begin on the internet?
  • The SF music scene has much less quantity that NYC but makes up for it in quality. ASLI and Public Works are lifesavers in this department.
  • Everyone has a side project. Sometimes the side projects have side projects.
  • Immediate access to hiking and nature in SF is a big win. Loss of all night public transit & 3AM pizza is a loss.
  • A car is a must-have (unfortunately).
  • The Bay Area has physical manifestations of internet destinations. Whether it is stumbling on the Color office in Palo Alto or the Rapleaf sign in SF.

A quick note on South Beach

A quick note on South Beach

Everything Will Smith has ever said about Miami is right on the money.

Oxidized Bismuth Blogger

Oxidized Bismuth Blogger

After the smashing success of Iron Blogger in San Francisco, a subset of bold and daring individuals have decided to start a parallel group, Oxidized Bismuth Blogger, with a focus on short-form musings – it could be a business idea, a cool hack, or just something mindblowing that fell out of your skull. Far too often great ideas fall through the cracks and OBB is here to catch them with a reassuring trust fall.

A Note on Efficiency

A Note on Efficiency

Sydney’s Harbour Bridge, along with the Opera House, is an icon of the city. Completed in 1932, the bridge provides a pleasant walk from Milson’s Point into the city proper. What interests me, however, is what lies underneath the trusses. Expansive parks with some of the best views of the Sydney skyline can be found on either side of the bridge, under the massive pillars that support the structure. Even more intriguing, the city has leased space to shops that are actually built intothe bridge itself. This effort of efficiency is impressive, especially compared to the dilapidated and often depressing scenes found beneath many of America’s bridges.

A Post from Down Under

A Post from Down Under

On a bit of a whim I have left my tiny island of Alameda for adventures in Sydney, Australia. A few observations:

Australians are extremely fit

While it has been reported that more than 60% of Australians are overweight, I don’t believe they are living in Sydney. Every day I see masses of runners, skateboarders, and bicyclists roaming the remarkably clean streets.

Sydney is clean

Tools of the trade: Subsonic

Tools of the trade: Subsonic

A large digital music library is both a blessing and a curse. Before the advent of Napster I would carefully scour AudioGalaxy looking for tracks to stuff into my Rio PMP300. There comes a point, however, when a music library becomes too big for its britches and you need to move to a client/server model.

Many services offer the ability to upload your tracks for remote listening. Lala did an excellent job of this before it was promptly purchased by Apple and killed in 2010. AudioGalaxy has also been reborn as a similar service, and even Google Music is testing the waters. The issue is that many of these services limit the number of tracks you can upload or have other silly issues (no support for FLAC, inability to stream to phones, etc). I am still hopeful that Spotify will come to the rescue, but in the meantime with a burgeoning music collection it was time for an alternative.

Silver white winters that melt into springs...

Silver white winters that melt into springs…

♪♪ …these are a few of my favorite things ♪♪

I’m a nut when it comes to tools and productivity. But lo! choose wisely, lest we become the tools of our tools.

Here is an abridged, alphabetical list of my favorites:

  • 1Password ($) - Quit using the same password for every service and never type a username into a browser again. I was skeptical at first but this program delivered. Bonus points for the awesome browser extensions and Dropbox integration.
  • Airfoil ($) - Play audio across any number of devices or machines, in sync. The company essentially reverse-engineered Airplay to make it work everywhere.
  • Alfred ($/free) - The lovechild between Quicksilver and the command line, this app is best way to perform tasks and launch applications on a Mac. Totally scriptable, totally awesome.
  • Audio Hijack Pro ($) - Record system audio and boost output from tiny speakers.
  • Better Touch Tool (free) - Keyboard and magic mouse shortcuts. Replaced Alt+tab for me when switching between applications.
  • Calibre (free) - eBook manager and must-have application for the Kindle. I also use it to manage the PDFs I’m currently reading.
  • Dropbox ($/free) - I hesitated to put this on the list because it seems so obvious. I keep everything in Dropbox – my home folder, emacs configurations, projects, taxes, and backups.
  • Emacs (free) - My operating system of choice. If you’re on a Mac, get this version.
  • Flux (free) - A perfect companion for night-owl coders, this app makes the color of your computer’s display adapt to the time of day (warm at night and like sunlight during the day).
  • Hazel ($) - Folder actions on steroids.
  • iTerm2 (free) - A better Terminal for the Mac.
  • NetNewsWire (free) - My RSS reader of choice. Tight integration with Google Reader and Instapaper.
  • RememberTheMilk ($/free) - My task manager du jour, particularly because it runs everywhere (browser, phone, emacs, email, alfred). I’m trying to make the switch to Asana, and have already moved my work projects, but still use RTM for everyday tasks.
  • SABnzbd (free) - If you’re on usenet you need this app. Lots of features and a built-in web interface.
  • Spotify ($/free) - Everything Napster should have been. I wish you could upload music like Lala, but in combination with a home music server (see the next entry) it means you’ll have tunes wherever you are. Be sure to get the Developer build for API integration.
  • Subsonic ($/free) - For the unwieldy music collection, this app streams your audio and video to any browser or phone. Setup is a snap and the API is nice.
  • Telephone ($) - If you’ve got Google Voice, this app will notify you (on the computer) when your phone is ringing. You can also answer the call and start talking. This app used to be free but I only see a paid version in the App Store.
  • TotalFinder ($) - Tabs, copy/paste, and more for the Finder. Sounds trivial but I wonder how I lived without it.
  • TotalTerminal (free) - Quake-style drop down terminal window. Hawt.
  • uTorrent (free) - A lightweight, no-nonsense BitTorrent client. The built-in web interface is a nice touch.
  • VLC (free) - Still the best media player out there. Probably has a codec for 8-track and betamax.
  • XQuartz (free) - A better version of the X window system, with keyboard shortcuts that don’t get in my way.

Cup a' joe

Cup a’ joe

After celebrating a couple years of not having to deal with the GridBagLayout, I’m dusting off the JVM to give Java another try. However, I’m not quite ready to leave Emacs for Eclipse (don’t mention the doppelgänger keyboard layout – it’s not the same).

Two features I miss from Eclipse are source code navigation and tight server integration. Especially when familiarizing yourself with a new codebase, jumping around within the source can be an excellent tool.

A Game of Fees

A Game of Fees

“Winter is coming.” – Eddard Stark, discussing his Comcast bill

Comcast is the worst. They suck. They support SOPA. They are political bullies. They cap their speeds. They are the worst company in America…but I got to have my cat photos.

While I scramble to find a less evil internet service provider in Oakland, I might as well save some $$$ on fees (Comcast’s bread and butter). These rules apply to internet (Xfinity) service but could very well apply to voice and television service as well (I suggest you stop watching TV and dump your landline but those are posts for another day).

Apprenticeship: Aligning Educational Incentives

Apprenticeship: Aligning Educational Incentives

Computer science education is a hot field, and rightly so. Even with the economy reeling, experienced computer scientists work two and three jobs to keep up with demand. According to the laws of Developernomics:

[T]he only thing potentially more valuable than a relationship with a great developer is a relationship with a survivalist who is good with things like guns, bunkers and cabins in woods

Barring a major catastrophe (and perhaps in spite of it), computer scientists will continue to demand a premium as technology reinvents entire sectors. No matter how staunchly opposed to a technological revolution, the realms of government, higher education, and even farming will eventually feel the touch of this steampunk Midas.

Deterministic Navigation, or, Learning from Vim

Deterministic Navigation, or, Learning from Vim

Recently I had the excellent opportunity to hang out and talk shop with Kyle Wild about the state of Computer Science, CS education, and software development environments. While the former are discussions for later posts, the latter will be part of a series elucidating the good parts of Emacs and Vim.

Parties on both sides of the holy war seem to get more distracted with partisan bickering than figuring out how to best get the code out of your head and into a computer. As an Emacs programmer, I’m interested in how I can incorporate the useful bits of Vim. Kyle, coming from the Vim world, wanted to more clearly understand the pros and cons of using one IDE over another before investing the time required to make the switch. However you currently code, I suggest looking over the shoulder of a friend using a different IDE – you’re bound to learn something.

Gender Bias in NYC Salaries

Gender Bias in NYC Salaries

Beatbeat recently released an article listing the 20 most hirable yet already employed developers and designers in the NYC area. Given the scarcity of tech talent on today’s market, these “poachable” employees were listed alongside a Ballpark Poachability Number (B.P.N.) that, as Foster Kamer explained, is “an index compiled from salaries known, either of The Poachables’ or those around them, and then from the kind of offer that could get them to budge; not what they’re paid, it’s what they could get paid. It’s basically a glorified, informed guesstimate.“

The difference between Bangladesh and the USA

The difference between Bangladesh and the USA

Bangladesh: A train or a bus is speeding away from a stop and attempts to board are likely to result in serious injury or death. The conductor on board holds out his hand and pulls you in.

USA: The train is due to depart at 14:10. It is 14:09 and your hero is on the platform alongside the train but the doors are closed. He runs desperately to the coach where the conductor has his door open, but then the train starts moving very slowly. No real risk of injury let alone death, but the conductor bars the way and your hero is unable to board.

HTML5 badges for the masses

HTML5 badges for the masses

With over 500K apps, the App Store gets a lot of love from developers. HTML5 is also a popular buzzword. However, even with all the hype around HTML5, I was surprised to discover it is still lacking an App Store~esque banner.

I’m happy to announce the wait it over…

See it in action on Hunch Mobile.

AutomaticDJ in Action!

AutomaticDJ in Action!

People have been sending lots of love and great feedback for AutomaticDJ, the passive music selection system that plays tunes from the Hunch API based on your face. I’ve released the code on GitHub and am looking forward to see what people can create.

Here is a video showing AutomaticDJ in action:

Note that you need not have any music likes (or any likes at all!) on your Facebook profile for this to work. That’s the magic of the Hunch API.

Hackers and Musicians Rock "Music Hack Day"

Hackers and Musicians Rock “Music Hack Day”

via http://www.flickr.com/photos/thomasbonte/sets/72157625907764731/

While most of America was home watching the Grammys, hundreds of sleep-deprived hackers, musicians, record label execs, and members of the press from around the globe were packed into the main room of GeneralAssemb.ly where teams were presenting 48-hour hacks that clicked, beeped, tweeted, and screamed at Music Hack Day NYC.

This, the 12th incarnation of Music Hack Day (brainchild of SoundCloud’s Dave Haynes) featured over 70 teams hacking around the clock on more than 20 APIs offered by a flock of cutting-edge startups (including my own beloved Hunch API, presented via Emacs).

Audible Commit Messages with CommitBot

Audible Commit Messages with CommitBot

I enjoy a good commit message as much as the next coder. (For the non-nerds in the audience, a commit message is a short description of the changes you made to the source code). At Hunch we found that greping through commit logs was a bit of a pain and instead wrote CommitBot, a script for audibly broadcasting commit messages. You can see it in action here:

Rumpelstiltskin, or, a Question of Frames

Rumpelstiltskin, or, a Question of Frames

A name is an extremely powerful device. From the Grimm Brother’s Rumpelstiltskin to He-Who-Must-Not-Be-Named, literary texts are filled with examples of the power of names.

The same principles hold in the world of computer science. When programming, once you’ve determined the name of an object you wield tremendous power over it. However, names can often be a burden. I can’t fathom how many times I’ve used the following construct:

Nice to See You – Recognizing Faces using Face.com

Nice to See You – Recognizing Faces using Face.com

Last month, and to a small amount of fanfare, Face.com released an API for performing facial recognition on an arbitrary set of images. Most exciting is its support for recognizing friends on Facebook and Twitter.

Kami has graciously written a Python library for Face.com and released it on github.

Here is some sample code for taking a photo on a Mac, recognizing the face, and then cross-referencing Facebook for the user’s info.

The Importance of Being Virtualized

The Importance of Being Virtualized

Of all the 90’s sitcoms, there will always be a soft spot in my heart for Home Improvement. No, it wasn’t because of a crush on Pamela Anderson or JTT. Deep down I’m a tools guy.

There are all manner of tools and gizmos I’ve found useful for Getting Things Done. In another era I might have been a blacksmith or a disciple of Zhu Shijie. In this life, software is my trade and the bit is my bread and butter. I used to be an avid reader of Lifehacker and Mind Hacks before discovering it was much more rewarding to surround myself with really great people in the industry.

Hunch Census Widget

Hunch Census Widget

Hunch is great for making decisions, but did you know it can also be a tool for learning about others? We’ve created a widget for bloggers (or anyone with a website) to understand more about their readers. Visitors can use the widget to see how they compare to other readers, and then there is a game at the end where Hunch tries to guess answers to additional questions. Give it a try:

Call me Ishmael

Call me Ishmael


(define hello-world 
  (lambda () 
    (begin (write 'Hello-World)
      (newline) 
      (hello-world))))