Activity Not Available


  Analyzed 4 months ago based on code collected 4 months ago.
Posted about 2 years ago

So maybe you've heard about my plight, in which I wrestle Lou Gehrig in this losing battle to stay alive. And I use the phrase "staying alive" loosely, as many would shudder at the ... [More] thought of becoming locked in with ALS, completely paralyzed, unable to move a muscle other than your eyes.

But that's only half the story. Wait for the punchline.

As if the physical challenges of adapting to new and increasingly debilitating disabilities were not enough, my wife and two young daughters are forced to watch helplessly as the man they knew loses the ability to lift a fork or scratch an itch, who just two years ago was able to lift his infant daughter and run with the 7-year-old. The emotional strain on my family is more than any family should have to bear. Not to mention the financial difficulties, which include big purchases such as a wheelchair van and home modifications, and ultimately round the clock nursing care, all of it exacerbated by the fact that we have had to give up my income both because of the illness and to qualify for disability and Medicaid.

Meet me, Aaron Winborn, software developer and author of Drupal Multimedia, champion of the open source software movement.

Years ago, I worked for the lady of death herself, Elisabeth Kübler-Ross, the author of On Death and Dying. Of course, I knew that one day I would need to confront death, but like most people, I assumed it would be when I was old, not in the prime of my life. Not that I'm complaining; I have lived a full life, from living in a Buddhist monastery to living overseas, from marrying the woman of my dreams to having two wonderful daughters, from teaching in a radical school to building websites for progressive organizations, from running a flight simulator for the US Navy to working as a puppeteer.

I accept the fact of my inevitable death. But accepting death does not, I believe, mean simply rolling over and letting that old dog bite you. Regardless of the prevalent mindset in society that says that people die and so should you, get over it, I believe that the reality we experience of people living only to a few decades is about to be turned upside down.

Ray Kurzweil spells out a coming technological singularity, in which accelerating technologies reach a critical mass and we reach a post-human world. He boldly predicts this will happen by the year 2045. I figured that if I could make it to 2035, my late 60s, that I would be able to take advantage of whatever medical advances were available and ride the wave to a radically extended lifespan.

ALS dictates otherwise. 50% of everyone diagnosed will die within 2 to 3 years of the onset of the disease. 80% will be gone in 5 years. And only 10% go on to survive a decade, most of them locked in, paralyzed completely, similar to Stephen Hawking. Sadly, my scores put me on the fast track of the 50%, and I am coming up quickly on 3 years.

Enter Kim Suozzi.

On June 10 of last year, her birthday, which is coincidentally my own, Kim Suozzi asked a question to the Internet, "Today is my 23rd birthday and probably my last. Anything awesome I should try before I die?" The answer that she received and acted on would probably be surprising to many.

On January 17, 2013, Kim Suozzi died, and as per her dying wish, was cryonically preserved.

She was a brave person, and I hope to meet her someday.

So yes, there we have it. The point that I am making with all this rambling. I hope to freeze my body after I die, in the hope of future medical technologies advancing to the point where they will be able to revive me.

The good news is that in the scheme of things, it is not too terribly expensive to have yourself cryonically preserved. You should look at it yourself; most people will fund it with a $35K-200K life insurance policy.

The bad news for me is that a life insurance policy is out of the question for me; a terminal illness precludes that as an option. Likewise, due to the financial hardships in store for us, self-funding is also out of the question.

When I learned about Kim Suozzi's plight, I reached out to the organization that set up the charity that ultimately funded her cryopreservation. The Society for Venturism, a non-profit that has raised funds for the eventual cryopreservation of terminally ill patients, agreed to take on my case.

Many of you reading this post have already helped out in so many ways. From volunteering your time and effort to our family, to donating money towards my Special Needs Trust to help provide a cushion for the difficult times ahead.

I am so grateful for all of this. It means so much to me and my family to know that there is such a large and generous community supporting us. I hate to ask for anything more, especially for something that may seem like an extravagance.

