Letters printed in living cells

(Note: This article originally appeared on Acceler8or.com on July 31, 2012.  It’s republished here for my own archives.)

Scientists in Canada have invented a device they claim can print large patches of living tissue.

In an article which appears this month in the journal Advanced Materials, Axel Guenther of the Department of Mechanical and Industrial Engineering, and Milica Radisic of the Department of Chemical Engineering and Applied Chemistry at the University of Toronto detail a machine they’ve created which can precisely print living tissue to order.

Their device uses biochemicals to create layers of “mosaic hydrogel,” a substrate into which living cells can be precisely deposited, like agar in a petri dish. The placement of the cells is so precise, the scientists were able to print the word “Toronto” on to the substrate.

But beyond manufacturing single layers of the tissue, by collecting layers of the printed tissue material, the scientists were able to build three-dimensional structures of substantial thickness.

It isn’t yet commercialized, but Guenther has bold plans for the technology. “My laboratory is currently pursuing different applications of the technology—different tissues,” Guenther said in a press release. “But one of my dreams is to one day engineer a vascularized leaf – perhaps a maple leaf.”

Needless to say, a system for printing living tissue on demand could have enormous ramifications for future biotech. Low hanging fruit? Generating new skin for treating burn victims, growing custom organs for transplant, or synthesizing tissues specifically designed to produce new medicines. But paired with recent advances in synthetic biology, there may an amplification effect which we can scarcely imagine now.

Only time will tell.

Today is the day that much of the internet is going dark to protest the SOPA/PIPA acts in the United States.

I wrote a little piece on it for Acceler8or, and I’ve blacked out my logo for the day.

Please, take a moment to register your displeasure with legislators.  Don’t break the internet.

After having three different requests in the past couple of weeks which required me to strip stop words from a bunch of text, I decided there should be an easy way to do it online really quickly.

So I made one.

Try it out here:


Why is it useful?  Well, perhaps you’re taking a bunch of free-response answers to a question, and turning it in to a word cloud, for instance with Wordle.  You’ll get far more useful graphics back if you take the time to strip out the stop words first.

Or maybe you want to do some natural language processing.  Strip out those stop words to get only the most relevant data to crunch.

Try it out!  It’s free!


I like tablet form factors, I really do.  I’d love to get one, but they don’t quite make my kind yet.

I need, need, need for there to be a stylus.  I’m a doodler.  Handwriting recognition is also a must.

I need it to be Android 3.1 or higher

An 8″ screen is about optimal, though I’d go down to a 7.  10″ might be too big for my purposes.

It’s got to have GPS sensors, 3G/4G data (unlimited preferred), wifi, NFS, accelerometers, gyro, etc.  I’m of the MOAR SENSORS! school of thought.

Lenovo has almost gotten there, according to this Ars Technica review, but not quite yet.

Soon though.  Soon.

Look, I’m a tech guy. I work on a lot of computers. I work on a lot of web sites. I try out new web services and products all the time. I pay my bills online, I bank online, and to a great extent, much of my life and work is preserved online.

I have a lot of passwords. I need to keep track of them all, and keep them safe.

I’ve had a password strategy which worked for me for years; I kept several base passwords, which I mentally sorted by level of secrecy necessary, and I’d use variants of those basic passwords to create new ones at the right levels.

So I had a low-security password which I could use across sites to try out new services. I had a medium security password for accounts that were associated with my public face — i.e., Twitter, Facebook, etc. And of course, I had a high-security password which nobody at all knew besides me, and that secured my online banking and financial accounts.

Like I said, this worked for years. If I changed jobs, or if I could no longer ensure the security of a given password, I just had to change that one in my rotation.

There were problems, of course… sometimes I couldn’t remember which variant I had used at which site, what the user name might be, etc.  But overall, it worked pretty well, and I’ve never had one of my accounts hacked.

But we live in a different world these days.

I’ll admit, it was the LulzSec leaks that convinced me to re-think my password strategy. They dumped 62,000 email/password combinations on the web, for a wide variety of sites, and let people run wild with them. My email/password weren’t included in the leak, but it got me thinking about how devastating it would be, should my passwords get out in the public sphere like that. It could compromise not just my own security, but the security of my client’s sites.

