The Return of the Great Filesystem Hierarchy

The problem: I have data of the same general ‘type’ spread across many web services and my personal files stored on my computer.  For example, I have PDFs of books in a ‘Books’ directory in my file system and books from Amazon in my kindle.  Or I have movies/videos on my computer, on the Play store, on Amazon, etc.    There is no one place where I can see/browse my entire movie, music, or book collection across these services.  I want a way to still be able to use certain  apps and services while still maintaining a high-level view of where all my stuff is.  For example, when I have a Kindle book, I want to still use the Amazon reader and all of its features, but for a PDF I may prefer to use OS X’s Preview or some other reader.   I want a way to reconcile the fact that, for example, a ‘book’ is the type of thing I really care about organizing with the fact that applications like Amazon’s cloud reader want your ‘thing’ to be your entire  library of books.

The file system is a solution:  Remember the days when all of your stuff was on a single file system organized hierarchically?   It’s not so convenient anymore to store all of your data in one place, and super awesome and useful cloud apps have contributed significantly to this.   However, by using your file system as your primary view, I’d argue that most of your ‘things’ across can be organized again.  One solution is to use file types that represent links.   For example, in OS X these are ‘.webloc‘ files (just drag a link from your browser to the Desktop and you will see how this looks).   You can double click on one of these and it will open up the link in a browser.   Between apps on my computer and cloud apps, using these links covers most of my cases (e.g. you can link to a specific book on Amazon or to an album on Google Play Music).  There’s even an app in Google Drive (by default using .glink extension) that properly handles .webloc files.

A natural extension to this approach is the ability to associate each thing with metadata (e.g. like a row in a database) allowing you to view  your data in multiple ways.

In any case, using files and links to web apps seems to be a good interim solution to this problem (which first appeared as a G+ post).

State of My Gadget Union: HP Chromebook 11

HP Chromebook 11

I have made two new Googly purchases recently.  The HP Chromebook 11 and the Nexus 5.

Nexus 5 thoughts soon, but after a few weeks with this Chromebook, I have found that this has effectively replaced my tablet and a surprisingly, many things I do on my Macbook Pro Retina 15”.   One of the reasons I wanted to try it out was that I found I often wanted to chat or write a quick email or do some basic keyboard-level content input with the tablet, but didn’t want to pull out a full-fledged computer.  This got me interested in the announcements for the Chromebook and the new Microsoft Surface (or potentially a new Macbook Air 11”?  That would be very tempting).   So for me, while the Chromebook is more of a notebook than it is a tablet, I find that I use it more like a tablet: to quickly look up and input content.

Pros in my experience:

  • Surprisingly, this is currently my most used device.  My Macbook Pro Retina 15” is now used almost solely for larger, visually-intensive projects like creating a presentation or poster.  And my tablets have become fancy remote controls lately.
  • Super inexpensive
  • Incredibly handy: can fit a tiny netbook/tablet bag
  • Great for content input vs. a tablet
  • Micro USB charging very handy: don’t have to carry two chargers
  • Display is really good (this is what got me interested in the first place): very nice contrast and viewing angles (even when compared to the Macbook Air)
  • Font size scaling in Chrome is nice: iPad + keyboard, for example, doesn’t scale fonts well, so it’s hard to use when placed at a distance: i.e. towards your lap or knee vs. held up near your face.  Chrome on a Macbook Air can scale fonts, but that’ll run you about $1,000: and you’ll have a less appealing display at the moment.
  • Very light: can easily hold it in one hand
  • Nice to use for coding via SSH

Cons:

  • Can be laggy/frame-droppy at times: especially when compared to a Chromebook Pixel,  Mac or Google/Apple tablet experience.   For a similar price, I believe the Asus and Samsung models may be faster, but the displays aren’t as appealing.
  • Native apps like Hangouts or Keep don’t appear to support font size adjustment. I just use the browser instead.
  • If you were to use this for presentations, I’m not sure how you would give one.
  • Low battery life.

For the price, those are the only cons I can think of after weeks of use.    This Chromebook may not have been targeted to a geek like me who already has much more powerful, beautiful machines, but it certainly has won me over.   Things I’d like to see in the next iteration of entry-level Chromebooks by Google:

  • Smoother.  Please make this a smoother, more responsive laptop!  Maybe the Asus or Samsung models are smoother, but I really liked the display on this one.  I think many would pay the premium for this.  One of the things I like about Apple products is that no matter what ‘line’ you get from them, you typically don’t experience any major lag in performance for basic tasks, and I think this is a good standard for Google devices.
  • Ramp up native Chrome apps to be more like a nice tablet experience.  For example, make a native Youtube or Gmail App that immerses you in.
  • Maybe a touchscreen like a lot of Windows models are going with (or the new Acer C720P!)?

