Skip to content


Keep on Walking

8286401024_e0441285ef_oI woke up late this morning, at least late for a weekend. Despite sleeping in, my mind and limbs felt heavy. I skipped my usual habit of making myself breakfast from scratch, instead throwing something frozen in the microwave. Out the window, the neighborhood was gray, wet from overnight rain. I felt unmotivated to keep at another, more recent habit, of taking brisk walks on as many days as I can. I will be traveling this coming week, I knew I should get out of the house to walk when I have the time and space so I feel less bad if I have to skip a day later on.

(Photo by Derek Adkins. Used under a CC-BY-SA 2.0 license.)

The sun broke out for a moment a little later in the morning, painting the houses across the street in warm, liquid gold. That sight was all the invitation I needed. Once I started moving, it was easier to keep moving. I have mapped out a few different routes, of various lengths. I can choose based on the time and my motivation on any given day. Better yet, the routes overlap. I can make a decision in the moment, to head home sooner or to push myself, to get my heart rate up a bit more, for a bit longer.

Today I chose to take my longest walk yet. I am proud of myself. A parade of chill and drab lawns and homes didn’t dissuade me. Having the choice of a quicker loop counter intuitively invited me to choose the longer loop. In the home stretch I contemplated that decision for a bit, how just putting myself in a situation to make smaller, more active choices lead me to a better outcome.

Just like I shared in another recent post, I broke my problem into smaller pieces. More than that, mulling over those pieces while in the midst of them helped me make a connection. I realized at least one reason this idea works, for my anyway. I made a connection between a powerful idea and putting it into actual practice. I had an experience I will try to keep in mind as I contemplate larger projects, whether they are writing or coding. I will try to find parallel experiences that bolster this perspective of a series of simple choices.

As a budding musician, I have been thinking about a phenomenon that I realize is similar. I am best able to play a song without sheet music correctly when I don’t think about the whole song. Rather, the playing flows best when I am just anticipating the next change. I had very similar thoughts the last time I was actively studying Tai Chi. Dozens of poses are daunting all together but when in the midst of doing them, just remembering the movement to the next pose is all it takes to get through to the end.

I have been returning to reading technical books, as part of my renewed focus on coding. I have worked through more than a few short exercises and tutorials. I can bring a greater awareness and intention to these efforts. I can choose both short, attainable chunks for each time I sit down to chip away at refreshing an old skill or tackling a new one. Better yet, I can give myself some possible next steps, an invite I will just as likely accept to continue working for a little while longer, with more energy and focus.

Ironically, I had a topic on my writing list for I don’t remember how long, on the loss of motivation. Today by holding to the thoughts that occurred to me while out walking, I was able to present myself with another easier step. I have some more ideas in my notes for this topic. I took the first step by putting my butt in the chair to share some fresh experiences and thoughts. I will no doubt feel less inertia to overcome when I return to this topic, to talk more about what causes loss of motivation and other ideas for restoring it.

Posted in General.

Tagged with , , .


To My Few Remaining Recurring Donors

As you might guess from my recent posts, I am doing some stock taking and house keeping, both in my life and on the site. I just cancelled the three remaining recurring donations initiated when the podcast in particular was much more regular and frequent. One of those donors sent me a note, confused, so I am sharing my thought process here for anyone else who is curious.

I guess I don’t feel that two podcast episodes in 2014 and three in the last twelve months is not the same value on offer as earlier in the podcast when I was producing episodes more regularly.

I am trying to get better at writing but not with any expectation of support or reward. It is early days in that renewed effort for me to feel that my efforts deserve any sort of financial support. And the site and podcast have never been about the financial support, anyway.

I really do appreciate the support I have received from my readers and listeners over the years, whether that has been through just following along or sending in something more tangible like a bit of feedback or a donation.

If anyone wants to restart their PayPal subscription, I won’t cancel it again without reaching out. In retrospect I should have asked first. If you’d rather leave it canceled and send that on to another project you’d like to support, that would be fine with me too.

Posted in General.

Tagged with , .


What News I Am Reading

old-newspaper-350376_1280One of the things I used to do was post regular link dumps. On a good day, I was able to keep these fairly short and add a comment on most or all of the stories. This type of post, for me, started as an outgrowth of my podcast. I sifted through tons of stories on a daily basis to find the handful I wanted to discuss in each news cast episode. When I stopped doing the news casts, I didn’t think it made as much sense to keep sharing these links.