So I knew I had to smarten up. I needed a way to secure my ever-growing list of passwords, and furthermore, I needed to ensure that I was using different passwords everywhere.

Beyond that, I work on different machines in different locations, and I needed all my passwords to be accessible to me no matter what machine I was using at the time.

And I needed to secure the whole list in a way which was bulletproof, hacker-proof, snoop-proof.

So the solution I found works pretty well, and I figured I’d share it around. There’s nothing really novel about this solution, but there’s certainly no harm in sharing what I’ve learned. Perhaps it’ll inspire you to do the same. The more people who take their digital security seriously, the less harm hackers/viruses/data leaks will be able to do for all of us.

Step 1: Storage in the cloud.

I need access to my passwords wherever I am, on any machine I’m working on. That means either a) a private server or b) a public service or c) a USB key. I opted for the public service, specifically Dropbox. Dropbox has caught a lot of flack over the past few weeks for significant security breaches, but I knew a way around that (see step 2, below). The important thing was Dropbox would give me access everywhere, and two gigs of storage for free. I toyed with the idea of using a USB key, but I abandoned the idea because it meant I’d have to back it up regularly, just in case I lost my key. I can’t imagine the horror which would befall me if I should lose my only copy of my entire password database down a drain, or something. No, better to rely on Dropbox, backed by Amazon’s cloud storage. But something had to be done to make it more secure.

Step 2: Military-grade security

If I’m going to store my most sensitive information in the cloud, I needed to ensure, for my own peace of mind, that it was really, really, really secure.  I couldn’t just rely on someone telling me it was secure.  I needed to do it myself.

Enter TrueCrypt.  TrueCrypt is free, cross-platform, open source, military-grade encryption software which allows the user to create encrypted virtual disks, or even to encrypt entire drives.  It was perfect for my purposes.

So, after getting my Dropbox account all set up and working on my various computers, I installed TrueCrypt.  The fact that it’s cross-platform is particularly important, since I use a PC with Windows 7 at home, and a Mac running OSX 10.6 at work.

After installation, I created a new TrueCrypt volume in a data file in my Dropbox folder.  I set it up with 256-bit AES encryption, which is approved by the US government for documents up to the Top Secret level.  I also made sure to put both Mac and PC-installable versions of TrueCrypt into an unencrypted Dropbox folder, in case I needed them on a new computer at some point.  I could just install without having to download the packages anew.

Step 3:  A secure password database.

Once again, cross-platform compatibility was absolutely key.  Once again, the open-source community came to the rescue with the really excellent program, KeePassX.  It’s got Mac, PC, and Linux flavors.  It stores your passwords in configurable groups.  It includes a password generator for creating and storing really long, really strong passwords on the fly.  And it stores the database in an AES 256-bit file.

I downloaded both a Mac and a PC version of KeePassX, and dropped both of them into the encrypted container that TrueCrypt created.  Again, this is so if I’m on a strange computer, I won’t have to download new copies of the software.  But you won’t know they’re there unless you’re already looking inside my TrueCrypt volume.

You can unlock a KeePassX password database with a master password.  I chose a really long password (~ 30+ alphanumeric characters) for this purpose.  Actually, this was the hardest part of the whole set up — I wanted a master password which I could remember and type, but which would be long and complicated enough to be virtually un-breakable.

At this point, I felt like there wasn’t much more I could do to ensure security, so I started dumping all my passwords in to KeePassX.  Over the last week, I’ve slowly been adding accounts to the database, and I’ve been changing passwords as I go, to ensure I’m not using the same ones for multiple accounts.  I organized them into groups for work, banking, consulting clients, etc., which makes it easy to find the one I’m looking for.

And so far, so good.

So, how secure is it?

Well, let’s pretend I’m a determined hacker, and I’m trying to get at these passwords. Here’s what I’d have to do:

  1. Compromise the Dropbox account. Considering the security issues, let’s just say this a given.  For the sake of our argument, it may as well have no password on it.
  2. Locate and compromise the secure data file created by TrueCrypt. This part is really tricky, because it’s very, very secure.  It’s extremely unlikely that it could be broken by anyone outside of the NSA, and even then, it could take them years and years of computer time to crack it. However, if they did, they’d still have to …
  3. … Compromise the KeePassX database. Again, AES 256-bit encryption with a very, very long passphrase would protect this file from brute-force attempts for longer than the life of the universe.