But is it really an extravagance?

If I were to ask for $100,000 for an experimental stem cell treatment, I doubt that we would even be having this conversation. No one in their right mind would even consider a potentially life-saving procedure to be an extravagance.

And what is cryonics, but a potentially life-saving procedure?

People choose from among many options for their bodies after death. Some choose to be buried, some choose cremation. Some choose to donate their bodies to science. That last is precisely what happens with cryonics: in addition to helping to answer the obvious question of will future revival from cold storage be possible, many developments in cryonics help modern medicine with the development of better preservation for organ transplantation and blood volume expanders.

Yes, I admit that the chances of it working are slim, but have you looked at the state of stem cell research for ALS lately? Consider that the only FDA approved medication to treat ALS, Rilutek, will on average add 3 months to one's lifespan, and you might begin to see my desperation.

But you should be happy with the life you've had. Why do you want to live forever?

The only reasonable response to that is to ask why do you want to die?

I love life. Every morning, even now with my body half paralyzed, I awaken with a new sense of purpose, excited to take on the day. There is so much I have yet to do. There are books to write, games to create, songs to sing. If I can get the use of my arms and hands again, there are gardens to plant, houses to build, space ships to fly. And oh, the people to love.

So please help me to realize this, my dying wish.

"The most beautiful people we have known are those who have known defeat, known suffering, known struggle, known loss, and have found their way out of the depths. These persons have an appreciation, a sensitivity, and an understanding of life that fills them with compassion, gentleness, and a deep loving concern. Beautiful people do not just happen."

- Elisabeth Kübler-Ross

read more [Less]
Posted about 2 years ago by drumm and its sub-sites (,, etc) will be going down for 30 minutes Tuesday, February 12, 5:00 PST (February 13, 01:00 UTC). This maintenance window will be used to upgrade our single sign on system. Please follow ... [More] the @drupal_infra twitter account for updates during the downtime and thanks for your patience!

Sites will remain functional for the majority of the scheduled downtime, but everyone will be logged out. You may not be able to log into sub-sites for a few minutes as the update is rolled out. If you experience authentication troubles between sites after the maintenance window please clear browser cookies for and try again. [Less]
Posted about 2 years ago
Modules are the workhorses of a Drupal site. Most are useful, some are essential, but there aren't many that qualify as fun. This tutorial is about one of those rare modules that is actually a real good time, @font-your-face. 

For many years ... [More] there were only about a dozen web safe fonts that you could use on your site. In retrospect, it was very boring. In the past couple years, however, things have completely changed. We'll skip the glorious story of CSS3 web typography for now and instead get straight into using @font-your-face to spiff up your site with some cool new fonts. 

Getting Started
If you're following this tutorial and you're working with one of our themes, the module will already be installed. If you're not using one of ours then download @font-your-face and install it.

After you're all set up, go take a look at the the list of modules included in the @font-your-face package. 

You'll see that there are quite a few listed here. You won't need most of them unless you are using one of the font services associated with the module. For example, if you're a Typekit customer, enable the Typekit API module to use their fonts on your site.

The only ones we're going to focus on in this tutorial, however, are the core @font-your-face module, @font-your-face UI, Google Fonts API and Local Fonts.

Enabling Fonts
OK, now the fun part starts. Go to Appearance > Theme settings and you should see the @font-your-face tab like in the image below. Go ahead and click on it.

What you should see is a list of your enabled fonts. If you've just installed the module, this page will be empty, but the next thing we're going to do will help fix that. Click "Browse all fonts" at the upper right of the screen and...boom! All the web fonts from Google should be waiting for you.

Selecting Fonts
It will probably take you a while to browse the fonts and you might find it a little overwhelming at first. There are a few ways you can make it easier to find just the right fonts to use on your site. You can do a little trial and error experimentation - my personal favorite. You can check out a tutorial on how to pair fonts, particularly if web typography isn't your strong suit.

