<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Teleogistic &#187; edtech</title>
	<atom:link href="http://teleogistic.net/category/edtech/feed/" rel="self" type="application/rss+xml" />
	<link>http://teleogistic.net</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 17:59:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Do something about SOPA</title>
		<link>http://teleogistic.net/2011/12/do-something-about-sopa/</link>
		<comments>http://teleogistic.net/2011/12/do-something-about-sopa/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 16:28:55 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[digital humanities]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[etc]]></category>
		<category><![CDATA[new media]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[ds106]]></category>
		<category><![CDATA[ed tech blogs]]></category>
		<category><![CDATA[EFF]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[PROTECTIP]]></category>
		<category><![CDATA[SOPA]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1582</guid>
		<description><![CDATA[Hey you! Do something about SOPA and PROTECT IP.. The Stop Online Privacy Act (and its cousin in the Senate, the PROTECT IP Act) are inching closer to passage. Time is running short for you to do what you can to stymie this legislation, which could very well destroy the open internet as we know [...]]]></description>
			<content:encoded><![CDATA[<p>Hey you! <a href="http://americancensorship.org/">Do something about SOPA and PROTECT IP.</a>.</p>
<p>The Stop Online Privacy Act (and its cousin in the Senate, the PROTECT IP Act) are inching closer to passage. Time is running short for you to do what you can to stymie this legislation, which could very well destroy the open internet as we know it. (Don&#8217;t know about SOPA? Get a nice overview in <a href="http://vimeo.com/31100268">this short video</a>, or check out <a href="https://plus.google.com/112526081195315983895/posts/V4qsi4i7qru">Jeff Sayre&#8217;s helpful bibliography of resources about the bill</a>.)</p>
<h3>Why you should care about this</h3>
<p>If you are reading my blog, you likely fall into one of a few camps, each of which has a vested interest in preventing the passage of SOPA and PROTECTIP:</p>
<ul>
<li>If you are <strong>a developer, user, or advocate of free and open source software</strong>, you have several reasons to be concerned about the proposed legislation.
<p>For one thing, the small-to-medium sized web organizations that are most likely to be targets of SOPA&#8217;s blacklisting protocols make up the bulk of the clientele for many web developers I know. These organizations generally do not have the visibility or high profile to put up a stink when and if they fall prey to overzealous &#8220;copyright&#8221; claims, nor do they have the deep pockets to fund the necessary legal defenses. The danger is especially great for websites that accept &#8211; or are built on &#8211; user-generated content, like many WordPress and BuddyPress sites; SOPA provides for the blacklisting of entire domains, based merely on the a few pieces of &#8220;offending&#8221; content, even if the content was not created or posted by the domain owners. Over time, these threats and constraints are bound to make the development of these kinds of sites far less feasible and attractive, resulting in less work for developers &#8211; and less development on the open source projects that are largely subsidized by this kind of work.</p>
<p>On a deeper level, those who are interested in the philosophical underpinnings of free software &#8211; the rights of the user &#8211; should be terrified by the prospect of media corporations gaining what amounts to veto power over our most fecund channels for the exercise of free expression. Free software lives and dies alongside a free internet. When one level of our internet infrastructure (DNS) is under the control of a self-interested few, it makes &#8220;freedom&#8221; at higher levels of abstraction &#8211; like the level of the user-facing software &#8211; into an illusion.</li>
<li>If you are <strong>an educator or an instructional technologist</strong>, especially one who endorses the spirit of open educational movements like <a href="http://bavatuesdays.com/the-glass-bees/">(the OG) edupunk</a> and <a href="http://ds106.us/">ds106</a>, you should be flipping out about SOPA.
<p>At an institutional level, thoughtful folks in higher ed and edtech have been fighting for years against a FERPA-fueled obsession with privacy and closedness. They&#8217;ve made strides. Platforms that foster learning in open spaces &#8211; stuff like institutional blog and wiki installations &#8211; have become increasingly commonplace, demonstrating to the powers that be that, for one thing, the legal dangers are not so great, and for another, whatever legal concerns there may be are far outweighed by the pedagogical benefits to be reaped from the open nature of the systems. The threats put into place by SOPA are likely to undo much of this work, by tipping the scales back in the direction of fear-driven policy written by CYA-focused university lawyers. Advocates of open education, and the platforms that support it, should be keen not to let their efforts go to waste.</p>
<p>At the level of the individual student, the case is more profound. The most promising thread in the story of higher ed and the internet &#8211; the thread running through Gardner Campbell&#8217;s <a href="http://robinheyden.wordpress.com/2011/01/22/gardner-campbells-bag-of-gold/">Bags of Gold</a> and Jim Groom&#8217;s <a href="http://bavatuesdays.com/a-domain-of-ones-own/">a domain of one&#8217;s own</a> &#8211; is, in my understanding, founded on notions about student power and agency. Users of the internet are not, and should not be, passive actors and consumers of content. Instead, they should take control of their (digital) selves, becoming active participants in the construction of the web, the web&#8217;s content, and their own avatars. SOPA and its ilk are an endorsement of the opposite idea: the &#8220;ownership&#8221; of creative content on the internet is heavily weighted toward media companies, which is to say that you are allowed to be in control of your digital self until it causes a problem for a suit at MPAA or RIAA. The entire remix/mashup culture of ds106 is impossible in such a scenario. If you think that this culture, and the ideology of student personhood that underscores the culture, is worth saving, you should be fighting SOPA tooth and nail.</li>
</ul>
<p>What can you do? Write a blog post. <a href="https://supporters.eff.org/join">Join or support the Electronic Frontier Foundation</a>. Most importantly, if you are an American, <strong><em>contact your representatives in Congress</em></strong>. <a href="http://americancensorship.org/">The Stop American Censorship</a> site makes this easy, and gives you all the talking points you&#8217;ll need. (&#8220;This bill is a job killer!&#8221;)</p>
<p>Do it now!</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2012/02/sopa-media-conglomerates-and-the-moral-obligation-to-boycott/' rel='bookmark' title='SOPA, Media Conglomerates, and the Moral Obligation to Boycott'>SOPA, Media Conglomerates, and the Moral Obligation to Boycott</a></li>
<li><a href='http://teleogistic.net/2010/10/lessons-from-the-google-summer-of-code-mentor-summit/' rel='bookmark' title='Lessons from the Google Summer of Code Mentor Summit'>Lessons from the Google Summer of Code Mentor Summit</a></li>
<li><a href='http://teleogistic.net/2011/09/the-gpl-is-for-users/' rel='bookmark' title='The GPL is for users'>The GPL is for users</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/12/do-something-about-sopa/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Project Reclaim and the email dilemma</title>
		<link>http://teleogistic.net/2011/10/project-reclaim-and-the-email-dilemma/</link>
		<comments>http://teleogistic.net/2011/10/project-reclaim-and-the-email-dilemma/#comments</comments>
		<pubDate>Fri, 14 Oct 2011 20:04:45 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[etc]]></category>
		<category><![CDATA[#projectreclaim]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Gmail]]></category>
		<category><![CDATA[K-9 Mail]]></category>
		<category><![CDATA[Thunderbird]]></category>
		<category><![CDATA[Volvo]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1562</guid>
		<description><![CDATA[One of the main 2011 goals for Project Reclaim is to get my email out of Gmail. Heavy reliance on Gmail raises a number of red flags. For one thing, email is central to my business and personal life online, and provides the best archive of my online past (get the important stuff first). For [...]]]></description>
			<content:encoded><![CDATA[<p>One of the main 2011 goals for <a href="http://teleogistic.net/2011/03/project-reclaim/">Project Reclaim</a> is to get my email out of Gmail. Heavy reliance on Gmail raises a number of red flags. For one thing, email is central to my business and personal life online, and provides the best archive of my online past (<em>get the important stuff first</em>). For another, Gmail is ad-supported, in a way that has rankled since Gmail went public: it &#8220;reads&#8221; your email and serves ads based on what it finds. No one really talks about it anymore, but it still kind of bugs me &#8211; so I want to move to a non-free system (<em>paying is better than getting something for free</em>).</p>
<p>It&#8217;s taken me a while to make the move, though, for two main reasons.</p>
<ol>
<li>
<p>Email is tricky. Good, free mail server software is easy to find. But it&#8217;s not necessarily easy to set up and maintain. If the outgoing server isn&#8217;t configured correctly, your messages will get marked as spam. If you haven&#8217;t got constantly monitored spam filters on your incoming mail, you&#8217;ll be inundated with garbage. And the issues of backups and reliability, while certainly important in the case of (say) self-hosted websites, are many times more important with email: if the server goes down, emails may get altogether lost in the ether.</p>
<p>I&#8217;ve set up and configured email servers before, and it hasn&#8217;t been very fun. When deciding how to solve the Gmail conundrum, I needed to take this fact into consideration. I started to do a bit of research on paid email hosting, and found good reviews of <a href="http://www.rackspace.com/apps">Rackspace&#8217;s hosted email service</a>. The service is pretty affordable, and I knew from years of Slicehost use (now owned by Rackspace) that customer service and support would be good.</p>
</li>
<li>
<p>I needed a good address. I own a lot of domain names, but most of them are lame, and none lent themselves very neatly to an email address. For instance, when your domain name is boonebgorges.com, what&#8217;s the email account name? &#8216;boone&#8217;? The cool factor there is pretty low. And I am a cool guy, so that&#8217;s important.</p>
<p>Some of the obvious domains are taken. <code>boone.com</code> is wasted on dry-erase boards. <code>gorges.com</code> could never be wrested from the clutches of &#8220;one of the oldest family owned Volvo franchises in the United States&#8221;. But there was hope &#8211; or should I say <em>había esperanza</em> &#8211; that I might get the fairly unused <code>gorg.es</code>. In fact, my brother and I had been working on that project for a couple of years, but it was only a few months ago that the owner finally relented, and the domain name was transferred to the Gorges boys.</p>
</li>
</ol>
<p>So, about two months ago, I made the switch. For now, I just set it up as another account in Thunderbird (more on <a href="http://teleogistic.net/2011/03/making-the-thunderbird-interface-more-gmail-y/">my Thunderbird setup</a>). I created a generic &#8220;Archive&#8221; directory on my gorg.es account (to mimic Gmail&#8217;s All Mail) and pointed my &#8216;Y&#8217; shortcut to that directory. I&#8217;m using <a href="http://code.google.com/p/k9mail/">K-9 Mail</a> on my Android phone, which I set up to save the entire Archive directory, so I&#8217;d have good local email search on my phone. Little by little, I&#8217;m moving over my email correspondence to the new, awesome address. Bye bye, Gmail!</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/03/project-reclaim/' rel='bookmark' title='Project Reclaim'>Project Reclaim</a></li>
<li><a href='http://teleogistic.net/2011/03/making-the-thunderbird-interface-more-gmail-y/' rel='bookmark' title='Making the Thunderbird interface more Gmail-y'>Making the Thunderbird interface more Gmail-y</a></li>
<li><a href='http://teleogistic.net/2009/09/automated-and-redundant-wordpress-backup-via-email/' rel='bookmark' title='Automated and redundant Wordpress backup via email'>Automated and redundant Wordpress backup via email</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/10/project-reclaim-and-the-email-dilemma/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Done with Apple</title>
		<link>http://teleogistic.net/2011/10/done-with-apple/</link>
		<comments>http://teleogistic.net/2011/10/done-with-apple/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 20:45:21 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[etc]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[#projectreclaim]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Macbook]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1555</guid>
		<description><![CDATA[In my 2010 year-in-review post I made a passing mention to my decision not to buy any more Apple products. Most people who know me can probably guess the reasons behind the decision, but recently I&#8217;ve had some discussions that made me think that it&#8217;s worth a blog post to spell them out. First is [...]]]></description>
			<content:encoded><![CDATA[<p>In <a href="http://teleogistic.net/2010/12/looking-back-at-2010/">my 2010 year-in-review post</a> I made a passing mention to my decision not to buy any more Apple products. Most people who know me can probably guess the reasons behind the decision, but recently I&#8217;ve had some discussions that made me think that it&#8217;s worth a blog post to spell them out.</p>
<p>First is <a href="http://teleogistic.net/2011/03/project-reclaim/">my ongoing project</a> to move away from proprietary software in general. All things being equal, it&#8217;s better to use software whose source code I can view and modify; even if, in fact, I never <em>do</em> these things, the fact that I <em>could</em> is a kind of safeguard against a number of frequent aspects of closed-source software: data lock-in, data rot, restrictions on hardware compatibility, secret surveillance, etc. As the operating system is in many ways the foundation of all other tasks I do on a computer, so it is of fundamental importance to use an open OS.</p>
<p>Second. I believe in the Web as an open platform for communication and expression, and Apple is increasingly anti-web.</p>
<p>You often hear hoopla about how digital technologies can radically democratize and transform <em>x</em> (fill in your favorite <em>x</em>: scholarship, education, publication, politics, etc). The success or failure of these transformations is tied up with the Web&#8217;s openness as a platform: open standards like TCP/IP, enablers of decentralization like distributed DNS, free software like Linux and Apache to run servers. Putting any of these technical details under the control of a single agent, especially a corporate agent that answers only to shareholders, threatens to limit free expression and disenfranchise vulnerable groups of potential users. If a robust, widely-used, open Web is important to the future of equality and democracy, and if such a Web can only be defended by keeping out proprietary interests, then it&#8217;s important to fight against interference from those interests.</p>
<p>I take it as fairly obvious that Apple (and not only Apple, though they seem to be the trendsetters) is anti-Web. Consider their distribution models. iTunes makes it so that you have to buy apps, music, and movies through an application, rather than through web pages. Know that annoying &#8220;feature&#8221; where, when you click on an iPhone app link on the web, you get a page informing you that you&#8217;ve clicked on an iTunes link, whereupon iTunes proceeds to open? That&#8217;s anti-web. The increasing focus on &#8220;apps&#8221; is a more troubling anti-web move. As was nicely illustrated by an article I read a while back (can&#8217;t find the link), you can spend a whole day doing stuff on an iPad &#8211; using Twitter, Facebook, WordPress, Yelp, email, Google Maps, etc &#8211; without ever viewing a web page (though they all use web services that use HTTP as a transport). In this way, Apple is doing an end run around the web.</p>
<p>The nature of the end run is particularly troubling. Apple is the arbiter of the software that runs on its devices (completely, in the case of iThings; increasingly, in the case of the  AppStorified Mac). This creates unnecessary bottlenecks when it comes to bugfix or security releases. It creates a single point of failure for apps and therefore for devices; if Apple goes under tomorrow (or, more likely, changes their mind completely about whatever they please), how will you continue to update your apps? Worst, it puts Apple in the position of policing for content, which, whether driven by a well-intentioned desire to avoid offensive content or by a malevolent puritanism, is a Bad Thing.</p>
<p>Anyway, all of these points have been made over and over again, by many different people. My own bottom line: I believe in the value of the open web to such an extent that <a href="http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/">I&#8217;ve devoted my career to it</a>. Thus, it feels wrong to keep using, and indirectly encouraging the use of, technologies like Apple&#8217;s. That goes especially for iOS and its devices, the area where I think the threat to the web is worst. But it extends to the Mac as well. Even if you maintain that the Mac will never merge into iOS (a position I find disingenuous), there&#8217;s no question that spending money on Mac hardware is a way of indirectly feeding the beast. Next time I buy a laptop, I&#8217;ll be sad not to be getting a pretty MacBook, but, on balance, I feel more comfortable giving my money to a hardware manufacturer that&#8217;s less pernicious.</p>
<p>For what it&#8217;s worth, I don&#8217;t think that mine is a decision that everyone must, or even should, make. Using Apple products brings pleasure to a lot of people, even people who largely share my ideologies about the free web. It&#8217;s perfectly legitimate to decide that the benefits you get from using those products outweigh the downsides. But, for me, it&#8217;s past the tipping point, which is why I&#8217;m done buying Apple products.</p>
<p>No related posts.</p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/10/done-with-apple/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Dude, Where&#8217;s My Blackboard Contract?</title>
		<link>http://teleogistic.net/2011/09/dude-wheres-my-blackboard-contract/</link>
		<comments>http://teleogistic.net/2011/09/dude-wheres-my-blackboard-contract/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 17:30:44 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[Blackboard]]></category>
		<category><![CDATA[CUNY]]></category>
		<category><![CDATA[new york state]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1543</guid>
		<description><![CDATA[[UPDATE: 9-23-2011 9:54EDT] The original links to vendor searches on Open Book seem to be working again. I guess that means that the issue was a poorly-timed technical outage. In light of this, I take back my tentative speculations about Open Book actively suppressing results &#8211; I was wrong. Leaving this blog post up for [...]]]></description>
			<content:encoded><![CDATA[<p><strong>[UPDATE: 9-23-2011 9:54EDT]</strong> <em>The original links to vendor searches on Open Book seem to be working again. I guess that means that the issue was a poorly-timed technical outage. In light of this, I take back my tentative speculations about Open Book actively suppressing results &#8211; I was wrong. Leaving this blog post up for historical reasons.</em></p>
<p><strong>[UPDATE: 9-21-2011 1:46EDT]</strong> <em>It looks like all vendor information is missing from Open Book at the moment. The contracts are still available by contract number (<a href="http://wwe1.osc.state.ny.us/transparency/contracts/contracttransactions.cfm?Contract=NMP0141&#038;Agency=70000&#038;entitytype=Agency">example</a>). This may point toward an Open Book technical problem. Until a bit more is known, I think it&#8217;s reasonable to assume it&#8217;s an innocent accident. The general points still remain. </em></p>
<p>A few days ago I wrote a blog post about how CUNY and Blackboard have, in various ways, <a href="http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/">inspired my work in free software</a>. In that post, I linked to a page that showed search results for CUNY and Blackboard from <a href="http://www.openbooknewyork.com/">Open Book New York</a>, a service provided by the NYS Comptroller&#8217;s office that lets citizens see how public institutions are spending tax money (a great idea, right?).</p>
<p>The blog post got many thousands of hits, and many hundreds of those users clicked on the link in question, which showed the amounts of CUNY&#8217;s current hosting contracts with Blackboard. This morning, <a href="http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/#comment-67884">one of my commenters, Brian</a>, let me know that the link no longer worked. In fact, when you search Open Book for Blackboard, no contracts at all are shown for the entire state, while just a few days ago, a similar search turned up lots of results.</p>
<p>My decision to hotlink to the contract details in the original post, instead of spelling the dollar amounts in the text, was completely intentional. While I think that the high cost of Blackboard&#8217;s service is indeed an important symptom of a larger problem, I think that the dollar amounts have the potential to overshadow other considerations. So I linked, knowing that few readers would click through.</p>
<p>But now, because I don&#8217;t want that aspect of the original post to be lost, I&#8217;m going to bring to the foreground what I&#8217;d intended to leave in the background.</p>
<p>- <a href="http://wwe1.osc.state.ny.us/transparency/contracts/contractresults.cfm?sb=b&#038;searchBy=optAgencyVendor&#038;a=CCC03&#038;au=0&#038;ac=&#038;v=blackboard&#038;vo=B&#038;c=-1&#038;m1=0&#038;y1=0&#038;m2=0&#038;y2=0&#038;am=0&#038;b=Search">The original link to the search</a><br />
- <a href="http://webcache.googleusercontent.com/search?q=cache:32ABP-I_4ywJ:wwe1.osc.state.ny.us/transparency/contracts/contractresults.cfm%3Fsb%3Db%26searchBy%3DoptAgencyVendor%26a%3DCCC03%26au%3D0%26ac%3D%26v%3Dblackboard%26vo%3DB%26c%3D-1%26m1%3D0%26y1%3D0%26m2%3D0%26y2%3D0%26am%3D0%26b%3DSearch+http://wwe1.osc.state.ny.us/transparency/contracts/contractresults.cfm%3Fsb%3Db%26searchBy%3DoptAgencyVendor%26a%3DCCC03%26au%3D0%26ac%3D%26v%3Dblackboard%26vo%3DB%26c%3D-1%26m1%3D0%26y1%3D0%26m2%3D0%26y2%3D0%26am%3D0%26b%3DSearch&#038;cd=1&#038;hl=en&#038;ct=clnk&#038;gl=us">Google&#8217;s cached copy</a><br />
- <a href="http://teleogistic.net/wp-content/uploads/2011/09/cuny-bb.jpg">Screenshot, 9-21-2011</a></p>
<p>If removing the results was intentional, ie if Open Book removed the results at the request of Blackboard or of CUNY (I consider the former more likely, given the evidence), it is obviously quite disappointing, and lends a certain irony to the &#8220;Open Book&#8221; moniker.</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/' rel='bookmark' title='I develop free software because of CUNY and Blackboard'>I develop free software because of CUNY and Blackboard</a></li>
<li><a href='http://teleogistic.net/2009/08/blackboard-hack-merging-classes-from-multiple-pages/' rel='bookmark' title='Blackboard hack: Merging classes from multiple pages'>Blackboard hack: Merging classes from multiple pages</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/09/dude-wheres-my-blackboard-contract/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>It&#8217;s here &#8211; BuddyPress 1.5!!</title>
		<link>http://teleogistic.net/2011/09/its-here-buddypress-1-5/</link>
		<comments>http://teleogistic.net/2011/09/its-here-buddypress-1-5/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 03:58:36 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[John James Jacoby]]></category>
		<category><![CDATA[Paul Gibbs]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1531</guid>
		<description><![CDATA[It&#8217;s finally here! After many, many months of bug squashing, refactoring, and general bloodsweatntears, BuddyPress 1.5 has been released! This long development cycle has been frustrating in some ways and extremely rewarding in others. On balance, I&#8217;m quite proud of the work that&#8217;s been done, and quite pleased to have worked so closely and so [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://teleogistic.net/wp-content/uploads/2011/09/buddypress_logo3.png"><img src="http://teleogistic.net/wp-content/uploads/2011/09/buddypress_logo3-1024x315.png" alt="" title="buddypress_logo" width="700" class="aligncenter wp-image-1535" /></a></p>
<p>It&#8217;s finally here! After many, many months of bug squashing, refactoring, and general bloodsweatntears, <a href="http://buddypress.org/2011/09/buddypress-1-5/ ">BuddyPress 1.5 has been released</a>!</p>
<p>This long development cycle has been frustrating in some ways and extremely rewarding in others. On balance, I&#8217;m quite proud of the work that&#8217;s been done, and quite pleased to have worked so closely and so well with <a href="http://twitter.com/johnjamesjacoby">John</a>, <a href="http://twitter.com/pgibbs">Paul</a>, and all the other contributors to BuddyPress. My sincere thanks to all the users and developers who have been supportive during this dev cycle.</p>
<p>Most importantly, BuddyPress 1.5 itself kicks ass. The bp-default theme has seen some serious improvements, some much-needed features have been added, and the codebase has been overhauled in terms of additional internal APIs, documentation, style, and so on. If you&#8217;ve done development with BuddyPress in the past, do yourself a favor and check out BP 1.5 &#8211; you are in for an extremely pleasant surprise.</p>
<p>Here&#8217;s to 1.6 and beyond!</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/03/new-buddypress-plugin-buddypress-docs/' rel='bookmark' title='New BuddyPress plugin: BuddyPress Docs'>New BuddyPress plugin: BuddyPress Docs</a></li>
<li><a href='http://teleogistic.net/2010/09/new-buddypress-plugin-bp-lotsa-feeds/' rel='bookmark' title='New BuddyPress plugin: BP Lotsa Feeds'>New BuddyPress plugin: BP Lotsa Feeds</a></li>
<li><a href='http://teleogistic.net/2011/05/buddypress-1-1-doc-history/' rel='bookmark' title='BuddyPress Docs 1.1: Doc History'>BuddyPress Docs 1.1: Doc History</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/09/its-here-buddypress-1-5/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>I develop free software because of CUNY and Blackboard</title>
		<link>http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/</link>
		<comments>http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/#comments</comments>
		<pubDate>Mon, 19 Sep 2011 13:11:33 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[dev.wpmued]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[#projectreclaim]]></category>
		<category><![CDATA[Blackboard]]></category>
		<category><![CDATA[CUNY]]></category>
		<category><![CDATA[CUNY Academic Commons]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[mediawiki]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[undergraduate education]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1505</guid>
		<description><![CDATA[For two reasons, Blackboard is the key to why I develop free software. The first reason is historical. I first got into free software development because of my work with the CUNY Academic Commons project. As spearheaded by Matt Gold, George Otte and others, the Commons is intended to create a space, using free software [...]]]></description>
			<content:encoded><![CDATA[<p>For two reasons, Blackboard is the key to why I develop free software.</p>
<p>The first reason is historical. I first got into free software development because of my work with the <a href="http://commons.gc.cuny.edu">CUNY Academic Commons</a> project. As spearheaded by <a href="http://mkgold.net">Matt Gold</a>, <a href="http://purelyreactive.commons.gc.cuny.edu/">George Otte</a> and others, the Commons is intended to create a space, using free software like WordPress and MediaWiki for members of the huge community of the City University of New York to discover each other and work together. The project is not pitched as a Blackboard alternative, for a number of reasons (primary among which is that the Commons&#8217;s Terms of Service prohibit undergraduate courses from being held on the site). Still, the Commons was conceived, at least in part, out of frustration about the near lack of collaborative tools and spaces in CUNY. And more than anything else, Blackboard (by which I mean Blackboard Learn, the proprietary learning management software that has been CUNY&#8217;s official courseware for quite a few years) is the embodiment of what can be so frustrating about academic technology at CUNY: central management, inflexibility, clunkiness, anti-openness. In this way, Blackboard begat the CUNY Academic Commons, and the CUNY Academic Commons begat Boone the developer.</p>
<p>There is another reason why Blackboard is integral to my free software development. It is ideological.</p>
<p>Short version: I love CUNY and I love public education. Blackboard is a parasite on both. Writing free software is the best way I know to disrupt the awful relationship between companies like Blackboard and vulnerable populations like CUNY undergraduates.</p>
<p>Here&#8217;s the longer version. I&#8217;ve been affiliated with CUNY in a number of capacities over the last decade: <a href="http://teleogistic.net/2011/06/dropout/">PhD student</a>, adjunct lecturer, graduate fellow, <a href="http://teleogistic.net/2010/03/moving-on/">full-time instructional technologist</a>, external contractor. I&#8217;ve seen many parts of CUNY from many different points of view. Like so many others who have philandered their way through CUNY&#8217;s incestuous HR departments, my experience has rendered a decidedly <em>love/hate</em> attitude toward the institution. You can get a taste of the what CUNY <em>hate</em> looks like by glancing at something like <a href="http://twitter.com/cunyfail">@CUNYfail</a>. The <em>love</em> runs deeper. Those fortunate enough to have &#8220;gotten around&#8221; at CUNY can attest to the richness of its varied campus cultures. In every office and every department on every campus, you&#8217;ll meet people who are innovating and striving to get their work done, in spite of a bureaucracy that sometimes feels designed to thwart.</p>
<p>And the students. CUNY is the City University of New York, the <em>City</em> University. It belongs to New York, and <a href="http://en.wikipedia.org/wiki/CUNY">its history</a> is tied up with the ideals of free education for New York&#8217;s residents. While the last few decades have seen the institution (as a whole, as well as a collection of campuses) evolve away from these ideals in various official and unofficial ways, it&#8217;s impossible to step into a CUNY classroom without getting a sense that CUNY still serves as a steward for New York&#8217;s future. CUNY is too huge and its population too varied to make general statements about the student body, but I&#8217;ll say anecdotally that, of all the universities I&#8217;ve been associated with, none even approach the level of racial, economic, and academic diversity that you find on a single campus, to say nothing of the system as a whole. CUNY is (to use a lame but apt cliché) a cross-section of New York: her first-generation Americans, her first-generation college students, her rich and her poor, her advantaged and her vulnerable. (See also Jim Groom&#8217;s <a href="http://bavatuesdays.com/i-bleed-cuny-blood/">I Bleed CUNY</a>, which makes a similar point with a lot less abandon.)</p>
<p>Public education is a public trust, maybe the most important equalizer a state can provide for its citizens. CUNY, with the population of New York City as its public, could demonstrate the full potential of public education in a more complete and visible way than perhaps any other public university. It&#8217;s for this reason that it breaks my heart and boils my blood to see CUNY money &#8211; which is to say, student tuition and fees &#8211; poured into a piece of software like Blackboard.</p>
<p>In virtue of their age, undergraduates are inherently a vulnerable population, and CUNY undergraduates &#8211; reflecting as they do the full demographic spectrum of New York City itself &#8211; are doubly vulnerable. Many CUNY undergraduates go to CUNY because if they didn&#8217;t, they wouldn&#8217;t go to college at all. This imposes certain moral strictures on those responsible for managing and spending the money paid by CUNY students in tuition and fees. Wasting CUNY money is a far worse crime than wasting, say, shareholder money in a private company. Shareholders have freedom; if they don&#8217;t like your management, they vote with their feet/wallets/brokers. CUNY students, by and large, do not have the same freedom; it&#8217;s safe to say that, for most CUNY students most students, big-ticket NYU and Ivy Columbia are not reasonable alternatives. CUNY students are, in this sense, captive, which means that their hard-earned tuition money is captive as well. Thus it is a <em>very bad thing</em> to spend that money on things that aren&#8217;t worth it.</p>
<p>And Blackboard is not worth it. Vats of digital ink have been spilled expounding Blackboard&#8217;s turdiness, and this is no place to rehash all the arguments in depth. A short list, off the top of my head:</p>
<ul>
<li>The software is expensive [EDIT 9-21-2011: See <a href="http://blo.so/98">this post</a> for more details on cost]</li>
<li>It&#8217;s extremely unpleasant to use.</li>
<li>It forces, and reinforces, an entirely teacher-centric pedagogical model.</li>
<li>It attempts to do the work of dozens of applications, and as a result does all of them poorly.</li>
<li>Blackboard data is stored in proprietary formats, with no easy export features built in, which creates a sort of Hotel California of educational materials</li>
<li>The very concept of a &#8220;learning management system&#8221; may itself be <a href="http://mkgold.net/blog/2009/03/30/against-learning-management-systems/">wrongheaded</a>.</li>
<li>As <a href="http://www.scmagazine.com.au/News/272215,millions-of-student-exams-tests-and-data-exposed.aspx">recently reported</a>, the software may be insecure, a fact that the company may have willingly ignored.</li>
<li>Blackboard&#8217;s business practices are monopolistic, litigious, and <a href="http://www.flickr.com/photos/mikelesombre/3510951708/">borgish</a></li>
</ul>
<p>In short, Blackboard sucks. Blackboard supporters might claim that some, or even most, of the criticisms leveled above are false, or that they apply equally to other web software. Maybe. And I certainly don&#8217;t mean to downplay the difficulty of creating or assembling a suite of software that does <em>well</em> what Blackboard does <em>poorly</em>. But the argument against spending student money on something like Blackboard goes beyond a simple tally of weaknesses and strengths. As Jim Groom and others have <a href="http://bavatuesdays.com/what-is-an-instructional-technologist/">argued</a> for years, shelling out for Blackboard means sending money to a big company with no vested interest in the purposes of the institution, which in the case of CUNY is nothing less than the stewardship of New York City&#8217;s future, while the alternative is to divert money away from software licenses and into <em>people</em> who will actually support an environment of learning on our campuses. Frankly, even if Blackboard were a perfect piece of software, and even if its licensing and hosting fees were half of what it costs to hire full-time instructional technologists, programmers, and the like to support local instances of free software; even if these things were true, Blackboard would <em>still</em> be the wrong choice, because it perverts the goals of the university by putting tools and corporations before people. The fact that Blackboard is so expensive and so shitty just makes the case against it that much stronger.</p>
<p>As long as our IT departments are dominated by Microsoft-trained technicians and corporate-owned CIOs, perhaps the best way to advance the cause &#8211; the cause of justice in the way that student money is spent &#8211; is to create viable alternatives to Blackboard and its ilk, alternatives that are free (as in speech) and cheap (as in beer). This, more than anything else, is why I develop free software, the idea that I might play a role in creating the viable alternatives. In the end, it&#8217;s not just about Blackboard, of course. The case of Blackboard and CUNY is a particularly problematic example of a broader phenomenon, where vulnerable populations are controlled through proprietary software. Examples abound: Facebook, Apple, Google. (See also my <a href="http://projectreclaim.net/">Project Reclaim</a>.) The case of Blackboard and its contracts with public institutions like CUNY is just one instance of these exploitative relationships, but it&#8217;s the instance that hits home the most for me, because CUNY is such a part of me, and because the exploitation is, in this case, so severe and so terrible.</p>
<p>On average, I spend about half of my working week doing unpaid work for the free software community. Every once in a while, I get discouraged: by unreasonable feedback, by systematic inertia, by community dramas, by my own limitations as a developer, and so on. In those moments, I think about CUNY, and I think about Blackboard, and I feel the fire burn again. For that, I say to CUNY (which I love) and Blackboard (which I hate): Thanks for making me into a free software developer.</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/09/dude-wheres-my-blackboard-contract/' rel='bookmark' title='Dude, Where&#8217;s My Blackboard Contract?'>Dude, Where&#8217;s My Blackboard Contract?</a></li>
<li><a href='http://teleogistic.net/2012/01/2011/' rel='bookmark' title='2011'>2011</a></li>
<li><a href='http://teleogistic.net/2010/05/buddypress-plugins-running-on-the-cuny-academic-commons/' rel='bookmark' title='BuddyPress plugins running on the CUNY Academic Commons'>BuddyPress plugins running on the CUNY Academic Commons</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/feed/</wfw:commentRss>
		<slash:comments>44</slash:comments>
		</item>
		<item>
		<title>The GPL is for users</title>
		<link>http://teleogistic.net/2011/09/the-gpl-is-for-users/</link>
		<comments>http://teleogistic.net/2011/09/the-gpl-is-for-users/#comments</comments>
		<pubDate>Fri, 02 Sep 2011 17:39:24 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[digital humanities]]></category>
		<category><![CDATA[edtech]]></category>
		<category><![CDATA[philo]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[bsd]]></category>
		<category><![CDATA[ethics]]></category>
		<category><![CDATA[free software]]></category>
		<category><![CDATA[gpl]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[licenses]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[Richard Stallman]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1474</guid>
		<description><![CDATA[The General Public License (aka the GPL) is for users. This observation seems so obvious that it needn&#8217;t be stated. But for those who develop software licensed under the GPL (like WordPress and most related projects), it&#8217;s a fact that should be revisited every now and again, because it has all sorts of ramifications for [...]]]></description>
			<content:encoded><![CDATA[<p>The General Public License (aka the GPL) is for <em>users</em>. This observation seems so obvious that it needn&#8217;t be stated. But for those who develop software licensed under the GPL (like WordPress and most related projects), it&#8217;s a fact that should be revisited every now and again, because it has all sorts of ramifications for the work we do.</p>
<h3>Users versus developers</h3>
<p>What do I mean when I say that the GPL is &#8220;about users&#8221;? Who are &#8220;users&#8221;? We might draw a parallel between software and books. Books have readers (hopefully!), and they have authors. Authors read too; proofing is a kind of reading, of course, and one might argue moreover that reading is an inextricable part of writing. Yet when we talk about a book&#8217;s &#8220;readers&#8221; we generally mean to discount its author. &#8216;Readers&#8217; in this sense is a gloss for &#8216;<em>just</em> readers&#8217;, that is, those readers whose relationship to the book is limited to reading. The situation with software is more complex, but roughly the same distinction can be made between <em>users</em> and <em>developers</em>. &#8216;Developers&#8217; refers broadly to those people involved in the conceptualization and implementation (and also often the use) of a piece of software, while &#8216;users&#8217; refers to those who <em>just</em> use it.</p>
<p>My reading of the <a href="http://www.gnu.org/licenses/gpl-3.0.txt">GPL</a> is that it&#8217;s heavily focused on users. (References to the GPL throughout are to GPL 3.0. You can find older versions of the licence, such as version 2 that is shipped with WordPress, on <a href="http://www.gnu.org/licenses/old-licenses/old-licenses.html#GPL">GNU&#8217;s website</a>.) Take the opening line from the second paragraph of the Preamble:</p>
<blockquote><p>The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program&#8211;to make sure it remains free software for all its users.</p></blockquote>
<p>Here as elsewhere in the text of the GPL, no real distinction is made between &#8220;you&#8221; as it refers to developers and &#8220;you&#8221; as it refers to users. Closer analysis makes it pretty clear, though. Take, for example, the freedoms that are purported to be taken away by proprietary licenses: the freedom to &#8220;share and change&#8221; software. Developers &#8211; or, to be more specific, <em>license holders</em>, who are generally either the developers themselves or, in the case of work for hire, the people who paid for the software to be developed &#8211; generally do not restrict <em>their own</em> rights to share and change the software that they create. Instead, restrictions are imposed on others, the (&#8220;just&#8221;) users.</p>
<p>Similar reasoning applies to the core freedoms that are outlined in the <a href="http://www.gnu.org/philosophy/free-sw.html">Free Software Definition</a>, a sort of unofficial sister document of the GPL, also maintained by the Free Software Foundation. The four freedoms:</p>
<blockquote>
<ul>
<li>The freedom to run the program, for any purpose (freedom 0).</li>
<li>The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.</li>
<li>The freedom to redistribute copies so you can help your neighbor (freedom 2).</li>
<li>The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.</li>
</ul>
</blockquote>
<p>On the face of it, freedoms 1 and possibly 3 are focused on developers, in the sense of &#8220;those who are able to write code&#8221;. But, with respect to a piece of software that they did not write and whose license they do not control, coders are just regular users (in the same way that Vonnegut may have been a &#8220;reader&#8221; of Twain). All four freedoms, indeed, are user-centric. The license holder, almost by definition, doesn&#8217;t need permission to use the code (0); the developer doesn&#8217;t need to study the code to know how it works (1); owners can redistribute at will (2); owners can modify and redistribute at will (3). It&#8217;s only in the context of users &#8211; those who did <em>not</em> write the software &#8211; that these freedoms need protection in the form of free software licenses like the GPL.</p>
<p>The GPL does make a few explicit provisions for the developer/license holder:</p>
<blockquote><p>For the developers&#8217; and authors&#8217; protection, the GPL clearly explains that there is no warranty for this free software. For both users&#8217; and authors&#8217; sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions.</p></blockquote>
<p>The second provision is a sort of legal convenience; the first intends to ease what may otherwise be a prohibitive consequence of the core freedoms guaranteed by the rest of the GPL. Both are important and valuable. But it seems fair to say that they are secondary to the user-focused parts of the document, at the very least because they are motivated by other parts of the document, while user freedom needs independent justification.</p>
<p>There&#8217;s no question that the people who bear the brunt of <em>implementing and upholding</em> the GPL are software developers. In that sense, the GPL is very much &#8220;for&#8221; them. But, in a broader sense, that&#8217;s a bit like saying that school is &#8220;for&#8221; the teachers because the teachers play a key role in education. Schools are <em>for</em> children; they provide the motivation and justification for the whole enterprise. Similarly, the GPL is <em>for users</em>; if everyone wrote their own software, and there were no &#8220;just users&#8221;, the GPL (or any free software licenses, or any licenses at all) would be unnecessary.</p>
<h3>Sacrifice</h3>
<p>If I buy a pizza, I trade ownership of money for ownership of pizza. Once I have the pie, I can do pretty much whatever I want with it. I can eat the whole thing myself, I can share with a friend or two, I can throw it on the sidewalk. I can save the pizza in hopes that prices rise so that I can make a quick buck in a resale, I can retail off the individual slices, or I can give the whole thing away. I can&#8217;t use the pizza to solve world hunger (not because I&#8217;m not allowed, but because it&#8217;s not possible); I can&#8217;t use the pizza as a deadly weapon (not because it&#8217;s impossible, but because I&#8217;m not allowed). In short, ownership bestows certain rights. Not <em>all</em> rights &#8211; I don&#8217;t have the right to murder with the pizza, or to do impossible things with it &#8211; but many, even most of them.</p>
<p>The situation is more complex with intangible goods; especially those, like software, which can be reproduced without cost or loss. Copyright law in the United States (so far as I understand it; IANAL etc), in accordance with the <a href="http://en.wikipedia.org/wiki/Berne_Convention_for_the_Protection_of_Literary_and_Artistic_Works">Berne Convention</a>, grants rights over intellectual and creative works to the authors automatically, at the time of creation. Thus, if I write a piece of software (from scratch &#8211; set aside issues of derivative work for a moment), I am granted extensive rights over the use and reuse of that piece of software, automatically, in virtue of being the author. That includes <em>copy</em>right &#8211; literally, the rights related to the copying and distribution of the software. In short, the default situation, for better or for worse, is for the <em>developer</em> &#8211; and only the developer &#8211; to possess the rights and freedoms enumerated by the Free Software Definition. By default, nothing is protected for the users.</p>
<p>Free software licenses exist in order to counteract this default scenario. But keep in mind what that means: When a developer releases a work under a license like the GPL, certain freedoms and rights are granted to users, which necessarily <em>restricts the freedoms of the developer</em>. The GPL admits as much:</p>
<blockquote><p>To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others.</p></blockquote>
<p>&#8220;Responsibilities&#8221; is a nice way of putting what is essentially the stripping of certain rights (in the same way that, once you become a parent and thus <em>responsible</em> for your child&#8217;s well-being, you no longer have the right to go on a week-long bender). Once the software is released under a GPL, the original author has lost the <em>right</em> of exclusive distribution of the original software. Subsequent developers, those who modify and redistribute the software, are similarly restricted.</p>
<p>It&#8217;s a trade-off. Users get certain rights (viewing source code, copying, modifying, redistributing) because the developers have given up the default right of exclusivity. Examined in itself (without reference to subsidiary benefits for the moment), the trade-off is clearly made for the benefit of the users, and involves sacrifice on behalf of the developer, sacrifice which is usually quantified in monetary terms (Bill Gates didn&#8217;t get rich by writing open source software), but could also be associated with pride in being the sole author, etc. There are, in addition to this, secondary sacrifices involved in free software development (loss of identification with the software because of modifications or forking, less guaranteed income than in a proprietary development shop, increased support requests that come from wider use of a free-as-in-beer product [though the GPL explictly says that you can charge what you want, and that no warranty is implied]). To some extent, these secondary sacrifices can be mitigated by the realities of the market, and are anyway subject to the particulars of the scenario in which you find yourself. But the core sacrifice &#8211; giving up exclusivity over distribution &#8211; cannot be separated from free software licenses.</p>
<h3>Software licenses are political documents</h3>
<p>Developers have all sorts of reasons for releasing software under free software licenses like the GPL. A few, off the top of my head:</p>
<ul>
<li>You want to modify and redistribute existing software that is GPLed</li>
<li>You want to distribute somewhere that requires GPL-compatibility, like <a href="http://wordpress.org/extend/plugins/about/">the wordpress.org plugin repository</a></li>
<li>You believe that forkability and other GPLy goodness makes for a better product</li>
<li>You want to develop for a platform, or contribute to a project, that requires GPL compatibility</li>
</ul>
<p>I classify these reasons as <em>prudential</em>, in the sense that they are focused on the material benefits (money, fame, better software) that you believe will come from developing under the GPL. All of these reasons are great and important, and many of them have motivated my own work with GPL-licensed software. Taken together or even individually, it&#8217;s easy to imagine that these (and other) benefits would outweigh the sacrifice involved in giving up exclusive distribution rights over your work.</p>
<p>There&#8217;s another kind of justification for releasing under the GPL: you endorse, and want to advance, the political and moral ends that motived the creation of the GPL. The GPL assumes that it&#8217;s <em>a good thing</em> for users to have maximal freedom over their software:</p>
<blockquote><p>If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.</p></blockquote>
<p>The assumption here is that &#8220;greatest possible use to the public&#8221;, and by the extension the good of the public, is something to be actively pursued &#8211; a moral claim par excellence.</p>
<p>And, among free software licenses, the GPL is perhaps the most explicit about the ways in which user freedoms (and thus the greatest good of the public) should be guaranteed and propagated. The <a href="http://en.wikipedia.org/wiki/Viral_license">&#8220;viral&#8221;</a> nature of the GPL constitutes a kind of normative statement about the value of <em>user rights</em> over <em>developer rights</em>, which goes beyond other free software licenses that do not share its viral nature. The difference might be summed up like this. Alice and Bob are coders, and Carol is a potential user of the software. If Alice writes a piece of software and licenses it under a free software license like those in the <a href="http://www.linfo.org/bsdlicense.html">BSD tradition</a>, Bob can fork the software, make a few changes, and sell it to Carol under any terms he&#8217;d like &#8211; he can compile a binary executable for distribution, without making the source code available, converting his fork into closed-source, proprietary software. If Alice licenses the software under the GPL, on the other hand, Bob can still modify and sell to Carol, but he may not change the terms of the original license &#8211; in particular, the source code must be made available for further modification and distribution.</p>
<p>The normative aspect of the difference is in the value that each license scheme ascribes to the rights and freedoms of various individuals involved. BSD is more permissive with respect to Bob; GPL limits his ability to license the derivitive work as he pleases. GPL is more focused on Carol, and protecting her &#8211; and other &#8220;just users&#8221; like her &#8211; at the cost of some of Bob&#8217;s freedoms. (The GPL is for users.) One might express the difference in political terms thus: the GPL is more liberal, and less libertarian, than the BSD. Users, who are on the weak end of the power spectrum when it comes to software, are protected under the GPL, in the same way that society&#8217;s underprivileged and weak are often the focus of political liberalism. On this picture, licenses, like laws more generally, are designed in part to create the restrictions necessary to protect the positive freedoms of a vulnerable population.</p>
<p>For developers who agree independently with the normative principles underlying the GPL, its moral benefits can outweigh the sacrifices it entails. Such a justification is the starting point for Stallman and the Free Software Foundation (see, for example, <a href="http://www.fsf.org/about/">the FSF&#8217;s about page</a>). You may, of course, foreground other aspects of free/open-source software when justifying your licensing. I&#8217;ve listed some justifications above, and <a href="http://opensource.org/">entire movements</a> have sprouted to focus on prudential, rather than moral, justifications for open source development.</p>
<p>But &#8211; and here&#8217;s the rub &#8211; licensing your work under the GPL constitutes an endorsement of its moral justifications, even if it&#8217;s not (from a cognitive point of view) what motivated <em>you personally</em> to apply the license. If you choose a free software license for prudential reasons, you are not justified in complaining when your project is forked. If you choose the GPL for prudential reasons, you can&#8217;t altogether disavow the inherently altruistic underpinnings reflected in the license&#8217;s preamble. Put another way: Among other things, software licenses are <em>political documents</em>, and it&#8217;s incumbent upon developers to understand them before adopting them.</p>
<p>It&#8217;s important for developers to think carefully about this before diving into a license. My own take is that the original motivation for free software &#8211; that user control over the software they use is fundamental to their autonomy &#8211; becomes truer every day, as more and more of our agency is mediated through software. For that reason, licenses like the GPL are ethically important, at least if your worldview depends (as mine does) on respecting the agency of other human beings.</p>
<p><em>This post was prompted by <a href="http://code.ipstenu.org/2011/morality-of-forking/">a recent post by Ipstenu</a>. Much of my thinking on the matter is clarified and inspired by the first few chapters of <em>Decoding Liberation: The Promise of Free and Open Source Software</em>, a book about free software written by philosophers/computer scientists Samir Chopra and Scott Dexter. You can (and should) buy the book <a href="http://www.amazon.com/Decoding-Liberation-Software-Routledge-Cyberculture/dp/0415978939">here</a>.</em></p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2010/04/importing-ning-users-into-wp/' rel='bookmark' title='Importing Ning users into WP'>Importing Ning users into WP</a></li>
<li><a href='http://teleogistic.net/2010/08/new-wordpress-plugin-simple-import-users/' rel='bookmark' title='New WordPress plugin: Simple Import Users'>New WordPress plugin: Simple Import Users</a></li>
<li><a href='http://teleogistic.net/2011/09/i-develop-free-software-because-of-cuny-and-blackboard/' rel='bookmark' title='I develop free software because of CUNY and Blackboard'>I develop free software because of CUNY and Blackboard</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/09/the-gpl-is-for-users/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Anthologize 0.6</title>
		<link>http://teleogistic.net/2011/08/anthologize-0-6/</link>
		<comments>http://teleogistic.net/2011/08/anthologize-0-6/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 18:40:18 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[anthologize]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[Trac]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1445</guid>
		<description><![CDATA[I just tagged version 0.6-alpha of Anthologize in the wordpress.org plugin repo. This new version has a bunch of bug fixes, improvements to stability and consistency of output, and a few new feature goodies. Read more about the release here. On a related note, Anthologize development has recently moved 100% over to our Github repo. [...]]]></description>
			<content:encoded><![CDATA[<p>I just tagged version 0.6-alpha of <a href="http://anthologize.org">Anthologize</a> in the wordpress.org plugin repo. This new version has a bunch of bug fixes, improvements to stability and consistency of output, and a few new feature goodies. Read more about the release <a href="http://anthologize.org/download-plugin/">here</a>.</p>
<p>On a related note, Anthologize development has recently moved 100% over to our <a href="https://github.com/chnm/anthologize">Github repo</a>. We&#8217;d previously used Trac for ticketing and Github for code management, but now we&#8217;re doing everything on Github. If you&#8217;re a user, please feel free to open new issues. If you&#8217;re a developer, send those pull requests!</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2010/08/anthologize-0-4-alpha-is-released/' rel='bookmark' title='Anthologize 0.4-alpha is released'>Anthologize 0.4-alpha is released</a></li>
<li><a href='http://teleogistic.net/2010/08/introducing-anthologize-a-new-wordpress-plugin/' rel='bookmark' title='Introducing Anthologize, a new WordPress plugin'>Introducing Anthologize, a new WordPress plugin</a></li>
<li><a href='http://teleogistic.net/2010/11/extending-anthologize-part-2/' rel='bookmark' title='Extending Anthologize: Part 2'>Extending Anthologize: Part 2</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/08/anthologize-0-6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Building a baby photo site with WordPress</title>
		<link>http://teleogistic.net/2011/07/building-a-baby-photo-site-with-wordpress/</link>
		<comments>http://teleogistic.net/2011/07/building-a-baby-photo-site-with-wordpress/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 17:59:11 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[etc]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[#projectreclaim]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[photoblog]]></category>
		<category><![CDATA[Walter]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1409</guid>
		<description><![CDATA[My wife and I just had our first baby, which is the occassion for much nachas and, by extension, picture sharing. Facebook is, for better or for worse (emphasis on the latter), the de facto place for such sharing to happen. For a number of reasons &#8211; a desire to be somewhat selective about who [...]]]></description>
			<content:encoded><![CDATA[<p>My wife and I just had <a href="http://teleogistic.net/2011/06/welcome-walter/">our first baby</a>, which is the occassion for much nachas and, by extension, picture sharing. Facebook is, for better or for worse (emphasis on the latter), the <em>de facto</em> place for such sharing to happen. For a number of reasons &#8211; a desire to be somewhat selective about who sees my family pictures, my <a href="http://projectreclaim.net/">Project Reclaim</a> sensibilities, the fact that I don&#8217;t have a Facebook account and generally think that Facebook is an evil company &#8211; I don&#8217;t want to use FB for this purpose. As in the case of <a href="http://teleogistic.net/2011/05/kicking-the-twitpic-habit-with-wordpress/">my Twitpic-like photoblog</a>, I figured I could use WordPress to set something up that was nearly as seamless as Facebook, or Google+, or Flickr, or whatever.</p>
<h3>The criteria</h3>
<p>There were a few things I wanted out of the baby site.</p>
<ol>
<li>Easy (or zero) login for users</li>
<li>Control over who has access</li>
<li>Optional email notification for new content</li>
<li>Easy, javascripty gallery browsing</li>
</ol>
<p>When I started, I was pretty sure that I&#8217;d be able to get all of these things pretty easily, using existing WordPress plugins. I was both right and wrong about this: plugins exist for all of these purposes, but none of them were very easy to implement. As a result, I ended up building several pieces from scratch. I&#8217;ll go through each of the criteria, talk a bit more about what I was looking for, and then say something about how it was achieved. By doing this, and sharing the code (spoiler alert: <a href="https://github.com/boonebgorges/Hard-G/tree/master/wp-content">https://github.com/boonebgorges/Hard-G/tree/master/wp-content</a>), I&#8217;m hoping that I can help others with similar sensibilities to get started on their own sites.</p>
<h3>Non-sucky registration and login</h3>
<p>I love WordPress, and I understand the important reasoning behind the decisions that led to the design, but WP&#8217;s user registration system sucks. I didn&#8217;t want just <em>anyone</em> to be able to create and activate an account. I didn&#8217;t want users to have to click an activation link. I didn&#8217;t want users to have randomly generated passwords that would need changing later on. And I wanted users to have the option of logging in a non-WP way.</p>
<p>Several of these problems could be solved by using Facebook logins. I&#8217;m not willing to give my photos over to the horrific FB leviathan, but I&#8217;m happy to piggyback on their login APIs if it will save my family and friends a few headaches. I wanted my users to have the option of clicking a single button that would give my site the ability to provision them based on their persistent Facebook login.</p>
<p>I started by looking at some popular Facebook Connect plugins from the wordpress.org plugin repository. I didn&#8217;t really like them. Most were linked to the Comments section of blog posts, while I wanted to use the logins for overall site access. Most were dependent on Javascript for logins, while I wanted to handle logins on the server side. Most used an outdated version of FB&#8217;s API (or at least of the PHP API classes that FB offers). And, to be blunt, most were too much of a mess, having been retrofitted many times over, and as a result next to impossible to extend. I tried modifying one or two of the more popular FB-WP plugins to do what I wanted, but I ended up writing so much garbage spaghetti code that I decided to cut my losses and start from scratch.</p>
<p>So I boned up a bit on the FB API, and wrote a small plugin that I call <a href="https://github.com/boonebgorges/Hard-G/tree/master/wp-content/plugins/wally-login">Wally Login</a>. Together with the <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/page-register.php">registration page template from my custom theme (a child of TwentyEleven)</a>, it does a couple of key things.</p>
<div id="attachment_1411" class="wp-caption alignright" style="width: 310px"><a href="http://teleogistic.net/wp-content/uploads/2011/07/logins.png"><img src="http://teleogistic.net/wp-content/uploads/2011/07/logins-300x134.png" alt="Your choice" title="Your choice" width="300" height="134" class="size-medium wp-image-1411" style="border: 1px solid #666;" /></a><p class="wp-caption-text">Your choice</p></div>
<ul>
<li><em>Rudimentary access control</em> &middot; If a non-logged-in user tries to visit any page on the site (other than the registration page), he is redirected to the Register page.</li>
<li><em>FB login integration</em> &middot; If a user clicks the &#8220;Log me in using Facebook&#8221; link, they&#8217;re directed to the FB authorization page for my website (which is registered as a Facebook app). There, they&#8217;re asked to approve the app &#8211; a one-time process &#8211; and are then returned to my site. Based on the display name, email address, etc that I get from FB, I create a WP user corresponding to the FB account. On future visits, approved users who are logged into Facebook will be automatically logged into my WP site whenever they visit it (an important point, because FB cookies are persistent over browser sessions, while WP logins, by default, are not). As a result, in the best-case scenario, a user will authorize their FB account with my site one time, and will never again have to think about authorization on Wally&#8217;s page.</li>
<li><em>A customized WP registration process</em> &middot; If users opt not to go the FB route, they can create a WP account directly on the site. I wanted to avoid sending users to an unthemed wp-login.php or wp-signup.php page, so I cribbed a few lines of code from BuddyPress and made my own registration and login dialogs. Wally&#8217;s site is part of a larger WP network, but I wanted to bypass WPMS&#8217;s built-in registration stuff (which requires users to activate their accounts, and is thus generally too hard for newbies to grok). My custom registration therefore creates the user directly (with <code>wp_insert_user()</code>), using a password that he provides, and skips the activation email. (By bypassing account activation, I&#8217;m removing an important spam prevention tool. More on that in the next section.)</li>
<li><em>Customized email notifications</em> &middot; Because I&#8217;m not using the built-in registration process, I needed to write my own email notifications for account applications and approvals.</li>
</ul>
<p>If you decide to use my code, keep in mind that it&#8217;s not particulary beautiful. I wrote it for my own use, which means that it will take a bit of elbow grease to get it to work on your own site. In particular, if I were writing something for more general distribution, I would not be so reliant on a theme template as I am here. But if you&#8217;re looking to create a site like mine, this code is a great place to start &#8211; especially the FB integration stuff, which has made the registration and login process about as smooth as it can get.</p>
<h3>Access control</h3>
<p>The final important thing that the Wally Login plugin does is to provide me (the site admin) with control over who has access to the site. There are a couple ways I could have approached this issue. One is to whitelist users ahead of time. The problem with this is that I&#8217;m bound to forget some names, get email addresses wrong, and run into other problems that stem from my unfortunate lack of omniscience. Another strategy is the invitation code. When unique to the individual, this method suffers from the same drawbacks of the whitelist; when non-unique (ie when everyone uses the same invitation code) it takes away much of the security, as the code can be passed around quite easily; either way, invitation codes are clunky, easily misplaced, and all too often mistyped.</p>
<div id="attachment_1414" class="wp-caption alignleft" style="width: 310px"><a href="http://teleogistic.net/wp-content/uploads/2011/07/thanks.png"><img src="http://teleogistic.net/wp-content/uploads/2011/07/thanks-300x72.png" alt="Thanks for applying" title="Thanks for applying" width="300" height="72" class="size-medium wp-image-1414"  style="border: 1px solid #666;" /></a><p class="wp-caption-text">Thanks for applying</p></div>
<p>As a result, I ended up going with a third option: an application and approval process. Here&#8217;s the idea, conceptually. Anyone who wants can create an account on my site (either through Facebook or natively; see the previous section). However, the account does not actually allow access to the site unless the account is also <em>approved by the administrators</em>. Thus, after the initial application, two emails are sent: one to the applicant saying &#8220;thanks for applying, please be patient&#8221;, and one to me saying &#8220;there&#8217;s a new applicant, please approve them&#8221;. Then I go to my approval interface and click the Approve button (if I want), which marks the user as approved in my database and sends them an email saying &#8220;You&#8217;re in!&#8221;</p>
<p>Here&#8217;s a brief description of how it works technically. All applicants have a WP account created for them. Every new account is marked, at the time of creation, with user_status = &#8217;2&#8242;, and I make sure that no page other than Register can be viewed by an account with user_status = &#8217;2&#8242;. In this way, I am turning the idea of activation around a bit &#8211; natively, WP makes the <em>user</em> do the activation, but in my case <em>I</em> do it. The admin tool I use to activate users is my <a href="http://wordpress.org/extend/plugins/unconfirmed/">Unconfirmed plugin</a>, designed for a slightly different purpose but quite at home here. (For technical reasons, Unconfirmed needs users to have activation keys; thus Wally Login also generates some dummy keys during the user creation process so that Unconfirmed will work right.) Unconfirmed, in turn, does the work of flipping user_status to 0 upon approval.</p>
<p>Taken together, Wally Login and Unconfirmed (with custom WP registration, FB integration, user approval by admin, etc) has given me a comfortable level of access control, without making the process unduly difficult for my users.</p>
<h3>Email notification for new content</h3>
<p>One of the biggest drawbacks of creating a standalone picture site instead of using an all-purpose social network (in practice, this means Facebook) is that the standalone site is likely to be forgotten. FB collects all of your network&#8217;s activity into a single stream; it&#8217;s highly unlikely, on the other hand, that Wally&#8217;s site will become part of anyone&#8217;s daily routine, so that they stop by to check for new content. For that reason, good email notification of new content is essential to making the site work.</p>
<div id="attachment_1416" class="wp-caption alignright" style="width: 254px"><a href="http://teleogistic.net/wp-content/uploads/2011/07/email.png"><img src="http://teleogistic.net/wp-content/uploads/2011/07/email.png" alt="Dead simple email subscription" title="Dead simple email subscription" width="244" height="156" class="size-full wp-image-1416"  style="border: 1px solid #666;" /></a><p class="wp-caption-text">Dead simple email subscription</p></div>
<p>I first tried using the popular <a href="http://wordpress.org/extend/plugins/subscribe2/">Subscribe2</a> to handle these notifications. But I ran into a bunch of problems. For one thing, I didn&#8217;t like that S2&#8242;s subscription management happened in the Dashboard &#8211; I want to keep my users on the front end. S2&#8242;s category-based subscription is too complicated for my site, where people are either going to want to subscribe to all posts or to none at all. And the widget that comes with S2, for display on the front-end of the site, is pretty much atrocious. (Sorry. The rest of the plugin is nice. But that widget sucks.) At first I tried solving these problems just by building my own widget for S2, one that would tell the user whether he was currently subscribed, and show an Unsubscribe/Subscribe button, as appropriate. But, given the structure of S2&#8242;s data (which is somewhat arcane, and in any case far too complicated for my purposes), it ended up being a lot harder than it should have been.</p>
<p>So &#8211; wait for it &#8211; I wrote something from scratch. <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/plugins/bbg-subscribe2-widget/bbg-subscribe2-widget.php">It is dead simple</a>. Two parts: (1) a widget, which does exactly what I describe in the foregoing paragraph; and (2) hooks into publish_post to send an email to all subscribed users (along with some gentle checks to make sure dupes are not sent). This plugin has no admin UI and no options, because I don&#8217;t need any of those things.</p>
<h3>Pretty galleries</h3>
<p>Since the main point of the site would be to look at lots of pictures, it was quite important to have an easy, pretty way to do so. By &#8220;easy&#8221; I mean, primarily, navigable by keyboard; by &#8220;pretty&#8221;, I mean, primarily, bigger than the content area of a typical blog post. Less important, but still desirable, was the admin interface: I wanted it to be easy to upload lots of pictures at once, to add captions and other metadata if necessary, and to turn it all into a gallery that would look good on the front end.</p>
<div id="attachment_1418" class="wp-caption alignleft" style="width: 310px"><a href="http://teleogistic.net/wp-content/uploads/2011/07/pretty.png"><img src="http://teleogistic.net/wp-content/uploads/2011/07/pretty-300x267.png" alt="Pretty, easy" title="Pretty, easy" width="300" height="267" class="size-medium wp-image-1418"  style="border: 1px solid #666;" /></a><p class="wp-caption-text">Pretty, easy</p></div>
<p>You know the drill: I tried a couple of the more popular free plugins, but all of them were annoying in one way or another, and each one was way overengineered for my meager needs. I was especially disappointed by the back-end admin for the popular gallery plugins, which I found lugubrious, unintuitive, and impossible to extend. After some consideration, I decided that I actually preferred WP&#8217;s native Add Media interface for uploading photos and adding metadata, and that I was perfectly happy with the way that WP&#8217;s gallery shortcode displayed content on the front end, at least when viewing thumbnails.</p>
<p>So the only thing I really needed was to implement the javascript that would allow for keyboard navigation and lightboxing of gallery photos. Thanks in part to his extremely uncreative and literal plugin naming schema, I found Viper007Bond&#8217;s <a href="http://wordpress.org/extend/plugins/jquery-lightbox-for-native-galleries/">jQuery Lightbox For Native Galleries plugin</a>. It does almost exactly what I want, right out of the box.</p>
<p>I did make a few minor mods, though. First, the plugin is a bit greedy in the way that it filters the output of <code>get_attachment_link()</code>, which was either breaking things (as in the case of comment_post_redirect on attachment posts) or making it hard to display links to the attachment page instead of the raw attachment file. The former problem I solved with <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/functions.php#L218">a filter</a>; for the latter problem, I was a bit lazy, so I <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/plugins/jquery-lightbox-for-native-galleries/jquery-lightbox-for-native-galleries.php#L81">modded the plugin itself</a> in addition to adding an <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/functions.php#L191">explicit &#8216;lightbox&#8217; class to attachment links</a>. This combination of hacks makes it work perfectly for my purposes.</p>
<h3>Odds and ends</h3>
<div id="attachment_1420" class="wp-caption alignright" style="width: 310px"><a href="http://teleogistic.net/wp-content/uploads/2011/07/gallery.png"><img src="http://teleogistic.net/wp-content/uploads/2011/07/gallery-300x201.png" alt="A little bonus" title="A little bonus" width="300" height="201" class="size-medium wp-image-1420" style="border: 1px solid #666;" /></a><p class="wp-caption-text">A little bonus</p></div>
<p>With my absolute requirements met, I was able to add a few other goodies to the site. My <a href="https://github.com/boonebgorges/Hard-G/tree/master/wp-content/themes/wally-theme">theme</a> is a child of Twenty Eleven, which I&#8217;m pretty much using as-is. But I&#8217;ve added a few fun bits. First, on each attachment page, I added <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/functions.php#L3">Download links</a>, so that users could download images of various resolutions for printing or editing. I <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/functions.php#L28">messed with the WP Admin Bar</a> so that users coming from Facebook wouldn&#8217;t see Log Out and some other inappropriate links. And under each thumbnail in Gallery view, I&#8217;ve added <a href="https://github.com/boonebgorges/Hard-G/blob/master/wp-content/themes/wally-theme/functions.php#L158">Download/Comments</a> links, so that users could bypass the jQuery lightbox and go straight to the attachment permalink if they wanted.</p>
<p>It took some work, but I think I&#8217;ve ended up with a site that is nice to use and easy to maintain, without resorting to the extreme discomfort associated with Facebook. Hooray!</p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/12/moving-my-photo-site-to-a-new-url-and-server/' rel='bookmark' title='Moving my photo site to a new URL and server'>Moving my photo site to a new URL and server</a></li>
<li><a href='http://teleogistic.net/2010/08/new-wordpress-plugin-simple-import-users/' rel='bookmark' title='New WordPress plugin: Simple Import Users'>New WordPress plugin: Simple Import Users</a></li>
<li><a href='http://teleogistic.net/2011/06/buddypress-and-the-yourls-wordpress-to-twitter-plugin/' rel='bookmark' title='BuddyPress and the YOURLS: WordPress to Twitter plugin'>BuddyPress and the YOURLS: WordPress to Twitter plugin</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/07/building-a-baby-photo-site-with-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>BuddyPress and the YOURLS: WordPress to Twitter plugin</title>
		<link>http://teleogistic.net/2011/06/buddypress-and-the-yourls-wordpress-to-twitter-plugin/</link>
		<comments>http://teleogistic.net/2011/06/buddypress-and-the-yourls-wordpress-to-twitter-plugin/#comments</comments>
		<pubDate>Fri, 17 Jun 2011 15:30:42 +0000</pubDate>
		<dc:creator>Boone Gorges</dc:creator>
				<category><![CDATA[edtech]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[#projectreclaim]]></category>
		<category><![CDATA[buddypress]]></category>
		<category><![CDATA[Ozh Richard]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[URL shorteners]]></category>
		<category><![CDATA[URLs]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[YOURLS]]></category>

		<guid isPermaLink="false">http://teleogistic.net/?p=1356</guid>
		<description><![CDATA[A few weeks ago, I wrote about reclaiming short URLs using YOURLS. That post raised some interest among the CUNY Academic Commons team in having a URL shortener just for the Commons, with full integration into BuddyPress. So I emailed Ozh Richard, author of YOURLS, about the possibility of adding BuddyPress support to his official [...]]]></description>
			<content:encoded><![CDATA[<p>A few weeks ago, I wrote about <a href="http://teleogistic.net/2011/05/shorten-your-own-dang-urls/">reclaiming short URLs</a> using <a href="http://yourls.org/">YOURLS</a>. That post raised some interest among the <a href="http://commons.gc.cuny.edu">CUNY Academic Commons</a> team in having a URL shortener just for the Commons, with full integration into BuddyPress. So I emailed <a href="http://ozh.org/">Ozh Richard</a>, author of YOURLS, about the possibility of adding BuddyPress support to his official YOURLS WordPress plugin, <a href="http://wordpress.org/extend/plugins/yourls-wordpress-to-twitter/">YOURLS: WordPress to Twitter</a>. He graciously accepted my offer to do the leg work.</p>
<p>Today I&#8217;m releasing the fruits of this collaboration: version 1.5 of YOURLS: WordPress to Twitter. YWTT 1.5 automatically detects when you&#8217;re running BuddyPress, and adds the following BP-specific features:</p>
<ul>
<li><strong>Member and Group URLs</strong> &#8211; Generate short URLs for member profiles and for group home pages.</li>
<li><strong>A &#8220;pretty URL&#8221; setting</strong> &#8211; Instead of generating random URLs (like <code>http://blo.so/54</code>), you can make member and/or group members &#8216;pretty&#8217; (like <code>http://blo.so/username</code> or <code>http://blo.so/groupname</code>).</li>
<li><strong>User customizability</strong> &#8211; Optionally, you can add new options under groups&#8217; <code>Admin > Group Settings</code> and members&#8217; <code>Settings > Short URL</code> allowing users to request a custom short URL of their choice. (This feature requires that you set <code>YOURLS_UNIQUE_URLS</code> to <code>false</code> in your <a href="http://yourls.org/#Config">YOURLS configuration file</a>.)</li>
</ul>
<p>Down the road, I plan to flesh out BP-YOURLS functionality, with optional short URLs for forum topics, activity items, and so on.</p>
<p>I&#8217;ve also slipped full localization support into version 1.5. Send me your mo/po translation files if you&#8217;d like them to be distributed with the plugin.</p>
<p><a href="http://wordpress.org/extend/plugins/yourls-wordpress-to-twitter/">Download YOURLS: WordPress to Twitter 1.5, with BP support.</a></p>
<p>Related posts:<ol>
<li><a href='http://teleogistic.net/2011/05/shorten-your-own-dang-urls/' rel='bookmark' title='Shorten your own dang URLs'>Shorten your own dang URLs</a></li>
<li><a href='http://teleogistic.net/2011/05/kicking-the-twitpic-habit-with-wordpress/' rel='bookmark' title='Kicking the Twitpic habit with WordPress'>Kicking the Twitpic habit with WordPress</a></li>
<li><a href='http://teleogistic.net/2010/09/new-buddypress-plugin-bp-lotsa-feeds/' rel='bookmark' title='New BuddyPress plugin: BP Lotsa Feeds'>New BuddyPress plugin: BP Lotsa Feeds</a></li>
</ol></p>]]></content:encoded>
			<wfw:commentRss>http://teleogistic.net/2011/06/buddypress-and-the-yourls-wordpress-to-twitter-plugin/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