Why Isn’t 23andMe’s Disclaimer Good Enough?

23 and Me Spit Kit

[Image from 23andme.com]

The company 23andMe offers a different kind of ‘tech’ than I usually talk about on this blog, but it is meant to be a useful service for you (and for the company to collect information across many individuals).  Give them $100, and they will mail you a ‘spit kit’ with a tube that you literally spit in and send to it to them for analysis. They then use genotyping to determine whether you have certain variations in your DNA that are associated with your ancestry, disease, and other potentially genetically-derived traits.

I personally used their services about a year ago, mostly interested in ancestry.  Honestly, I wasn’t  too interested in their disease associations (though I believe this will become more and more useful as we sequence more individuals and develop better computational/statistical methods to analyze the data).  In the scientific community,  genetic associations with diseases are still, for good reason, met with skepticism (see, for example, this recent article).    This skepticism has worked its way up to politicians, resulting in various efforts to regulate laboratory developed tests.  I believe genetic testing and screening has a lot of potential and am excited that so many efforts exist to provide individuals with these kind of services, but as many scientists would probably agree, we are just beginning to understand how complex traits and diseases are associated with genetic variations across individuals.

23andMe recently received a letter from the FDA to “immediately discontinue marketing the PGS [Personal Genome Service] until such time as it receives FDA marketing authorization for the device”.

What surprised me when reading the letter was this statement:

Some of the uses for which PGS is intended are particularly concerning, such as assessments for BRCA-related genetic risk and drug responses (e.g., warfarin sensitivity, clopidogrel response, and 5-fluorouracil toxicity) because of the potential health consequences that could result from false positive or false negative assessments for high-risk indications such as these. For instance, if the BRCA-related risk assessment for breast or ovarian cancer reports a false positive, it could lead a patient to undergo prophylactic surgery, chemoprevention, intensive screening, or other morbidity-inducing actions, while a false negative could result in a failure to recognize an actual risk that may exist.

Perhaps because I have training in computational biology, I always assumed this information is meant to be more like a ‘hint’ or ‘suggestion’ that you might want to investigate a medical issue further with a physician who can conduct specialized follow-up tests and recommend further courses of action.  For instance, I have a minor version of Beta-thalassemia that apparently doesn’t require medication or affect my daily activities. 23andMe correctly identified that I have this trait.  This disorder can be discovered via blood testing by a physician, so if I didn’t already have these tests, my 23andMe report may have alerted me to investigate this further.   I think this is useful information.

My 23andMe page also displays this disclaimer:

The genotyping services of 23andMe are performed in LabCorp’s CLIA-certified laboratory. The tests have not been cleared or approved by the FDA but have been analytically validated according to CLIA standards. The information on this page is intended for research and educational purposes only, and is not for diagnostic use.

I do think that it could be made more prominent perhaps with a clause that states that some of these associations are in a stage of ‘early research’, but I am writing this post more to pose a general question to anyone that has some insight into the legal aspects of this recently newsworthy topic: why isn’t the disclaimer above (or a better one) good enough for the FDA?   Certainly, I understand that the general public doesn’t have the same knowledge I do about genetic tests, but given a disclaimer like this, why can’t 23andMe sell me their services and let me make follow-up decisions?

Some FDA links that are relevant:

Using Tech to Enhance Remote Experiences

Google HangoutsIn an earlier post, I mentioned that, to me, one of the main benefits of tech is to “to inspire users to create and share ideas and enhance the overall experience of learning and growing as human beings”.   This is the first of hopefully a number of posts providing suggestions/examples of how we could do that (as opposed to play with the latest toys/features of software and hardware or browse social network streams until we drop).

One of the most essential needs for humans is the good company of family and friends.   While we all also need isolation and time for reflection, the need for spending quality time with family and friends will never go away, and I have found that just being around this kind of company makes me happier and more productive.

Experiencing family and friends in person is great, but because of job opportunities or travel we are often forced to communicate remotely.   What I have found is that this kind of communication is mostly ‘active’ with the exception of chat which is usually very passive.   The problem with ‘active’ communication (e.g. phone or video chat) is that a constant stream of attention is required.  I think this is what leads people to say “I’m not really a phone person”, for instance: the desire to avoid awkward pauses or moments when there’s not much content when the medium of communication sort of ‘demands’ a more active form of communication.

