<?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>Jason Antman's Blog &#187; svn</title> <atom:link href="http://blog.jasonantman.com/tags/svn/feed/" rel="self" type="application/rss+xml" /><link>http://blog.jasonantman.com</link> <description>A general-purpose dump of my thoughts, tips, tricks, and observations on a wide variety of topics - Linux, Free Software, the Internet, IT, EMS, software development, systems administration, and the state of the world.</description> <lastBuildDate>Thu, 01 Jul 2010 15:17:33 +0000</lastBuildDate> <generator>http://wordpress.org/</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>The Newest Generation of Hackers</title><link>http://blog.jasonantman.com/2010/03/the-newest-generation-of-hackers/</link> <comments>http://blog.jasonantman.com/2010/03/the-newest-generation-of-hackers/#comments</comments> <pubDate>Wed, 03 Mar 2010 02:45:02 +0000</pubDate> <dc:creator>Jason Antman</dc:creator> <category><![CDATA[History]]></category> <category><![CDATA[free]]></category> <category><![CDATA[hacker]]></category> <category><![CDATA[linux]]></category> <category><![CDATA[open source]]></category> <category><![CDATA[svn]]></category><guid isPermaLink="false">http://blog.jasonantman.com/?p=585</guid> <description><![CDATA[Some thoughts on the current/next generation of hackers, and what openness means to me.<div class="ezAdsense adsense adsense-leadout" style="text-align:center;margin:12px;"><script type="text/javascript">google_ad_client="pub-6049167767809021";google_ad_slot="8888378867";google_ad_width=336;google_ad_height=280;</script> <script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>]]></description> <content:encoded><![CDATA[<p><em>Note for non-technical readers (not that I expect there to be many). The title of this post includes the word &#8220;hacker&#8221;. If you think that has anything to do with illegal acts or unethical behavior, you&#8217;ve fallen victim to what happens when the mainstream media latches on to a term they don&#8217;t understand. The <a href="http://www.jasonantman.com/jargon/entry.php?id=hacker" onclick="pageTracker._trackPageview('/outgoing/www.jasonantman.com/jargon/entry.php?id=hacker&amp;referer=');">definition</a> of this word is far from negative. Within the geek community, the title &#8220;hacker&#8221; is the utmost compliment &#8211; something like Grand Master in the martial arts, or perhaps whatever title is given to an eminent artist. It both describes someone who is an expert in their field. Or, more generally, someone who enjoys seeking knowledge simply for the sake of knowledge &#8211; figuring out how things work, how to make them, and how to make them better. If you&#8217;re looking for a term that describes a criminal, &#8220;attacker&#8221;, &#8220;malicious user&#8221; or &#8220;computer criminal&#8221; work fine. While I wouldn&#8217;t by any extent consider myself a hacker in the super-genius-wizard sense of the term, I do definitely subscribe to the hacker ethic &#8211; the burning need to figure out how things work and make them better.</em></p><p>Thanks to the snow at the end of last week, and a long weekend, I actually got to do some reading that didn&#8217;t involve man pages or books strictly about software. I finally finished <a href="http://www.amazon.com/Daemon-Gnu-Penguin-Peter-Salus/dp/097903423X" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Daemon-Gnu-Penguin-Peter-Salus/dp/097903423X?referer=');">The Daemon, the Gnu, and the Penguin</a> by Peter H. Salus, a wonderful book (with a great foreword by maddog Hall). I also <em>finally</em> got a chance to start reading <a href="http://www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088/" onclick="pageTracker._trackPageview('/outgoing/www.amazon.com/Cathedral-Bazaar-Musings-Accidental-Revolutionary/dp/0596001088/?referer=');">The Cathedral &#038; the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary</a> by Eric S. Raymond (ESR). I&#8217;m only up to page 50 or so, but it&#8217;s an equally good book, and I&#8217;ve been looking forward to reading it for years.</p><p>I&#8217;ve always been very interested in history (heck, I have a minor in it), and specifically the history of my other interests. When photography took up most of my time, I read every photo history book I could get my hands on (including many primary sources on now-archaic techniques). In the past few years, I&#8217;ve been amassing books on computing history (specifically ARPANET/the Internet and Unix/Linux/Free software) at a near-alarming rate.</p><p>Through all of my reading, two main things have struck me: the utterly amazing feats accomplished by previous generations, and how my own generation takes them for granted. I was born in 1987 which, I feel, makes me part of a very small group who were lucky enough to grow up during the real rise of the Internet. I remember playing simple games on my grandmother&#8217;s (business) 386DX long before I could read most of the words on the screen. But I also remember my father dialing in to an ISP (I honestly don&#8217;t remember which one) on a 9600 baud serial modem, and how unique that was at the time (at least among kids my age). By 13 or so, I had a 10BaseT network in my house, sharing a 56k dial-up connection between two computers. I feel that I&#8217;m part of a short historical period of kids who &#8220;grew up&#8221; with computers, used them in middle school, are perfectly at home with them, but still remember dial-up, the launch of Windows 98, and ordering Linux on CDs because you just couldn&#8217;t get it any other way (too young to have access to the resources of a college, only dial-up).</p><p>Anyway, on to my point&#8230;</p><p>As I read about those who stepped before me (and my generation), those who thought up such amazing ideas as Unix, the Internet, networking and most of the software and protocols we have today, I realize how big their shoes are, and how difficult it will be for the next generation to fill them. Sure, we have Facebook, RSS feeds, Web 2.0 and smartphones, but will we be able to innovate on the level that those who came before us did? And then it strikes me how much we young aspiring hackers take for granted. How many aspects of technology today would be seemed impossible 20 years ago, but we use without a second thought.</p><p>The last generation of hackers and programmers were raised on software distribution tapes. Their idea of &#8220;open&#8221; was formed by what they were used to &#8211; a Cathedral development model, with regular releases (production, perhaps beta, perhaps even less) and accompanying source code. However, in the pre-Internet days, they were still bound by physical media. They were still bound to the Cathedral development model, to a small and tight-knit group of sages determining when the world was ready to see the fruits of their labor.</p><p>The current generation &#8211; those of us just out of college or grad school, or even younger &#8211; think of Linux as the quintessential open source project. For those of us who came into computing when Linux was already around (I first ran Linux in 2001 when, at 14, I bought the newly-released CD set of SuSE 7.3), Linux sets the bar. It&#8217;s what we were raised on (at least in terms of open source). Fixed releases &#8211; even with source &#8211; seem antiquated, pre-Internet, our fathers&#8217; open source. To us, open means nightly builds, world-readable ticket/bug trackers, anonymous Git or SVN access, and RSS feeds of every commit. It means being able to see every line of code at every moment in time, even if we&#8217;ve never e-mailed one of the developers.</p><p>Even just a few years ago, the word &#8220;open&#8221; was used by vendors to mean almost anything &#8211; everything from software based on Linux, to software that included source (regardless of the license) to software that just used (patent encumbered) documented protocols or formats. For the next generation, even the generation entering the workforce now, open means much more. It means transparency in development, in code, in documentation, in management.</p><p>Many times, I&#8217;ve found an &#8220;open&#8221; software project, and searched their web site endlessly looking for links to Git or SVN or CVS. Or looked endlessly for the (internal) bug tracker. Every time, I had to remind myself that the world, even many of the open source projects, are still far behind my expectations. Even Google&#8217;s Android Open Source project only has code merged in periodically from the production (closed) tree, and maintains a separate bug tracker. Far from my expectation of just having some parts of the tree unavailable on the Internet, and some classes of bugs filtered out from public view.</p><p>Nobody &#8211; not even Microsoft &#8211; can deny that the world is moving more and more to open source. It&#8217;s already the de-facto standard on the Internet, but it&#8217;s moving more and more to the desktop every day. And, as this happens, the expectations of what open means (increasingly more transparent than just &#8220;open&#8221;) are also increasing. The software world &#8211; both proprietary and open source &#8211; will have to keep up. And, hopefully, as the generation raised on the Internet begins to fill the ranks of geeks in the workforce, we&#8217;ll see more and more open source usage.</p><p>As a side note, I&#8217;d be very interested to see how open source use compares to demographics. I know that Linux use (on student-owned computers) at most colleges is way above the global average, and the same goes for Firefox.</p><div class="ezAdsense adsense adsense-leadout" style="text-align:center;margin:12px;"><script type="text/javascript">google_ad_client="pub-6049167767809021";google_ad_slot="8888378867";google_ad_width=336;google_ad_height=280;</script> <script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div>]]></content:encoded> <wfw:commentRss>http://blog.jasonantman.com/2010/03/the-newest-generation-of-hackers/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Subversion &#8216;is missing or not locked&#8217; error</title><link>http://blog.jasonantman.com/2010/01/subversion-is-missing-or-not-locked-error/</link> <comments>http://blog.jasonantman.com/2010/01/subversion-is-missing-or-not-locked-error/#comments</comments> <pubDate>Fri, 29 Jan 2010 20:58:42 +0000</pubDate> <dc:creator>Jason Antman</dc:creator> <category><![CDATA[Tech HowTos]]></category> <category><![CDATA[subversion]]></category> <category><![CDATA[svn]]></category> <category><![CDATA[version control]]></category><guid isPermaLink="false">http://blog.jasonantman.com/?p=538</guid> <description><![CDATA[What the subversion file 'is missing or not locked' error means and how to get rid of it.]]></description> <content:encoded><![CDATA[<p>Recently I was doing some work on a few PHP scripts, and came by a rather annoying error while trying to commit to subversion:</p><div class="wp_syntax"><div class="code"><pre class="none" style="font-family:monospace;">svn: Commit failed (details follow):
svn: Working copy '/srv/www/htdocs/newcall/stats/generated' is missing or not locked</pre></div></div><p>The problem was a directory, &#8220;generated&#8221;. This particular app makes use of <a href="http://naku.dohcrew.com/libchart" onclick="pageTracker._trackPageview('/outgoing/naku.dohcrew.com/libchart?referer=');">libchart</a> to draw simple charts in PHP. Libchart writes the charts to files, and therefore needs a directory writable by the Apache user. So, I created the <code>generated/</code> directory for these output files, and <code>chown</code>ed <code>wwwrun:www</code>. Now, apparently, the subversion <code>svn add</code> command doesn&#8217;t check ownership/writable permissions before adding a directory. So, it added <code>generated/</code> to the main list of files, but couldn&#8217;t write the <code>.svn</code> directory and add a lock. IMHO, this is an error in the svn client.</p><p>I couldn&#8217;t find any solutions to the problem online. Essentially, I have an empty directory (or at least nothing useful in it) that got partially added to svn &#8211; it was added to the <code>.svn/entries</code> file in the parent directory, but never had its own <code>.svn</code> directory created.</p><p>The only solution that I found is to manually edit the <code>.svn/entries</code> file in the parent directory. <strong>WARNING:</strong> this isn&#8217;t for the faint of heart. Be sure you don&#8217;t screw anything up.</p><ol><li>Open the <code>.svn/entries</code> file in the parent directory in a text editor (i.e. if the problem directory is <code>stats/generated</code>, edit <code>stats/.svn/entries</code></li><li>Find the <code>entry</code> node with the correct &#8220;name&#8221; attribute for the directory in question. For stats/generated, in the <code>stats/.svn/entries</code> file, it should look like:<div class="wp_syntax"><div class="code"><pre class="xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;entry</span></span>
<span style="color: #009900;">   <span style="color: #000066;">name</span>=<span style="color: #ff0000;">&quot;generated&quot;</span></span>
<span style="color: #009900;">   <span style="color: #000066;">kind</span>=<span style="color: #ff0000;">&quot;dir&quot;</span></span>
<span style="color: #009900;">   <span style="color: #000066;">schedule</span>=<span style="color: #ff0000;">&quot;add&quot;</span><span style="color: #000000; font-weight: bold;">/&gt;</span></span></pre></div></div></li><li>Make the entries file writable (<code>chmod u+w entries</code>)</li><li>Remove the entry from the file.</li><li>Set the entries file back to non-writable (<code>chmod u-w entries</code>)</li><li>Remove any save files if they were created (i.e. <code>entries~</code> for emacs)</li><li>Remove the directory itself and re-create it, this time adding to svn before setting the ownership.</li><li>Commit. It should now work.</li></ol> ]]></content:encoded> <wfw:commentRss>http://blog.jasonantman.com/2010/01/subversion-is-missing-or-not-locked-error/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>
<!-- This site's performance optimized by W3 Total Cache. Dramatically improve the speed and reliability of your blog!

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced) (user agent is rejected)
Database Caching 5/12 queries in 0.013 seconds using disk

Served from: mpac.midlandparkambulance.com @ 2010-07-30 09:48:29 -->