<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Posts tagged "flickr" - nolan caudill&#39;s internet house</title>
    <link>https://nolancaudill.com/tags/flickr/</link>
    <description>Posts tagged "flickr" on nolan caudill&#39;s internet house</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 30 Mar 2013 07:00:00 +0000</lastBuildDate>
    <atom:link href="https://nolancaudill.com/tags/flickr/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>FlickrTrickle</title>
      <link>https://nolancaudill.com/2013/03/30/flickrtrickle/</link>
      <pubDate>Sat, 30 Mar 2013 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2013/03/30/flickrtrickle/</guid>
      <description>&lt;p&gt;This is a little tool that I wrote a couple of years ago that I think a handful of people use occasionally. To keep up with my philosophy of &amp;ldquo;if it can be open sourced, it should be open sourced,&amp;rdquo; combined with asking for people&amp;rsquo;s read-and-write privileges to their Flickr accounts without showing the code, I finally got around to taking out the secret config bits, writing a README and &lt;a href=&#34;https://github.com/mncaudill/flickrtrickle&#34;&gt;opening it up&lt;/a&gt;. Below is a copy of the README.&lt;/p&gt;
&lt;h2 id=&#34;what&#34;&gt;What?&lt;/h2&gt;
&lt;p&gt;FlickrTrickle lets you slowly introduce photos you upload to Flickr into your contact&amp;rsquo;s streams so they&amp;rsquo;ll get seen by working around Flickr&amp;rsquo;s interface that only shows the last five photos show from a contact, regardless of how many they just uploaded.&lt;/p&gt;
&lt;p&gt;This is the code behind &lt;a href=&#34;https://flickrtrickle.com&#34;&gt;FlickrTrickle&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;why&#34;&gt;Why?&lt;/h2&gt;
&lt;p&gt;So let&amp;rsquo;s say you go on a trip, like hiking the Appalachians, touring federal prisons, or visiting Disneyland, and get shutter-happy and take more than 5 photos. With the rise of digital cameras, taking multiple pictures in one day is not unheard of, and is practically encouraged in some circles. Now, you want to upload your more-than-a-handful number of pictures to Flickr. You&amp;rsquo;re quite proud of these photos, either due to their composition, their dynamics, or the way the light plays softly against edges of your latte art next to the kitten, and want your friends to see them. But Flickr (rightfully) wants to keep your photos-from-your-friend&amp;rsquo;s stream from being dominated by one person if they were to upload 150 photos so they only show the last five uploaded from each your contacts. This is very egalitarian of them.&lt;/p&gt;
&lt;p&gt;Through anecdotal experience, anything beyond that 5-photo barrier gets next to no views. Maybe my storytelling abilities don&amp;rsquo;t drive people to want to see those next photos but the interface doesn&amp;rsquo;t help me out either.&lt;/p&gt;
&lt;p&gt;You want more. You want your friends to see your photos. The best way to make this happen for me is to only upload a maximum of five at a time. Remembering to do this and keeping track of what you&amp;rsquo;ve already made public is an exercise in bookkeeping, something that computers are quite good at and my wife will attest to that I&amp;rsquo;m terrible at.&lt;/p&gt;
&lt;h2 id=&#34;how&#34;&gt;How?&lt;/h2&gt;
&lt;p&gt;The way around this is to use three different Flickr features: tags, privacy settings, and the date-posted-at attribute.&lt;/p&gt;
&lt;p&gt;Flickr sorts your photos in the global stream by the date posted to Flickr. Like most things on the site, this is adjustable by the API, meaning you can lie to the computers and say &amp;ldquo;yep, I uploaded this one a second ago even though you saw me upload it two weeks ago.&amp;rdquo; Computers are gullible that way. We can use that superpower and upload photos to Flickr whenever we&amp;rsquo;d like but set them private just to get them up there. Sometimes you want a photo to be a private without being visible to this trickling-interface (trickle-face?) so the code only pulls photos you&amp;rsquo;ve tagged with &amp;ldquo;flickrtrickle.&amp;rdquo;&lt;/p&gt;
&lt;p&gt;Then through a magical web interface (aka, this code), you select the ones you want to be visible to your friends and the date stuff automatically work itself out so it looks like you uploaded them at that moment.&lt;/p&gt;
&lt;p&gt;You get to upload all your photos to Flickr at one time, and then &amp;ldquo;trickle&amp;rdquo; them in a few at a time.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>A Little Trip to the Big Island</title>
      <link>https://nolancaudill.com/2012/11/26/16/</link>
      <pubDate>Mon, 26 Nov 2012 08:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2012/11/26/16/</guid>
      <description>&lt;p&gt;I finally developed about 9 rolls of film from the trip to Hawaii Meghan and I took back in September. I&amp;rsquo;ve included a few of my favorites and the rest are &lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/sets/72157631654509442/&#34;&gt;here&lt;/a&gt;.
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8037930464/&#34; title=&#34;View from the front porch by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8037930464_72dee06eac.jpg&#34; alt=&#34;View from the front porch&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8219161404/&#34; title=&#34;Cinder Cone State Park by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8219161404_c406e28534.jpg&#34; alt=&#34;Cinder Cone State Park&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8219160576/&#34; title=&#34;Geckos by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8219160576_ca757a5033.jpg&#34; alt=&#34;Geckos&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8218079601/&#34; title=&#34;Bridge near Hilo by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8218079601_ede9e5d1b9.jpg&#34; alt=&#34;Bridge near Hilo&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8218078195/&#34; title=&#34;From inside the Kaumana cave by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8218078195_7d29da7ae0.jpg&#34; alt=&#34;From inside the Kaumana cave&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8218080183/&#34; title=&#34;Kilauea Caldera by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8218080183_b165c7a7c9.jpg&#34; alt=&#34;Kilauea Caldera&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8219161300/&#34; title=&#34;Makalawena Beach by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8219161300_9fc9fa5eac.jpg&#34; alt=&#34;Makalawena Beach&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8218080341/&#34; title=&#34;Punaluu Beach by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8218080341_dfba2a34d0.jpg&#34; alt=&#34;Punaluu Beach&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Twitter to Flickr, and Back Again</title>
      <link>https://nolancaudill.com/2012/09/30/twitter-flickr/</link>
      <pubDate>Sun, 30 Sep 2012 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2012/09/30/twitter-flickr/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8037930464/&#34; title=&#34;View from the front porch by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8037930464_72dee06eac_z.jpg&#34; alt=&#34;View from the front porch&#34;&gt;&lt;/a&gt;
