<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-5067904571139905755</atom:id><lastBuildDate>Tue, 21 May 2013 13:21:45 +0000</lastBuildDate><title>PataMetaData</title><description>that which is above that which is after data</description><link>http://patametadata.blogspot.com/</link><managingEditor>noreply@blogger.com (Eric Phetteplace)</managingEditor><generator>Blogger</generator><openSearch:totalResults>47</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-4098071652648595707</guid><pubDate>Tue, 21 May 2013 13:21:00 +0000</pubDate><atom:updated>2013-05-21T09:21:45.099-04:00</atom:updated><title>Blacklisting Wikipedia &amp; Information Literacy</title><description>&lt;p&gt;I taught an interdisciplinary course this past semester, "The Nature of Knowledge." My co-instructor and I focused specifically on what happens to knowledge in a networked, digital environment. The course was revelatory for me, both because it was the first I've taught as a lead instructor and due to how students reacted to our content. The course is going to inspire a slew of blog posts, but I want to start with a plea to postsecondary educators:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Your attitude towards Wikipedia is destroying students' critical thinking&lt;/strong&gt;.&lt;/p&gt; &lt;p&gt;I say this because virtually every student in the class had heard that Wikipedia is inappropriate for academic use. And it is; &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Academic_use"&gt;it says so itself&lt;/a&gt;. The problem is &lt;em&gt;they have no idea why&lt;/em&gt;. The most common reason proffered was "because my professors said so," the very antithesis of critical thinking.&lt;/p&gt; &lt;h4 id="information-literacy-lists"&gt;Information Literacy &amp;amp; Lists&lt;/h4&gt; &lt;p&gt;The third bullet point in &lt;abbr title="Association of College &amp;amp; Research Libraries"&gt;ACRL&lt;/abbr&gt;'s &lt;a href="http://www.ala.org/acrl/standards/informationliteracycompetency"&gt;information literacy competency standards&lt;/a&gt; is "evaluate information and its sources critically." This is where assignments that blacklist or whitelist certain sources fail. Rather than equip students to analyze sources, valid sources are pre-selected and often according to arbitrary criteria. For instance:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;q&gt;No Internet sources&lt;/q&gt;&lt;/strong&gt; is a common theme. Even with an "except the library databases" caveat, this is at best confusing and at worst counterproductive. What about Google Scholar, &lt;a href="https://oaister.worldcat.org/"&gt;&lt;abbr title="Open Archives Initiative"&gt;OAI&lt;/abbr&gt;ster&lt;/a&gt;, &lt;a href="http://www.scirus.com/"&gt;Scirus&lt;/a&gt;, and all the other open access aggregators? The web is the primary delivery mechanism for scholarly knowledge. One cannot simply write it off. This is especially harmful because it trains students to ignore so many wonderful sources out there. What will they do when they don't have access to research databases? We're teaching them that the open web is useless for research when it's not.&lt;/p&gt; &lt;p&gt;Then there are the &lt;strong&gt;blacklists which specify Wikipedia&lt;/strong&gt;. The issue here is the discrimination: why is Yahoo! Answers not listed? About.com? Ask.com? Conservapedia? The list goes on. It's a fruitless endeavor to delimit the poor sources from the good ones. And Wikipedia is likely singled out not because it's particularly bad but because it's so common.&lt;/p&gt; &lt;p&gt;Finally, there's the inverse approach of &lt;strong&gt;assignments which require peer-reviewed articles&lt;/strong&gt;. The issue is, at least for the first few years of an undergraduate degree, peer-reviewed sources are too arcane for our students. This is less of an indictment of students' reading than academic writing, which eschews accessibility. I've heard grumbles around the librarian blogosphere about peer-reviewed article requirements (Meredith Farkas' &lt;a href="http://meredith.wolfwater.com/wordpress/2011/10/27/i-need-three-peer-reviewed-articles-or-the-freshman-research-paper/"&gt;screed against freshman research papers&lt;/a&gt; is a must-read) and plenty of people are critical of them. They're still all-too-common in assignments.&lt;/p&gt; &lt;p&gt;The underlying concern throughout all of these approaches is that they rarely explain &lt;em&gt;why&lt;/em&gt;. Why is the web so awful, especially since many scholarly sources now appear there? Why is Wikipedia specifically worse than other sites that allow anyone to publish? What the heck is peer review and why do we care about it? I touch on all these when I teach information literacy, but half of the time I'm combating the assignment. The &lt;abbr title="Association of College &amp;amp; Research Libraries"&gt;ACRL&lt;/abbr&gt; standard is &lt;q&gt;evaluate information and its sources critically&lt;/q&gt;, not &lt;q&gt;uncritically accept whatever unjustified stance is taken by the assignment.&lt;/q&gt; These assignments cultivate &lt;q&gt;intellectual laziness&lt;/q&gt;, to quote my co-instructor, not the skills to critically evaluate any source, regardless of where one happened to find it.&lt;/p&gt; &lt;h4 id="whats-really-wrong-with-wikipedia"&gt;What's really wrong with Wikipedia?&lt;/h4&gt; &lt;p&gt;In my classes, I'll often do comparative searches across Google and a library database, then ask students to evaluate a chosen result using a metric like the &lt;a href="http://libguides.chesapeake.edu/annotated-bib/craap"&gt;CRAAP&lt;/a&gt; test. I distinctly recall a class when I brought up a Wikipedia article and asked which elements of the CRAAP test it failed. &lt;q&gt;All of them,&lt;/q&gt; a student ventured. Nothing could be further from the truth.&lt;/p&gt; &lt;p&gt;Currency? It varies, but most Wikipedia entries are updated frequently. In fact, this is one area where Wikipedia has a structural advantage over other modes of publication: because there's such a wonderfully low barrier to participation, new information can be added as soon as its published elsewhere. Compare this to traditional tertiary sources (especially print ones), where editorial and publishing processes delay information becoming available to end users. On the other hand, compare Wikipedia to other websites; every article has, down to the very minute, its last-updated date visible on the "&lt;a href="https://en.wikipedia.org/wiki/Help:Page_history"&gt;View history&lt;/a&gt;" tab. Anyone who has helped a student cite a website knows that determine the publication date is usually an exercise in futility.&lt;/p&gt; &lt;p&gt;Relevance? Wikipedia's enormous breadth virtually ensures it has something relevant to say on any topic.&lt;/p&gt; &lt;p&gt;Authority? &lt;em&gt;This is Wikipedia's only problem in terms of the CRAAP test&lt;/em&gt;. We usually don't know who has contributed to any given article, it could be a credentialed academic or anyone else. Wikipedia itself dismisses authority, &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:About"&gt;stating&lt;/a&gt; &lt;q&gt;What is contributed is more important than the expertise or qualifications of the contributor&lt;/q&gt;, a provocative stance which I don't have space to explore here.&lt;/p&gt; &lt;p&gt;Accuracy? Wikipedia articles can have hundreds of references. The encyclopedia's insistence on &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Verifiability"&gt;verifiability&lt;/a&gt; and &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Citations"&gt;citations&lt;/a&gt; are cardinal strengths. In fact, the way I recommend most students use Wikipedia articles is to learn important terminology from them and mine their references. I wrote a paper in &lt;em&gt;graduate school&lt;/em&gt; on net neutrality; Wikipedia was my first stop and it outlined not only the major issues but also linked directly to pertinent policies and secondary sources. Thanks largely to that excellent start, my paper earned an A.&lt;/p&gt; &lt;p&gt;Purpose? Wikipedia is admirably forthright about what it is and &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:What_Wikipedia_is_not"&gt;is not&lt;/a&gt;. Its goals are noble (as evidence by its enlightened &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Five_pillars"&gt;five pillars&lt;/a&gt;), especially relative to for-profit alternatives like About.com which display ads and lack external references.&lt;/p&gt; &lt;p&gt;Yet no one had walked my students through this kind of analysis. No one had shown them the "View history" tab of an article, or its references section, or any of Wikipedia's fundamental policies. &lt;em&gt;Why&lt;/em&gt; Wikipedia is a non-academic source was always left as an exercise for the reader.&lt;/p&gt; &lt;h4 id="anyone-can-edit"&gt;"Anyone Can Edit"&lt;/h4&gt; &lt;p&gt;It's worth investigating the "anyone can edit" argument further, because it appears to be the main objection to Wikipedia.&lt;/p&gt; &lt;p&gt;First of all, it is not strictly true that anyone can edit any article at any time. Certain articles are &lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Protected_page"&gt;protected&lt;/a&gt; and can only be edited by a subset of editors, such as administrators or confirmed accounts. These articles tend to be common targets for vandalism. They form a small minority of articles.&lt;/p&gt; &lt;p&gt;Secondly, as my students found out, wiki markup is nontrivial. It takes some familiarity before an editor can do anything other than add unformatted text. This was a large obstacle for most of my students; despite an exercise introducing them to HTML using Codecademy early on, many struggled to understand more complex markup structures such as references and links. It seems unlikely that someone would invest a great deal of time learning wiki markup only to write nonsense into articles. Most would take the time to learn editorial guidelines as well as markup, which we did in our class by reading guidelines and Joseph Reagle's &lt;cite&gt;&lt;a href="http://reagle.org/joseph/2010/gfc/"&gt;Good Faith Collaboration&lt;/a&gt;&lt;/cite&gt;.&lt;/p&gt; &lt;p&gt;Thirdly, the "anyone can edit" objection often refers to vandalism more so than biased or inaccurate writing. The problem with this argument is...how often do you see actual vandalism on Wikipedia? Even the hypocrites who ban Wikipedia have likely read dozens if not hundreds of articles. I've probably read thousands myself but I've only ever seen vandalism once, which is largely &lt;em&gt;due to the fact that anyone can edit&lt;/em&gt;. Anyone who spots vandalism can easily remove it and Wikipedia also employs bots to detect and delete vandalism. I made &lt;a href="http://youtu.be/LZg1DVE_tYg"&gt;a brief video&lt;/a&gt; that covers the points in this paragraph, showing &lt;a href="https://en.wikipedia.org/w/index.php?title=Internet_privacy&amp;amp;diff=535879631&amp;amp;oldid=535879612"&gt;an example of vandalism&lt;/a&gt; that was reverted &lt;em&gt;within a minute&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;Finally, and most importantly, "anyone can edit" does not equate to "anyone writes anything they want." Wikipedia has standards which are enforced by an editorial community. It is not an open forum for any kind of discourse, it's an open encyclopedia written from a neutral point-of-view. Yes, there are articles which are inaccurate, biased, or incomplete. But they're not the product of a million monkeys hammering away on laptops, they're deliberate steps towards a better and more encyclopedic article.&lt;/p&gt; &lt;h4 id="whats-really-great-about-wikipedia"&gt;What's really great about Wikipedia?&lt;/h4&gt; &lt;p&gt;Wikipedia has a few advantages over traditional research sources, such as the widely distributed editorship, the speed with which articles can be updated, its strong community norms, and the bots which automate low-level tasks like reverting vandalism. But there has always been one thing that stands out about Wikipedia to me: &lt;em&gt;it is the only source which warns you of its own inadequacies&lt;/em&gt;. From inline &lt;q&gt;citation needed&lt;/q&gt; and &lt;q&gt;&lt;a href="https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style/Words_to_watch#Unsupported_attributions"&gt;weasel words&lt;/a&gt;&lt;/q&gt; warnings, to colored boxes up top (&lt;q&gt;unencyclopedic&lt;/q&gt;, &lt;q&gt;doesn't represent a worldwide view&lt;/q&gt;, &lt;q&gt;personal reflection or opinion&lt;/q&gt;, &lt;q&gt;uses out-of-date sources&lt;/q&gt;...the sheer variety of these indictments speaks to just how high the encylopedia's standards are, and how often they're not met); Wikipedia wants you to know it's imperfect. &lt;q&gt;Users should be aware that not all articles are of encyclopedic quality from the start: they may contain false or debatable information.&lt;/q&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt;No one else does this&lt;/strong&gt;. Not About.com, not Britannica, not &lt;a href="http://www.thecrimson.com/article/2013/4/24/rogoff-error-defense/"&gt;brilliant economists&lt;/a&gt; who make errors in their Excel spreadsheets. A source detailing its own issues is virtually unheard of and can only come about in a community like Wikipedia, where numerous editors representing diverse viewpoints constantly enforce a set of stringent standards.&lt;/p&gt; &lt;p&gt;To bring this back to assignment structure, it provides instructors with an easy criterion, too. If you must blacklist Wikipedia articles, how about starting with the ones that have issues identified by alert boxes? While this doesn't challenge students to analyze sources by themselves, it at least tells them &lt;em&gt;why&lt;/em&gt; a particular article is unusable.&lt;/p&gt; &lt;h4 id="scaffolding"&gt;Scaffolding&lt;/h4&gt; &lt;p&gt;I'll readily admit; I oversimplify concepts in instruction sessions all the time. It's productive to create a foundation of a few artificial givens upon which students can build. Then, in a later course, those assumptions can be examined and problematized. So, to some extent, black- or whitelists of sources are useful, they wean students off of poor sources until students can analyze them on their own. Scaffolding is tricky and I certainly haven't mastered it yet.&lt;/p&gt; &lt;p&gt;However, college is the time when we should be examining students' perceptions surrounding Wikipedia. The Wikipedia ban is a high school scaffold; it needs to be torn down in the first two years of college. Students can benefit from using Wikipedia articles appropriately, from understanding tertiary sources, from thinking critically about the sorts of issues that pop up in alert boxes at the top of questionable articles. If nothing else, the heresy of crowdsourcing—that a mass of amateurs can produce information as good as or even better than a handful of experts—must be taught. It's too important to today's information economies to be overlooked.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/05/blacklisting-wikipedia-information.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-2902369757320863451</guid><pubDate>Thu, 18 Apr 2013 15:00:00 +0000</pubDate><atom:updated>2013-04-18T11:00:06.131-04:00</atom:updated><title>Faculty &amp; Technology</title><description>&lt;p&gt;This is a continuation of my &lt;a href="http://patametadata.blogspot.com/2013/04/what-i-learned-from-my-first-search.html"&gt;First Search Committee&lt;/a&gt; post, largely inspired by respondents answers to questions about technology. I broke it into a second post for several reasons: there were no good responses to technology questions, the first one was already pretty long, &amp;amp; I have a specific interest in educational technology. It's not merely that I'm a library technologist, it's also that I serve on a distance learning committee that exposes me to a lot of major issues with the way we deliver education online. When we framed what we wanted in a candidate, experience teaching online was one of our primary attributes. Despite receiving numerous, well-qualified applicants, this was the one area where we couldn't match our desired qualifications.&lt;/p&gt; &lt;h4 id="bad-interview-responses"&gt;Bad Interview Responses&lt;/h4&gt; &lt;p&gt;&lt;q&gt;Students love watching videos! I use lots of YouTubes.&lt;/q&gt;&lt;/p&gt; &lt;p&gt;I asked a question about online tech usage during the phone interviews and &lt;em&gt;no one&lt;/em&gt; gave a convincing answer. The worst were neo-Luddite and the best contented themselves to list a series of proper nouns as if that demonstrates technical competence: BlackBoard, WebCT, YouTube, PowerPoint. PowerPoint is never a great answer to &lt;em&gt;any&lt;/em&gt; question, but it's particularly bad answer to a question about &lt;em&gt;online technology&lt;/em&gt;. What I really wanted was an honest, critical opinion of tech. Tell me &lt;em&gt;how&lt;/em&gt; you use it and &lt;em&gt;why&lt;/em&gt;, not &lt;em&gt;what&lt;/em&gt; you use. Your specific tools are time-sensitive and prone to making you look foolish if you name something antiquated. If you have &lt;q&gt;proficient in WordPerfect&lt;/q&gt; on your CV, now would be the time to remove it. Honestly, my solitary question about online technology was easily the most troublesome part of the hiring process. Many instructors are comfortable using technology but few seem thrilled about it or possessed of any rudimentary understanding.&lt;/p&gt; &lt;p&gt;&lt;q&gt;I love technology, but Twitter/texting is ruining my students writing.&lt;/q&gt;&lt;/p&gt; &lt;p&gt;Really? That's interesting, do you have any longitudinal data to share? I assume you ran a multi-year study, comparing students who use Twitter to a control group who do not, to come to this conclusion. It's a bit controversial, because &lt;a href="http://www.kdp.org/publications/theeducationalforum/pdf/TEF764_Greenhow_Gleason%20(2).pdf"&gt;virtually&lt;/a&gt; &lt;a href="http://www.ncbi.nlm.nih.gov/pubmed/19972666"&gt;every&lt;/a&gt; &lt;a href="http://www.cblt.soton.ac.uk/multimedia/PDFsMM09/m-Learning%20An%20experiment%20using%20SMS%20to%20support%20learning%20new%20English%20language%20words.pdf"&gt;piece&lt;/a&gt; of &lt;a href="http://jlr.sagepub.com/content/41/1/46.full.pdf"&gt;research&lt;/a&gt; &lt;a href="http://www.siu-voss.net/Plester__txt_msg_in_school.pdf"&gt;on&lt;/a&gt; &lt;a href="http://www.siu-voss.net/Voslo__effects_of_texting_on_literacy.pdf"&gt;this&lt;/a&gt; &lt;a href="http://en.wikipedia.org/wiki/Txtng:_the_Gr8_Db8"&gt;subject&lt;/a&gt; disagrees with you: the more someone reads and writes, the better they are at reading and writing. Thanks largely to the ubiquity of cell phones, students are reading and writing more today than they ever have in the past. Those students who write poorly today may have been near illiterate without the added practice of texting or tweeting. Secondly, consider that one of the faculty members you're talking to might be hella into Twitter. I identified myself as the Emerging Technologies Librarian before asking my question; anyone with any familiarity with Twitter probably knows it's popular among those in the tech scene. When you say "Twitter is turning my students into idiots," the snarky response that pops into my head is: I use Twitter, do you think I'm an idiot?&lt;/p&gt; &lt;p&gt;&lt;q&gt;Students are good with technology! &lt;em&gt;They&lt;/em&gt; show &lt;em&gt;me&lt;/em&gt; how to do things!&lt;/q&gt;&lt;/p&gt; &lt;p&gt;I like the admission that one learns from one's students. I don't mean to indict that. But the blanket generalization that all students are good with technology is not only false, it's damaging. I know these faculty members. They're the ones who ask students to make a chart in Excel without giving any instruction. They ask students to make a video presentation without knowing how to do it themselves. And when the students become frustrated and get stuck, they come to the library, where we patiently try to guess what the faculty member wanted and assist the student in completing the assignment. That's a big part of my job and I'm not complaining about the helping part; I love it. I'm complaining about the poorly written assignment that assumed a skill base that didn't exist.&lt;/p&gt; &lt;h4 id="the-myth-of-the-digital-native"&gt;The Myth of the Digital Native&lt;/h4&gt; &lt;p&gt;The assumption that students are skilled and comfortable with technology belies a much more disconcerting issue: &lt;a href="http://www.scribd.com/doc/9775892/Digital-Native"&gt;the myth of the digital native&lt;/a&gt; is alive and well in academia. The myth, for those who are unfamiliar, is basically &lt;q&gt;the kids these days are so good with computers.&lt;/q&gt; It's an assumption that growing up today, our younger students are so inundated with technology that they somehow magically glean a deeper understanding of it than prior generations. The fact is, many of our younger students know how to log onto Facebook, send a text message, and little else. If you ask them what web browser they use, they will say &lt;q&gt;Google.&lt;/q&gt; And they don't mean Chrome, they mean Google. They can't differentiate between the address bar and the search box in Internet Explorer 8. Many have a cursory understanding of the use of some pieces of tech and but no conceptual grasp of the larger edifices of the web and computer operating systems.&lt;/p&gt; &lt;p&gt;To be clear: &lt;em&gt;some&lt;/em&gt; students obviously do understand tech, the issue is when we assume they all do.&lt;/p&gt; &lt;p&gt;At a community college, the digital native assumption is even more problematic. When you say &lt;q&gt;students are good with technology,&lt;/q&gt; meaning that the younger generation is, what I hear is &lt;q&gt;I don't understand that many of my students will be adults, some doubtless older than I am.&lt;/q&gt; We have a lot of adults returning to higher ed. For many of them, calculators were the only computing device involved in their prior education. Now we ask them to understand the bloated behemoth that is a Learning Management System, to juggle several different accounts, to manage at least two emails, to complete assignments using specific software packages (e.g. PowerPoint). It's a major struggle for many of them; again, I know because I end up helping them in the library. A faculty member simply assuming technical competence is severely damaging their ability to deliver effective instruction.&lt;/p&gt; &lt;h4 id="where-do-we-go-from-here"&gt;Where Do We Go From Here&lt;/h4&gt; &lt;p&gt;I don't have a solution to the problems I've raised. As a job applicant, I would avoid naming specific software, instead describing the broader category to which they belong (e.g. word processing, presentation). I would also take some time to think critically about how you incorporate technology into instruction. Do you use it to increase collaboration? To make instruction less top-down &amp;amp; more interactive? Or are you simply showing amusing YouTube videos because the students seem to like them? There's a vast gulf between using technology and using it effectively.&lt;/p&gt; &lt;p&gt;Finally, I want to impress one hopeless plea upon the graduate schools of the world: offer—ideally require, but I'll settle for offer—an instructional technology class for all disciplines that covers the basics of technology, its technical underpinnings, how to use it, and finally how it can fit successfully into different pedagogical strategies. As a devotee of two-year, teaching-focused institutions, I already think it's tragic that most faculty members don't receive any teaching training. They become brilliant researchers and writers, but they're mostly left to their own devices when it comes to teaching. Knowledge of educational technology falls by the wayside as a consequence. Its use can be learned on the job but I wish grad schools would do more in this area.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/04/faculty-technology.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-3956111892791946633</guid><pubDate>Mon, 01 Apr 2013 10:19:00 +0000</pubDate><atom:updated>2013-04-01T06:19:25.830-04:00</atom:updated><title>What I Learned from My First Search Committee</title><description>&lt;p&gt;I was recently on my first search committee for a full-time faculty position at my community college. I was excited to see academic hiring from the other side and, sure enough, I learned much about the process. Below, I express my particular preferences for the enlightenment of the job-searching public. These views do not represent those of my institution or my peers on the search committee (indeed, some would doubtless disagree with certain contentions).&lt;/p&gt; &lt;p&gt;I will write a second post focusing on technology, because I found our applicants' ideas about technology particularly underwhelming.&lt;/p&gt; &lt;h4 id="the-good"&gt;The Good&lt;/h4&gt; &lt;p&gt;&lt;q&gt;Included is my teaching philosophy.&lt;/q&gt;&lt;br /&gt;Oh, we didn't ask for a statement of teaching philosophy? I don't care. It was great to read these statements. The mere fact that an applicant sent an unsolicited pedagogical statement meant that they'd thought about teaching as a discipline. It indicated a degree of rigor and dedication.&lt;/p&gt; &lt;p&gt;&lt;q&gt;For instance, in my 101 class I have my students do...&lt;/q&gt;&lt;br /&gt;Yes, a concrete example! It's very easy to say that you're a great teacher, you care about students, you employ multimedia, you know technology, you appeal to variegated learning styles. There, I just did it. Obviously, I'm the best candidate! No, the people who stand out give concrete examples that &lt;em&gt;show&lt;/em&gt; me that they know their stuff. They don't say "proficient in Microsoft Office" they say "I hold Skype office hours." They give assignments, lectures, and media right there in the cover or add further attachments.&lt;/p&gt; &lt;p&gt;&lt;q&gt;Attached are my student reviews.&lt;/q&gt;&lt;br /&gt;It surprised me to see student reviews included. While it's true that, if you've been teaching a while, it's trivial to pick out the two semesters you happened to receive ace reviews. But I do like seeing reviews, be they from students or peers. It shows that the faculty member kept the reviews, cares about them, thinks that they speak well of their teaching. That alone is important.&lt;/p&gt; &lt;p&gt;&lt;q&gt;Developmental and adult education...&lt;/q&gt;&lt;br /&gt;These are the people that really get it. While many applications mentioned diversity, a surprising few actually singled out their experience with developmental education and non-traditional students. When you mention these issues it tells me that not only have you worked at a community college but you paid attention to the institution's foremost issues and programs. How to effectively deliver developmental education is a &lt;em&gt;huge&lt;/em&gt; dilemma for us. Even if we're hiring for a position that will never teach developmental classes, the faculty member &lt;em&gt;will&lt;/em&gt; teach students either in or recently out of developmental ed.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Honesty&lt;/em&gt;&lt;br /&gt;Many interviewees were clearly honest; they said things that undoubtedly were admissions of weakness, or humanity, basically anything that made them out to be something other than a robot sent from the future to instruct students to death. You're nervous about the interview? That's perfectly normal and we're not hiring you to sit through job interviews, we want to know what kind of teacher you are. You're a woman and a mother, first and foremost, and a faculty member second? Well, that's great, those are logical priorities. The value of honesty isn't in the statements themselves but the trust that it builds with the hiring committee.&lt;/p&gt; &lt;p&gt;I also liked mentions of service learning or flipping the classroom, topics which have come up recently amongst our faculty. It shows that the applicant is aware of some of the same teaching approaches that we utilize.&lt;/p&gt; &lt;h4 id="the-bad"&gt;The Bad&lt;/h4&gt; &lt;p&gt;&lt;q&gt;I'm available &lt;abbr title="As Soon As Possible"&gt;ASAP&lt;/abbr&gt;.&lt;/q&gt;&lt;br /&gt;I've written this in cover letters because it sounds like a plus. In truth, if we're worried about your start date, that worry comes much later. Say you're available to start immediately during your phone interview or especially once you've been called to campus. But anything prior to that is both irrelevant and makes us think that you're desperate, perhaps have been rejected by other places for reasons we haven't discerned yet.&lt;/p&gt; &lt;p&gt;&lt;q&gt;My research focus is...&lt;/q&gt;&lt;br /&gt;Under certain circumstances, &amp;amp; when written in a concise manner, research interests can work well in a cover letter written to a community college. But applicants should understand that I want to know first &amp;amp; foremost what kind of teacher you are. Research is not a part of our mission, period. The easiest way to rule out most candidates was when their cover &amp;amp; &lt;abbr title="Curriculum Vitae"&gt;CV&lt;/abbr&gt; went to great lengths to demonstrate their research prowess to the detriment of teaching. If you're a respected researcher with plenty of publications &amp;amp; presentations, by all means add that to your &lt;abbr title="Curriculum Vitae"&gt;CV&lt;/abbr&gt;. But if all you can say about teaching is "yeah I really love it" then your application immediately drops to the bottom of the pile.&lt;/p&gt; &lt;p&gt;&lt;q&gt;I taught graduate level quantitative analysis, a seminar on Michel Foucault's notion of transgressive dissimulation in relation to the liminal corporeality of modernity...&lt;/q&gt;&lt;br /&gt;OK, so you've taught a bunch of things that will never be in our curricula, cool. I guess I can just skip over this section. It becomes even more worrisome if that looks like the &lt;em&gt;only&lt;/em&gt; thing you teach because now I'm concerned that you'll be bored—or worse, think it beneath you—when teaching introductory level courses exclusively. And while this search committee wasn't in my area of expertise, I'm quite familiar with theory. If I can't follow your course's theme or what you say your research interests are, I worry our students won't either.&lt;/p&gt; &lt;h4 id="the-ugly"&gt;The Ugly&lt;/h4&gt; &lt;p&gt;&lt;q&gt;Your esteemed institution&lt;/q&gt;&lt;br /&gt;Look, no offense to &lt;abbr title="My Place of Work"&gt;MPOW&lt;/abbr&gt; which I truly love, but no one esteems us. We're not Harvard and, more importantly, we're not trying to be Harvard. Institutional prestige is meaningless to us. We're in the business of teaching students, of moving them along to prestigious institutions. We don't need the credit. And the fact that you failed to name our institution indicates you sent this same cover to a dozen other schools.&lt;/p&gt; &lt;p&gt;&lt;q&gt;I taught X at Y, Z at A, B at C, D at E, F at G, H at I..&lt;/q&gt;&lt;br /&gt;Yes, people actually wrote this in their cover. The laundry list approach shows you're clueless and perhaps haven't read your own cover letter aloud. Lengthy lists are unpersuasive, particularly when you relate zero details about each appointment (oh boy, do we get to be another bullet point on your list?!?). Furthermore, it wastes an incredible amount of space in the cover when I'm searching for persuasive narrative. These details are entirely redundant with your &lt;abbr title="Curriculum Vitae"&gt;CV&lt;/abbr&gt;; let the &lt;abbr title="Curriculum Vitae"&gt;CV&lt;/abbr&gt; do that, the cover is the time to tell me about &lt;em&gt;who you are&lt;/em&gt; and &lt;em&gt;why we want you&lt;/em&gt;.&lt;/p&gt; &lt;p&gt;&lt;em&gt;Tiny font, no line-spacing, letters over a page &amp;amp; a half long&lt;/em&gt;&lt;br /&gt;All of these show me that you don't respect the hiring process. We're reading a lot of letters. I would love to devote an infinite amount of time to carefully considering each applicant but the truth is the reason why there is a conventional cover letter length is that time is finite. No one gets extra time or space. Have a lot to say? Include an optional attachment that I reserve the right to ignore or only consult if you make it to the next round of consideration. But making your cover 8pt font with no line spacing is a sophomoric trick which fools no one. An unfortunate majority of faculty don't trust students and thus require a particular font and spacing; do you really think they won't spot the opposite trick coming from you?&lt;/p&gt; &lt;h4 id="conclusion"&gt;Conclusion&lt;/h4&gt; &lt;p&gt;After reading dozens of job applications, many of the points above were obvious. But they weren't all on my mind when I was submitting job applications. I probably included laundry lists, I said I was available ASAP, and I didn't include a teaching philosophy (which, as it happens, was never required for any of the positions I applied to). The point is: none of this is obvious. I hope someone reads it and finds it helpful.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/04/what-i-learned-from-my-first-search.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-5629872963248278727</guid><pubDate>Thu, 21 Mar 2013 14:30:00 +0000</pubDate><atom:updated>2013-03-21T10:31:48.563-04:00</atom:updated><title>Libraries, Art, Math, &amp; the Value of Failure</title><description>&lt;p&gt;I am going to start in one place &amp;amp; end up somewhere else. Ready? Here we go.&lt;/p&gt; &lt;h4 id="failure"&gt;Failure&lt;/h4&gt; &lt;p&gt;There's a wonderful trend lately at library conferences of promoting open dialog around failure. I was first acquainted with this at the &lt;a href="https://twitter.com/search?q=%23drupalfail"&gt;#drupalfail&lt;/a&gt; sessions held by &lt;a href="http://www.ala.org/lita/about/igs/drupal/lit-igdrupal"&gt;LITA's Drupal Interest Group&lt;/a&gt;. Presenters would detail the various ways their projects crashed &amp;amp; burned, or merely did not meet expectations. With Drupal, this is particularly easy: it's a complex &lt;abbv title="Content Management System"&gt;CMS&lt;/abbv&gt;, as powerful as it is enigmatic, &amp;amp; you have to be fairly experienced to successfully plan &amp;amp; implement a project with no hiccups along the way.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Related news flash&lt;/strong&gt;: most librarians don't learn Drupal in library school, it's something they learn on the job, so there's a lot of intermediate failures before anyone gets close to something that vaguely resembles success. But Drupal isn't the only example of this trend: I &lt;a href="https://cynng.wordpress.com/2013/02/11/code4lib-pre-conference-fail4lib/"&gt;heard&lt;/a&gt; &lt;a href="http://eduiconf.org/2013/03/18/four-big-ideas-from-code4lib-2013/"&gt;good things&lt;/a&gt; about Code4Lib's &lt;a href="http://wiki.code4lib.org/index.php/2013_preconference_proposals#Fail4lib"&gt;"Fail4Lib" preconference&lt;/a&gt;. There have been scattered talks elsewhere discussing the need to create a culture where taking risks &amp;amp; occasionally failing is a welcome. It's certainly a necessary element of innovation.&lt;/p&gt; &lt;p&gt;What stands out about these failure sessions? They're useful. Knowing someone else's mistakes saves you immense amounts of time &amp;amp; often all you have to do is &lt;em&gt;avoid something stupid&lt;/em&gt; to gain from it. As a technologist at a small library, I'm constantly bombarded with awesome things I can't use: they require money, or staff, or time, or expertise, or scale that we just don't have. It's cool to hear about Linked Data &amp;amp; Near-Field Communication; it's not something that would be a wise investment on my part. But when I hear someone say that creating a custom theme from scratch in Drupal is a waste of time relative to using a pre-built theme, I instantly am more prepared to do my job. Don't reinvent the wheel with theming, check. Lesson learned, time saved.&lt;/p&gt; &lt;h4 id="art"&gt;Art&lt;/h4&gt; &lt;p&gt;When you consider the pedagogical value of failure, some weird issues arise. I had a unique undergraduate career in that I was trained in both the humanities (English) &amp;amp; formal sciences (Mathematics). You know what both of those fields happen to be utterly terrible at? Teaching failure. In math, when a theorem is superseded, it's simply not taught anymore. It might as well have never existed. I never had homework problems phrased "spot the problem with this theorem" or "hey Fermat was a dummy, can you tell why?" Mathematics ignores an entire mode of analysis. You become skilled at deductive reasoning &amp;amp; constructing your own theorem cabins from axiom Lincoln Logs; you never learn how to approach someone else's theoretical edifice other than simply assuming it's true because it's in the textbook.&lt;/p&gt; &lt;p&gt;English is also awful at admitting failure, in its own warped way. We read the classics, but not the failed classics. There are at least two kinds of failed classics: works which were highly regarded in their own time but grew irrelevant &amp;amp; works which were never highly regarded in any time. Either way, why are the canonical works more valued than the telling failures of their contemporaries? While Mathematics education's failure to teach non-deductive modes of logic is troubling, artistic prejudices are even more disturbing.&lt;/p&gt; &lt;p&gt;Everyone has, by now, heard "beauty is in the eye of the beholder." The aesthetic disciplines cling to this maxim as if it somehow places them outside the realm of objective inquiry, paradoxically able to pass judgment without recourse to supporting evidence. If this is true, why do we read Shakespeare? &lt;a href="#fn1" id="note1"&gt;[1]&lt;/a&gt; Wouldn't any arbitrarily chosen text suffice, given that the text itself is irrelevant, it's the Beholder that matters? Of course, what you learn in English is that—to paraphrase George Orwell's &lt;em&gt;Animal Farm&lt;/em&gt;—some Beholders are more equal than others. Your professors are Beholders, you as a student are but a Beholder-in-training, &amp;amp; art works are unimpeachable: they do not fail, they either go unmentioned or become canonical via mysterious means. Aesthetics masquerades as subjective judgment while never admitting its own folly or interrogating the social conditions that cause certain works to become canonical while others are summarily discarded.&lt;/p&gt; &lt;h4 id="practicality"&gt;Practicality&lt;/h4&gt; &lt;p&gt;Doubtless there are objections that I'm conflating disparate fields. Mathematics is axiomatic logic, English is aesthetics, &amp;amp; the specific vein of librarianship I've mentioned is quite practical. These are library &lt;em&gt;projects&lt;/em&gt; that failed &amp;amp; perhaps we cannot say a work of art or a theorem fails in any corresponding sense.&lt;/p&gt; &lt;p&gt;But don't give up on me so easily. Librarians are onto something here. We know that art fails. We don't purchase every book, we write harsh &lt;a href="http://goodreads.com"&gt;Goodreads&lt;/a&gt; reviews about books that didn't please our Beholder's eye. My earlier examples were from library technology events, events that skirt around the practice of programming if not engage it directly. &amp;amp; what is a failed program, or a bug in an algorithm, if not a flawed theorem? There are connections &amp;amp; they might even be meaningful. Otherwise I'm just way off base, a deranged squirrel collecting copper washers for the winter. I never was good at aesthetics as theory. I probably should avoid writing about it. But I'm pretty good at failing &amp;amp; perhaps I'll write more about that.&lt;/p&gt; &lt;h5 id="footnotes"&gt;Footnotes&lt;/h5&gt; &lt;p&gt;&lt;span id="fn1"&gt;[1]&lt;a href="#note1"&gt;^&lt;/a&gt;&lt;/span&gt; The thing about Shakespeare: he's not a very good writer. He has flaws &amp;amp; they're the sort creative writing teachers spell out in red sharpie at the end of student plays: "Heavy handed." "Deus ex machina." "Did you really back yourself into such a corner that the only way out is to kill every single character for which the audience has a shred of empathy left? Please, go back to the drawing board." I'm still bitter about Shakespeare, a sole author, being a &lt;em&gt;required&lt;/em&gt; course for my undergrad degree, which utterly ignored the entire 20th century.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/03/libraries-art-math-value-of-failure.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-5933670543711951916</guid><pubDate>Fri, 22 Feb 2013 14:29:00 +0000</pubDate><atom:updated>2013-02-22T09:29:41.496-05:00</atom:updated><title>Reflections on Writing JavaScript</title><description>&lt;p&gt;I've been working with JavaScript for a little while now &amp;amp; I want to briefly share changes I've made in my coding style. These changes, while seemingly pedantic, can be very meaningful in constructing a maintainable script.&lt;/p&gt; &lt;h3 id="use-anonymous-functions-sparingly"&gt;Use Anonymous Functions Sparingly&lt;/h3&gt; &lt;p&gt;When I first started writing semi-serious JavaScript using jQuery, I was passing anonymous functions as parameters frequently. It's a pattern that's condoned by &lt;a href="http://www.codecademy.com"&gt;Codecademy&lt;/a&gt; &amp;amp; all the brief jQuery &lt;abbr title="Application Programming Interface"&gt;API&lt;/abbr&gt; examples, but it gets messy &amp;amp; unsustainable quickly. Throwing anonymous functions around all the time misses the entire point of &lt;em&gt;functions&lt;/em&gt;, i.e. that they're named, reusable chunks of code. What's clearer here:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;// anonymous&lt;br /&gt;$.getJSON( "http://some.api.url/gimmejson", { q: "search+term" } , function ( response ) {&lt;br /&gt;        var len = response.len;&lt;br /&gt;        if ( len &amp;gt; 0 ) {&lt;br /&gt;            console.log( "Well, at least it's not empty..." );&lt;br /&gt;        } else {&lt;br /&gt;            return "ERROR ERROR DEATH FATAL ERROR";&lt;br /&gt;        }&lt;br /&gt;        var dataset = [];&lt;br /&gt;        for ( var i = 0; i &amp;lt; len; i++ ) {&lt;br /&gt;            dataset.push( response.items[ i ].text );&lt;br /&gt;        }&lt;br /&gt;        return dataset; },&lt;br /&gt;    );&lt;br /&gt;&lt;br /&gt;// named&lt;br /&gt;$.get( "http://some.api.url/gimme.json", processResponse );&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Having ten lines of anonymous function pasted into a function call as a parameter is probably the least readable code pattern commonly in use. In particular, if other parameters also span multiple lines (e.g. if I pass a much larger object in the second parameter above) it is a chore to differentiate between commas that separate items within objects &amp;amp; arrays &amp;amp; the commas that separate the parameters you're passing. Debugging is also easier with named functions; you can look back through a call stack that makes sense, rather than discovering that the last function called before an error was but one of the twelve anonymous ones sprinkled throughout your code.&lt;/p&gt; &lt;p&gt;The one disadvantage is that it's not immediately evident that processResponse is a function; it looks like it could be any type of variable. That's why the best, most readable way to use most functions is by passing parameters in an object, which jQuery makes extensive use of:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;// passed in an object&lt;br /&gt;$.ajax( {&lt;br /&gt;    url: "http://some.api.url/gimme?json=yesyesyes",&lt;br /&gt;    dataType: "json",&lt;br /&gt;    data: { q: "search+term" },&lt;br /&gt;    success: processResponse,&lt;br /&gt;    error: displayError&lt;br /&gt;} );&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;This makes the role of processResponse much clearer; it's a callback function called upon a successful request. If the &lt;code&gt;$.getJSON&lt;/code&gt; function let me pass in both a success &amp;amp; an error callback, I'd have to look up the function's syntax every time just to figure out which anonymous function was assigned to each. With the object parameter, their roles are doubly evident both from the name of their key as well as the name I've given the function.&lt;/p&gt; &lt;h3 id="and"&gt;&amp;amp;&amp;amp; and ||&lt;/h3&gt; &lt;p&gt;&amp;amp;&amp;amp; and || are frequently used in assignment expressions, while intuitively they only belong inside comparison expressions. It's not something I do a lot but it's incredibly frequent in code libraries so understanding its usage is important. Basically, &amp;amp;&amp;amp; and || are not merely comparison operators; they are expressions which return a value. &amp;amp;&amp;amp; returns the first value if it is falsey &amp;amp; the second if the first is truthy; || is the opposite in that it returns the second value if the first is falsey &amp;amp; the first if it is truthy. You can see how this works in typical comparisons, where &amp;amp;&amp;amp; is used to mean "and" &amp;amp; || is used to mean "or". Example:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;if ( false &amp;amp;&amp;amp; true ) // -&amp;gt; false because 1st is falsey, code won't execute&lt;br /&gt;if ( false || true ) // -&amp;gt; true because 2nd is truthy, code will execute&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;We know intuitively that these make sense, because "and" usage means that both the first &lt;em&gt;and&lt;/em&gt; the second conditions must be true while "or" usage is happy if either the first &lt;em&gt;or&lt;/em&gt; the second is true. But what do you think this code, taken from the Google Analytics snippet, does?&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var _gaq = _gaq || {};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Does it make sense to have a || outside of a conditional statement such as if? Here, || returns _gaq if _gaq is truthy (e.g. if it exists) but it will return an empty object literal if _gaq is falsey. Then, later on in my code, if I add a method or property to _gaq I've guaranteed that it exists so I won't receive a reference error. So a more verbose but less tricksy rewriting is:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;if ( _gaq !== undefined ) {&lt;br /&gt;    _gaq = _gaq;&lt;br /&gt;} else {&lt;br /&gt;    _gaq = {};&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Writing one line as opposed to five makes sense; an if-else condition is overkill here, when we just want to check if our object already exists &amp;amp; initialize it as empty if not.&lt;/p&gt; &lt;h3 id="spaces"&gt;Spaces&lt;/h3&gt; &lt;p&gt;Spaces are good. I like an abundance of spaces in my code. I pad array brackets, object curly braces, &amp;amp; parentheses wrapped around control flow expressions or function parameters with spaces. So I write&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var obj = {&lt;br /&gt;    nums = [ "one", 2, three ],&lt;br /&gt;    funk: function ( param ) {&lt;br /&gt;        if ( param.toLowerCase() === 'parliament' ) {&lt;br /&gt;            return 'Give up the funk.';&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;instead of&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var obj = {nums=["one", 2, three],&lt;br /&gt;    funk:function(param){&lt;br /&gt;        if (param.toLowerCase() === 'parliament') return 'Give up the funk.';&lt;br /&gt;}};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;One telling space is the parentheses that wrap a function's parameters. I try to always put a space in between the term &lt;code&gt;function&lt;/code&gt; &amp;amp; the parameters in a function definition, while there's no space when the function is being executed.&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var funk = function ( args ) { ... } // function assigned to variable&lt;br /&gt;funkyFunk function ( args ) { ... } // function declaration&lt;br /&gt;funk(); // function being executed.&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;Functions are thrown around so frequently in JavaScript that this subtle difference, if consistently enforced, can go a long ways towards helping you read whether a piece of code is being executed or defined for later use.&lt;/p&gt; &lt;h3 id="switch"&gt;Switch&lt;/h3&gt; &lt;p&gt;I generally avoid the &lt;code&gt;switch&lt;/code&gt; statement; its syntax is weird. I find it uncharacteristic that the code blocks following "case foo" aren't wrapped in curly braces. If I had to guess how a switch statement would be done, the cases would look more like:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;switch ( foo ) {&lt;br /&gt;    case ( bar ) {&lt;br /&gt;        doSomething();&lt;br /&gt;        break;&lt;br /&gt;    }&lt;br /&gt;    case ( bah ) {&lt;br /&gt;        doSomethingElse();&lt;br /&gt;        break;&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;which parallels the control flow operators. &lt;code&gt;switch&lt;/code&gt; doesn't save much space over a series of if comparisons &amp;amp; carries the potential hazard of &lt;a href="http://www.yuiblog.com/blog/2007/04/25/id-rather-switch-than-fight/"&gt;unintentional fallthrough&lt;/a&gt;.&lt;/p&gt; &lt;h3 id="and-2"&gt;++ and ?&lt;/h3&gt; &lt;p&gt;I follow a lot of &lt;a href="http://www.worldcat.org/title/javascript-the-good-parts/oclc/767497960"&gt;Douglas Crockford's advice&lt;/a&gt;, but not his avoidance of &lt;code&gt;++&lt;/code&gt;. I use &lt;code&gt;++&lt;/code&gt; in &lt;code&gt;for&lt;/code&gt; or &lt;code&gt;while&lt;/code&gt; loops &amp;amp; it hasn't come back to bite me. Sometimes I'll use it to increment a value outside of a loop. I think I understand its usage in these limited contexts &amp;amp; while it isn't a huge gain in terms of saving space, it's nice to put all my loop details in one expression. I also don't think the ternary operator is worth avoiding; it's very handy during variable initialization even if it's a little opaque, much like || and &amp;amp;&amp;amp;. The ternary operator looks like:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var someVariable = ( expression ) ? "value if expression evaluates to true" : "value if expression evaluates to false";&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;We could rewrite the Google Analytics code:&lt;/p&gt; &lt;pre&gt;&lt;code&gt;var _gaq = ( _gaq ) ? _gaq : {};&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt; &lt;p&gt;It does the exact same thing; check to see if &lt;code&gt;_gaq&lt;/code&gt; exists, initialize it to an empty object literal if not.&lt;/p&gt; &lt;h3 id="you-dont-hate-javascript-you-hate-the-abbr-titledocument-object-modeldomabbr"&gt;You Don't Hate JavaScript, You Hate the &lt;abbr title="Document Object Model"&gt;DOM&lt;/abbr&gt;&lt;/h3&gt; &lt;p&gt;I, as many JavaScript programmers before me, have discovered that JavaScript is really not so bad a language. It has its peculiar errors—the extreme &lt;a href="http://javascript.crockford.com/remedial.html"&gt;unreliability of &lt;code&gt;typeof&lt;/code&gt;&lt;/a&gt; &amp;amp; the leading zero &lt;a href="http://stackoverflow.com/questions/8763396/javascript-parseint-with-leading-zeros"&gt;issue with &lt;code&gt;parseInt&lt;/code&gt;&lt;/a&gt; come to mind—but it also has gorgeous features. In particular, the &lt;a href="https://en.wikipedia.org/wiki/First-class_function"&gt;first-class&lt;/a&gt; nature of functions is wonderful &amp;amp; I can't live without it. Passing functions &lt;em&gt;as parameters&lt;/em&gt; to other functions is mind-blowing once you realize how much you can achieve with it.&lt;/p&gt; &lt;p&gt;But JavaScript's biggest issue isn't the language itself, it's the way it interacts with &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; pages via the &lt;abbr title="Document Object Model"&gt;DOM&lt;/abbr&gt;. &lt;abbr title="Document Object Model"&gt;DOM&lt;/abbr&gt; manipulation is tough, the commands are verbose, &amp;amp; cross-browser incompatibilities abound. There's a reason why people love &lt;a href="http://jquery.com"&gt;jQuery&lt;/a&gt;; it removes the pain of accessing &amp;amp; altering the &lt;abbr title="Document Object Model"&gt;DOM&lt;/abbr&gt;, scaffolding on top of &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; selectors that most web developers already know. The one biggest piece of advice I give to people who want to learn JavaScript is to start with jQuery. With a nice layer of abstraction, you can actually &lt;em&gt;do&lt;/em&gt; something on a website which is amazingly gratifying. The building blocks of the language are easier to acquire when you see their utility on the web, as opposed to repeatedly printing text to the console.&lt;/p&gt; &lt;h3 id="conclusion-steps-to-learning-a-language"&gt;Conclusion: Steps to Learning a Language&lt;/h3&gt; &lt;p&gt;There are a few steps you go through when learning a programming language. The very first step is simply understanding what syntax is valid. Writing &lt;code&gt;echo "Hello world!"&lt;/code&gt; will result in an error in JavaScript. The next step is understanding the advantages of specific syntax choices; knowing whether a particular situation calls for a a particular control flow operator, for instance.&lt;/p&gt; &lt;p&gt;The next step after that is meaningless in terms of how the code executes but of paramount importance to programmers, who tend to be human; knowing how to write clear code. Once I had the basics out of the way, I found myself having lots of opinions on what makes a piece of JavaScript understandable. Now, every time I go back &amp;amp; look at something I wrote previously, I find myself employing all sorts of conventions (spaces! fewer anonymous functions!) that I've discovered or come to appreciate. While much of &lt;em&gt;JavaScript: The Good Parts&lt;/em&gt; went over my head initially, I now understand its essence; that deliberate choices when writing JavaScript can not only avoid common programming pitfalls but increase clarity.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/02/reflections-on-writing-javascript.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-1593462228106424020</guid><pubDate>Fri, 15 Feb 2013 18:49:00 +0000</pubDate><atom:updated>2013-02-15T13:49:09.228-05:00</atom:updated><title>Optimizing IIS for Performance &amp; Security</title><description>&lt;p&gt;My college uses Microsoft's IIS 7 for its servers instead of the more common Apache. That's fine; IIS is probably a good server. I don't know, I'm not qualified to say which is better. But one thing's for sure: Apache is a easier to use &amp;amp; learn simply because of the availability of documentation. If you're a full stack web person starting a new project, please use something with community support &amp;amp; documentation. Apache plays nice with &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt;, there's tons of security &amp;amp; performance tweaks documented online, &amp;amp; it has &lt;a href="http://httpd.apache.org/docs/2.0/mod/mod_cache.html" title="mod_cache"&gt;some&lt;/a&gt; &lt;a href="https://code.google.com/p/modpagespeed/" title="mod_pagespeed"&gt;great&lt;/a&gt; &lt;a href="http://www.trickytools.com/php/mod_benchmark.php" title="mod_benchmark"&gt;add-ons&lt;/a&gt; for any situation.&lt;/p&gt; &lt;p&gt;But hey, I'm stuck with IIS. This post is mostly a note-to-self on how to optimize IIS. I'm not at all a server configuration expert, so please don't take it as gospel. Most especially, if I'm flat-out wrong about something, I'd like to hear about it.&lt;/p&gt; &lt;p&gt;For the tl;dr &amp;amp; the resulting file, see my &lt;a href="https://github.com/phette23/iis7-web-config"&gt;web.config&lt;/a&gt; github repo.&lt;/p&gt; &lt;h3 id="caching"&gt;Caching&lt;/h3&gt; &lt;p&gt;The hardest part is caching correctly. The goal is to use far-future expires headers, similar to &lt;code&gt;Cache-Control: max-age=9000000&lt;/code&gt;. There are many different means of caching in HTTP but far-future expires is both simple (the server just says "hey, you can hang onto this content for X seconds") &amp;amp; effective. Some other caching methods end up sending "conditional get" requests, essentially saying "hey, server, I have version 3.2 of this file,  is that current?" &amp;amp; the server sends a response back saying either "yup, carry on" or "nope, here's the current version." That is slightly less error-prone, because you can update a file on the server &amp;amp; it'll still make its way to clients that have cached the content, but that extra HTTP request adds up quickly. To update files with max-age or other far-future type caching schemes, I use filename-based versioning, essentially bumping a version number like "style.1.css" to "style.2.css" every time I change a file. Because remembering to change filenames is tedious, I either have a CMS (Drupal's built-in caching) or a build script (&lt;a href="http://yeoman.io"&gt;Yeoman&lt;/a&gt;) handle it for me.&lt;/p&gt; &lt;p&gt;In IIS 7, unfortunately, it looks like you can either set static content caching on or off with little in between (Apache lets you specify expires time by &lt;a href="https://en.wikipedia.org/wiki/Internet_media_type"&gt;MIME type&lt;/a&gt;). If there's a particular static MIME type that you don't want to get cached, too bad. That's problematic for at least two types: text/html &amp;amp; text/cache-manifest. These are both static, text types but the files need to be able to change &lt;em&gt;without changing their name&lt;/em&gt;. If you altered your HTML file's name every time it changed, you'd constantly break incoming links. The &lt;a href="http://www.html5rocks.com/en/tutorials/appcache/beginner/"&gt;appcache&lt;/a&gt; can't change because it causes this weird loop wherein clients that have previously visited the site &amp;amp; primed their cache can never get an updated version because they always looks in the wrong place; Jake Archibald covers this brilliantly in &lt;a href="https://speakerdeck.com/jaffathecake/application-cache-douchebag?slide=35" title="Don't far-future cache the manifest!"&gt;Appcache Douchebag&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;So to get around this conundrum, I use two layers of web.config files: in the site's root where HTML, server-side scripts, &amp;amp; the cache manifest reside I use a config with no caching whatsoever, that's &lt;code&gt;&amp;lt;clientCache cacheControlMode="DisableCache" /&amp;gt;&lt;/code&gt;. Then, in any subdirectory where static content (images, CSS, JavaScript, fonts, etc.) might reside, I override that setting with an aggressive, far-future expires header.&lt;/p&gt; &lt;p&gt;Finally, I remove ETags with a two-part rule. The HTML5 Boilerplate server configs botch this horribly, ruining the X-UA-Compatible header in the process, but some searching around StackOverflow found me the right combination of rules to remove ETags per performance best practice (see &lt;a href="http://www.worldcat.org/title/high-performance-web-sites-essential-knowledge-for-frontend-engineers/oclc/144596256&amp;amp;referer=brief_results"&gt;Steve Souders' book&lt;/a&gt;).&lt;/p&gt; &lt;h3 id="gzip"&gt;GZIP&lt;/h3&gt; &lt;p&gt;I just copied this bit from the &lt;a href="https://github.com/h5bp/server-configs"&gt;HTML5 Boilerplate Server Configs&lt;/a&gt; &amp;amp; made sure it worked with YSlow &amp;amp; other external tests. It's super important to GZIP content, arguably the biggest performance win you can get, &amp;amp; yet that's not the default in IIS 7.&lt;/p&gt; &lt;h3 id="security"&gt;Security&lt;/h3&gt; &lt;p&gt;I'm not an expert at hardening servers but it makes sense to eliminate headers that unnecessarily expose server information without any added benefit. I blank the &lt;code&gt;X-AspNet-Version&lt;/code&gt;, &lt;code&gt;X-Powered-By&lt;/code&gt;, &amp;amp; &lt;code&gt;Server&lt;/code&gt; headers. Another IIS quirk is that you can't simply remove the &lt;code&gt;Server&lt;/code&gt; header, all you can do is set its value to be an empty string which is at least enough to protect against the version number being exposed.&lt;/p&gt; &lt;h3 id="rendering-engines"&gt;Rendering Engines&lt;/h3&gt; &lt;p&gt;Since the &lt;code&gt;X-UA-Compatible&lt;/code&gt; meta tag doesn't really work, I send it as an HTTP header. This forces IE to use &lt;a href="http://www.google.com/chromeframe?prefersystemlevel=true"&gt;Chrome Frame&lt;/a&gt; if it's available or the latest rendering engine (e.g. no IE 8 using the IE 7 engine) if not.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/02/optimizing-iis-for-performance-security.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-3815765629864045498</guid><pubDate>Sat, 09 Feb 2013 22:48:00 +0000</pubDate><atom:updated>2013-02-09T17:48:31.640-05:00</atom:updated><title>Eric Explains URLs (video)</title><description>I'm teaching a course entitled "The Nature of Knowledge" and we're specifically focusing on what happens to knowledge in a digitized, networked environment. I gave the class a "technology inventory" survey to complete and the hardest question on it proved to be identifying the top-level domain of a given URL. As such, I made this video to explain URLs a little bit more in-depth.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="360" src="http://www.youtube-nocookie.com/embed/s9Ae1ZRqNLo?rel=0" width="640"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Weaknesses&lt;/h3&gt;I didn't do a particularly good job of explaining a few things in this video. I want to make it clear that it's not a flawless intro. Hopefully I can remake it sometime, but for now here are some caveats:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;What does a scheme mean?&lt;/b&gt;&amp;nbsp;I introduce two of them but don't describe their implications, i.e. that they're transfer protocols.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Subdomains&lt;/b&gt;&amp;nbsp;are basically everything in the domain that's not the TLD. I don't think that's clear from my example.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Search&lt;/b&gt;&amp;nbsp;can literally be a file, e.g. search.php, search.html, search.pdf (though that wouldn't have a query string). I know that the idea of URLs pointing to files is mostly an antiquated idea in the days of database-driven CMSs &amp;amp; web frameworks like Ruby on Rails. But it's a good starting point to learn more about them.&lt;/li&gt;&lt;li&gt;&lt;b&gt;Google is a bad example&lt;/b&gt;. I knew that but I didn't realize quite how poor, because Google doesn't use a ? to distinguish the query string, oddly enough, so a Google search actually contradicts how I'm describing a query string.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;Anything I missed? Open to criticism but I hope this is a decent overview despite its flaws.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, I have a git repo of the site I made to demonstrate the different pieces, totally willing to share if someone wants it.&lt;/div&gt;</description><link>http://patametadata.blogspot.com/2013/02/eric-explains-urls-video.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-2333971618530087596</guid><pubDate>Wed, 30 Jan 2013 02:07:00 +0000</pubDate><atom:updated>2013-01-29T21:07:27.686-05:00</atom:updated><title>A Block to the Head (in Drupal 7)</title><description>&lt;p&gt;This is going to be a super specific &amp; technical post, because it took me way too long to figure out how to do this &amp; someone else could probably stand to benefit from it. For the tl;dr skip to the code section.&lt;/p&gt; &lt;h3&gt;The Scenario&lt;/h3&gt; &lt;p&gt;In general, the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; of your &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; document is not editable in &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt;. The &lt;code&gt;&amp;lt;title&amp;gt;&lt;/code&gt; changes to reflect what page you're on, sure, &amp; tags are added or removed by modules frequently, but you can't tweak the markup in the same way you can the contents of a block or main content. For the most part, that's fine; 90% of the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; should stay the same from page to page, such as site styles &amp; must-have &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tags like &lt;code&gt;viewport&lt;/code&gt;. If you need to change something site-wide, that can be done through theme templates. But sometimes that's not enough; what if I want to add different &lt;code&gt;&amp;lt;meta&amp;gt;&lt;/code&gt; tags to different pages? Or load variegated builds of &lt;a href="http://modernizr.com"&gt;Modernizr&lt;/a&gt; on variegated pages? Or use a special font on a set of pages? There are numerous reasons why you might want a specific subset of pages to have a bit of custom markup; in short, you want to put one of Drupal's blocks in the document's &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;. Without further ado, here's how you do that.&lt;/p&gt; &lt;h3&gt;The Code&lt;/h3&gt; &lt;p&gt;In &lt;b&gt;yourtheme.info&lt;/b&gt;, find the list of regions &amp; add one for your new &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; region:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;region[html_head] = HTML Head&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The name that you'll use in the code has to be a valid PHP variable name, so no spaces.&lt;/p&gt;&lt;br&gt;&lt;p&gt;In your theme's &lt;b&gt;template.php&lt;/b&gt;, add the following to the &lt;code&gt;yourtheme_preprocess_html&lt;/code&gt; function:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;$variables[ 'html_head' ] = block_get_blocks_by_region( 'html_head' );&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you're using a subtheme without a template.php, you can create it &amp; write the function like this:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;function mastertheme_subtheme_preprocess_html(&amp;$variables) {&lt;br /&gt;  /* so that html_head is available in html.tpl.php */&lt;br /&gt;  $variables[ 'html_head' ] = block_get_blocks_by_region( 'html_head' );&lt;br /&gt;}&lt;/code&gt;&lt;/pre&gt;&lt;br&gt;&lt;p&gt;In &lt;b&gt;html.tpl.php&lt;/b&gt;, your theme's HTML template, find the spot where you want the block's markup to be inserted &amp; add:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?php if ( $html_head ): ?&amp;gt;&lt;br /&gt;  &amp;lt;?php print render( $html_head ); ?&amp;gt;&lt;br /&gt;&amp;lt;?php endif; ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you're using a subtheme where html.tpl.php doesn't exist, copy the master theme's html.tpl.php into the templates directory &amp; then add the above.&lt;/p&gt;&lt;br&gt;&lt;p&gt;Right now, that would be enough to insert some code into the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; but the code will likely be wrapped in problematic tags that don't belong in the &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; like &lt;code&gt;&amp;lt;div&amp;gt;&lt;/code&gt; &amp; &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt;. To get rid of that junk, we create a new region-specific block template that only prints out the contents of the block &amp; nothing else. Create a &lt;b&gt;block--html-head.tpl.php&lt;/b&gt; file &amp; put it in the templates directory with the following line as its only contents:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;?php print $content ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Now clear the cache &amp; add a block to the new region; it should appear in your site's &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt;.&lt;/p&gt;&lt;br&gt;&lt;p&gt;If you've named your block something other than "html_head" then you'll need to change the references throughout, but this should work for any Drupal 7 site. Note that if you rename a region (or perhaps otherwise screw with its templates? not entirely clear to me), all the blocks you had previously assigned to it become unassigned. That was what wasted the majority of my time; I couldn't understand why my block wasn't showing up when the &lt;code&gt;$html_head&lt;/code&gt; variable should have been available but the block had been unassigned during my shenanigans.&lt;/p&gt; &lt;h3&gt;The References&lt;/h3&gt; &lt;p&gt;The Drupal Answers thread &lt;a href="http://drupal.stackexchange.com/questions/17672/printing-regions-in-html-tpl-php"&gt;Printing regions in html.tpl.php&lt;/a&gt; provided most of the special sauce for this one, specifically the idea to store the return value of &lt;code&gt;block_get_blocks_by_region&lt;/code&gt; in a variable that's accessible later when html.tpl.php runs.&lt;/p&gt;&lt;p&gt;The &lt;a href="http://api.drupal.org/api/drupal/includes%21theme.inc/function/template_preprocess_html/7"&gt;&lt;code&gt;template_preprocess_html&lt;/code&gt;&lt;/a&gt;, &lt;a href="http://api.drupal.org/api/drupal/modules!block!block.module/function/block_get_blocks_by_region/7"&gt;&lt;code&gt;block_get_blocks_by_region&lt;/code&gt;&lt;/a&gt;, &amp; &lt;a href="http://api.drupal.org/api/drupal/modules!system!html.tpl.php/7"&gt;html.tpl.php&lt;/a&gt; API documents all provide useful reference material.&lt;/p&gt;&lt;p&gt;Lastly, the &lt;a href="http://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_add_html_head/7"&gt;&lt;code&gt;drupal_add_html_head&lt;/code&gt;&lt;/a&gt; function appears to provide another avenue to the same destination. However, it's much more convenient to store markup in a block. I also want to write straight &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; &amp; not Drupal's weird "renderable array" content, which is what the function takes as a parameter.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2013/01/a-block-to-head-in-drupal-7.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-5162503493393621295</guid><pubDate>Sat, 12 Jan 2013 15:08:00 +0000</pubDate><atom:updated>2013-01-12T10:08:09.645-05:00</atom:updated><title>Openness as an Excuse</title><description>I briefly, and somewhat poorly in my own opinion, tried to explain how the openness of the Code4Lib community was being used as an argument &lt;i&gt;against&lt;/i&gt;&amp;nbsp;anonymous proposal voting. Well, the latest &lt;i&gt;&lt;a href="http://www.firstmonday.org/"&gt;First Monday&lt;/a&gt;&lt;/i&gt;&amp;nbsp;has an article titled "&lt;a href="http://www.firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/4291/3381"&gt;'Free as in Sexist?' Free Culture and the Gender Gap&lt;/a&gt;" wherein Joseph Reagle makes my point in a far more articulate manner:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;At first, the claim that community openness can contribute to a gender gap seems nonsensical as there are no formal restrictions on participation. However, as Freeman (1996) argued, implicit structures and dynamics still exist in the absence of formal ones. For example, a computer science department may not have an exclusionary policy towards female students, but privileging a narrow and obsessive focus might miss female candidates. Similarly, while some might argue any effort to block problematic users is a step away from openness, a chaotic culture of undisciplined vandals would equally disenfranchise those who wish to make a positive contribution [&lt;a href="http://www.firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/viewArticle/4291/3381#12"&gt;12&lt;/a&gt;]. Hence, following Freeman, one might distinguish between formal and informal forms of discrimination. While an open community does not formally discriminate, alienating behavior can still manifest from difficult people and sexist behavior.&lt;/blockquote&gt;The article goes much further (this is just the introductory paragraph of the section that discusses this phenomenon).&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;Philosophical Digression&lt;/h2&gt;&lt;div&gt;To me, using the innate value of openness as an excuse to avoid something empirically proven to increase participation from marginalized groups is a specifically ethical failure. It comes from a deontological stance, as if some spurious and undefined essence of openness is more important than &lt;i&gt;the effects of a particular instance&lt;/i&gt; of openness. The antithesis to deontology is consequentialism, which argues that an act's value lies only in its effects or consequences. &lt;i&gt;There is no such thing as innate value&lt;/i&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The article's reference to blocking problematic users is particularly apt; I just finished reading &lt;a href="http://reagle.org/joseph/2010/gfc/"&gt;a book on Wikipedia&lt;/a&gt; which discusses how Wikipedia's ideal of "the encyclopedia anyone can edit" is worth sacrificing precisely in such a situation. The world's most open encyclopedia blocks users and is better for it. An open community can have a closed sub-community support group and be better for it as well.&lt;/div&gt;</description><link>http://patametadata.blogspot.com/2013/01/openness-as-excuse.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-7606715103006493047</guid><pubDate>Thu, 27 Dec 2012 03:34:00 +0000</pubDate><atom:updated>2012-12-26T22:34:24.039-05:00</atom:updated><title>Top 10 Albums of 2012</title><description>For &lt;a href="http://www.last.fm/user/phette23/journal"&gt;the last few years&lt;/a&gt; I've written top ten lists of my favorite music. While I usually keep this blog focused on the web and librarianship, I'm going to detour for this post and relate my 2012 favorites. Back to your regularly scheduled programming in the new year.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-hsn0KAfNx1g/UNu9v11vouI/AAAAAAAABAQ/8cP4X12hEkc/s1600/Kindred+EP+600x600+PNG.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img alt="cover of the Kindred EP" border="0" src="http://4.bp.blogspot.com/-hsn0KAfNx1g/UNu9v11vouI/AAAAAAAABAQ/8cP4X12hEkc/s1600/Kindred+EP+600x600+PNG.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Kindred+EP/7369851"&gt;Kindred&lt;/a&gt; / Burial - Anthemic electronica from the best dubstep producer ever. After &lt;i&gt;Kindred&lt;/i&gt; came out, I listened to nothing else for a week. Burial shifts focus a bit, selecting sub-bass &amp;amp; texture over the usual manipulated vocal samples &amp;amp; rimshot snares. It's such a gray album. Music for long drives, rainy days, loneliness. At three songs, it's technically an EP, but together they stretch over a half-hour.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Kings+And+Them/7633423"&gt;Kings and Them&lt;/a&gt; / Evian Christ - I stumbled across "Fuck it none of y'all don't rap" on a blog &amp;amp; was instantly blown away. Evian Christ made the most sophisticated album of the year out of a single rap song's worth of vocals, tinny snares, &amp;amp; haunted minor intervals. The hyper-repetitive raps (let's repeat the word "back" for a minute, shall we?), vocal pitch-shifts, &amp;amp; eery background dissonance of wind chimes somehow come close to a mixture of Salem &amp;amp; Dälek, but with a better sonic sensibility. Christ's beats are simple but deeply enmeshed with the vocal samples &amp;amp; mood. The album feels idiot savant in its execution, putting together repetition &amp;amp; atmosphere in a way that the idiots somehow missed.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Quakers/7701113"&gt;Quakers&lt;/a&gt; / Quakers - I admit it, other than Guilty Simpson, I haven't heard of any of these rappers. This is always already the best album of rappers you've never heard. This album is like twenty Busdrivers on top of twenty MadLibs just fucking killing it. The brevity of the tracks actually makes it easier to digest such incredible variance in beats &amp;amp; voices. I cannot understand how good &lt;i&gt;Quakers&lt;/i&gt; is.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="cover of the Shrines album" height="300px;" src="https://lh4.googleusercontent.com/qZ1dVzxUhKAEY6_9aQzrcL7oKmwNH4vUAYuggmiEk2Hwn2wioeA73mKS3FTDZwMM9ZadJX35xx-E-JLHqMmILqEiFIoxogiePO6CGzRcNU-hdfx2T3FF" width="300px;" /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Shrines/7796368"&gt;Shrines&lt;/a&gt; / Purity Ring - Electro-pop without too many frills. The music is synth-heavy, its only distinguishing element the occasional staccato vocal samples. But the lyrics &amp;amp; singing are spot on: a mousey female voice sweetly reciting disturbing lines like "cut open my sternum &amp;amp; pull my little ribs around you." The bodily lyrics &amp;amp; voice-in-the-machine production combine to make a stunningly consistent album where every other song is perfect.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/The+Seer/8204415"&gt;The Seer&lt;/a&gt; / Swans - When I discovered Swans last year, I promptly listened to their entire back catalog. Their impressive trajectory (from brutal industrial to something resembling art rock) is complete with &lt;i&gt;The Seer&lt;/i&gt;, which is epic noise rock on an almost unparalleled scale. Despite a two-hour runtime, the music never drones on too long. The scraping metal of 93 Ave. B Blues becomes atmospheric ballad The Daughter Brings the Water. The title track could stand to be its own album.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Sorrow+And+Extinction/7539550"&gt;Sorrow and Extinction&lt;/a&gt; / Pallbearer - metal is at its best when it is unapologetically bleak. Pallbearer's debut album lives up to its title, as huge, molten sludge buries some faint, rare vocals. The album accomplishes a rare combination of consistent atmosphere &amp;amp; heavy riffs. Good black metal typically relies on atmosphere, rarely displaying interesting guitar riffs such that their music begins to drone on repetitively. More riff-based metal, such as &lt;a href="http://www.last.fm/music/Torche"&gt;Torche&lt;/a&gt;, often has captivating guitars but without the gravity of black metal's atmosphere. Pallbearer combine both effortlessly, making almost the entire album (with the exception of the first few minutes of acoustic guitar, unfortunately) compelling.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/WIXIW/7925560"&gt;WIXIW&lt;/a&gt; / Liars - An album that grew on me quickly. I think the idea of an electronica Liars album turned me off, but the truth is this album is little more synthetic than the unsurpassable &lt;i&gt;Drum's Not Dead&lt;/i&gt;. The better songs (Flood to Flood, Brats) are near the end. Liars took their strong but scattered album about Los Angeles depravity (&lt;i&gt;Sisterworld&lt;/i&gt;, which reminds me of &lt;i&gt;Hail to the Thief&lt;/i&gt;&amp;nbsp;in that the songs are excellent individually but fail to amount to much in sum) &amp;amp; remade it. The wreckless songs &amp;amp; the redemptive ones both shine brighter now.&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.last.fm/music/Doseone/G+Is+For+Deep"&gt;G is for Deep&lt;/a&gt; / Doseone - This album also disappointed me on first listen, not because it was bad but because Doseone has entirely eschewed rapping. I became obsessed with Dose because of his raps; he's one of those rare rappers who not only has unparalleled skill but also a unique artistic vision. His lyrics are closer to poetry than braggadocio. &lt;i&gt;G is for Deep&lt;/i&gt; has its occasional bits of rap—mostly quick refrains, rarely full verses–but for the most part Doseone sings. However, the music is solid (much of it reminds me of bright synths of Radiohead's "Worrywort" b-side), the lyrics surprisingly catchy (the "Last Life" chorus gets stuck in my head easily), &amp;amp; Doseone frequently uses mini-song outros to great effect. These outros aren't completely new fare for him–Subtle's "The Mercury Craze" single features a commercial jingle parody as it fades out. But on G they're more essential, in fact they're often the highlight of the songs.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img alt="cover of the Visions album" height="300px;" src="https://lh6.googleusercontent.com/Ev5rpLc_5LKdbFgIorRXj0bhwhKVzxhbkWnyREb36YvV6j9IgZTSWN_zNBQNqbK_zidE_fPajmJi5F3SKZXIej28GLPyahOCPTb8fRGfQnoU1niWaw_6" width="300px;" /&gt;&lt;/div&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Visions/7099378"&gt;Visions&lt;/a&gt; / Grimes - Grimes is weird. Her songs almost ring as normal electropop &amp;amp; she tends to (convincingly) imitate R&amp;amp;B diva melismas. But there's all this inexplicable zaniness: why is the album cover heavy metal artwork? what the hell is going on in &lt;a href="https://www.youtube.com/watch?v=1FH-q0I1fJY"&gt;the Genesis music video&lt;/a&gt;? what are the lyrics to any of these songs? &lt;i&gt;Visions&lt;/i&gt; strides the line between pop catchiness &amp;amp; alienating oddity in a way few others can match.&lt;/li&gt;&lt;li&gt;&lt;a href="http://grooveshark.com/#!/album/Held/8007186"&gt;Held&lt;/a&gt; / Holy Other - the "With U" EP blew me away with its lonely trances. It felt like Burial but from another angle: slower, breathy, codeine-dependent. &lt;i&gt;Held&lt;/i&gt;&amp;nbsp;didn't quite live up to the EP's promise but it's still very good &amp;amp; remarkably consistent; each song maintains the same emotive thrill without wearing the listener out.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;h3&gt;Honorable Mentions&lt;/h3&gt;&lt;a href="http://grooveshark.com/#!/album/Advaitic+Songs/8001640"&gt;Advaitic Songs&lt;/a&gt; / Om&lt;br /&gt;&lt;a href="http://grooveshark.com/#!/album/Years+Past+Matter/8444284"&gt;Years Past Matter&lt;/a&gt; / Krallice&lt;br /&gt;&lt;a href="http://store.darkclover.ro/album/my-story"&gt;My Story&lt;/a&gt; / Volor Flex&lt;br /&gt;&lt;a href="https://soundcloud.com/pitchfork/sets/mutilation-rites-empyrean-1"&gt;Empyrean&lt;/a&gt; / Mutilation Rites&lt;br /&gt;&lt;a href="http://grooveshark.com/#!/album/R+I+P/7813795"&gt;R.I.P.&lt;/a&gt; / Actress</description><link>http://patametadata.blogspot.com/2012/12/top-10-albums-of-2012.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-hsn0KAfNx1g/UNu9v11vouI/AAAAAAAABAQ/8cP4X12hEkc/s72-c/Kindred+EP+600x600+PNG.png' height='72' width='72'/><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-5510170687648248949</guid><pubDate>Wed, 05 Dec 2012 20:47:00 +0000</pubDate><atom:updated>2012-12-27T04:48:40.392-05:00</atom:updated><title>In Defense of Anonymous Proposals</title><description>Recently, the Code4Lib community has been working to write &lt;a href="https://github.com/code4lib/antiharassment-policy"&gt;an anti-harassment policy&lt;/a&gt; and combat gender discrimination. One proposal (full credit: coming from &lt;a href="http://2012.jsconf.eu/2012/09/17/beating-the-odds-how-we-got-25-percent-women-speakers.html"&gt;JSConf EU&lt;/a&gt;'s excellent strategy for increasing diversity, which I in turn learned of from the ever-vigilant &lt;a href="http://andromedayelton.com/"&gt;Andromeda Yelton&lt;/a&gt;) was to have anonymous conference proposals but it was quickly shot down on the C4L listserv. I don't mean to pick on C4L but I wanted to discuss briefly why I think that's a mistake.&lt;br /&gt;&lt;br /&gt;Anonymous proposals aren't just one measure among others to increase diversity, they're vital. JSConf EU notes "&lt;i&gt;This is crucial&lt;/i&gt;. Even if you don’t think you are biasing against anything or anyone, unless you anonymise CFP submissions, you &lt;i&gt;will&lt;/i&gt; apply your personal bias." (emphasis in original) Why? Anonymous proposals circumvent most of the latent biases we all have: gender, race, culture, etc. are difficult to determine from an abstract. What's more, underrepresented parties are more likely to submit without fear of judgement or judgement's liberal sibling, tokenization. Anonymization shields selectors from their biases and proposals from discrimination.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;The Counter Arguments&lt;/h3&gt;Few people disagree that anonymous proposals have benefits. But do their benefits outweigh their disadvantages? Anonymity's detractors tend to argue that knowing someone aids in evaluating speaker quality. I find that more of an excuse to reify bias than a legitimate contention. To run down the list:&lt;br /&gt;&lt;br /&gt;A) Obviously implicit bias is still at play,&lt;br /&gt;B) The subset of people you know or have seen speak echoes previous biases–if a disproportionate number of men tend to speak at Code4Lib, then the people you've seen speak is going to be disproportionately male and thus your supposedly informed selections make for a poor representation of the full community,&lt;br /&gt;C) If you know someone but haven't seen them speak, you may be inclined to vote for your friends and not necessarily on quality.&lt;br /&gt;&lt;br /&gt;It was also mentioned that anonymous proposals go against the "openness" of Code4Lib. But the end result of openness is more important than some deontological essence attached to our actions; if openness in this instance supports bias, then we should be closed. In some ways, one can be more "open" when anonymous than when afraid of discrimination. Also, my identity as a &lt;i&gt;voter&lt;/i&gt;&amp;nbsp;is not revealed; how come that is not considered a threat to the openness of the community? Anonymous proposals&amp;nbsp;do not damage openness if they allow a more representative population of a community to present.&lt;br /&gt;&lt;br /&gt;All this said, are anonymous proposals always the right choice? Maybe not. I'm part of a conference planning committee that isn't evaluating talks anonymously. I'm not entirely clear why but we did at least discuss it. You wouldn't want to select keynotes anonymously.&amp;nbsp;But for most sessions, anonymous proposals have proven to yield more diverse speakers. I have yet to see reports from conferences indicating that anonymous proposals lower speaker quality. That contention appears to be more hypothetical than real. In the end, what is more important? Making a real commitment to diversity or ensuring we can vote for people we know over strangers? I'd argue that allowing anonymous conference proposals is beneficial &lt;i&gt;even if&lt;/i&gt; it decreases the quality of speakers a little.</description><link>http://patametadata.blogspot.com/2012/12/in-defense-of-anonymous-proposals.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-6182440867335683406</guid><pubDate>Sat, 17 Nov 2012 17:54:00 +0000</pubDate><atom:updated>2012-11-17T12:54:24.508-05:00</atom:updated><title>Browser Keyword Searches</title><description>I wrote a post for the &lt;a href="http://socialwebqanda.com/"&gt;Social Web Q &amp;amp; A&lt;/a&gt; blog on setting up keyword searches in your browser: what they are, why they're awesome, how to do it. &lt;a href="http://socialwebqanda.com/2012/11/speed-up-your-searching-with-browser-keywords/"&gt;Check it out&lt;/a&gt;.&lt;br /&gt;Librarians especially should &lt;i&gt;love&lt;/i&gt;&amp;nbsp;this stuff. Having hundreds of your favorite reference sources just a couple letters away is very powerful.</description><link>http://patametadata.blogspot.com/2012/11/browser-keyword-searches.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-4849615974693446777</guid><pubDate>Mon, 12 Nov 2012 21:39:00 +0000</pubDate><atom:updated>2012-12-26T23:07:21.624-05:00</atom:updated><title>Well-Intentioned Schemes</title><description>&lt;strong&gt;tl;dr&lt;/strong&gt; - there's a lot going on at that beginning of an HTML href which you can take advantage of, particularly by pointing links to communication services such as SMS or Skype.&lt;br /&gt;A &lt;a href="https://en.wikipedia.org/wiki/URI"&gt;Uniform Resource Identifier&lt;/a&gt; (URI) begins with a &lt;a href="https://en.wikipedia.org/wiki/URI_scheme"&gt;scheme&lt;/a&gt; such as "http" or "https." Right away, there's an important difference between these two common schemes that many may not be aware of. HTTP is HyperText Transfer Protocol, the transfer protocol that undergirds the web. &lt;a href="https://en.wikipedia.org/wiki/Https"&gt;HTTPS&lt;/a&gt; is similar but the S stands for "secure." What does that mean? Basically, when you request a resource, which could be anything from a fully fledged website to an individual text or image file, using HTTPS your request is first encrypted in your browser &amp;amp; the response you receive from the server is also encrypted. This means that any party in between, including your Internet Service Provider such as Comcast or your employer if you're on your work computer, cannot monitor precisely what you access on the web. HTTPS also prevents "man in the middle" attacks by trying to ensure that you're communicating with the right web server; if you've ever seen one of those terrifying "This is not the web page you're looking for" warning messages (an every day occurrence for users of our campus WiFi, sadly) then it's because of that feature of HTTPS.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Communication Schemes&lt;/h3&gt;HTTP is well-known even to those who don't write HTML, but there are a few rarely used schemes that provide new functionality, especially now that more &amp;amp; more people access the web on phones. Most web content authors are familiar with mailto, a neat scheme that opens up links in an email client. Mailto even comes with an enhancement; you can add subject &amp;amp; body content by appending "?subject=[subject text here]&amp;amp;body=[body text here]" to the URI. So one can email David Weinberger with the subject "Cluetrain" &amp;amp; the body text "You wrote it." by writing the following HTML:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;a href="mailto:self@evident.com?subject=Cluetrain&amp;amp;body=You+wrote+it."&amp;gt;Hey David&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;URIs can't have spaces, so I encoded them into + signs, but other than that it's pretty obvious how each piece of the link works. Here's the thing: mailto is just one scheme amongst others. There are also schemes for SMS &amp;amp; telephony which, up until people starting browsing the web with their phones, weren't very useful. A link can open in a texting app like Messages by using &lt;code&gt;href="sms:555-555-5555?body=hello+friend"&lt;/code&gt; or in a phone with &lt;code&gt;href="tel:555-555-5555"&lt;/code&gt;. There is little reason not to write all your phone numbers in tel: links starting today. You never know who may be accessing your site on a phone, so give them a chance to call you without the friction of flipping between their phone app &amp;amp; your site.&lt;br /&gt;Besides the mailto, sms, &amp;amp; tel schemes which are all hardwired by the operating system to the user's default applications, one can also launch specific apps if they have registered schemes. Perhaps the most obvious usage is &lt;a href="http://developer.skype.com/skype-uri"&gt;Skype&lt;/a&gt;, yet another communication service. We use this on our tutoring website, where our tutors host online sessions using Skype. One can call the Skype user Trueclain by clicking the following HTML:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;a href="skype:Trueclain"&amp;gt;Skype Me!&amp;lt;/a&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;Yes, that link &lt;em&gt;opens Skype&lt;/em&gt;. Minds blown. Skull fragments scattered all around.&lt;br /&gt;Schemes are not limited exclusively to communication services either: the &lt;a href="https://code.google.com/p/coda-protocol/"&gt;Coda Protocol&lt;/a&gt; app for Mac opens coda:/// URIs in the Coda text editor. I was unable to find any examples, but I think at one point &lt;a href="http://css-tricks.com/"&gt;CSS Tricks&lt;/a&gt; was using Coda URIs to directly import code samples into people's text editors. Pretty cool. A more commonly used application scheme is the Twitter scheme. A link with a href of "twitter:@phette23" would, if clicked in an iOS device or recent Mac OS X, open the Twitter app to my user page.&lt;br /&gt;I'm unsure of the utility of twitter: URIs. Is it better to open Twitter.app or the Twitter website? I'd prefer to direct users to the open web if functionality is all the same, which it is with Twitter. Web links always work regardless of operating system or installed software. But it's very valuable for websites to be able to tie into OS applications like phone &amp;amp; Skype that are not available online.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;No Life Without Suffering&lt;/h3&gt;Of course, as soon as you start opening URIs in applications all sorts of headaches arise. We live in an era where the diversity of devices, operating systems, &amp;amp; software setups accessing the web has never been greater. There are no guarantees.&lt;br /&gt;There is no standardized way for web browsers to handle some of these rarer schemes. Clicking tel &amp;amp; sms links on my laptop, I see a few different behaviors:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Google Chrome does nothing. That's actually the best behavior I've seen; above all don't further confuse the user with error messages.&lt;/li&gt;&lt;li&gt;Safari fails with a message noting "OS X doesn't recognize Internet addresses starting with 'sms:'". Particularly dumb coming from Apple, who just shipped an SMS app (Messages) with their latest OS.&lt;/li&gt;&lt;li&gt;Firefox fails with a cogent message of "Firefox doesn't know how to open this address, because the protocol (sms) isn't associated with any program."&lt;/li&gt;&lt;li&gt;Internet Explorer 8 404s when trying to follow sms: links &amp;amp; times out when trying to follow tel: ones.&lt;/li&gt;&lt;/ul&gt;Unfortunately, these dead-ends will always occur when websites try to use non-standard schemes. There is no way to detect what software is installed on a user's computer using JavaScript (with good reason since that risks both security &amp;amp; privacy mishaps). It would be nice to perhaps expose an error API when an unsupported scheme is followed, something that would allow scripted fallbacks. Until browser vendors, probably in collaboration with operating system developers, find an elegant way to handle breakdowns it will probably always be a risky move in terms of user experience. An ideal solution would involve &lt;a href="http://webintents.org/"&gt;Web Intents&lt;/a&gt;, wherein links point towards particular &lt;em&gt;services&lt;/em&gt; (much as mailto &amp;amp; http links do currently; users can configure their default mail &amp;amp; web browser apps) &amp;amp; not specific programs like Skype. In the event that no app is registered to handle a particular intent, a prompt such as "You do not have a program equipped to handle this link, would you like to view a list of candidates in a software directory?" would be nice.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Protocol-Relative URIs&lt;/h3&gt;Let's revisit the HTTP/S divide to discuss protocol-relative URIs. If you use the &lt;a href="http://html5boilerplate.com/"&gt;HTML5 Boilerplate&lt;/a&gt;, you might've already seen this line down towards the bottom:&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"&amp;gt;&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;Why is the "http:" missing on that src attribute? Because by leaving the protocol off, the src attribute inherits the scheme of the website it's on, e.g. if it's served over HTTPS then that URI will default to HTTPS. This is important because when resources of a HTTPS site are served over HTTP most browsers pop-up a "warning: insecure content" alert. When you mix HTTP resources in HTTPS you lose the security of those elements: someone snooping can see that I requested http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js though the rest of my requests may remain encrypted.&lt;br /&gt;In sum, there's rarely a reason to put the scheme in &lt;em&gt;any&lt;/em&gt; scr or href attribute. The only reason would be if a particular resource is explicitly not available over one scheme or the other. For instance, Google's encrypted (read: HTTPS) search is simply not available over insecure HTTP: requests for http://encrypted.google.com are redirected to https://encrypted.google.com. So while a link to http://encrypted.google.com will redirect &amp;amp; work–albeit after a superfluous HTTP request–an HTTP src attribute pointing at a image available only over HTTPS would not &amp;amp; visitors would miss the image entirely.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;Exeunt&lt;/h3&gt;Does anyone have examples of innovative uses of non-standard schemes? I'm curious if there are applications that I just haven't thought of yet. Putting phone numbers in tel: links &amp;amp; Skype names in skype: links is a start, but there must be more. There are so many interesting possibilities in the existing schemes: facetime, maps, market (Google Play), ms-help (Windows help files), spotify, &amp;amp; webcal. There must be uses that help glue our websites into the larger system of software that our users employ every day.</description><link>http://patametadata.blogspot.com/2012/11/well-intentioned-schemes.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-6282475604243389938</guid><pubDate>Fri, 20 Jul 2012 15:35:00 +0000</pubDate><atom:updated>2012-07-20T11:35:17.642-04:00</atom:updated><title>The News &amp; Statistical Importance</title><description>&lt;p&gt;If you don't live under a rock, you have probably heard about the shooting in Aurora, Colorado last night that resulted in twelve deaths. While this is certainly a tragedy and I do not mean to downplay that, it makes a good test case for an idea that I have had for awhile: the news media repeatedly focuses on spectacles to the detriment of statistically more important stories. Twelve people died; that's awful. But an average of around 1,300 people die &lt;em&gt;every day&lt;/em&gt; in the United States from heart disease. Overall, homicide accounts for less than a percent of total deaths in the U.S., while boring disease like diabetes, Alzheimer's, &amp; nephritis consistently rank in the top ten causes of death with several orders of magnitude more cases.&lt;/p&gt;&lt;p&gt;Suicide, by the way, is more common than homicide. You have more cause to be scared of yourself than anyone else.&lt;/p&gt;&lt;p&gt;So why does the media cover events that are, statistically speaking, trivial? The most obvious reason is the spectacle: people &lt;em&gt;want&lt;/em&gt; to watch terrible, fascinating news. They do not want to be told to exercise &amp; eat less, even if those acts are more valuable than, say, eliminating homicide &amp; manslaughter. But the nature of the truly important problems is also more ephemeral. Diseases &amp; environmental degradation are problems that slowly insinuate themselves over many years. They do not appear suddenly wearing a Kevlar vest &amp; gas mask, carrying an excessive number of guns, dropping a gas grenade on the floor. Perhaps it would be better if they did; people would care more &amp; would have a obvious enemy to fixate upon. Instead, I'm subjected to hours upon hours of reporting this morning about an event we know so very little about &amp; certainly don't know how to prevent in the future (no one's even been able to posit a motive yet, much less a solution, as opposed to the many diseases that have obvious vectors for improvement).&lt;/p&gt;&lt;p&gt;I have thus far only discussed the media's bias towards the spectacle, but there's also an obvious nationalist bias to our news. While twelve people died in a movie theater in Colorado last night, a quick search for Syria shows that over three hundred people died in clashes between the government and rebel factions there yesterday. In some ways, the local bias in news makes sense: one is naturally more involved in one's local community &amp; can probably affect more change at a local level. But it's evident that American news is extremely biased towards American deaths. On the whole, that's a mistake, because we're all human regardless of where we live. &lt;q&gt;There is only one side &amp; we are all on it&lt;/q&gt;, to quote Doseone.&lt;/p&gt;&lt;h3&gt;References&lt;/h3&gt;&lt;p&gt;My mortality data comes from the Centers for Disease Control's &lt;a href="http://www.cdc.gov/nchs/fastats/deaths.htm" title="Deaths &amp; Morality | CDC"&gt;FastStats page on Deaths &amp; Mortality&lt;/a&gt;. The best summary of causes of death I found was their overview of 2008 data (published in June of this year) in &lt;a href="http://www.cdc.gov/nchs/data/nvsr/nvsr60/nvsr60_06.pdf" title="Deaths: Leading Causes for 2008"&gt;this PDF&lt;/a&gt; but a cursory scan of more recent years also shows that homicide is basically irrelevant relative to common &amp; often preventable diseases.&lt;/p&gt;&lt;p&gt;For the death totals in Syria, nothing is certain but &lt;cite&gt;&lt;a href="http://www.huffingtonpost.com/2012/07/20/syria-conflict-deadliest-day_n_1688652.html" title="Syria Conflict: Deadliest Day Of Fighting Since Start Of Uprising | Huff Po"&gt;the Huffington Post&lt;/a&gt;&lt;/cite&gt; reports 310 dead, for instance. As a fairly unobjective but still interesting metric of comparison: when I search for "Aurora shooting" in Google News right now while limited my results to the past 24 hours, I get 11,100 results, while simply "Syria" returns 8,790. Considering that Google News includes foreign sources (though my results are likely filtered to English-language news only), we can see that the local bias is not the only force at work.&lt;/p&gt;&lt;hr /&gt;&lt;h2&gt;Post Scriptum &amp;/or Aside&lt;/h2&gt;&lt;p&gt;This is my first post in about a month because I have been busy planning my wedding, attending &amp; preparing for conferences, managing my &lt;cite&gt;RUSQ&lt;/cite&gt; column, &amp; wrapping up projects at work. I may retire this blog shortly. I started it at a bad time, given that I was finishing up &lt;a href="http://phette.net/" title="phette dot net"&gt;my personal website&lt;/a&gt; which could easily host a blog. I will likely transfer over all my older posts.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/07/the-news-statistical-importance.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-349167658952108753</guid><pubDate>Wed, 13 Jun 2012 17:56:00 +0000</pubDate><atom:updated>2012-06-13T13:58:14.054-04:00</atom:updated><title>Striving Towards Redundancy</title><description>&lt;p&gt;Every industry should strive to render itself redundant &amp; unneeded.&lt;/p&gt;&lt;p&gt;&lt;em&gt;Corollary&lt;/em&gt;: it is a sign of decadence when an industry exists merely to further itself.&lt;/p&gt;&lt;p&gt;I've thought this for awhile, but I'm writing about it because I recently stumbled across &lt;a href="https://phonegap.com/2012/05/09/phonegap-beliefs-goals-and-philosophy/" title="PhoneGap blog post"&gt;the PhoneGap Beliefs, Goals, &amp; Philosophy&lt;/a&gt;, which features this gem:&lt;/p&gt;&lt;blockquote style="font-style:italic;"&gt;The ultimate purpose of PhoneGap is to cease to exist.&lt;/blockquote&gt;&lt;p&gt;PhoneGap is a web application framework meant to fill the "gap" between native applications, which have strong access to device APIs such as the camera &amp; hard disk storage, &amp; web applications that have less robust support. Thus when PhoneGap ceases to exist it will be because one can build a perfectly functional native application with web technologies.&lt;/p&gt;&lt;h3&gt;Librarianship &amp; Its Guardians&lt;/h3&gt;&lt;p&gt;The ultimate purposes of librarianship &lt;em&gt;should be&lt;/em&gt; to cease to exist. What would this look like? Knowledge sharing &amp; access are distributed across the community. There is no need to select books &amp; store them, to maintain public computers &amp; to teach computing classes, because the public collectively takes on these tasks. There may be a library facility&amp;mdash;though it isn't called a library anymore&amp;mdash;to house materials, but ultimately the community maintains &amp; uses the resources without needing specialists to assist them.&lt;/p&gt;&lt;p&gt;Does that sound utopian or simply impossible? That's our job security, &amp; it's not a good thing.&lt;/p&gt;&lt;p&gt;I think there are many in librarianship who have lost their way, who strive to maintain the profession over its goals. They clamor about the innate value of certain forms (books, reference...to name the most prominent &amp; at-risk ones) without thinking about the purposes of those forms &amp; how they might otherwise be fulfilled.&lt;/p&gt;&lt;p&gt;Then again, I see other signs that librarians are striving towards redundancy. Two fairly recent (though despite my grandiose pronouncements, I'm new to librarianship so I can't claim to know if these are current fads or centuries-old staples) developments are the emphasis on user experience &amp; the move to creation over curation. In user experience for instance, one seeks to reduce friction, not just of navigating web sites, but in every interaction. Then there are some who believe that &lt;em&gt;finding information should be hard&lt;/em&gt;, who pour their efforts into developing the most hideous federated search contraptions, contraptions that spew out more results than any dozen human minds could process; a librarian's dream &amp; a user's nightmare. But now there are counterpoints, slowly compiling data &amp; test results, slowly tossing aside the rubble to make the diamonds more visible.&lt;/p&gt;&lt;p&gt;Elsewhere, we see warning signs of decadent industries everywhere. Record labels have largely ceased to be necessary; &lt;a href="http://bandcamp.com/" title="Bandcamp helps artists sell their music"&gt;Bandcamp&lt;/a&gt; will annihilate them because musicians, producers, &amp; discovery engines are all that is needed. There's little room for business executives in there. &amp; perhaps closer to home, there are the great publishing monoliths, who are also going to die out but only after trying to force outmoded business models down the consumers' throats. TV, too, will die. Why should I buy cable when I have the web? &amp; why does my ISP try to sell me a landline? When you begin to think of just how many companies (AOL is &lt;a href="https://www.quora.com/AOL/How-much-of-AOLs-revenue-still-comes-from-subscriptions" title="AOL still makes most of its money from subscribers"&gt;a shining example&lt;/a&gt;) rely on Cro-Magnon consumer behaviors, libraries look quite safe.&lt;/p&gt;&lt;h3&gt;Closing Mantra&lt;/h3&gt;&lt;p&gt;Disintermediation is the end goal, not an obstacle. When everyone has access to the information &amp; skills of librarianship there will be no need for librarians.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/06/striving-towards-redundancy.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-5827924106982358214</guid><pubDate>Wed, 30 May 2012 14:43:00 +0000</pubDate><atom:updated>2012-05-30T10:49:13.349-04:00</atom:updated><title>Open Education</title><description>&lt;p&gt;I'm participating in two massive open online courses currently: Codecademy's &lt;a href="http://codeyear.com/"&gt;Code Year&lt;/a&gt; &amp; &lt;a href="http://coursera.org/" title="Coursera | Education for Everyone"&gt;Coursera&lt;/a&gt;'s Computer Science 101. It actually took me a little while to realize that, as someone who works in higher education, it was a little odd to participate in these ventures. Shouldn't I be taking classes at my local community college? Aren't I cavorting with the enemy in some seedy way? For the moment, I'm going to put aside those fears (I have another blog post in me about higher education's victim complex) &amp; analyze the efficacy of each of the two courses.&lt;/p&gt;&lt;h3&gt;Coursera&lt;/h3&gt;&lt;p&gt;Coursera closely resembles a traditional class &amp; probably outright mimics some distance learning formats as it's essentially just an LMS (Learning Management System). Every week, about an hour of lectures are posted which cover a few topics. By the end of the week, one must complete several sets of exercises related to lecture material. The exercises come in one of two forms: multiple choice or computer code. There is no reading but the lectures come with some very nice notes that can be reviewed.&lt;/p&gt;&lt;p&gt;I found Coursera to be quite successful. This stems mainly from the instructor, &lt;a href="http://www-cs-faculty.stanford.edu/~nick/" title="Parlante's faculty home page"&gt;Nick Parlante&lt;/a&gt;, who did a tremendous job of presenting concepts. He used analogies, diagrams, &amp; sample code to boil fairly sophisticated topics (compiled versus interpreted languages, how compression works) down into easily understandable summaries. The exercises were not difficult &amp; the code ones are executed in a basic text area, nothing fancy. The course uses a JavaScript-like syntax but with built-in functions for image &amp; .csv manipulation that don't exist in JS, so you can't really come out of it with any coding tools.&lt;/p&gt;&lt;h3&gt;Codecademy&lt;/h3&gt;&lt;p&gt;Codecademy, despite being another MOOC, looks very different from Coursera. Sure, you're emailed new lessons every week, but there is no lecture. Instead, one works through several sets of exercises, some of which simply relay certain information &amp; implore you to press "continue." The exercises are said to take about five hours for a person of "average technical skills," far more time than one spends doing Coursera homework.&lt;/p&gt;&lt;p&gt;Codecademy struggles in its attempts to see if your code is correct. It's exercises are more sophisticated &amp; its code editor has syntax highlighting, but also struggled for months with cursor location (at least in Chrome). On many occasions, I wrote code that worked but couldn't pass whatever test determined correctness. In one instance, I had to run &lt;em&gt;the exact same&lt;/em&gt; CSS on three different browsers (Chrome, Firefox, then Safari...which uses the same rendering engine as Chrome) before it would pass. A few exercises have typos, misspellings, or frustrating quirks that can only be overcome by viewing the FAQs to see what people before you have had to do. You do learn real, usable-in-the-wild JavaScript, CSS, HTML, &amp; it looks like (starting this week) Code Year is even dipping into the jQuery JavaScript library.&lt;/p&gt;&lt;h3&gt;Compare, Contrast&lt;/h3&gt;&lt;p&gt;Overall, I side with Coursera. It's a less flashy, revolutionary model–&amp; better for it. A good instructor will always beat out a bunch of start-up engineers who don't know anything about pedagogy. CS 101 didn't teach me a whole lot I didn't know (I regret not taking a more advanced course), but it did so in a thoroughly enjoyable manner devoid of frustrations.&lt;/p&gt;&lt;p&gt;One area that both courses did not succeed in was scaffolding. There's too much of it. Too many code exercises start with a basic structure already in place; in Codecademy, it's not unusual for dozens of lines of new boilerplate code to appear at each step. But most people learn through repetition, not through having the little boring bits done for them every time. &amp; the one skill that neither course, at least not with their present correctness heuristics, can teach is problem-solving. Neither is in position to say "here's a problem, solve it with code" which is a bigger aspect of CS than "memorize what these four expressions do." That requires human graders &amp; is the real strength of CS courses or face-to-face meet-ups.&lt;/p&gt;&lt;br&gt;&lt;p&gt;Some questions I've taken away from these courses: what would a massive, open, online library science course might look like, who would teach it, &amp; what the demand would be? Librarians have valuable skills to transmit but I'm not sure what we could teach that would draw an audience. How to research? At the same time, "information literacy" is a difficult subject to test. It won't translate as well as computer code, which literally boils down to Boolean values with nothing in between. Does anyone know of any MOOC LIS courses? With all of the prominent online programs at LIS schools, it seems natural that one will crop up eventually.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/05/open-education.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-7723507017115231908</guid><pubDate>Wed, 23 May 2012 13:32:00 +0000</pubDate><atom:updated>2012-05-23T09:32:21.312-04:00</atom:updated><title>Blogroll Blog Post Bloggy Blog Blog</title><description>&lt;p&gt;I don't have a blogroll in the margins of this blog. That reflects my beliefs about why people visit blogs: they come to read posts, not to click links in sidebars. That said, there's tons of cool stuff out there that I want you, the reader, to know about. So here's a brief roundup of my favorite blogs at the moment.&lt;/p&gt;&lt;ul&gt; &lt;li&gt;&lt;a href="http://acrl.ala.org/techconnect/"&gt;ACRL Tech Connect&lt;/a&gt;: this blog has been killing it ever since it appeared in the middle of 2011. It's one of those rare blogs where every post is interesting, filled with usable ideas, &amp; yet not too sophisticated for neophytes. Particular favorites of mine are &lt;a href="http://acrl.ala.org/techconnect/?p=855"&gt;Real World Semantic Web?: Facebook’s Open Graph Protocol&lt;/a&gt;, &lt;a href="http://acrl.ala.org/techconnect/?p=592"&gt;Glimpses into user behavior&lt;/a&gt;, &amp; &lt;a href="http://acrl.ala.org/techconnect/?p=633"&gt;Workflow Automation in Technical Services Part 1&lt;/a&gt;.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.walkingpaper.org/"&gt;Walking Paper&lt;/a&gt;: Aaron Schmidt's blog covers design &amp; usability in libraries. The posts are usually short &amp; sweet, often with accompanying images, but always poignant. A must read for anyone who is interested in creating a positive user experience in their library.&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.insidehighered.com/blogs/confessions_of_a_community_college_dean"&gt;Confessions of a Community College Dean&lt;/a&gt;: "Dean Dad" on &lt;cite&gt;Inside Higher Ed&lt;/cite&gt; is excellent because he brings an administrator's perspective to the toughest topics in education today. He has particular insight into the economics of education &amp; the focus on community colleges is a special plus for me.&lt;/li&gt; &lt;li&gt;&lt;a href="http://matthew.reidsrow.com/" title="Matthew Reidsma's blog"&gt;Matthew Reidsma Talks&lt;/a&gt;: Besides giving &lt;a href="http://matthew.reidsrow.com/articles/16" title="Your library website stinks &amp; it's your fault"&gt;the single best presentation at a library conference this year&lt;/a&gt;, Reidsma's blog is full of useful tips &amp; reusable code samples. If you're a coder, you can learn how to &lt;a href="http://matthew.reidsrow.com/articles/18"&gt;automate logs for fun &amp; tenure review&lt;/a&gt;, but anyone in libraries can learn from his &lt;a href="http://matthew.reidsrow.com/articles/12" title="Why we do usability testing"&gt;two&lt;/a&gt;-&lt;a href="http://matthew.reidsrow.com/articles/13" title="How we do usability testing"&gt;part&lt;/a&gt; piece on usability testing in libraries. READ IT NOW! Seriously, I'm forcing people at my institution to read these.&lt;/li&gt; &lt;li&gt;&lt;a href="http://visualidiot.com/" title="I'm actually rather intelligent"&gt;Visual Idiot&lt;/a&gt;: this last one's a fun one. Visual Idiot is a blog of web design parodies where each post has its own distinct style. Check out &lt;a href="http://visualidiot.com/articles/photoshop" title="lolz"&gt;the HTML5 Version of Photoshop&lt;/a&gt; or &lt;a href="http://visualidiot.com/articles/social-apps" title="moar lolz"&gt;Every Mobile Social App Site, Ever&lt;/a&gt; to get the gist. The designer is clearly quite talented &amp; that that talent is spent so whimsically is just excellent.&lt;/li&gt;&lt;/ul&gt;</description><link>http://patametadata.blogspot.com/2012/05/blogroll-blog-post-bloggy-blog-blog.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-703432398249359354</guid><pubDate>Thu, 17 May 2012 05:01:00 +0000</pubDate><atom:updated>2012-05-17T01:01:59.904-04:00</atom:updated><title>♬</title><description>&lt;h3&gt;Good Music&lt;/h3&gt;&lt;p&gt;is what's important. Audio quality has never mattered much to me. I convert my FLAC to mp3. I'm in awe of Last.fm, which I definitely waited too late to get into. Last.fm is the best &lt;em&gt;discovery engine&lt;/em&gt; music's ever seen. Music is culture's most atomic unit. The songs pass in four minutes &amp; there are enough of them, they promise to keep coming more than you could possibly catch up. Music builds more granular genres, it expands beyond the popular music of radio &amp; Pandora. &amp; Last.fm &lt;a href="http://www.last.fm/api" title="Last.fm API dox"&gt;provides its APIs&lt;/a&gt; right down to the URLs: &lt;a href="http://last.fm/artist/The%20Band" title="straight up HTTP"&gt;http://last.fm/artist/The%20Band&lt;/a&gt;. That's how every website should work: imagine if a book was http://your.local.lib/books/ISBN#. It'd make sense.&lt;/p&gt;&lt;p&gt;Music has stabilized. We can't go beyond the genres we have now, the human mind can only handle so much Skrillex. We could make all the same sounds a decade ago but just didn't have the depraved courage to do it then.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/05/good-music-is-whats-important.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-4200407430501568747</guid><pubDate>Tue, 15 May 2012 23:52:00 +0000</pubDate><atom:updated>2012-05-15T19:52:15.328-04:00</atom:updated><title>Starting Fresh</title><description>&lt;p&gt;A few months ago, I splurged on a new MacBook Air which gave me a chance to start anew &amp; avoid some of the mistakes I made with my last laptop. Here's a brief rundown on what I'm doing &amp; why.&lt;/p&gt;&lt;h3&gt;FileVault&lt;/h3&gt;&lt;p&gt;Mac OS X lets you encrypt the contents of your hard disk (under System Preferences &gt; Security &amp; Privacy &gt; FileVault) which was something I wanted to do on my previous laptop. Unfortunately, I waited until I had about 150 GBs of stuff on the old 200 GB hard drive, so much that there wasn't enough room to encrypt it all &amp; the process would have taken forever to complete in any case. With my Air, one of the first things I did was enable FileVault. This makes it more difficult for just anyone to boot from a CD &amp; read the contents of my hard drive.&lt;/p&gt;&lt;h3&gt;Cloud Storage&lt;/h3&gt;&lt;p&gt;Other than a few vital items I keep in encrypted disk images on my hard drive, I've pushed almost all my files into four services: Google Docs (now Drive, with added storage space), &lt;a href="https://play.google.com/music/" title="It is possible this is actually Google Play, whatever"&gt;Google Music&lt;/a&gt;, &lt;a href="https://spideroak.com/" title="Secure Online Backup"&gt;Spideroak&lt;/a&gt;, &amp; Dropbox. I use Google Docs for presentations, spreadsheets, &amp; text. Being able to access my documents from anywhere is a serious boon. Google Music keeps my massive music collection from clogging up my hard drive &amp; has a nice web app for my phone as an added bonus. Dropbox is great for web development &amp; contains most of my git repositories. I'm nowhere near using up my free storage space, because most of my files are plain text (code, documents, notes).&lt;/p&gt;&lt;p&gt;One issue with Dropbox is that, while I can choose which directories sync to my hard drive, I cannot choose &lt;em&gt;where&lt;/em&gt; those files end up: they always reside the Dropbox directory. That's where Spideroak comes in: Spideroak lets me backup files without moving them, which is essential in many cases. For instance, I'm syncing the settings for Sublime Text across three devices, settings which have to live in the Application Support directory. Furthermore, I trust Spideroak far more. Dropbox had &lt;a href="http://news.cnet.com/8301-31921_3-20072755-281/dropbox-confirms-security-glitch-no-password-required/" title="CNET article on Dropbox snafu"&gt;one of the worst security failures in recent memory&lt;/a&gt;, while Spideroak has a very reassuring "know nothing" model.&lt;/p&gt;&lt;p&gt;Moving to the Cloud is more difficult (or at least impossible to do for free) for someone with more media. I have virtually no video files &amp; few images, so I'm able to use free storage quotas with plenty of spare room. The items I care about most are either code or text, both of which are extremely lightweight.&lt;/p&gt;&lt;h3&gt;Applications&lt;/h3&gt;&lt;p&gt;On my previous laptop, I went overboard testing out different web browsers &amp; code editors. With my Air, I'm trying hard to only install programs I know I use, rather than slowly piling up junk which I use once &amp; then never return to. Honestly, storage is not the concern, I just don't like the idea of having unused detritus lying around, clogging up my QuickSilver catalog.&lt;/p&gt;&lt;p&gt;This goal also works well with the Cloud: why install a word processor when there's Google Docs? I keep thinking I'll need &lt;a href="https://www.libreoffice.org/download/" title="open source MS Office clone"&gt;Libre Office&lt;/a&gt; at some point but that day hasn't arrived yet. For many tasks, not only is there a suitable web app, but &lt;em&gt;my favorite&lt;/em&gt; application is the web one, e.g. Gmail, Google Docs, &amp; Google Calendar. I actually wish Apple would give up on packaging iCal, Mail, &amp; some of their other defaults because they get in the way more often than not.&lt;/p&gt;&lt;h3&gt;Regret&lt;/h3&gt;&lt;p&gt;One decision still troubles me: would I be better off with &lt;a href="http://www.ubuntu.com/" title="Slick Linux distro from Canonical"&gt;Ubuntu&lt;/a&gt;, &lt;a href="http://www.debian.org/" title="another awesome FOSS operating system"&gt;Debian&lt;/a&gt;, or another GNU/Linux distribution? It's not simply that open source software aligns with my ideals &amp; is easier to customize than Apple &amp; Microsoft's fare, but that dependence is never a worry. I can find everything I need on Linux &amp; then I don't have to worry as much about format migrations (remember when .docx was such a pain?), expensive updates, &amp; lock-in.&lt;/p&gt;&lt;p&gt;At the moment, I'm content with Mac OS X. There are still a few standout applications (most notably Quicksilver, but many of web design apps tend to cater to the Mac) &amp; I do enjoy the look &amp; feel of OS X. That said, Lion is a distinct step backwards from Snow Leopard in a few areas: Launchpad &amp; Mission Control are both worthless to me (because I launch apps with Quicksilver) but they replaced the very feature that made me love OS X in &lt;a href="http://support.apple.com/kb/HT2503" title="Nice overview of Exposé for those who have never seen it"&gt;Exposé&lt;/a&gt;. While there are new touch gestures available, I must admit that I haven't found a use for any of them yet. So that's disappointing &amp; I'm positive Apple will continue in this direction, slowly absorbing OS X into iOS in the very worst way possible.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/05/starting-fresh.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-1046029739952289781</guid><pubDate>Tue, 08 May 2012 13:29:00 +0000</pubDate><atom:updated>2012-05-08T09:30:48.738-04:00</atom:updated><title>Ye Olde Internet Roundup</title><description>&lt;p&gt;This is a good ol'-fashioned post of links to some other stuff I've done on the web, both recent &amp; not-so-recent.&lt;/p&gt;&lt;ul&gt; &lt;li&gt;I "hacked" &lt;a href="https://hacklibschool.wordpress.com/2011/09/23/uigsli/" title="HackLibSchool article"&gt;the University of Illinois's Graduate School of Library &amp; Information Science&lt;/a&gt; awhile ago. The column generated almost no comments but I hope some prospective LIS students find it useful.&lt;/li&gt; &lt;li&gt;I wrote &lt;a href="http://arizona.openrepository.com/arizona/handle/10150/219512" title="column in dLIST"&gt;a column on web browser security&lt;/a&gt; for RUSQ. Now I'm editing the column I wrote this for, pretty sweet eh?&lt;/li&gt; &lt;li&gt;I have &lt;a href="http://phette.net" title="phette.net"&gt;a real, grown-up website&lt;/a&gt; &amp; am wondering if I should move this blog over to it but for now I'm not going to.&lt;/li&gt; &lt;li&gt;I'm writing &lt;a href="http://phette.net/munchkin-counter/" title="Munchkin Counter"&gt;a web app for the Munchkin card game&lt;/a&gt; because my life just isn't dorky enough.&lt;/li&gt; &lt;li&gt;I gave &lt;a href="http://phette.net/prez/community-college-librarianship" title="my Google presentation"&gt;a presentation on community college librarianship&lt;/a&gt; at the University of Maryland's iSchool last week.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Projects I'm contemplating next: a filterable map of libraries I've patronized or worked for using &lt;a href="http://simile-widgets.org/" title="SIMILE Widgets: free, open source data visualization"&gt;the SIMILE Exhibit framework&lt;/a&gt;, a set of suggested settings for public Firefox installs (found some &lt;em&gt;great&lt;/em&gt; blog posts to build upon), &amp; I hope to self-publish a volume of poetry before the year's out. I used to write a lot of poetry but that has fallen by the wayside with my interest in web development. I have a few volumes worth of writing lying around so I think that will be a wonderful project because A) I'll get to learn the step-by-step process of self-publishing, which is an increasingly important area for libraries, &amp; B) I like the DIY, Creative Commons, open sorcery, just-get-your-art-out-there approach. No beef with artists who have to sell stuff to make a living, but it's fun to give things away.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/05/ye-olde-internet-roundup.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-8472532064578672483</guid><pubDate>Thu, 26 Apr 2012 19:28:00 +0000</pubDate><atom:updated>2012-04-26T15:28:44.372-04:00</atom:updated><title>An HTML Resume, Part II</title><description>&lt;p&gt;&lt;a href="http://patametadata.blogspot.com/2012/04/semantic-html-resume.html" title="A Semantic HTML Resume | PataMetaData"&gt;Last time&lt;/a&gt;, I discussed the general structure of my semantic &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; resume &amp; my usage of the &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; element. For part two, I am focusing on a very specific segment of my resume.&lt;/p&gt;&lt;h3&gt;A Publications List&lt;/h3&gt;&lt;p&gt;I was excited to work on this &amp;lt;section&amp;gt; of my resume because it is such a unique form of content. My starting point was &lt;a href="http://html5doctor.com/element-index/#cite" title="Cite | HTML5Doctor"&gt;the &amp;lt;cite&amp;gt; element&lt;/a&gt; &amp;, for the first time, I became frustrated with &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5's semantics. To me, as someone who teaches citation styles &amp; writes academic articles, logically &amp;lt;cite&amp;gt; should wrap an entire citation, e.g. author, title, publishing information, etc.. But &amp;lt;cite&amp;gt; in &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 is only for the title of a work. &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 Doctor has &lt;a href ="http://html5doctor.com/blockquote-q-cite/" title="Blockquote, Q, &amp; Cite | HTML5 Doctor"&gt;a great article&lt;/a&gt; on the drama surrounding &amp;lt;cite&amp;gt;'s semantics; basically, &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 has limited the scope of &amp;lt;cite&amp;gt; by forbidding the wrapping of an author's name or full citation in &amp;lt;cite&amp;gt;, which leaves us with no single element for an academic citation. This completely destroys the utility of processing data inside of &amp;lt;cite&amp;gt; tags because a work's title is a radically insufficient identifier. Consider a journal article; if you only know the title of the journal, you're a long way from tracking down the individual article, &amp; &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 has no means of telling you where a citation begins &amp; ends. &lt;a href="http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-cite-element" title="Cite Spec (WHATWG)"&gt;The spec&lt;/a&gt; even shows an example where a citation is wrapped in a &amp;lt;p&amp;gt;, meaning A) it's almost certainly getting rendered improperly by the user agent, B) isn't part of a list (&lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5Doctor's example of &amp;lt;cite&amp;gt; in an academic citation, by the way, does show a citation as a list item within an ordered list), &amp; C) is indistinguishable from other paragraphs. How do I tell a main body paragraph with a &amp;lt;cite&amp;gt; in it from a works cited list? For those working with citation information (read: every web librarian out there, but many other academics as well), this is a massive void that's necessarily filled with a few more complex approaches. True, it is perhaps asking too much for &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 to be as thorough as, say, Zotero's &lt;a href="http://citationstyles.org/citation-style-language/"&gt;Citation Style Language&lt;/a&gt; &lt;abbr title="eXtensible Markup Language"&gt;XML&lt;/abbr&gt; format, but the current state of &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; citations is still disappointing.&lt;/p&gt;&lt;p&gt;However, &amp;lt;cite&amp;gt; (which, according to spec, user agents should render in italics) does correspond with what is usually italicized in a citation, such as a book or journal title. So by marking publication names with &amp;lt;cite&amp;gt; I was able to semantically render publication titles in italics, as opposed to the clearly un-semantic approach of wrapping a title in &amp;lt;em&amp;gt; tags or a-semantic approaches involving styled &amp;lt;span&amp;gt;s. But doing a hanging indent in &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;/&lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; still feels very hacky (&lt;code&gt;li { text-indent: -2em; margin-left: 2em; }&lt;/code&gt; ...yes, that's right, a negative text indent offset by a positive margin) &amp; the &amp;lt;cite&amp;gt; element appears to be an ideal place for a user agent to render a hanging indent by default, something that no &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; element currently does. If the standard isn't going to do that, then at least a "hanging" flag for the text-indent property in &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; (e.g. &lt;code&gt;{ text-indent: 2em hanging; }&lt;/code&gt; would replace the negative text-indent hack) should be on the table.&lt;/p&gt;&lt;p&gt;The second part of marking up my publication list was exposing the citations to OpenURL applications. I read up on &lt;a href="http://ocoins.info/" title="Context Objects in Spans"&gt;&lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt;&lt;/a&gt; &amp; attempted to implement the standard, which is an a-semantic approach involving empty &amp;lt;span&amp;gt;s with a string inside the title attribute that can be tacked onto an OpenURL resolver domain. Producing the code is somewhat nontrivial &amp;, while I'm glad I read the spec &amp; developed my inchoate understanding, I used &lt;a href="http://generator.ocoins.info/" title="web form for generating COinS"&gt;the &lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt; Generator&lt;/a&gt; to speed up the process. Here's an example &lt;code&gt;&amp;lt;span&amp;gt;&lt;/code&gt; from my publications list:&lt;/p&gt;&lt;blockquote&gt; &lt;code&gt;&amp;lt;span class="Z3988" title="ctx_ver=Z39.88-2004&amp;amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&amp;amp;rfr_id=info%3Asid%2Fo&lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt;.info%3Agenerator&amp;amp;rft.genre=article&amp;amp;rft.atitle=Hardening+the+Browser%3A+Protecting+Patron+Privacy+on+the+Internet&amp;amp;rft.title=Reference+%26+User+Services+Quarterly&amp;amp;rft.issn=1094-9054&amp;amp;rft.date=2012&amp;amp;rft.volume=51&amp;amp;rft.issue=3&amp;amp;rft.spage=210&amp;amp;rft.epage=214&amp;amp;rft.ssn=spring&amp;amp;rft.aulast=Phetteplace&amp;amp;rft.aufirst=Eric&amp;amp;rft.auinit=EP&amp;amp;rft.au=Eric+EP+Phetteplace"&amp;gt;&amp;lt;/span&amp;gt;&lt;/code&gt;&lt;/blockquote&gt;&lt;p&gt;Could that &lt;em&gt;be&lt;/em&gt; any prettier? Adding embedded metadata like &lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt; is probably not a step most authors go to but has an instant gratification that mere semantic &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; lacks: you can instantly see your metadata consumed by applications like &lt;a href="https://www.zotero.org/" title="open source citation management"&gt;Zotero&lt;/a&gt; &amp; &lt;a href="http://www.mendeley.com/" title="It's time to change the way we do research."&gt;Mendeley&lt;/a&gt;. If your library uses an OpenURL resolver, chances are that a "find full text" icon will appear next to your citations when they're viewed from within the library network. Wikipedia employs this tactic to great effect.&lt;/p&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt; &lt;a href="http://3.bp.blogspot.com/-Q1I9jib3884/T5mgI_60UaI/AAAAAAAAAN8/YDEONb7ZX-M/s1600/zotero.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="257" src="http://3.bp.blogspot.com/-Q1I9jib3884/T5mgI_60UaI/AAAAAAAAAN8/YDEONb7ZX-M/s320/zotero.png" width="320" alt="Zotero offers to save two articles in my publications list" /&gt;&lt;/a&gt; &lt;p&gt;&lt;i&gt;Ahhh yeah, that's the good stuff.&lt;/i&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;So here we have a totally a-semantic approach that's still exposing metadata to lots of applications that can reuse it &lt;em&gt;today&lt;/em&gt;. That is the promise of all this semantic markup: that machines will be able to process it with greater accuracy &amp; that humans will think up interesting uses for the processed markup. So while &lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt; may look hideous, it's a pretty great example of the potential for markup to interact with APIs.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/04/last-time-i-discussed-general-structure.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Q1I9jib3884/T5mgI_60UaI/AAAAAAAAAN8/YDEONb7ZX-M/s72-c/zotero.png' height='72' width='72'/><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-7677069695348477620</guid><pubDate>Wed, 18 Apr 2012 00:29:00 +0000</pubDate><atom:updated>2012-04-17T20:38:20.789-04:00</atom:updated><title>Ageism, Technology, &amp; Learning</title><description>&lt;p&gt;I've seen a lot of &lt;a href="http://crln.acrl.org/content/72/8/450.full" title="This was an ACRL 2011 session &amp; while I don't mean to pick on it because it's not terribly executed, just reading the title made me cringe"&gt;library conference sessions&lt;/a&gt; &amp; research papers lately that talk about generational differences in librarianship. In general, I don't go to these sessions nor do I read these papers. Why? Because generational differences are dangerous generalizations at their worst &amp; at their best they're mere strawpeople relative to the real issue at hand. In a way, they're just the Myth of the Digital Native spoken in a different dialect.&lt;/p&gt;&lt;p&gt;One real issue in librarianship is the differences in technological skill in our profession. I could be termed a "techie librarian": I work with Drupal, JavaScript, &amp; web services. I love &lt;a href="http://patametadata.blogspot.com/2011/12/how-i-use-browser-extensions.html" title="How I use Browser Extensions | PMD"&gt;my browser extensions&lt;/a&gt;. But at the same time I'm very new to library web services. I've been in my first full-time librarian position for under a year. I'm still &lt;a href="http://codecademy.com/" title="Codecademy"&gt;learning JavaScript&lt;/a&gt;, RESTful APIs, OpenURL, &amp; a host of other standards. Meanwhile, virtually all of the techie librarians I look up to are from a prior generation. I'm no &lt;a href="http://roytennant.com/" title="Roy Tennant's site"&gt;Roy Tennant&lt;/a&gt;; I'm no &lt;a href="http://inkdroid.org/journal/" title="inkdroid, Ed Summer's blog"&gt;Ed Summers&lt;/a&gt; or &lt;a href="http://onebiglibrary.net/" title="One Big Library, Dan Chudnov's site"&gt;Dan Chudnov&lt;/a&gt; or [insert your favorite librarian here]. So the idea that there's a lack of technological skill in older librarians rings particularly false to me.&lt;/p&gt;&lt;p&gt;Technological skills gaps &lt;em&gt;are&lt;/em&gt; an issue, it's just that generations are a poor proxy. There are younger librarians who are luddites, there are older librarians who are coding ninjas. &amp;, to go one layer deeper, the issue isn't one of present skill level but rather willingness to learn. I may be new to the profession &amp; a web neophyte, but I work very hard to learn. In fact, I'd say that each week I acquire new &amp; useful knowledge, whether it's a software tool or a code snippet. So the problem is when people believe it's OK not to evolve&amp;mdash;no, that it's OK to remain the same. We all have to strive to be better, or we risk irrelevance.&lt;/p&gt;&lt;p&gt;A small but incredibly validating experience today inspired this post. An older tutor&amp;mdash;not a librarian, but we work in the same building &amp; with the same students&amp;mdash;attended a staff training workshop I was teaching on keyboard shortcuts. Now, I'm a keyboard nerd. I love my shortcuts, I love my &lt;a href="http://patametadata.blogspot.com/2011/07/how-i-use-application-launchers.html" title="How I use Application Launchers | PMD"&gt;QuickSilver&lt;/a&gt;. &amp; I made a completely ageist, asinine assumption; I thought that everyone would tune me out &amp; get nothing worthwhile out of the workshop. But this tutor, who had previously stated that we had no business going into social media, &lt;em&gt;loved it&lt;/em&gt;. She ate it up. She asked a really interested question (Q: "Do you think the mouse will go extinct?" A: Yes, but because of touch screens, not the keyboard.) at the end. &amp; that's precisely the sort of person every profession needs: someone who's curious, who wants to learn, to improve. Age is irrelevant, an egregious red herring. Let's get to learning.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/04/ageism-technology-learning.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-3372944111299790489</guid><pubDate>Tue, 10 Apr 2012 16:49:00 +0000</pubDate><atom:updated>2012-04-10T12:49:56.344-04:00</atom:updated><title>A Semantic HTML Resume</title><description>&lt;p&gt;A resume is an interesting piece of content, rife with opportunities to apply semantic markup &amp; some more advanced features like &lt;abbr title="Context Objects in Spans"&gt;COinS&lt;/abbr&gt; (at least in academic resumes). I recently revisited my resume web page, bringing it up to date but also redoing the markup for great justice. I'm going to divide this topic into two posts, because it's not the most exciting &amp; I'm really going to drone on about citations in the second part. Aren't you excited?&lt;/p&gt;&lt;h3&gt;High Level Overview&lt;/h3&gt;&lt;p&gt;A resume is a perfect use case for &lt;a href="http://html5doctor.com/the-section-element/" title="The Section Element | HTML5Doctor"&gt;the new &amp;lt;section&amp;gt; element&lt;/a&gt;, since it's divided into multiple independent pieces each with its own header. Therefore, instead of the standard, a-semantic &amp;lt;div&amp;gt; markup that my previous page used, I decided to give &amp;lt;section&amp;gt; the job of demarcating my work experience, education, et cetera. Each section has a header that describes its content.  I chose the &amp;lt;h3&amp;gt; element for my headers, because the &amp;lt;h1&amp;gt; is used for the title of my website, the &amp;lt;h2&amp;gt; is used for the title of the page (e.g. resume in this case), thus &amp;lt;h3&amp;gt; makes sense as its the next step down in the hierarchy. Indeed, looking at my resume page in &lt;a href="http://gsnedders.html5.org/outliner/" title="HTML5 Outliner"&gt;the &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 Outliner&lt;/a&gt;, it is structured in the most logical manner. Unfortunately, my Drupal theme wraps the main content of a page in an &amp;lt;article&amp;gt; tag, which is inappropriate in this case &amp; throws off the outline, but other than that I'm good.&lt;/p&gt;&lt;p&gt;Within each &amp;lt;section&amp;gt;, however, I was uncertain about how to proceed. My previous page used &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;'s definition list (&amp;lt;dl&amp;gt; being the root element, followed by a &amp;lt;dt&amp;gt; for a term and a &amp;lt;dd&amp;gt; for a definition) &amp; I stuck with that, albeit after some hesitation. Is a list of previous &amp; current employers really a set of definitions? So I went to my go-to source for &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 semantics: &lt;a href="http://html5doctor.com" title="Helping you implement HTML5 today"&gt;the &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 Doctor&lt;/a&gt;. &amp;, lo &amp; behold, &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt;5 has repurposed &amp;lt;dl&amp;gt;, turning it from a "definition list" to a "description list" in a way that better suits my usage.&lt;/p&gt;&lt;h3&gt;Schema.org&lt;/h3&gt;&lt;p&gt;What really incited me to redo my resume was listening to &lt;a href="http://nonbreakingspace.tv/emily-lewis/" title="Emily Lewis | Non-Breaking Space Show"&gt;a podcast on Schema.org &amp; microformats&lt;/a&gt;, as well as reading &lt;a href="http://journal.code4lib.org/articles/6400" title="HTML5 Microdata &amp; Schema.org"&gt;the recent Code4Lib article&lt;/a&gt; on implementing Schema.org in a cultural heritage context. I wanted to try out this new means of smuggling metadata into Plain Ol' Semantic &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; (&lt;abbr title="Plain Old Semantic HTML"&gt;POSH&lt;/abbr&gt;, for those in the know ;). The &lt;a href="http://microformats.org/wiki/hresume" title="hResume | Microformats Wiki"&gt;hResume&lt;/a&gt; microformat would have been another choice &amp; I don't mean to advocate for one approach to the exclusion of the other. For my purposes, &lt;a href="http://schema.org/Person" title="Person | Schema.org"&gt;the Person schema&lt;/a&gt; was obviously the best choice &amp; it provides several fields that would be present in most any resume or &lt;abbr title="Curriculum Vitae"&gt;CV&lt;/abbr&gt;.&lt;/p&gt;&lt;p&gt;Unlike Microformats, which operate by placing structured metadata inside &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; &lt;code&gt;class&lt;/code&gt; attributes, Schema.org's microdata approach utilizes a couple new attributes. First off, your root element that contains all text being described by the schema will have a boolean &lt;code&gt;itemscope&lt;/code&gt; attribute as well as an &lt;code&gt;itemtype&lt;/code&gt; attribute with a value pointing to the URI of its schema. Then, beneath that root element, one adds itemprop attributes to the various pieces text that fall under a property of the chosen schema. So, for instance, the &lt;code&gt;&amp;lt;dt&amp;gt;University of Illinois&amp;lt;/dt&amp;gt;&lt;/code&gt; in my Education section becomes &lt;code&gt;&amp;lt;dt itemtype="alumniOf"&amp;gt;University of Illinois&amp;lt;/dt&amp;gt;&lt;/code&gt;. Some of the Person properties I used include name, worksFor, jobTitle, alumniOf, memberOf (for professional organizations), &amp; url. That's a lot of additional information exposed to machines. While I can imagine many more properties, perhaps the one glaring weakness in the schema is the lack of a "creatorOf" property. There's "performerIn" but not "creatorOf", which is silly. The fact that other Schema.org items such as books, movies, &amp; music all have "author" or "creator" properties only highlights this myopia.&lt;/p&gt;&lt;p&gt;Once I marked up my resume in the Person schema, I could view the results of the invisible metadata in a few ways. For one, Google has a &lt;a href="http://www.google.com/webmasters/tools/richsnippets" title="try out your Rich Snippets"&gt;Rich Snippets&lt;/a&gt; feature in their webmaster tools that shows what data the Googlebot sees, including what can be exposed to a Custom Search Engine. You can also see previews of what your page &lt;i&gt;might&lt;/i&gt; appear like in a search result, though there's no guarantee that Google will use the rich snippet. There's also the &lt;a href="http://foolip.org/microdatajs/live/" title="Live Microdata"&gt;Live Microdata&lt;/a&gt; site which validates your microdata &amp; can show you what it looks like as &lt;a href="http://json.org/" title="a lightweight data-interchange format"&gt;JSON&lt;/a&gt;. Right now, the big selling point&amp;mdash;that I'll get a customized search result&amp;mdash;isn't panning out. It's actually a super ugly result for me when I'm signed into Google, with a citation as preview text &amp; some Google+ spam below. But there are other reasons to embed metadata in &lt;abbr title="HyperText Markup Language"&gt;HTML&lt;/abbr&gt; &amp; I had a pleasant learning experience.&lt;/p&gt;</description><link>http://patametadata.blogspot.com/2012/04/semantic-html-resume.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-3572188356717378891</guid><pubDate>Wed, 21 Mar 2012 14:06:00 +0000</pubDate><atom:updated>2012-03-21T10:06:30.745-04:00</atom:updated><title>Spring (Web) Cleaning</title><description>I'm doing some Spring cleaning of my web accounts, social &amp;amp; otherwise, in honor of the gorgeous Spring we're having. There are two fundamental steps: disconnecting services that I do not use from accessing my primary accounts (Google, Twitter, Facebook) &amp;amp; then discontinuing the accounts/profiles of sites I no longer need. I'm certain I'm not the only one who samples numerous new services then promptly drops them, so hopefully this post will be useful to a few of you.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://mypermissions.org/" title="clean up yer permissions"&gt;MyPermissions.org&lt;/a&gt;&lt;/h3&gt;A pivotal tool, &lt;a href="http://mypermissions.org/"&gt;MyPermissions.org&lt;/a&gt; enumerates the links to major "apps permissions" pages for sites like Google, Twitter, &amp;amp; Facebook. Many smaller services allow you to login with your major account &amp;amp; even more use feature integration, so it's important to &lt;em&gt;sever access&lt;/em&gt; once you stop using a service. For instance, I removed Twitter access from &lt;a href="http://gopollgo.com/" title="Poll your Twitter followers"&gt;GoPollGo&lt;/a&gt;, &lt;a href="http://www.academia.edu/" rel="nofollow" title="social network for academics"&gt;Academia.edu&lt;/a&gt;, &lt;a href="https://www.greplin.com/" title="search, find, organize, discover your life online"&gt;Greplin&lt;/a&gt;, &amp;amp; &lt;a href="http://www.rockmelt.com/" title="not a browser, a WOWser"&gt;RockMelt&lt;/a&gt;. I had forgotten about those last three so it was great to clear out; I might use GoPollGo in the future but presently there's no reason for it to maintain access to my Twitter.&lt;br /&gt;Second comes the accounts I do not use enough to justify continuing. For most of these, what I did was scroll through &lt;a href="https://agilebits.com/onepassword" title="cross-platform password manager"&gt;1Password&lt;/a&gt;, checking for accounts I have either forgotten about or do not truly need. Here are some example deletions.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://untappd.com/" rel="nofollow" title="Untappd"&gt;Untappd&lt;/a&gt;&lt;/h3&gt;Social networking for beer drinkers, you "check in" your drinks and get badges. Yes, it's FourSquare for drunks. Not only is Untappd the epitome of oversharing in social media (I can't image any employer is delighted by my "weekday warrior" badge for consuming three beers on a Wednesday night) but it offered no added value for me. I keep a beers Google spreadsheet with ABV, ratings, style, and other data which I can then query for metrics like favorite brewer or style.&lt;br /&gt;&lt;h3&gt;&lt;a href="https://www.greplin.com/" title="your personal search engine"&gt;Greplin&lt;/a&gt;&lt;/h3&gt;A personal search engine that scans across Google, Facebook, Twitter, Dropbox, etc. accounts &amp;amp; gives results. Deleting a service like this is multi-fold: first I delete my account, then I have to head to each of those profiles &amp;amp; revoke access to Greplin. While I had &lt;a href="http://patametadata.blogspot.com/2011/10/cloud-aggregators.html" title="post on cloud aggregators"&gt;high praise for Greplin&lt;/a&gt; at first, I rarely found use cases for it. There's definitely a place for services such as this, I just haven't found it yet. I stopped using the RockMelt browser (basically a social version of Chrome with sidebar apps) recently too &amp;amp; that process was analogous: a useful, interesting tool but also one with access to all my web personas.&lt;br /&gt;&lt;h3&gt;&lt;a href="http://www.allmenus.com/" rel="nofollow" title="All Menus"&gt;All Menus&lt;/a&gt;&lt;/h3&gt;Online ordering from restaurants. Nowhere good in my neighborhood is listed &amp;amp; the site itself is disconcerting, with broken &lt;em&gt;internal&lt;/em&gt; links &amp;amp; several errors. Breaks my "don't trust poor websites with your financial information" rule.&lt;br /&gt;&lt;h3&gt;Cloud 9 IDE&lt;/h3&gt;Online &lt;a href="http://en.wikipedia.org/wiki/Integrated_development_environment" title="IDE - Wikipedia"&gt;IDE&lt;/a&gt; (code editor with fancy features) with Github integration that I never got around to using. Great idea &amp;amp; maybe I'll return to it, but for now I don't need an account.&lt;br /&gt;&lt;h3&gt;Other Accounts&lt;/h3&gt;I also deleted my Campusfood, Stubhub, Meetup, Scrib, SoundClick, MySpace, PureVolume, &amp;amp; ReverbNation (those last four were artist profiles...I'm not still on MySpace) accounts. I deleted a Wordpress.com blog I no longer update &amp;amp; my account at an online retailer that I will probably never purchase from again.&lt;br /&gt;&lt;br /&gt;I learned one major lesson from my Spring cleaning: online retaliers are the worst. Not only do they have your most sensitive (i.e. financial) information, they also are the most hesitant to empower their users. Few retailers provide a "delete account" button &amp;amp; many do not reply to customer support emails. All in all, it's better to centralize purchasing in online companies that get it, like Amazon, than trust a series of companies with questionable web development practices.</description><link>http://patametadata.blogspot.com/2012/03/spring-web-cleaning.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5067904571139905755.post-1983750648860404161</guid><pubDate>Fri, 16 Mar 2012 15:24:00 +0000</pubDate><atom:updated>2012-03-16T11:24:18.239-04:00</atom:updated><title>Another Plug for Quicksilver</title><description>&lt;p&gt;Following up on both my love for &lt;a href="http://patametadata.blogspot.com/2011/10/automate-each-week.html" title="Automate Each Week post"&gt;optimizing workflows&lt;/a&gt; &amp; &lt;a href="http://patametadata.blogspot.com/2011/07/how-i-use-application-launchers.html" title="How I Use App Launchers post"&gt;application launchers&lt;/a&gt;, here's a brief "how to" video on solving a frustrating workflow using a &lt;a href="http://qsapp.com" title="The Best Mac App"&gt;Quicksilver&lt;/a&gt; trigger.&lt;/p&gt;&lt;iframe width="420" height="315" src="http://www.youtube.com/embed/btJ8HFDbXNE" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</description><link>http://patametadata.blogspot.com/2012/03/another-plug-for-quicksilver.html</link><author>noreply@blogger.com (Eric Phetteplace)</author><thr:total>0</thr:total></item></channel></rss>