What about other vectors? Like, say for instance someone was sniffing my network packets trying to pick up the passwords as they passed over the network?

Well, what’s getting transferred over the network is the TrueCrypt file, which is secure.  Local, cached copies are saved on each of the computers which have connected to it, so the only thing that would be sniffable would be the entire file, which would still leave you with steps 2 & 3 above.

What about if they compromise one of the machines that I have Dropbox installed on?  Again, the TrueCrypt volume would be visible to them, but unless they could get into it, and past still another level of encryption, my passwords are still safe.

Keyloggers?  Well, yeah, this is a possible vector.  If one of the machines I was working on were to have a keylogger installed, then a determined attacker could indeed get both the TrueCrypt password and the KeePassX password, which would let them get into the file.  But honestly, that’s the case no matter what steps you take to secure your information.  Best defense there is to keep the ol’ antivirus software up to date, and to regularly scan the system for malicious software.  Of course, that probably wouldn’t help if, for instance, a government agency were to break into my house an install a surreptitious keylogger on my machine, but if that’s what I’m up against, I have bigger problems than whether or not someone can get into my Twitter account.

Caveats: It seems profoundly unwise to have multiple machines accessing the TrueCrypt file at the same time.  That could, potentially, corrupt the encrypted volume irreparably.  Dropbox does do versioning, so this may not be a gigantic problem, but still, I’m not going to try it.  One machine at a time.  Dismount the TrueCrypt volume before logging out.

Another caveat is mobile access.  TrueCrypt and KeePassX don’t work on Android devices, so I can’t see my passwords through my mobile phone.  I can live with that, however.

So, while there may be no perfect security in the world, I feel pretty confident now that my passwords are all safe, accessible, and secure.  Perhaps that’s the best any of us can hope for, as we watch the continuums of privacy and technology shift under our feet.

Did I forget something? Got a better idea? Let me know in the comments.



ReadWriteWeb reports today on a study by the Pew Research Center’s Project for Excellence in Journalism.

The takeaway?

According to the survey, 46% of people now say they get their news online at least three times a week, surpassing newspapers (40%) for the first time. Only local television is more popular among Americans, with 50% indicating that’s their regular source for news.

Not to mention this beautiful graphic:

So things are looking good for the web.  Not so good for newspapers.  Even less well for magazines, and worst of all for cable news.

I suspect that a large reason for the 13.7% drop in cable news numbers can be directly related to the perception of partisanship on most of those stations.  At least, I hope that’s the reason — it’s a good one.

Well, it only took me 12 months, but I have finally finished the Bibleizer script.

It takes arbitrary text as input, and censors every word which doesn’t appear in the King James version of the Holy Bible.

Try it yourself now!  Click here!

So tomorrow is December 1, which is the deadline for entries into the Knight News Challenge, an annual contest for innovative ideas for the intersection of technology and news, funded by the John S. and James L. Knight Foundation.

I (along with my buddy Eric Marden) have an entry in this year’s competition.  It’s a project we’re calling News Grader.  Here’s the meat and potatoes of the proposal:

We propose building a web service which can intelligently parse and analyze text it has never seen before, and offer insight into the quality of content, along with the degree to which the filter is confident in its analysis: the “News Grade”. We envision making this available in much the same way as Akismet or OpenCalais provides their service – an open API, providing third-party developers an easy way to make use of News Grader’s analysis and quality ratings. This API will enable the easy integration of our system into a variety of formats which could include browser extensions, CMS plugins, and desktop/web applications such as RSS readers, news aggregators or social networking software.

We believe we can do most of the heavy lifting using well-known algorithms, including a modified version of Bayesian induction, the Porter stemmer algorithm, entity extraction algorithms, and manifold learning algorithms. We intend to identify and weight word clusters in an article, and compare a new article to the ratings of other articles with similar word clusters, amongst other techniques.