I just got back from a week in Hawaii and only took my film camera. I shot 5 or 6 rolls of film and I look forward to getting them up on &lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/&#34;&gt;Flickr&lt;/a&gt; but there are many steps between those 35mm canisters still sitting in the bag I need to unpack and someone being able to click a link to look at them. (Unless everyone wants to come over to my house, which is also fine with me.) I think this is worth the wait but it does remove a bit of the &lt;em&gt;instantaneousness&lt;/em&gt; that services like Flickr and Twitter offer. It&amp;rsquo;s fun sitting on a palm-covered beach or enjoying a tropical drink on a warm patio with a slow-moving fan, taking a picture, and send a modern-day, wish-you-were-here postcard to a few friends.
Today, the snapshot app of choice among my friends appears to be Instagram. This is perfectly fine and I use it a bit, but I&amp;rsquo;m a &lt;a href=&#34;http://www.imdb.com/title/tt0190590/quotes?qt=qt0404012&#34;&gt;Flickr man&lt;/a&gt; and I&amp;rsquo;d rather use that, especially since the rest of my Hawaii photos will go there. It&amp;rsquo;s nice to make a big set of all of the vacation photos, and be able to email the link off to Mom and Pop, and even nicer to be able to see them again together in 1 year, 5 years, 25 years time. As far as Flickr goes, I feel pretty good about their &lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/archives/&#34;&gt;thoughts about longevity&lt;/a&gt;.
The postcard delivery system, to extend (and strain) the metaphor, is Twitter. Twitter is probably the best spot to put things where people will see them sooner than later. Instagram comes equipped with its own social network but Twitter is the common stomping ground of me and my friends and acquaintances.
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6900870098/&#34; title=&#34;My Twitter social graph visualized by Recollect by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6900870098_00b9450ac5_z.jpg&#34; alt=&#34;My Twitter social graph visualized by Recollect&#34;&gt;&lt;/a&gt;
&lt;em&gt;&lt;a href=&#34;http://thatsaspicymeatball.com/&#34;&gt;Bert&lt;/a&gt; and &lt;a href=&#34;http://roundhere.net/&#34;&gt;Chris&lt;/a&gt; built a thing for &lt;a href=&#34;http://recollect.com&#34;&gt;Recollect&lt;/a&gt; mapping your Twitter social clusters. Also, Meghan told me to put more pictures in my blog posts.&lt;/em&gt;
The crux of the problem was how to get my photos directly to Twitter and Flickr without building a Rube Goldberg device, because things with fewer moving parts break less and are easier for me to understand.
Going through a multi-step process, especially when I&amp;rsquo;m on the go (it&amp;rsquo;s mobile!) and when I&amp;rsquo;m trying to enjoy my surroundings (it&amp;rsquo;s social!), sounds horrible. I want one app and to be able to hit one button. Flickr does have a mobile app, which is serviceable, but I usually already have Twitter up and most Twitter clients have this nice ability to take pictures within the app. With my phone, I&amp;rsquo;m usually sending a tweet with a photo attached, and not a Flickr photo that I also want to share on Twitter. Twitter to me is the Instant, which is usually what I want when on the go.
Twitter is, in its fundamental glory, a &lt;a href=&#34;http://laughingmeme.org/2012/09/12/app-net-and-cargo-culting/&#34;&gt;magic word distribution system&lt;/a&gt; (via &lt;a href=&#34;http://laughingmeme.org&#34;&gt;Kellan&lt;/a&gt;, via &lt;a href=&#34;http://aaronland.info/&#34;&gt;Aaron&lt;/a&gt;). Most Twitter clients allow you do media-webby things like upload a video or a picture to a service of your choosing, get a link back in return, and then helpfully include that link for you in the tweet. This outsourced-upload thing uses what is formally called OAuth Echo. This is described &lt;a href=&#34;https://dev.twitter.com/docs/auth/oauth/oauth-echo&#34;&gt;here&lt;/a&gt; and seems to have originally been thought of by &lt;a href=&#34;http://mehack.com/oauth-echo-delegation-in-identity-verificatio&#34;&gt;Raffi Krikorian&lt;/a&gt; of Twitter.
&lt;a href=&#34;http://www.flickr.com/photos/kellan/3120765898/&#34; title=&#34;Magic word distribution system by kellan, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/3120765898_c8f4929da0_z.jpg&#34; alt=&#34;Magic word distribution system&#34;&gt;&lt;/a&gt;
Flickr is not one of the upload options, but things like cloudapp, droplr, pikchur, twitgoo are (at least in &lt;a href=&#34;http://tapbots.com/software/tweetbot/&#34;&gt;Tweetbot&lt;/a&gt;). I&amp;rsquo;ll take most of the blame for Flickr not being included as it was something that I was working on in my side time towards the end of my tenure, but didn&amp;rsquo;t finish before I left. One service does handle this handshake of Twitter-to-Flickr, &lt;a href=&#34;http://gdzl.la/&#34;&gt;gdzl.la&lt;/a&gt;, but it returns the link back as a gdzl.la link, effectively introducing one more URL forwarder into the world (which is a shitty thing to do if you can help it).
Twitter for iPhone used to support different image backends but probably took it out shortly after they built their own image upload thing. So there&amp;rsquo;s that.
So, after a week of wanting to take pictures with my phone and send them along to Twitter, and having to choose between Instagram (look at all those filters!) and Twitter&amp;rsquo;s Official Image Backend™ (store up to 3200 pictures!), I decided to build my own Twitter-to-Flickr uploader atop Aaron&amp;rsquo;s &lt;a href=&#34;http://straup.github.com/parallel-flickr/&#34;&gt;parallel-flickr&lt;/a&gt; of which I also run an instance of for myself.
In theory, this OAuth Echo upload stuff could live by itself (see gdzl.la) and there&amp;rsquo;s no reason that I couldn&amp;rsquo;t return my parallel-flickr&amp;rsquo;s instance URL but there&amp;rsquo;s something nice about saying &amp;ldquo;here&amp;rsquo;s my Flickr kit&amp;rdquo;, playing along with the aforementioned idea of fewer moving parts as well as knowing all the archival bits-and-pieces going on. Using &lt;a href=&#34;https://github.com/exflickr/flamework&#34;&gt;flamework&lt;/a&gt; and the pieces of p-flickr that were already there, a few cups of coffee and a chunk of quiet time, I was able to bolt it on.
One important thing that made this possible is that these 3rd party clients, knowing that they are building things that the official client won&amp;rsquo;t or can&amp;rsquo;t build WANT you to build more things to fill the gaps. Tweetbot, at the end of the list of the dozen or so included image backends, has a field marked &amp;ldquo;Custom&amp;hellip;&amp;rdquo; which takes a field to put in an URL endpoint that knows the steps to the OAuth Echo dance. This kind of allowance and permission is refreshing as things become &lt;a href=&#34;https://dev.twitter.com/blog/changes-coming-to-twitter-api&#34;&gt;increasingly less so&lt;/a&gt;.
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/8041787454/&#34; title=&#34;Love it when things say &#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/8041787454_5f022f2a58_n.jpg&#34; alt=&#34;Love it when things say &#34;&gt;&lt;/a&gt;
&lt;em&gt;No, YOU drive.&lt;/em&gt;
It looks like Aaron merged this change and the upload branch (which made my part really easy) this morning so if you&amp;rsquo;re running parallel-flickr, feel free to kick the tires on it, and if not, look at the code and see how easy it is do.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>The Front Line</title>
      <link>https://nolancaudill.com/2012/01/30/the-front-line/</link>
      <pubDate>Mon, 30 Jan 2012 08:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2012/01/30/the-front-line/</guid>
      <description>&lt;p&gt;So, Yahoo messed up today. They&amp;rsquo;ve messed up other days, too, but this was an especially red-letter day amongst other red-letter days, and this is one that has me ticked off.&lt;/p&gt;
&lt;p&gt;For reasons I don&amp;rsquo;t know, Yahoo laid off the highest level of Flickr&amp;rsquo;s customer support, the people that end up filing bugs against the developers and helping the trickier cases get solved for the members. Those guys getting shown the door is as bad as it sounds.&lt;/p&gt;
&lt;p&gt;When sites get larger, both in members and staff, the gap tends to grow between the people that build the site and the people that use it. Sometimes this happens with product decisions, but it almost always seems to happen with developers. Our job is to write and ship code to the best of our abilities, though, through no acts of spite or laziness on our parts, our code is not perfect. It&amp;rsquo;s a fundamental nature of current software. We&amp;rsquo;re human, we&amp;rsquo;re imperfect, and we write bugs.&lt;/p&gt;
&lt;p&gt;After we write and ship code that probably contains a bug or two (or three), our job is to then write more code, which will also contain bugs. It&amp;rsquo;s a bad cycle.&lt;/p&gt;
&lt;p&gt;This means that someone has to be in the middle, as the face of Flickr, acknowledging these mistakes and going to great lengths to fix things. This is often a thankless job, as users just want their problems to go away and developers (usually) don&amp;rsquo;t like to be told they messed up. But they do it for the good, and for the love, of the site. Every bug that gets filed and every support case that gets carefully answered makes the site that much better.&lt;/p&gt;
&lt;p&gt;After being a liaison between these two worlds long enough, you end up knowing more than anyone else on the team. When you have millions and millions of users that hit every button and link in combinations you would never &lt;em&gt;dream&lt;/em&gt; of, then reporting the &amp;ldquo;interesting&amp;rdquo; outcomes of their explorations, these support agents become walking encyclopedias of the ins-and-outs of the site and with Flickr, there are odd edge cases waiting on every page. Having people on your team aware of everything the site does is huge. You &lt;em&gt;literally&lt;/em&gt; can&amp;rsquo;t buy that or replace it or outsource it, though it appears that Yahoo thinks it can.&lt;/p&gt;
&lt;p&gt;With big sites, not only do you have bugs, but you have outages. These same agents that can recite all the guestpass-viewing conditions and know offhand whether a photo should be visible in Germany, also get to sit on the front lines and explain to users with emotions ranging from impatient to pissed-off that some section of the site will be back as soon as possible. This is not a position to be envied but one they always handled with grace and aplomb.&lt;/p&gt;
&lt;p&gt;To be constantly deluged by the requests and demands from stressed users and keep showing up in high spirits day after day demands a special kind of character. Not only do you have the patience of a saint (imagine getting asked the same 3 questions, 50 times a day, every day) but also the tact to work with developers and product folks whose priorities are different from the users, as those things tend to go.&lt;/p&gt;
&lt;p&gt;And that&amp;rsquo;s probably the biggest thing that hurts: the users of Flickr lost their major advocates today. At product meetings and developer meetings, it would be these support folks constantly asking, &amp;ldquo;But what about the users?&amp;rdquo;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;On a personal note, Flickr lost several good &lt;em&gt;people&lt;/em&gt; today. If you had me name the top 10 Flickr employees that loved the site the most, half of them got handed pink slips today. Working with that entire team was absolutely one of the highlights of my time at Flickr and any other company that has a need for calm, intelligent, and resourceful customer support folks would do well to contact me or any other person that has ties to Flickr to get you an introduction.&lt;/p&gt;
&lt;p&gt;To the support folk that are now ex-Flickr, you&amp;rsquo;ve got a stupidly strong alumni organization and we know how good you guys are &amp;ndash; we&amp;rsquo;re here for you.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I don&amp;rsquo;t really know the real purpose of me writing this. I&amp;rsquo;m always hesitant to write anything good, bad, or otherwise about my past employers, but this one deserves to get called out. Yahoo made a major mistake today and there&amp;rsquo;s no other way to interpret it. I&amp;rsquo;m mad and this is my soapbox.&lt;/p&gt;
&lt;p&gt;Flickr-the-site will be fine but Flickr-the-culture took a huge hit today and those suits in Sunnyvale balancing some column or doing their thousandth &amp;ldquo;re-org&amp;rdquo; are completely to blame. I bet they don&amp;rsquo;t even know what they&amp;rsquo;ve done and that&amp;rsquo;s probably the worst part of the whole thing.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>The Code Behind the Yearbook</title>
      <link>https://nolancaudill.com/2012/01/23/yearbook/</link>
      <pubDate>Mon, 23 Jan 2012 08:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2012/01/23/yearbook/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is lifted from the README to &lt;a href=&#34;https://github.com/mncaudill/yearbook&#34;&gt;the github repository&lt;/a&gt;.&lt;/em&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6752628359/&#34; title=&#34;The Yearbook by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6752628359_d764b003d8.jpg&#34; alt=&#34;The Yearbook&#34;&gt;&lt;/a&gt;
I decided to take all the blog posts, Twitter messages, and Flickr images I made this year, combine them, typeset them, and then get it printed
in a hard-bound book. I wrote a bit about the reasoning &lt;a href=&#34;http://nolancaudill.com/2011/11/29/concrete-words/&#34;&gt;here&lt;/a&gt;.
There was a lot of poking and pawing at the scripts I used to create the final product so I thought I&amp;rsquo;d share them in case someone else could get some use out of them.
Big warning: these are mostly worthless until you change them to fit your project. While all the code here works, and it ended up giving me a decent-looking book, you&amp;rsquo;ll need to modify it, which is mostly the point. This is &lt;em&gt;your&lt;/em&gt; retrospective and thus shouldn&amp;rsquo;t be a cookie-cutter running of the code I wrote (if that would even work).
I&amp;rsquo;ll now explain a bit about the pieces:&lt;/p&gt;
&lt;h2 id=&#34;the-blog-posts&#34;&gt;The Blog Posts&lt;/h2&gt;
&lt;p&gt;All my blog posts are just flat HTML (via jekyll) so getting my blog onto my PC was already done. You&amp;rsquo;ll probably need to run some magic incantation of &lt;code&gt;wget&lt;/code&gt; or &lt;code&gt;curl&lt;/code&gt; to get yours if they&amp;rsquo;re hosted somewhere else.
TeX, specifically pdflatex, was the workhorse on typesetting it so I needed to get these HTML files into tex format. I ran a &lt;code&gt;find . -name &amp;quot;*html&amp;quot; | xargs -I{} python texify.py {}&lt;/code&gt; in my jekyll&amp;rsquo;s site directory which then ran each of the files through &lt;a href=&#34;http://johnmacfarlane.net/pandoc/&#34;&gt;pandoc&lt;/a&gt;. Pandoc is a super magic text transformation library that will slurp in most text format and then spit out a transformed version. In this case, I was reading HTML and spitting out .tex files. You can see the command in &lt;code&gt;texify.py&lt;/code&gt;.
After I had all these converted tex files, I actually loaded all my files up in vim, made a macro that cleaned out things like header and footer, and then just ran the macro across all the open files. I forgot this magic spell almost as soon as I did it, but &lt;code&gt;bufdo&lt;/code&gt; sounds familiar. I&amp;rsquo;d google something like &amp;ldquo;vim macro across all open buffers&amp;rdquo; or something.
Now that I have a directory full of tex files, one file per blog post, you need a master tex file that actually describes the full document, as well as the pointers to all the various tex files to include. This is the &lt;code&gt;book.tex&lt;/code&gt; file in this repository. This is mine lifted as-is, so this is what the finished result looks like and should give you a good idea of how to put yours together.
TeX is a frustratingly arcane markup language, but it is extremely powerful and can create beautiful documents. It&amp;rsquo;s worth it, trust me.
I&amp;rsquo;ve also included a sample blog post tex file. This post includes a couple of images by &lt;code&gt;includegraphics&lt;/code&gt; to give you a heads start on that.&lt;/p&gt;
&lt;h2 id=&#34;twitter&#34;&gt;Twitter&lt;/h2&gt;
&lt;p&gt;To format your Twitter posts, you first need the actual Twitter messages. This is actually hard, if not impossible, if you&amp;rsquo;re especially prolific.
Twitter famously only allows you to fetch your last 3200 messages. This limit is enforced but on the official website and by the API.
I&amp;rsquo;ve been running &lt;a href=&#34;http://pongsocket.com/tweetnest/&#34;&gt;tweetnest&lt;/a&gt; on my server for a year or so, mainly because I think it&amp;rsquo;s pretty, but it turned out to do a whizbang job of archiving as well. Surprise, surprise: this was the source of Twitter messages for my book. I just dumped the table to a text file (via &lt;code&gt;mysqldump&lt;/code&gt;) and used that as my source file.
Inside of &lt;code&gt;twitter/tweet_transform.php&lt;/code&gt;, you&amp;rsquo;ll see the reading of this file and then spitting out the tex file, separating the messages by month and then by the day.
There are some positively Nolan-specific things in here. All the dates in Tweetnest (and probably Twitter&amp;rsquo;s API) return a timestamp for each Tweet using seconds since the epoch. If I only tweeted from San Francisco in all of 2011, getting nice dates would have been easy: just set the timezone at the top of the script and then call it a day. But as it turned out, I climbed on and off airplanes at various locations and at different times. You&amp;rsquo;ll see a block of code that dynamically sets the timezone according to when I was boarding and de-boarding airplanes.
Another sort of fuzzy, human thing I added to this that you may want to be aware of is that I fudged the edges of what constituted a &amp;ldquo;day&amp;rdquo;. Instead of a day being midnight to midnight, I grouped tweets on a 4am boundary. Best I could tell, I never tweeted before 4am after waking up, and never tweeted past 4am by staying up from the night before. This way a day is defined as waking up to going asleep (or passing out, some nights).
This script also runs follows some common URL shorteners so you won&amp;rsquo;t see any bit.ly or goo.gl links in your permanent archive.
The hard part of getting the Twitter section together is actually getting the tweets together, but once you do that, it&amp;rsquo;s a breeze.&lt;/p&gt;
&lt;h2 id=&#34;flickr&#34;&gt;Flickr&lt;/h2&gt;
&lt;p&gt;I uploaded about 600 pictures to Flickr this year. I really wanted to display every single picture for the sake of completeness but figuring out a way to that visually was difficult.
I ended up going something like &lt;a href=&#34;http://images.google.com/search?q=kitten&amp;amp;hl=en&amp;amp;site=webhp&amp;amp;tbm=isch&#34;&gt;Google&amp;rsquo;s image search&lt;/a&gt;. &lt;a href=&#34;http://www.flickr.com/photos/protohiro&#34;&gt;Stephen Woods&lt;/a&gt; was also a major source of inspiration for the layout. This layout lets you plop a lot of images on a page and letting them use their natural dimensions to shoulder out more space as needed.
Instead of forcing tex to layout individual images, or individual rows, I figured it would be easier to create an image that represented the full page and then put that on the page, not unlike the old days of people adding &lt;code&gt;&amp;lt;area&amp;gt;&lt;/code&gt; tags to full-page images in the early days of the web.
The &lt;code&gt;flickr/justified.php&lt;/code&gt; file is what creates these image files and then the &lt;code&gt;flickr.tex&lt;/code&gt; file that includes them all.
I used Aaron Cope&amp;rsquo;s &lt;a href=&#34;http://straup.github.com/parallel-flickr/&#34;&gt;parallel-flickr&lt;/a&gt; as the source of the images. This project conveniently creates an easy-to-query database so I could do something like &amp;ldquo;give me all the images from Jan 1, 2011, to Dec 31, 2011 ordered by date_taken ascending&amp;rdquo;. I used the output of this query to select the appropriate images in the correct order and rsynced them to my book&amp;rsquo;s Flickr directory.
There are a few fuzzy parameters that lets you set things like a maximum row height, and how wide your rows are. Feel free to twiddle these knobs as you see fit.&lt;/p&gt;
&lt;h2 id=&#34;conclusion&#34;&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Nothing about this is drop-in-and-run but there are a lot of gotchas that I came across that might help someone else if they ever decide to tackle a project like this.&lt;/p&gt;
&lt;h2 id=&#34;the-code&#34;&gt;The Code&lt;/h2&gt;
&lt;p&gt;Feel free to browse the code at &lt;a href=&#34;https://github.com/mncaudill/yearbook&#34;&gt;my github repository&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Look at these people</title>
      <link>https://nolancaudill.com/2011/11/04/look-at-these-people/</link>
      <pubDate>Fri, 04 Nov 2011 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2011/11/04/look-at-these-people/</guid>
      <description>&lt;p&gt;Aren&amp;rsquo;t they just great?&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/apps/slideshow/show.swf?v=109615&#34;&gt;http://www.flickr.com/apps/slideshow/show.swf?v=109615&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Things Around My House</title>
      <link>https://nolancaudill.com/2011/10/30/things-around-my-house/</link>
      <pubDate>Sun, 30 Oct 2011 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2011/10/30/things-around-my-house/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6292091682/&#34; title=&#34;Dusty bottles by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6292091682_163568fff3_m.jpg&#34; alt=&#34;Dusty bottles&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6292084208/&#34; title=&#34;Fan by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6292084208_13913ea1cf_m.jpg&#34; alt=&#34;Fan&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6292088208/&#34; title=&#34;Flannel, unfolded by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6292088208_2df88c3357_m.jpg&#34; alt=&#34;Flannel, unfolded&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/6292653803/&#34; title=&#34;Hello, Mr. Fish by Nolan Caudill, on Flickr&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/6292653803_9126ef75cb_m.jpg&#34; alt=&#34;Hello, Mr. Fish&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;No matter how insignificant a photo seems at the time I took it, I&amp;rsquo;ve never regretted taking any of the ones that captured genuine moments.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s these little moments that I&amp;rsquo;m not good at taking when I&amp;rsquo;m carrying my film camera. When I&amp;rsquo;m physically limited to a small number of shots, I&amp;rsquo;m more reluctant to take shots of &amp;ldquo;minor&amp;rdquo; things.&lt;/p&gt;
&lt;p&gt;I upload all my photos to Flickr (obviously) and on Flickr, I suffer from multiple personalities.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s me trying to be a more serious photographer, where the aesthetic often matters more than the subject matter. There&amp;rsquo;s me also hanging out with my friends, trying to remember what we had for dinner, or what Meghan was wearing on a date night. For these, I care so much immensely more about what I&amp;rsquo;m taking a picture of instead of if all the &amp;ldquo;good&amp;rdquo; photography stuff applies. (If I was a better photographer, I might not have that problem and every photo turns out decent. But I&amp;rsquo;m not, so I do.)&lt;/p&gt;
&lt;p&gt;Like many humans, vanity is one of my (many) character flaws. I want to be seen as intelligent and creative, and I can convince myself that I&amp;rsquo;d rather put my own memories in the backseat, so that I can be seen as a decent photographer, and thus, only upload the 4 or 5 decent shots from a roll of a film that I took several weeks or months ago.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://nolancaudill.com/images/life_as_a_circle.jpg&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/life_as_a_circle.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And I realize that I&amp;rsquo;ve been missing a lot. There&amp;rsquo;s something magical about being at a party taking photos, and then waking up the next morning to comments, faves, and seeing the same scene from different point-of-view from your friends&amp;rsquo; cameras.&lt;/p&gt;
&lt;p&gt;The bigger point I&amp;rsquo;ve missed is this: what&amp;rsquo;s important at the moment of capture, from the point-of-view of the photographer, is not a great measure of what&amp;rsquo;s important throughout the entire lifetime of the photo. Each photo is viewed through many prisms of different people&amp;rsquo;s experiences and it&amp;rsquo;s a stretch to think one knows that it won&amp;rsquo;t be significant to someone (and probably yourself) later. I&amp;rsquo;d rather not miss out on the part of a story that one photo could be telling, especially when I don&amp;rsquo;t know where the plot is heading.&lt;/p&gt;
&lt;p&gt;So I&amp;rsquo;ve started using my iPhone and Instagram a lot, which brings me back to the title of the post. Yesterday morning, I went through and just took pictures of things around my house, insignificant things, things I wouldn&amp;rsquo;t normally upload to Flickr. And you know what? It was fun. The Instagram filters put enough &amp;ldquo;smudge&amp;rdquo; on the photos, that they don&amp;rsquo;t necessarily look like they came from a phone and most of the time, that&amp;rsquo;s good enough for creating a visually compelling photo.&lt;/p&gt;
&lt;p&gt;And I can still upload the nicer film shots. I still enjoy shots that are more artistically composed but it&amp;rsquo;s a different kind of a pleasure given than the small snaps with my phone that I immediately upload.&lt;/p&gt;
&lt;p&gt;Is this a fault of Flickr and other online photosharing sites to not embrace these multiple personalities? Possibly. More fine-grained sharing controls could be used, like Google+&amp;rsquo;s Circles, but, to me, those systems aren&amp;rsquo;t fun. I hate compartmentalizing and labeling every aspect of my life, and while this can guarantee proper sharing controls, it sucks out all the organic, fuzzy fun like we have in the Real Life, that it is supposedly representing.&lt;/p&gt;
</description>
    </item>
    <item>
      <title>Instagram on Flickr</title>
      <link>https://nolancaudill.com/2011/10/21/instagram-on-flickr/</link>
      <pubDate>Fri, 21 Oct 2011 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2011/10/21/instagram-on-flickr/</guid>
      <description>&lt;p&gt;About &lt;a href=&#34;http://www.flickr.com/photos/tags/instagramapp/interesting/&#34;&gt;5.5 million&lt;/a&gt; public Instagram photos on Flickr.&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://nolancaudill.com/images/instagram.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>New photos</title>
      <link>https://nolancaudill.com/2009/07/28/new-photos/</link>
      <pubDate>Tue, 28 Jul 2009 07:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2009/07/28/new-photos/</guid>
      <description>&lt;p&gt;After sitting on a few rolls of film for the past few months, I finally got them developed.&lt;/p&gt;
&lt;p&gt;Check them out &lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;http://www.flickr.com/photos/nolancaudill/3767997994/&#34;&gt;&lt;img src=&#34;https://nolancaudill.com/images/flickr/3767997994_ab3153363e.jpg&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <title>First photos with the new camera</title>
      <link>https://nolancaudill.com/2009/01/26/first-photos-with-the-new-camera/</link>
      <pubDate>Mon, 26 Jan 2009 08:00:00 +0000</pubDate>
      <guid>https://nolancaudill.com/2009/01/26/first-photos-with-the-new-camera/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220889652&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220889652&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220889518&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220889518&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220889386&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220889386&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220888876&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220888876&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220036711&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220036711&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220888336&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220888336&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;a href=&#34;https://www.flickr.com/photos/3220036253&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220036253&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;
&lt;a href=&#34;https://www.flickr.com/photos/3220037753&#34;&gt;&lt;img src=&#34;https://live.staticflickr.com/photos/3220037753&#34; alt=&#34;Flickr photo&#34;&gt;&lt;/a&gt;&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
