GEEKERY  
ADVENTURE  
CONTEMPLATION  

20160118

HDF5: where have you been all my life?

Nathaniel introduced me to HDF5 around the winter holidays (because, yes, that's the kind of thing we talk about while on vacation), but I just started using in in earnest this past week via h5py.  I may never go back to plain text data storage if I can help itwe'll see if I can convince you too.

This is a script that simulates a big matrix off random data, writes in both formats, and reads from both formats.  The syntax is similar for both.

To compare h5py against plain text, I ran the above (plus timing code added in) 100 times with different random data.  Here are the average results.

plain text
h5py
writing
9.44 sec
0.0634 sec
reading
7.94 sec
0.0051 sec
row access
3e-5 sec
6e-4 sec
col access
1e-6 sec
0.016 sec
file size
239 MB
77 MB

If your data is small enough or you need to access almost all of it repeatedly, plain text files might still be good for you.  I usually sample rows from large datasets that eat memory like chocolate cake. So for almost everything I do, h5py is the clear winner.

20151027

Black box variational inference for gammas

Whoa, this has been a long blogging hiatus for me.  I have no excuses other than I've been enjoying life and working hard.  So not excuses, reasons.

I return with a super light-and-fluffy post to share a guide to black box variational inference for gamma-distributed latent variables.  BBVI is very powerful, but I was having trouble applying it to gamma variables, so I asked Rajesh (its creator) for some tips.  I wrote the guide to try out his tricks on a very simple model and share them with other folks that might be having similar issues.  Have fun, ya'll.

20150716

the fastest way to embed fonts in a PDF (for me)

I needed to submit a PDF today with all fonts embedded.  I'm working on a Mac with TexShop, and after much angsty Googling, I found lots of answers that seemed to work for other people, but for one reason or another, weren't working for me.

This is what I ended up doing: I created the PDF like usual with TexShop (without all the fonts embedded...I'm looking at you, Helvetica).  Then, I used pdf2ps to convert it to a postscript file, and then Adobe Distiller to convert back to a PDF (with all fonts embedded).  There may be other ps to pdf options that do the font embedding (Dstiller isn't free), but I was sure Distiller did, and I was on a timeline.

This is the PDF equivalent of "just reboot it."  It's silly that embedding fonts is such a messy process.

20150224

women in STEM: where to intervene

I am at workshop this week, and had an interesting sideline conversation today.  We both agreed that there was culture-induce inequality of the genders in STEM fields, but the fellow I was talking with disagreed with with me on how to fix things.

I was saying if a department had zero female faculty, then they should make an effort to encourage women to apply.  I was not saying that they should be given less stringent requirements or that a lesser qualified female candidate should be preferred over a more qualified male, but that they should simply make an effort to seek out qualified candidates.

He was arguing that we should address the cultural influence not at the faculty-hiring level, but at the elementary school level.  While I think that there is much that can be done in elementary school, this would never be enough.  A girl could be taught to love math in the third grade, but by the time she made it through the gauntlet of media aimed at middle schoolers, there is very little chance that the elementary school efforts could outweigh other influences.

If we're going to make an effort to level the playing field for men and women in STEM, it needs to happen at every level.  We cannot focus only on faculty or other employment nor can we only dedicate our efforts to primary or secondary education.  The efforts go hand in hand: without role models, girls may think that certain jobs are unappealing.  Without efforts in schooling, there will not be a population of women with the interests and tools to pursue STEM fields.

But these aren't the only areas that influence girls' choices to pursue math-y fields or not.  TV shows, movies, toys, magazines, advertisements, parenting choices, religious communities, political parties, news, and books all shape the way we think about ourselves, how we contextualize our existence in the world.

Any time a mother says to a daughter: I'm not good at math, ask your dad, the daughter's expectations  are adjusted; it's now okay not to be good at math.  Worse yet, she's taught that it's okay to deprecate yourself, which lowers self-esteem and propagates negative cultural influences.  Now, it's totally legitimate for many women not to enjoy math or not be skilled at it, but for the sake of your daughter, your own skill doesn't need to enter into it.  Instead, a mother could say: Oh!  This is important, but it's your dad's responsibility to help with math homework.

Since the influences are so broad and diverse, what can we possibly do?  When do we intervene and how much?  In most cases, I don't think we need a broad campaign; we just do what we can where we can.  If we're on a hiring committee, we seek out qualified candidates.  If we're an elementary school teacher, we make sure to present the material without gender (or other) biases, and teach all students that they can excel.  If we're a manager, we assign tasks simply based on the ability to perform them.  This applies to all areas of bias, be they gender, ethnic, orientation, religious, or something else.

The idea here is that popular culture and media pushes individuals in a certain direction: women need to conform to certain standards of beauty, families need to be constructed a certain way, boys should be good at math and sports.  When we see something that feels wrong, we just need to push back in whatever ways we can and hope that our efforts offset the influences we deem to be negative.

The frustrating thing about the conversation today was what felt like a willful misunderstanding.  He asked things like, So do you think that a certain percentage of the faculty in a department should be female?  No; it's silly to set numbers in advance.  If things are grossly unbalanced (like the specific case I was actually talking about with zero female faculty in a reasonably large department), then the department should make an effort to hire women.  He then objected that you shouldn't fight an inequality with the inequality of hiring under-qualified women.  What bothers me about this argument is that it assumes there aren't qualified women; there are, you just have to look a little harder for them, which is what I was proposing.  He then shifted the focus to contrasting elementary school initiatives vs. faculty hiring efforts and eventually even went so far as to compare recruiting females to recruiting people with blue eyes in an effort to question what constitutes diversity.

I think it's common for men to feel threatened by the idea that women should be more actively recruited.  It's natural: it implies that they're less desirable, which isn't the case.  The reason I bring this up isn't to shame a particular person (I intentionally included no names), but to highlight an area that can be improved.  I don't think everyone should agree with me, and I do think that he's right in some ways: women are just people and should be treated as such.  The problem is, that until they're actually treated as people in all facets, we can't pretend that everything will just be okay if teach elementary kids to like math and science.  There are so many factors at play that we need to make an effort to change culture; it doesn't happen naturally.

And in the effort to change to that culture, I think we need to be a little more careful about they way we converse about these issues.  I know I get defensive and other people do too; I think this is the first thing that can change, because as soon as it does, we can stop talking past each other and actually get some stuff done.

20150204

Allison's Law: "The mess has to go somewhere"

When I was a growing up, we had a standard of cleanliness in our house called "daddy-clean." My brother and I were asked regularly to clean are rooms, like most American children, but when we were done, mom would always ask: Is it daddy-clean?  This usually resulted in a second round of cleaning to make sure everything was out of sight.

There was a flaw to this paradigm, however, which was that daddy-clean only applied to things that were visible.  Thus, I learned the art of shoving everything under my bed, which had a convenient bedskirt to hide everything.  Toys, clothes, paper; everything went underneath.  When under-the-bed got full, the closet was my second choice.  Eventually my parents found out about this, due to an abundance of random objects poking out, but they allowed me my secret messes so long as they didn't get in the way of finding important things, which they occasionally did.

Nowadays my messes look a little different.  In addition to paper, I have more abstract things like source code.  And my experience growing up has taught me: the mess has to go somewhere.  Most of the time, this is just a trade off between different aspects of cleanness of an end product and time, but it applies in so many cases.

Consider the process of creating a user interface.  The mess can go into the source code; everything hacked together in an ugly mess underneath.  The mess could also go into the UI itself: bad design with beautifully easy implementation.  Or, the mess could be absorbed with lots of time to have pretty code and sleek presentation.

Or consider a different piece of software, like an operating system.  The mess could go into the kernel, into the user experience, or passed on to developers for that platform.  Or, again, the mess can be absorbed by lots of time and effort.

In my experience, the mess of the very pretty Mac OS is passed on to developers.  D3, with its steep learning curve and beautiful graphics, also passes the mess to programmers.  Easy-to-use and powerful libraries like ggplot2 for R probably put the mess in some combination of the under-the-hood code and time.

I've also been thinking about this in terms of (machine learning) model development.  Usually elegant models require an intense amount of time to polish into their perfected forms.

It's not always the right choice to absorb mess with time; sometimes a project isn't worth doing exceptionally cleanly.  I think it is always worth it, however, to consider where your mess will be going in order to make a measured choice.

20150130

on lady tech events

I recently had a colleague ask me about women in tech events, and I wanted to adapt my response into a blog post.

Women in tech events and long-term mentoring can be very fulfilling, especially when the audience is narrow enough. That said, I'm always hesitant about female tech mentoring because it seems like there is so very much of it, both soliciting mentors and mentees, so it's easy to commit to more than you actually want to do.

It's important that every individual takes a step back asks themselves: How much time do I want to dedicate to networking and mentorship? What kinds of interactions are most valuable to me? (What have I enjoyed about other events I attended?) Plan the big picture first, and then use that as a roadmap to make the smaller choices.

In the end, these are personal choices about you and your career. For me, going to WiML every year is enough. But other people might want more support or networking. Still others might not care at all about things like this—again, this is totally personal. It also varies depending on where you are in your career, because our needs and preferences evolve with time.

As a one-off, these kind of things won't make or break you, but it's the aggregate of multiple events over your career. If you're not certain about a particular event, it might be worth going, just to see how fulfilling these kinds of events are to you, so you can make informed choices going forward.

20141209

WiML 2014 workshop

Yesterday was the culmination of many months of planning for the annual Women in Machine Learning workshop.  I think it will easily be my favorite part of being up in Montreal for the duration of NIPS 2014.

We had an amazing program; our invited speakers were Carla BrodleyTina Eliassi-Rad, Diane Hu, and Claudia Perlich with Finale Doshi-Velez giving our opening remarks.  Our student oral presentations were thought provoking, and the breadth of our poster session was immense.  Corporate sponsors sent great representatives, and the round table mentoring session enabled some amazing discussions.  I feel like I can through positive adjectives at basically any aspect of the event, from our volunteers to the food.

I loved working with my fellow organizers Marzyeh Ghassemi, Sarah Brown, and Jessica Thompson.  It was an amazing experience and I'm very glad to have had this opportunity.

Thanks to @kmkinnaird for her photography!

20141123

onion startups

I've thought and talked a lot about startups—this shouldn't be that surprising giving my field.  In doing so, I've crafted a theory for making startups successful, though I have no practical experience in testing it.

We know that every startup has its core: the minimal viable product that can start getting the attention of investors or consumers.  But after this core, they need to grow, or add another layer of product that builds on the core.  And then they need another layer, and another...like an onion.

The idea is that startups need a road map for progress.  The minimum viable product is essential, but they also need to know each stage of production.  As in, what comes immediately after the MVP?  And what about after that?  Do we waste time floundering around looking at our motley of ideas?  Does each developer work on a different improvement until one takes?

If your idea doesn't have multiple stages beyond the MVP, it might not have long-term value.  On the other hand, the final product should be substantial, but not bloated.  Make sure each layer depends on the previous one so that it's not a branching of random ideas.  We are not a broccoli.

In the end the goal should be to solve a single problem well, and each layer hones expands and generalizes the solution.  I think that people in the startup world already know this—it's the people who are toying with the idea of doing a startup for the first time that need this perspective.

20140823

I don't need data

We got a mailer from T-mobile this month saying that our plan was going to be upgraded and giving us a broken link to info about the upgrade.  Very helpful.  NWC is also on the market for a new phone; he wants "anything without a big screen," a.k.a. not a smartphone.  Thus, I've been looking at cell provider websites lately and I've been really sad that there are basically no plans without data.

So far this month, I've talked for 12 minutes and used 8 text messages; NWC is beating me at 48 minutes and 46 text messages.  1000 minutes is the minimum we can get with T-mobile; it used to be 500, but all we really need is 200.  Our monthly bill for this pittance of use?  $73.13.  It's a complete rip off, but I haven't been able to find anything cheaper with the main providers.  Cell phone plans are increasingly including things that I don't want or need as part of their cheapest plans, raising their rates on the low-end products and forcing people into using smartphones.  You have to hunt for alternatives.

I'm seriously considering changing to Consumer Cellular, where our monthly bill would be reduced to $35 for 600 minutes and 1000 text messages.  There are other obscure phone plan providers, but theirs seems to be a good match for us.  I'm also amused that their target demographic is elderly and retired persons.  We won't get in-network benefits, but we weren't really using them anyway as we make our long calls via Google Hangouts.

Do you know anyone that uses a non-mainstream cellular provider?  How are they?

20140722

Daft for probabilistic graphical models

probabilistic graphical model rendered with Daft
Daft is python package used to render graphical models. Its renders are indeed lovely (see right), but the pipeline leaves something to be desired, and there's still a lot of functionality missing.

To try it out, I decided to draw one of the simplest PGMs possible: N points drawn from a mean μ.  It was frustrating to enter coordinates to place the nodes and plate boundaries. It would be preferable to specify which nodes the plates should surround, just as the edges specify which nodes they connect.  It would also be nice to not specify coordinates at all for the nodes, and instead have the system determine placement (but still allow manual override).

There are no options to control the alignment or scale of plate labels, and the concept of specifying an origin was a little strange, even if it makes sense.  The aspect ratio of the graphical model should be fit to the contents, and you should be able to set margins; the only time we should specify a size is when rendering.

While it seems promising, the learning curve is too steep for me.  I've entrenched myself in Inkscape, where it's easy for me to center things quickly.  Churning out the variant below took me about two minutes, whereas the Daft variant took closer to ten, and it still needs work.  That said, Daft does match fonts better with LaTex documents.  I could see it being powerful once you know how to handle its quirks.

probabilistic graphical model hand-drawn with Inkscape

20140624

blogiversary!

Today, it's been six years since I started blogging.  To celebrate, I decided to do some text analysis of the 455 posts I've published here, prior to this one.  In curating the corpus, I learned that I write words like totally and amazing far too much.  Moving past my bad mannerisms, there's some fun stuff to see.

I ran the topic model LDA with 50 topics.  It captured the things I like to do: gardening, cooking, and travel. (I'm showing the top 10 terms associated with each topic, and top 5 documents.)

topic 008 chocolate butter egg cup add cream sugar mixture potato lime
two tarts
potato shallot souffle
Nearly Rotten Apples
chocolate festival!
chocolate cake for two

topic 037 seeds plants garden seed tomatoes tomato plant garlic planted plot
starting my heirloom garden
the hard way
So it begins...
frost vs. freeze
bring out yer dead

topic 048 car trip beach drive night friends road visited nwc park
East Coast Australia
up for air: a beautiful, but messy, life
Adventures in Israel, the Epic Saga, Chapter IV - By Day and by Night
concussion!
Come, come, ye students!


It also found some things that I geek out about: software designbooks, and teaching.

topic 009 computer password system name history users physical person book month
accounts - what's the point?
designing everyday things and computer interactions
What should computers be able to do?
unplug
retina displays and serif fonts

topic 012 books book digital library kindle true screen already order libraries
paper and pixels
the Birth Order Book
fiction or nonfiction?
minimally problematic
Kindle review

topic 046 kids science school computer does mean taught put true teach
incorporating computer science into K-12 curriculums
welcome to the system
sorting concept game
switching places
the things we don't clean (little moment of compulsion #5)


And, unsurprisingly, it found the things about which I blather extensively: gender and sexuality, religion, mormon feminism, and morality in general.

topic 039 gender school roles boys girls children grad changed turn transgender
don't compete with the boys
transgenderism
redefining ambition
a blast from the past
gender identity in young children

topic 034 god atonement christ believe belief post faith negative self comfortable
Answering the Temple Recommend Interview Questions
inner light
just on belief (a follow up)
The Atonement
knowledge vs. belief

topic 035 women church priesthood mother holy gender father roles ghost heavenly
General Conference Sentence Generator
teaching young women
Boys and Girls and God
seeing change, or fruit and dirt
The Holy Ghost and Heavenly Mother

topic 047 marriage morality laws society child believe different parents moral gay
on the mercuriality of moral caliber in our beloved republic
forgiving vs. condoning
morality in a governed society, emotional premises, and same-sex marriage
on belief and expressing ideas
can't touch this


Because we have the time aspect, I was tempted to run Sean Gerrish's dynamic topics + influence model to see how topics shifted over time and what posts were prescient of change, but I was too lazy.

We can still, however, track page views over time (Blogger messes up the x-axis labels; it really starts at June 2008) and the number of post over time.



Other tidbits:
  • my most popular post is The Holy Ghost and Heavenly Mother
  • my cs webpage refers the most traffic
  • I have 145 unpublished drafts, ranging from short notes to fully-fledged posts. Some of these I'm still working on, but others I've decided not to publish, but don't want to delete.
  • To date, I've earned $4.13 via Amazon ads.  More on my ad policy here.

20140610

use vs. utilize for scientific writing

Earlier this year, NWC pointed out that lots of people employ the word utilize when use would do just fine.  It stuck in my brain and now bothers me on par with folks using less instead of fewer (thanks for that one, Bryce).

I took a look at what Grammar Girl had to say on the subject and I didn't find the results compelling:
So if you're a science writer, you might find yourself using the word “utilize.” If you’re just a regular person writing a regular sentence, you should probably just stick with the word “use.”
That's all fine and dandy, but I happen to do a bit of science reading and writing, and we need some guidance.  Science doesn't get free reign with unnecessarily pretentious words; in fact, scientists should probably take greater care than regular folks to make sure their writing is clear and accessible.  So, no.  No, free pass for you.

Not able to find free access to the only source that granted this ambiguous exception, I turned to the trusty OED on the matter.  Honestly, though, looking up use is overwhelming. Taking a gander at utilize, however, the distinction starts to become clear: to convert to use.  I might be reading too much into it, but I'm interpreting this as: things that are changed somehow by their use are utilized.

(An aside: I find it thoroughly ironic that the first written usage of the term utilize in English, at least per the OED, was by Joel Barlow, who is probably some distant relation.)

While this hypothesis explains the chemistry example given by Grammar Girl, it also allows for other instances that I find objectionable, such as: Do we need to utilize flour in this recipe? or The printer utilizes ink very efficiently.  No, thank you.

Thus, unless your editor, advisor, or colleague can provide a substantive reason for employing utilize instead of use for your discipline, I appeal to Strunk and White's The Elements of Style, 4th edition, page 63 (Words and Expressions Commonly Misused):

"Utilize. Prefer use."

sorting concept game

Sorting is one of the computer science concepts that I think is fun to teach kids.  It shows them why having an algorithmic approach is important, and that some algorithms are faster than others.

A year ago, I did a physical demo of sorting at a local elementary school science fair.  I had a scale and small jars filled with things, and the kids were excited about solving the puzzle. But, kids are also really good at cheating, and they used the contents of the jars to guess the order, or used their memory of how heavy a thing was in their hand.  I anticipated this a little and filled a few of the jars with cotton and other light-looking stuff on the outside and then heavy bolts on the inside, but that only worked until they picked them up.

So I've been toying with the idea of making a digital game of it, and put together a Sorting Concept Game, where concept applies to both the concepts being learned and also that it's just concept work and not ready to be put into real use.

For instance, there's no indication that the second row is just for utility and the first row is where you should put your solution.  Also, the button to "check" your solution doesn't do anything if your solution is incorrect.  I'd also like to put in puzzle numbers and have an option for starting a new puzzle (instead of either reseting to the start of the same puzzle or reloading the page for a new one).

I made it with Processing, which is very easy to work with, and has a javascript mode that exports to HTML 5 canvases.


20140413

learning to tie a bow tie

This morning NWC felt like wearing a bow tie to church, but neither of us knew how to tie one.  I had wistfully purchased a bow tie for him maybe a year ago; when I originally bought it, we both tried briefly before giving up and it has remained unused since. Tonight I finally settled down and learned from this Wikipedia image, first on my knee while sitting cross-legged and then on my good ol' teddy bear Brownie.  I think he looks rather dapper. Now when NWC has the hankering for a bow tie, I'll be ready.


20140131

rating systems and January books

In keeping with staying off the computer in my free time, I finished three books this month. I'm going to try to keep a monthly log of the books I read here, but no promises. My rating system will be as follows: three stars for books I love, two stars for books I like, and one star for books that were okay. I've worked far too much with user data on a five star scale, and so I know that the five star system is hopelessly skewed--see the plot for an example of some data I use.


People like to spend their time reading good books, though, so it would make sense if good books get more ratings.  Well, let's take a look.  Here's a scatter plot with a smoothed mean.


So popular books do tend to get higher ratings, which makes sense, but we still see a bias, since the least popular books still have an average rating of around 3.  With my rating system, I'm going to try for more of a bell-curve, giving mostly two stars, and about equal number one-star and three-star ratings.  One star books I probably won't recommend to folks, two star books are definitely worth the read, and three star books I might like to read again and will probably push randomly on friends.

Anyway, on to the books!  For January, there was an accidental theme of poverty in all of them that made me want to tighten my belt and always be grateful.

Behind the Beautiful Forevers ★★
A Christmas gift that had been on my to-read list for a while, this nonfiction about a Mumbai slum made me want to donate more.  While there was somewhat of a story arc, it was more about seeing a slice of reality in abundant detail.

Freddy and Fredericka ★★★

A $1 purchase at the library's used book store, this has been one of my favorite reads in a long while. (Mark Helprin is one of my favorite authors, despite my critique of Digital Barbarism that I'll probably never finish.) This book involves a royal couple needing to struggle for survival in America, and it's a staggering trip to go from champagne to homelessness.  There's fantastic distortion of reality, beautiful language, and a tenderness that simply made my soul feel full.

This classic book sat squarely between the two others in both realism and degree of poverty.  There's a Cinderella-like quality to the book, and I'm always a sucker for both reader-girl protagonists and Cinderella stories.

20140130

Project Euler

I learned about Project Euler this weekend, and it's been addictive.  I binged at first, but it's a little unhealthy to do such similar things for fun and work; I need to stay balanced and keep off the computer in my down time.  I'm trying to only do one per day now, and go back to knitting and reading.  It's deepening my understanding of both math and programming, but I don't want to burn out too quickly.

20140121

spammer fail

NWC and I will often get research or student spam.  Today, he got one with a failure in the script, addressing him literally as "Dr {$name}."  Full message below the break.

20131120

on zombies (or, why pop-culturalization of folklore sucks)

The undead have a long and glorious history in folklore and mythology, but zombies in particular come from Haitian folklore. In general, they are dead who have been revived and are under control of the person who revived them. [1] That in itself is a creepy concept.

Zombies in modern popular culture, however, have the added wow-factor of cannibalism, and often associated with apocalypse just to round things out. How did this jump happen?  Mostly, it was the 1968 film Night of the Living Dead.

So what's my beef?  I find the triple combination cannibalism, apocalypse, and being mindless or controlled post-death to be totally absurd.  Each are creepy in a potentially realistic kind of way, but together they form a trinity of absurdity that respects neither folklore nor science.

Consider: one could conceivably be poisoned into a deathlike state and be brought back to life on a hallucinogenic drug and kept in a listless state as a slave.  It could physically happen, and it seems to have actually occurred; that's a little terrifying. Cannibalism also happens. People get hungry with no other options. This is repulsive and scary to a normal, well-fed human.

Pop-culture zombies, by contrast, are both listless, mindless drones and also lethal, cannibalistic monsters. Frankly, the two just don't add up, since I'd imagine it's very hard to kill anyone when you're in a sluggish state. The hallucinogenic drugs could hypothetically give cannibalistic inclinations, but the victims wouldn't be able to do anything about it that would pose a real threat.  So that's the first absurdity...but wait, there's more!

An apocalypse is also a scary, vaguely realistic thing.  It's entirely possible (though not probable in the short-term) that through mismanaging natural resources, natural disaster, a devastating virus, or nuclear stupidity, civilization could be degraded to a more primitive form.  It's a little silly, but I do worry about personally having the skills necessary to survive in such a situation, even if it was localized and relatively short lived.

But...zombies?  Apocalypse causing cannibalism I could understand, but apocalypse being caused by cannibalism?  Or better yet, being caused by a horde of sluggish, mindless people?  Either (let alone both) would be completely bizarre.

So modern zombies irk me a little; they trivialize real and potential tragedies. They fabricate a fictitious facade over folklore and fact.  These pop-culture figures can be humorous or scary, but regardless, they just don't suspend my disbelief the way other science fiction and fantasy characters do.

A world of zombies has no compelling motivations that could not exist with more resonance without them. These more profound worlds are harder to write, and so zombies provide an easy gimmick. Zombie enthusiasts, I'm sorry, but they just don't do it for me.  Please forgive me.


[1] See Wikipedia and Outside Magazine.  Neither are particularly compelling sources, but were you really expecting a Nature citation?

20131108

Kindle review

I've had my Kindle for almost six months, and I'm close to finishing my seventh book on it.  (Don't judge, my reading-junkie friends!)  I haven't written about it until now because my opinions on ebooks have been evolving for a while, and I wanted to have a somewhat settled perspective.

I started off by reading a few things on our iPad, but reading on a screen stressed my eyes in a way that reading from paper does not.  Eventually, I starting lusting after a proper e-reader, and several months after that, I finally made the purchase.

The version I have is the lowest tier without "special offers," or ads.  I like that it isn't lit because it makes it feel more like a book and less like a screen--I get enough of the latter already.  I also like that it isn't a touch screen because the delay between pressing buttons and the screen reacting is long enough that a touch screen would be a little silly.  I also like that I don't have to be careful about not touching the screen, since then I can handle it a bit more like a real book.

I've been going through one-time reads, and I like not cluttering the house with new books.  Libraries used to be my go-to for many (but not all) of my one-time reads, and so the Kindle is certainly enabling my being a lazy consumer.  At the same time, the library doesn't always have what I want and I'm happy to support the authors I enjoy.  I like the experience enough that I'm considering getting old favorites that I already own in electronic form, but Amazon is currently rolling out an program that gives you discounts for exactly this scenario--I might wait to see if some of those are adopted into that program first.

Once upon a time, I would carry a book in my purse, and this has certainly lightened the load.  It was great when we took our trip to India, since it lasted the whole three weeks (I might have charged it once in the middle at one of the strange charge-your-phone stations) and I read two different books that would have taken up a lot of space.  I also used my Kindle every day when I commuted to the city via train.

Technical books and papers (PDFs) aren't good to read on it, but I'll forgive it that.  Some novels even have slightly wonky formatting, but most of them are great.  Occasionally pages will be rendered differently (as in the page breaks at different places) if you turn it off then on again or move back and forth between pages, which is a little odd.  The thing that I thought would bother me the most was the whole screen flashing occasionally on a page change to clean up the residue from previous pages.  I don't even notice it anymore.

I think we'll still have paper books for a good long while, but there is a place for ebooks.  My favorite moment was when N read something for a while on my device, and when he finally passed it back, muttered sheepishly, I want a Kindle.