You can also visit sites you think have really cool fonts and take a look at the page source to see what they're using. The perfect tool for this is Firebug, of course, but the old right-click "View Page Source" will often work as well. 

Local Fonts
Let's say you've found a really cool font, but it's not available through Google. That means you'll probably have to pay for that font - not necessarily a bad thing - and then use the Local Fonts component of @font-your-face to add it to your collection. 

Let's keep this simple and go step by step:

Pick your font and make sure it's OK to use it on the web. The vendor should be able to tell you or it will often be listed under a "web fonts" section.
The site you buy your font from will probably provide it in the formats you need (yes, multiple files), but if not you can use the @font-face generator at Font Squirrel.
Come back to your site and upload your font files.

The screenshot above is where you'll upload your fonts. It's located at:

You may be wondering why you need to upload four separate files to get your font set up. Basically it's a browser thing - you want it to work in as many browsers as possible and naturally there isn't a lot of agreement among the browser makers. Same old story, really.

Moving Right Along...
So now that we have our fonts enabled, let's apply them to some of the elements on our site. Head over to:

You'll see the main @font-your-face page we visited earlier. Below is a screenshot of our Sparta theme and you can see that the headings have the Lato font applied and the rest mostly use Open Sans.

Changing the fonts that are applied to the various elements is as simple as selecting from the dropdown list. If you want more control, select "Other" from the list of options and a textbox appears and you can manually add them, copy and paste, whatever. That's what I've done in the screenshot above.

That's the ten cent tour of @font-your-face. I love it and even if typography isn't your thing, investing a little time picking out some nice fonts can go a long way toward making your site distinct.  [Less]
Posted about 2 years ago
A post about time constraints preventing valuable contributions to the Drupal community and how to change organisational cultures to make them more community friendly.
Posted about 2 years ago
When I was starting out in the web industry back before the turn of century, open source options were available but were often ruled out as risky business investments. At the time, they were relatively feature poor (compared to enterprise solutions) ... [More] and a bet on the wrong technology could potentially cost someone their job. It was around this time that I heard the phrase "no one gets fired for choosing Microsoft", but times have changed.

Read more [Less]
Posted about 2 years ago

It takes many companies years to establish the best way to make internships fulfilling and beneficial to both the interns and to the companies for which they work. And Palantir is no exception. In the summer of 2012, I served ... [More] as the mentor for our intern, Kelsey Bentham, who was studying Computer Science at Mt. Holyoke College in Massachusetts. Kelsey was the first technical intern Palantir had in a few years, and, at that time, our process for guiding an intern's development needed some formalizing.

Palantir values immersive internship experiences. So two of our directors ,Colleen Carroll and Ken Rickard, set a top-level goal of full team integration by the end of the summer. As such, we made sure she participated in daily project meetings and took responsibility for completing tasks.

Prior to Kelsey's start, I determined that the discipline and cohesion associated with pair programming made it the best path for moving her toward the goal of team integration. In pair programming, two developers work at one computer and talk through their work while one of them types at the keyboard. This process allows the developers to share skills and quickly learn from each other. Over the course of the summer, I worked with Kelsey closely and frequently in this capacity. Together, we worked on patches for various modules and support tasks for existing Palantir projects. In doing so, I experienced firsthand the benefits of pair programming with technical internships and developed guidelines that Palantir would use with future interns and junior developers.

Pair programming accelerates grasp of the big picture
Palantir has been working with the Drupal content management platform since 2006. Among those of us writing code, we have worked with Drupal on average for six years. On the high end we have John Albin Wilkins who registered on eight years ago. With that much history, Palantir's development staff can thoroughly and quickly grasp the big picture of building a Drupal site.

Interns do not come with that depth of experience or shorthand related to Drupal, however, so grasping the big picture takes a great deal of definition and explanation. In particular, tasks require additional explanation of how they fit into the larger picture of a full site. Larry Garfield might define a task that 'exports the blog view to a Feature.' Explaining that reference to Features module to an intern could take all afternoon or it could take two minutes. It's up to the more senior developer in the pair to know how much of the big picture needs explanation to provide enough context to the task at hand.