My news reading has not stopped. It is unlikely to stop, it is so important to my professional life and a priority in terms of continuing to understand what matters to me personally.

A few months before Google put a bullet through the head of Reader, I switched away to a self hosted aggregator, Tiny Tiny RSS. I have been very happy with this tool. It supports everything I used to do in Reader and adds in several functions I never knew I was missing. Most importantly, the only person who can decide to shut it down is me, also its primary audience.

One of the features it offers that I use in both applications but haven’t really mentioned is sharing. I can’t remember if Reader’s sharing was internal to that application or it offered a way for non-Google users to see shared stories. At this point, it hardly matters except to point out yet another way in which Tiny Tiny RSS is superior. Anybody I set up in my server can see things I share but there is also an external feed for anyone else to use.

If you use a feed aggregator yourself, you can subscribe to my feed of shared articles. I have also added the feed over there on the right, in the sidebar of this site. That will update on a regular basis if you don’t want to subscribe but are curious about what articles I have been reading. If you follow me on Twitter, the linked items may seem familiar–they are pretty much the same so if you are happy to pick up interesting links from my Twitter feed already, then you may not need to subscribe directly to the feed.

Posted in General.

Tagged with , , .


Touching Earth

I used to hate travel for work. I’d be stuck in the pressure cooker of modern air travel with people with whom as often as not the only thing I had in common was a job. Can you imagine, long spans of either awkward silence or endlessly rehashing work? For those jobs of the past, the purpose of any given trip was likely to involve some customer glad handing, a chore under the best of circumstances. The destinations were always uniformly nondescript, beige, corporate, even industrial.

The first weeks of the job I took a little over three and a half years ago gave me reason to reconsider. I went to my first conference in several years specifically for work, the Personal Democracy Forum. Many of the talks were life changing, electrifying, provocative. I got to spend time with colleagues with whom I’d only ever interacted online. I had many conversations with a friend who I still see but rarely, our time together as much a function of our respective travel schedules as anything.

Right after that conference, I got to take my very first trip to Europe. Ever. In my life, then almost forty years long.

I spent a week in a reclaimed, run down space in an urban neighborhood in Budapest. A bunch of local makers had made it their home and were hosting another bunch of makers, who travelled from all around the globe. We formed teams and worked during the day on building something, in my team’s case a smart and social door, to present at the end of the week. When we weren’t working, we ate where the working people of the city did, in open air courtyards. We were very lucky to have an almost native guide who helped us form a very authentic impression of the city. We didn’t see any kind of tourist place until the very end of the week, when we walked to the Open University, by the river, for some plenaries.

Unfortunately, after that first year, I made a choice to accept responsibilities I thought the organization needed me to fill at the time. If I encountered an opportunity to travel or to speak, more often than not, I delegated to one of my staff, to give them opportunities to grow professionally and personally. At the time, it didn’t feel like a huge sacrifice. There were tons of other demands on my time dealing with strategy, staffing, budgeting, and managing. I grew in my own way in response to those demands on my abilities and characteristics.

I made a decision recently, to leave my job. I do not yet have something else lined up though I am working almost full time on doing so. My co-workers know of this decision, I was asked to share it just a couple of days after I spoke to my bosses. I have no idea how much more widely it has been communicated and to be honest, two weeks on from my decision, I am not concerned if this is news to the wider world.

A large part of my thinking was that I need to touch earth. I actually didn’t know the origin of this expression and had to look it up, finding it even more apt than I realized. When the man who was to become Buddha was in the midst of his trials before enlightenment, he was set upon by a demon. He touched his hand to the earth, in response the earth roared, causing the demon to back down. There is a gesture, a mudra, that is apparently common in depictions of the Buddha, that demonstrates this act, a renewal of resolve.

For me, it is how the earth is touched as much as it is that renewal. I realized I had been cutting myself off from those things that best charge my resolve–writing, speaking, making, and even travel. Arguably, my intentions were right but I put myself in a position that was untenable in the long run. The more I needed to touch earth, the more it felt like other responsibilities were dragging me away from doing so. In retrospect, my own triqal by demon I suppose. Right or wrong I felt that in order to make the opportunity to renew my own resolve I had to introduce a concrete break.