But when we are ‘hanging out’ with our family and friends in person, such an active form of communication is not expected of us.   For example, when you are at home with the family it’s perfectly natural for different members of the family to be reading, doing homework, etc. with the occasional interruption to share a thought or to eat.   I believe that it is exactly this more relaxed form of communication that creates an atmosphere of comfort and openness to share ideas and fun experiences.

There’s no reason that we can’t use phone and video chat to experience a more passive, potentially more inspiring form of communication.   One of the best experiences I had shortly after graduating college was sharing a video chat while watching Arrested Development episodes with a friend remotely.   We didn’t just watch the show.   We spoke as if we were in the same room together and it was so fun that I still remember it fondly many years later.

It’s a little odd: you have to get all parties to agree to leave their video/audio chat open while you cook/share a meal for example.   It’s not the norm, but I think doing more of this passive communication with family and friends would be a great use of tech that already exists: especially since we don’t have to pay by the minute anymore!

Think Before You Tech

First, this blog has been revived!   The last post before the Nexus 7 Experience was a long time ago.   Since then, I have become a Ph.D candidate, transferred from University of Maryland to Carnegie Mellon, and made a web page summarizing some of the work at my recently re-acquired domain.  At first I was thinking of moving my blog over to Weebly which is what I used to host the web page. (I decided not to hand-code my web page this time and it was so much faster to get the design I wanted.)   I decided to stick with WordPress because I think they do a really good job of distributing posts to a larger audience and I have had a number of useful interactions on their platform.

To inaugurate this second coming, I wanted to mention something more philosophical that has been on my mind lately, and that’s the role of tech and gadgets in our lives.  I occasionally post on various social media effusing my excitement on new gadgets or technologies.   Are these just my toys?  Short answer: YES! I enjoy playing with new tech toys.  This being said, I believe it’s important to emphasize a “think first” approach to new technologies.  Social networks like Facebook and Twitter are great: and new devices can make it that much easier to access all the new news feeds and information. But these feeds can also be thoughtless diversions from valuable human experiences: sharing a great conversation with someone, helping others out, and as someone I know pointed out recently on a private G+ conversation: even doing basic chores like vacuuming (this was in reference to an automatic iRobot cleaner)!

For me, the benefit of new technologies is to inspire users to create and share ideas and enhance the overall experience of learning and growing as human beings.  Another benefit is to reduce needless suffering in the world (e.g. lack of shelter, hunger).    I appreciate when big companies like Apple and Google focus on enhanced experiences as opposed to introducing just another new technology.  For example, the recent Google Plus keynote hinted at this a little when Vic Gundotra gave the example of capturing a special moment with his children.   I think we are just scraping the surface here.    In the future, when I talk about my experiences with technologies and products, I will try to focus even more on the aspects I mentioned at the beginning of the paragraph.

Scala is pretty awesome

After hearing about it a lot, I have started using Scala recently and am finding it really fun and powerful to use.  Scalala is a nice analog to numpy.  The documentation needs to get better, but I think it’s coming along.

I just found a good introductory video by the creator of the language, and if you’re curious whether this is a language you’re interested in playing with, I think it is a good place to start:

http://www.youtube.com/watch?v=zqFryHC018k

Grabbing individual colors from color maps in matplotlib

Want an individual color from a color map in matplotlib?  You would think this would be easy (and it is as you will see below), but as I traversed the documentation, I could not find for the life of me how to do this.  After looking at various matplotlib functions, Rob and I finally found that it’s really simple (and apparently undocumented as far as we can tell).  Just choose your colormap (e.g. ‘jet’) and call it like a function with a value between 0 and 1: e.g. pylab.cm.jet(.5).  This will return you the rgba 4-tuple that you can use for whatever.

Reclaiming your second monitor in OS X Lion

Upgraded to Lion?  Use dual monitors?  Notice the full screen problem?  My lab mate Rob and I found an interesting hack.

  1. Open an application in full screen mode (e.g. Terminal)
  2. Use three fingers on the trackpad and move slightly to the right or left so you are transitioning into the respective space (the ‘transition position’). Hold this position.
  3. While maintaining the transition position, launch another application.  For example, use spotlight to launch TextEdit by pressing the apple key + space and search for TextEdit. Choose it, and press enter.
  4. Still holding the transition position, wait until your application loads.
  5. Let go of the transition position by lifting your three fingers.

I stumbled across this by accident while trying to open system preferences when in full screen mode as you can see in the attached picture.

Now your second screen is not a paperweight 🙂