This automated process will be supplemented by a mechanism for users to provide structured feedback, which will allow the web service to “learn”, and which will increase the quality of the analysis provided over time. The more that people use the service, the smarter it will get. It also makes it more difficult to “game” the analysis of a given piece of content, since the machine intelligence will compare new content to other content it’s previously encountered, and will weight new feedback as only a portion of its analysis.

You can read our full proposal here.  If (and that’s a big if, since there are hundreds of entries) the KNC people end up being interested in the idea, you can be sure I’ll be writing more about it when we put together a business plan and timeline for the second round of the competition.

I’ve been pretty interested in mechanisms for machine learning lately, and since the KNC folks were specifically looking for some proposals about authenticity, trust, and content discrimination, I thought this idea might be up their alley.

Of course, some folks think that open-ended machine learning systems are an all-too-common startup idea which never seems to quite work out.  To those folks, I’d like to point out that useful expert systems have been relatively rare until pretty recently, simply because doing it right is computationally intensive.

Furthermore, I think it’s worth noting that where this sort of system has worked in the past, it’s worked really well.  Netflix, for instance, paid out a million-dollar prize in 2009 for improving their recommendation algorithms by a mere 10%.  Amazon relies on it’s recommendation system as a driver of sales.  There’s just no question that systems like these can work; the only questions are what do you want to measure, and how do you use the information?

Netflix and Amazon want to predict what an individual will think about a particular recommendation.  Will you buy it?  Will you like it?  And that’s a great idea — it drives commerce on these sites, and makes them more useful for users.

But the questions we’re interested in answering don’t rely on personalization; we’re not so much interested in what a particular user cares about.  We’re interested in predictive modeling of things like bias, completeness, and novelty, independent of the tastes of a particular user.  The question we’re asking is, “Can we discover good journalism, regardless of subject matter?”

We think the answer is going to be that we can.  We won’t know until we actually run the experiment, however.  As far as I can determine, nobody’s ever tried precisely what we’re proposing vis-a-vis journalism on the web.  Only time will tell if we get the opportunity to try.

**Update, 1/12/2010:  The Knight Foundation declined our proposal.  Anyone want to fund the idea?  Otherwise, I’d say it’s dead in the water. **

CC-licensed image by Samuel Huron. Source - Flickr

Here’s a great series of articles about how to structure and present information on news websites.

The link will take you to the first of a series of seven posts outlining some pretty advanced thinking about content management, the semantic web, and what makes sense for consumers of web content in terms of navigation, metadata, tagging, and how we generally treat information online.

“Each of the four parts (and two addenda) will look at the current state of things, criticize what’s wrong with our websites and what should change, but I’ll also provide a first stab at a solution. We’ve had enough “journalism is in crisis but I don’t know how to get us out either”-type blogposts lately, so I’m not looking to add any verbiage to that pile.”

This link came my way via Brian Boyer, the guy in charge of news apps for the Chicago Tribune.

Source - Flickr, image by Nathan Wells

I searched around on the internet this morning and I couldn’t find an example of exactly what I wanted to do, but I DID figure it out, so I thought I’d post it  here in the hopes that it would be useful to others.

Here’s the situation:

  • You have a new printer on your network.
  • You’ve set up a shared printer queue on your Windows-based server, and it’s printing just fine.
  • You can connect to the shared queue from other computers, and it works alright.
  • You now want to deploy the printer to all the other Windows machines on your network, but it’s a pain in the ass to walk around to every single machine and set them up by hand.

Solution — remotely deploy the printer to your clients by means of your login script.

And here’s the magic formula:

rundll32 printui.dll,PrintUIEntry /in /b “{Printer Name}” /n\\{server}\{shared printer name}

Put that line into your login script, replace {Printer Name} with the name you’d like the printer to have on the client machines, and replace \\{server}\{shared printer name} with the correct UNC path to the printer queue on your server, and BAM, you’re done!

Now, the next time your users log in, they’ll get the new network printer automatically set up on their machines, all ready to go.

Your mileage may vary, of course, and this solution won’t work for Mac client machines.  Those you still have to touch.

Was this tip helpful?  Leave a comment and let me know!