Since my decision, I have written more, coded more, and as a consequence felt a greater resolve than I have felt in a long while. I am also about travel more, definitely in the short term and hopefully more ongoing, for both personal and professional reasons. I have touched earth and am optimistic at my prospects, that the opportunities I am now pursuing will allow me to maintain these very critical connections, for my own well being.

The most promising opportunity on which I am working will allow me to re-connect with the world, in addition to focusing so much more on making and sharing, to once again wear off a little shoe leather touching earth in some of the greatest cities on the planet. I didn’t realize how important that was to me until this chance came along, unrelated to my decision, unrelated to anything other than the voice I have cultivated here, on this site, and through my podcast. However my next steps play out, I am glad of my decision and the renewed resolve I already feel.

Posted in General.

Tagged with , , .


Ohio Linux Fest 2014

I have only been to a couple of Linux fests and I have enjoyed every single one. Ohio Linux Fest was my first, three years ago. I was very privileged to meet a few long time listeners there, make some new friends, and meet some of the Hacker Public Radio crew for the first time. I am finally going back to Ohio Linux Fest in a couple of weeks and am very much looking forward to it, especially if it is at all like that first time.

The first day of my first OLF, I of course immediately scoped out the local beer scene. I staked out a stool at the bar of the brew pub across the street from the Columbus Convention Center. As I sipped on my first beer, waiting for my lunch order to arrive, I heard someone at the end of the bar recommending my podcast to someone else. I recognized the voice from audio comments I had received. More immodestly than I would have done if it was a complete stranger, I interrupted and introduced myself. It remains one of the more humbling and surreal moments made possible by my podcast.

I hung out with that listener a lot that weekend. We accumulated a couple of new friends, as well, who often joined us as I continued to explore the beer scene. Downtown Columbus is…well, bare may be a bit strong but right at the convention center, that brewpub is a bit of an oasis. I hope it is still there. Despite that scarcity of obvious points of interest, we found a handful of respectable beer spots.

Later in the weekend, I was wandering the small but excellent exhibit area. One table was run by a musician who had CDs out as well as some headphones to sample his wares. I was immediately struck by the sound and the story I heard when I put the headphones one. I started chatting with the artist, int 0x80 as it happens, part of the amazing rap duo, Dual Core. The song was “Painting Pictures” which tells the tale of a fan of the pair who was deaf from birth. As the song progresses, int 0x80’s rap tells the story of, as he puts it, “an amazing little girl” who through the internet makes connections she never would have otherwise and ultimately ends up researching cochlear implants. With the support of her family, the first song she finally hears is one of Dual Core’s. The track still moves me.

I interviewed int 0x80 shortly after meeting him. When I was at DEFCON this year, I happened to run into him. I was surprised because I didn’t think to look for him. I wasn’t really surprised as so much of his early work with c64 is about playing hacker conferences, just like DEFCON. He remembered me and catching up with him was one of my favorite parts of my first, and so far only, DEFCON.

I am sure these experiences set unrealistic expectations. The quality of the programming means it doesn’t matter. I will have a good time attending the talks. Even though my podcast has been a bit quiet lately, I trust I will still bump into people I recognize. Better yet, I hope to meet some new people, make some new friends. If going to Linux fests has taught me anything, it is to be entirely open to that.

Posted in Events.

Tagged with , , .


Little Acorns

A couple of weeks ago, as I walked in from the Metro to work, an album to which I was listening brought me to tears. The stresses I have been feeling for the past year had reached a crescendo pitch. Music has become a key part of how I cope. I started playing guitar back in January, inspired by my older son’s intense musicality and some of the fondest memories of my dad when I was growing up.

My older son asked he if could spend some of his starter savings account on a short scale bass almost two years ago. I remain stunned at how deeply he has taken to making music. My wife has always encouraged both boys, making music and the means to make it always available since they were small. My older son’s passion has far outstripped what even an enriched environment might suggest. He practices for hours on end, picking up techniques effortlessly. In conversation he can rattle off scales and chords like a second language. Bass guitar was just the start, he now has a couple of electrics guitars, an electronic keyboard, and is now talking about multi-track recording and mastering. More than once, I have poked my head into his room, asking who or what he was playing to be deeply impressed when he simply replies it was something he wrote.