Pair programming also means pair planning
As a Computer Science major, Kelsey had plenty of coding experience with languages other than PHP. To ease the transition into this language, we would often talk through the steps needed in a function or series of functions. Kelsey would write these steps as code comments first. When writing test code, this step means describing the actions taken by simpletest in a list like this:

Check that view draft tab is not displaying.
Check anonymous behavior. Verify access denied.
Check that view draft tab is not displaying.
Log in again.
Set the node to published.
Writing a block of comments in plain English helps to put an intern on equal footing when pair programming. The comments make it easier to see how the steps connect; something more mature programmers will often take for granted or keep in their heads when working independently. With the blueprints for the work to be done plainly on the screen, Kelsey and I could focus more on the language details of PHP necessary to complete the code.

Balance pair programming with personal responsibility
As the summer progressed, our pair programming shifted toward Kelsey working autonomously and asking me for assistance as needed. In these moments, I always looked for ways Kelsey could complete tasks or steps independently. Often, in the process of writing and testing a function, developers will produce a lot of extraneous comments and excessive whitespace. Once the code is passing tests or otherwise functional, the more senior developer can walk away and allow the junior developer to finish the task. An hour of pair programming followed by five minutes of unaided whitespace fixing, comment clarifying and patch posting goes a long way. It reinforces the idea that developers of any skill level can ask for help when needed and still take responsibility for finishing the task. That feeling of independent completion builds confidence and makes for better developers.

Slowly transitioning from pair programming to autonomous work helped Kelsey achieve the goal we set at the beginning of the summer. She operated as a regular team member on the build of a multilingual Drupal 7 site for the world's leading architecture firm, Skidmore, Owings & Merrill.

I am looking forward to going through this process again with more summer interns in a few months; we are accepting applications through February 15th. [Less]
Posted about 2 years ago
Varnish cache is an accelerator that sits in front of the web application, and serves cached web pages. It can speed up the web site significantly and lift loads off the web application. The web application gets to receive web traffic through ... [More] Varnish. The unintended side effect is that all incoming traffic for the web application look as if they are originating from a single IP, say,, because they do come from a single source, Varnish.

Here is how to configure Drupal 7, Varnish and Apache web server to log correct client IP addresses. [Less]
Posted about 2 years ago
Marketing Automation is one of the most talked about technology in the B2B market. Estimates of automation adoption is projected to hit 50% by the year 2015, meaning that over the coming years, plenty of companies will be sifting through the various ... [More] vendors to determine what solution fits best. 

As more and more companies are looking to adopt automation to manage their leads and prospects, they are quickly realizing there is more to making the move to automation than just a technology purchase.  [Less]
Posted about 2 years ago
So i wanted to put this little article together because I am a fan of the idea behind Ajax. Being able perform server side processes without page reloads is simply awesome. So here you have 3 recent tutorials for building Ajax driven functionality in Drupal.
Posted about 2 years ago
Comparing Drupal themes is tough: the screenshots they provide are often based on heavily tweaked sites with plenty of slider blocks, tweaked media attachments, and other just-so content. Figuring out the "basics" -- how a given theme styles core ... [More] HTML elements and recurring Drupal interface patterns -- can be tough! Fortunately, the Style Guide module can help.

The module was written by a group of experienced Drupal developers, site builders, and themers -- its sole purpose is to provide a single page that contains easily viewable examples of HTML and Drupal design elements. Form fields? Check. Password strength checkers? Yes! Themed Drupal navigation menus? Breadcrumbs? Tabbed input groups? Large chunks of text with inline images? Yes, yes, yes, and also yes. Just enable a theme, browse to the /admin/appearance/styleguide page on your site, and you can quickly see how it handles all of the basics. If you have multiple themes enabled (for example, a primary theme and a backend administrative theme), the module provides a tab for each one. Clicking one quickly switches the active them, and thus the elements you're previewing. [Less]