I remember my dad showing a similar effortless musicality when I was a little younger than my sons are now. I quietly would sit in a room with my dad as he just simply would play. I was in awe of his guitar–polished wood, gleaming metal, and intricate machinery from saddle to tuning pegs. Most summers at that same age, my parents threw wonderful, sprawling parties with all their friends. All of the kids would roam freely around the pool and the yard. My favorite parties were the ones that had a soundtrack of  my dad and his friends would playing together at volume, especially covering Summer songs like The Doobie Brothers, “Listen to the Music.”

Just as my dad shared his music with us, I have discovered more music this past year through sharing with my own sons, including the album that brought me to tears. That sharing even spans all three generations. Back in February I got a welcome break from the recent stresses visiting with my family for the occasion of my brother’s wedding. The day after the beautiful ceremony and epic throw down of a reception, we all recovered at the beach hosted by my dad. My older son, my dad, and I joked about high end, plutonium stringed bass guitars. We talked about guitarists whose playing we particular liked and why. My dad showed us the picks he keeps on him, sharing that deep wish every guitarist holds close, of being called up on stage to jam.

One result of that sharing and deeper appreciation of music is a song I keep coming back to, “Little Acorns” from the album “Elephant” by the White Stripes.

The reason is right there in the lyrics.

But Janet not only survived but she worked her way out of despondency and now she says life is good again. She told me that late one autumn day when she was at her lowest, she saw a squirrel storing up nuts for the winter. One at a time, he would take them to the nest. And she thought, if that squirrel can take care of himself with a harsh winter coming on, so can I. Once I broke my problems into small pieces, I was able to carry them, just like those acorns, one at a time.

The voice over intro calms me. I smile every time I hear it come up when I shuffle through my music collection. I think it mentally primed me for a bit of blogging advice Anil Dash shared recently, too. After fifteen years, he has a ton of practical, simple advice most of which really boils down to simply keeping at your creative endeavors. In his case that is a blog; in mine both a blog but also my poor podcast which I’ve been neglecting for months.

Anil’s last point, in particular, reminded me of the squirrel.

Leave them wanting more. One sure way to trigger writer’s block when blogging is to think, “I have to capture all my thoughts on this idea and write it about it definitively once and for all.” If you assume that folks are smart and curious and will return, you can work around the edges of an idea over days and weeks and months and really come to understand it. It’s this process that blogging does better than pretty much any other medium, and it’s sharing that process with you that’s been the greatest privilege of writing here for the last decade and a half.

Every week that passed since I decided I couldn’t keep up a weekly pace with either my podast or my blog, the instinct to only share fully realized ideas became more paralyzing. Anil’s advice, like the squirrel and its acorns in The White Stripes song, reminded me it is OK to tear down how I approach writing for whatever end into smaller, less paralyzing pieces. I already have a few more acorns I will try to share this week.

Anil also reminded me that “the scroll is your friend.” Many short pieces, even if some are less formed, a bit rough around the edges still, will feel more alive in both the writing and the reading than the longer, more finished I have expected of myself but been unable to finish.

Posted in General.

Tagged with , , .


An Unused Resource in the Struggle for Greater Diversity in Tech?

As a technology manager, there is a resource I often ignore that I just realized could be incredibly value in the growing conversation about how we improve diversity in the world of technology work. I did a little searching to see if someone else had this same epiphany. If they have, they haven’t talked about it widely enough to show up after a few cursory web searches.

I am a cisgender, heterosexual, white male who manages a staff of only cisgender, heterosexual white men. I rightly am scrutinized by the rest of my organization, which is at least more gender diverse, in my recruiting and hiring practices. I listen and read a lot as a consequence and struggle to do better. We now include a diversity statement in all of job postings. We constantly think about where we circulate job postings to get them into more places visible to a greater diversity of candidates. We increasingly pay more attention to word choice to make our descriptions as accessible and attractive as possible. We are always thinking of what more we can do.

At the same time, my organization is growing. We have an ever increasing amount of work to get done and the funding to bring on more people to do it. In the past week or so, I posted three job openings for which I am actively recruiting (one for a less experienced candidate, one for a more experienced one, and one that isn’t necessarily a technologist.) I am just as closely scrutinized for recruiting more staff so that we can support our growing commitments.

The first set of candidates we have received are discouraging in terms of diversity. Only one or two are in any way diverse and definitely not along gender lines. We have selected two to pursue, neither of whom change the overall composition of my staff. I feel like a partial failure, that in moving ahead in terms of staff capacity I am falling that much further behind on improving the diversity of my staff. Worse, even if both of these candidates succeed and result in hires, I am still under pressure to hire one more, continuing the tension between capacity and diversity.

That pressure has me re-thinking a resource of which I am often skeptical: professional recruiters.

Don’t get me wrong, I have had good experiences with recruiters, both as a candidate and as a hiring manager. Those experiences have been in the minority however. Those recruiters are the ones who get that the best results are found through cultivating relationships, not about quantity of placements. Identifying the good recruiters unfolds through conversation and trust building which takes more time and effort. That investment hasn’t seemed worth it before this most recent up turn in the number of openings.

Regardless of how I feel about them, recruiters still contact me out of the blue all of the time. When you are easily identifiable as a hiring manager, it goes with the territory. Usually I just delete such contacts or send them to voice mail. As we have struggled even to get a decent pool of non-diverse candidates, I have been re-thinking that policy.

As I was considering how to make better use of recruiters and of the conundrum of hiring quickly or hiring diversely, I came up with a simple idea: accept every cold contact from a recruiter but respond with a set of standard questions.

  1. Do you have a diversity policy or statement?
  2. Can you demonstrate of track record of diverse placement?
  3. Are you experienced at placing candidates at non-profits?
  4. Can you place candidates in the greater Washington, DC area?

In my replies, I insist that I require an affirmative answer to all of these questions before talking further. Out of two contacts I’ve had since thinking of this response, it successfully filtered out one and engaged the other in a way that encouraged me. The first two questions took him off guard but he wrote them down with a promise to look into them and email me his firm’s answers.

I have been thinking a lot on those first two questions. (The last two questions are simply logistics of these particular opportunities.) In particular, I am slapping my forehead wondering why I never thought to ask them of every recruiter who contacts me.

Those web searches I mentioned at the outset. Most of what I found were statements from hiring organizations, the majority of them universities, institutions and a few larger corporations. There may be a more specific set of search terms than I was using that would reveal recruiters who specifically value diversity. I expect that if there was a non-trivial number of such firms, it shouldn’t take any particular skill at web searches to find them. I think there is an opportunity to raise the bar for technology recruiters.

From now on, I am going to ask those first two questions of every recruiter who contacts me, at this job or any other. I will ask whether I am currently hiring or not. I would love for as many of you who are reading this to do the same, if you are in an appropriate circumstance to do so.

Recruiting in technology is a huge business. For qualified candidates, placement fees are quite lucrative. Recruiters, even the good ones, are highly competitive. If we can get some fraction of the firms recruiting specifically for technology jobs to prioritize diversity, I suspect it could have a huge impact.

I think making such a change can start with just a couple of questions.

Posted in Technology.


Finding and Losing

If you follow me on any social media, you’ve seen that a friend of mine is dying.

The last part of that sentence was really hard for me to write. I don’t deal well with death. I don’t mean emotional collapse, I mean failure to even find a handle. Just writing such a simple statement, admitting this is happening to someone I have known for the better part of a decade feels surreal.

Several of my friends have written far more compellingly about dealing with P.G. Holyfield’s current situation. Matt “Fucking” Wallace explains why P.G. and his work should be a part of your universe. Chris Miller accepts the blame for the start of P.G.’s amazing creative path that ultimately intersected with so many of my friends and my own.

A new friend, Dave Robison, shared some thoughts on the recent passing of one of his loved ones that has helped give me more of a handle in general. Reading Dave’s advice, I choose to focus on the positive, to think about the quiet and calm P.G. has always radiated, the unexpected way he has brought joy to so many.

I have long been amazed how my modest interest in creating a podcast, just a little over nine years ago, has led me to so many amazing opportunities. The most common and easily appreciated is the making of new friends and acquaintances. The connections I have made specifically through sitting behind a mic and speaking out into the vast void of the Internet have connected me with the closest friends I have had in my entire life and profoundly shifted the trajectory not just of my day job but my entire career.

What I don’t dwell on as often is the loss of these connections. Sometimes it is mundane, the natural drifting apart that so often happens, especially with such a large group of connections held over such a long span of time. A few times, that I can still count on one hand thankfully, the loss is more irrevocable.

It seems trite, but in being open to those new connections, the possibility of loss is part of the deal. It doesn’t lessen the effects they have had on my life, I hope it merely sharpens them.

As I continue to struggle for a handle, not in the least because as I write this my friend is still though none of us can say for how much longer, I choose to believe that, to hope that in embracing the twining of finding and losing, that the good, the cherished, the love will outweigh the pain that is is already creeping in.

Posted in General.


TCLP 2014-06-22 Adventure Time

This is an episode of The Command Line Podcast.

The feature this week is an essay comparing and contrasting Adventure Time with a cartoon from when I was the age my kids are now, Thundarr the Barbarian.

View the detailed show notes online. You can grab the flac encoded audio from the Internet Archive.

Creative Commons License

Posted in Monologue, Podcast.


Heartbreak over Mozilla’s DRM Decision from a Dedicated Firefox User

I saw news last night that, as the headline suggests, broke my heart.

For months, I’ve been following the story that the Mozilla project was set to add closed source Digital Rights Management technology to its free/open browser Firefox, and today they’ve made the announcement, which I’ve covered in depth for The Guardian. Mozilla made the decision out of fear that the organization would haemorrhage users and become irrelevant if it couldn’t support Netflix, Hulu, BBC iPlayer, Amazon Video, and other services that only work in browsers that treat their users as untrustable adversaries.

Like Cory, I have been following the push to install the Encrypted Media Extension as part of the standards that underpin the web. I had not realized Mozilla was seriously considering siding with the W3c. The W3c is the standards body that oversees the constellation of documents that describe the common intersection of what is possible with the web. Their push to adopt EME and, worse, resistance to any calls to reconsider are I think grave mistakes.

The news of Mozilla’s decision to add DRM to Firefox has rapidly spread online. I was a bit surprised at how quickly folks responded to my own expression of frustration on Twitter. Far and away one of the best pieces I’ve seen comes from British journalist, Glyn Moody. He, I think rightly, frames this as far more than a simple choice about technology. This is a question about the very fate of Mozilla begged by the dissonance between their role prior role as the strongest advocate for an open web and this latest development.

I won’t quote a snippet from Moody’s piece but rather encourage you to read the entire thing. It is a compelling and accessible explanation of the situation, why this decision matters, and how we may go forward from here. Ultimately he is optimistic, that the community of technology creators who believe that the freedom to understand, alter and share code and content is paramount will do as they always have done and route around this latest obstacle.

I am sure he is right. We saw it happen with OpenOffice and MySQL though admittedly under rather different circumstances.

I am still incredibly disappointed and upset. I have been a champion of Mozilla’s since before Firefox existed. I used Phoenix, Firebird and continue to use Firefox from the moment that name stuck until now. There exists no doubt in my mind that the shift from a Microsoft dominated Web to the current ecosystem is due entirely to Mozilla’s tireless commitment to open source and open standards. That ecosystem, due to those efforts, includes more openness than just that encapsulated in Firefox’s source code. More astonishing, I don’t think Mozilla ever need to be popular, dominant or relevant to a mainstream audience to be an effective change agent.

I never once considered abandoning my support as I have seen others do. New gimmicks or even claims to best Firefox in terms of speed, size or true functionality have never outweighed for me Mozilla’s dedication to principle. In recent years especially, none of those choices would have come about but for Mozilla. None of them included the same deep commitment to principles I cherish.

Until now.

The decision of Mozilla to include digital rights management, regardless of the technical details, feels like a betrayal of those principles. Worse, it poisons the space for the same reasons Mozilla’s dedication to openness made it an effective change agent. Firefox is an existence proof. Others may not weave openness as deeply into their efforts but they see it is valuable and worth addressing to significant degree.

And now it will go for this counter example. If the staunchest defender of the open web concedes to the pressures to hobble the web with DRM, then why shouldn’t every other last creator of web technologies? Had Mozilla chosen differently, it may not have stopped EME and the inclusion of DRM in other web browsers, but it would have undoubtedly created more space for openness, well beyond its own direct efforts.

Now the question we need to ask, to paraphrase Glyn Moody, is whither the open web?


 

If  you want to know what you can do, read the Free Software Foundation’s criticism of the decision which includes several good calls to action at the end.

Posted in Policy, Technology.




Creative Commons License
The Command Line by Thomas Gideon
is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.