<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<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/"
	>

<channel>
	<title>mercurial &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://wordpress.com/tag/mercurial/</link>
	<description>Feed of posts on WordPress.com tagged "mercurial"</description>
	<pubDate>Thu, 21 Aug 2008 07:11:52 +0000</pubDate>

	<generator>http://wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Number One]]></title>
<link>http://mercurialview.wordpress.com/?p=7</link>
<pubDate>Mon, 11 Aug 2008 19:02:46 +0000</pubDate>
<dc:creator>redhimihai</dc:creator>
<guid>http://mercurialview.wordpress.com/?p=7</guid>
<description><![CDATA[Intro&#8230;
Well, hello hello&#8230;
In seara asta pe la ora 20 m-am decis ca ar fi o chestie sa in]]></description>
<content:encoded><![CDATA[<p>Intro...</p>
<p>Well, hello hello...</p>
<p>In seara asta pe la ora 20 m-am decis ca ar fi o chestie sa incep sa postez o parte din gandurile mele, informatii si stiri pe care voi incerca sa le cometez, fotografii s.a.m.d, in mare sa imi dezvalui punctul de vedere vis-a-vis de lucrurile care ma/ne inconjoara in acest format, cel al unui blog.<br />
Voi recunoste ca nu am fost spontan (asa cum am incercat sa dau impresia mai sus)&#62; ideea de a avea un blog mi-a venit pe la inceputul verii insa nu i-am dat prea mare atentie pana acum. De ce acum? Pai, nici eu nu stiu insa nu cred ca e relevant... Cel putin pentru mine nu este.</p>
<p>Ok, gata cu introducerea (pfuu am scapat de ea)<br />
Atat va mai spun: spor la citit si la comentat. Sper sa va placa si sper sa ma tin de chestia asta.</p>
<p>Pentru moment va las cu imaginea asta. O tin de mai bine de un an ca wallpaper pe telefon. Banuiesc ca imi place prea mult ca sa o schimb, atipic mie de altfel.</p>
<p style="text-align:center;"><a href="http://mercurialview.wordpress.com/files/2008/08/0.jpg"><img class="size-full wp-image-17 aligncenter" src="http://mercurialview.wordpress.com/files/2008/08/0.jpg" alt="" width="300" height="400" /></a></p>
<p>Ciao Ciao...</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Git vs. Mercurial: Please Relax]]></title>
<link>http://importantshock.wordpress.com/?p=78</link>
<pubDate>Thu, 07 Aug 2008 19:12:34 +0000</pubDate>
<dc:creator>Patrick Thomson</dc:creator>
<guid>http://importantshock.wordpress.com/?p=78</guid>
<description><![CDATA[Everyone&#8217;s up in arms to embrace distributed version control as the new must-have tool for the]]></description>
<content:encoded><![CDATA[<p>Everyone's up in arms to embrace <a title="DVCS on Wikipedia" href="http://en.wikipedia.org/wiki/Distributed_revision_control">distributed version control</a> as the new must-have tool for the developer in the know. Though many people have not yet migrated from <a href="http://subversion.tigris.org/">Subversion</a>, those that have almost invariably extoll the virtues of their particular choice. But though all of the major DVCS's have features that set them above the previous generation of centralized systems, none stands head-and-shoulders above the others as Subversion does among the last generation: each of them was designed for a specific purpose, and each of them will serve those with different habits, workflows and development styles differently. Having used both <a href="http://git.or.cz/">git</a> and <a href="http://www.selenic.com/mercurial/">Mercurial</a> for the better part of a year, I've had the opportunity to compare the two. It saddened me to see a Twitter-based <span style="text-decoration:line-through;">debate</span> flamewar erupt over which is better, so I thought I'd do my best to try and ease the tension - <strong>with analogies!</strong></p>
<h1>Git is MacGyver</h1>
<p> </p>
<p style="text-align:center;"><img class="size-full wp-image-79 aligncenter" src="http://importantshock.wordpress.com/files/2008/08/macgyver.jpg" alt="great man or greatest man?" width="393" height="492" /></p>
<p> </p>
<p> </p>
<p>Git's design philosophy is unmistakably that of Unix: unlike Subversion, CVS, or Mercurial, git is not one monolithic binary but a multitude of individual tools, ranging from high-level "porcelain" commands such as <code>git-pull</code>, <code>git-merge</code>, and <code>git-checkout</code> to low-level "plumbing" commands such as <code>git-apply</code>, <code>git-hash-object</code> and <code>git-merge-file</code>. So, like MacGyver, you can do <a href="http://en.wikipedia.org/wiki/List_of_problems_solved_by_MacGyver">just about anything you need</a> with Git - this includes <a href="http://github.com/patrickt/nuki/tree/master">totally awesome Wiki engines</a>, <a href="http://github.com/schacon/ticgit/wikis">issue trackers</a>, <a href="http://www.sfgoth.com/~mitch/linux/gitfs/">filesystems</a>, <a href="http://kitenet.net/~joey/code/etckeeper/">sysadmin tools</a> - everything short of fuse repair:</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/I5qcnNgpyik'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/I5qcnNgpyik&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>As such, git is not so much a version control system as it is a tool for building your own version-controlled workflow. For example, when faced with the fact that no <code>git</code> tool performs the equivalent of <code>hg addremove</code> - a useful Mercurial command that adds all untracked files and removes all missing files - I found one line to a script originally written by <a href="http://www.jamesrobey.com/bash-script-to-remove-deleted-files-from-git/">James Robey</a>:</p>
<p><code><br />
#!/usr/bin/env bash<br />
# git-addremove<br />
git add .<br />
git ls-files -deleted &#124; xargs git rm</p>
<p></code></p>
<p>Git's branching, tagging, merging, and rebasing are near flawless: git's merging algorithm is close to omniscient, having once merged 12 Linux kernel patches simultaneously. Additionally, git provides you with tools to go back in time and edit your commit history - useful for those of us who have left certain critical elements out of a commit and had to quickly recommit with a helpful message such as "oops". (And when I say "those of us", I mean "every developer, ever".) Personally, I elect to only use this feature to edit my last commit (using <code>git commit --amend</code>); I have never needed or wanted to meddle further with the past. git is also extremely fast thanks to its C codebase.</p>
<p>There is no better emblem of git's flexibility than GitHub. GitHub's rise to success has been positively meteoric, and with good reason. It's a brilliantly-designed site that serves as more than a pretty, browsable frontend to my source tree in that it brings a social aspect to programming - using Git, I can fork anyone's project, make my changes, petition for them to be included in the main repository, and pull other people's changes to mine. Though it took a while for me to adjust to the anarchic notion of every user having their own equally-valid fork of a project - shouldn't there be one definitive version of a project? - I realized its potential when working with other contributors to Nu. Add the fact that GitHub is one of the most solid and reliable services I've ever used, and you've got what very well might be the deal-breaker in the fight for DVCS dominance.</p>
<p>On the other hand, migrating from Subversion/CVS to git requires a lot of work. Linus has made it clear that he disagrees with the fundamental ideas behind Subversion/CVS, referring to SVN as "the most pointless project ever started". As such, the git project has consciously made no effort to make the migration to git easy: the <code>revert</code> command in Subversion resets your current working copy to the last commit, but in git undoes a supplied patch and commits the changes needed to remove that patch. (The equivalent command for <code>svn revert</code> in git is <code>git reset --hard HEAD^</code>.) Whining about this on the git mailing list is a little like this:</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-80" src="http://importantshock.wordpress.com/files/2008/08/shut-up.jpg" alt="Get it? No? Too bad." width="130" height="100" /></p>
<p>Get it? No? Too bad.</p>
<p>Apparently the choices that Linus et. al made when designing git are sensible - if, of course, you understand the internal structure of git and how it stores your data. I'm afraid I'm only halfway through PeepCode's great <a href="http://peepcode.com/products/git-internals-pdf">Git Internals</a>, so I can't comment on whether that statement is true. But I have to admit that if I had to read a $9, 100-page PDF to learn every new tool I downloaded, I would have no time and no money.</p>
<p>This brings us to another of git's faults: its documentation is terrible. Man pages are no longer a sufficient replacement for a good, well-updated wiki or reference work; git's wiki still has a long, long way to go. Add in the fact that since, like many OS X users, I installed git through <a href="http://www.macports.org/">MacPorts</a>, only the main <code>git</code> tool comes with a man page, leaving me to consult the Web to find out exactly how to format revision specifiers. I've observed that developers that were able to learn git from colleagues already familiar with git and its internals tend to have a higher opinion of it, in contrast to people such as myself that had to waste a lot of time digging around through Google and the man pages.</p>
<p>However, considering the fact that git is supposed to be a platform, one would suppose that it would have clear, bridgable functions to reuse in your own C projects and bridge to other languages. One would be completely wrong - libgit.a is a joke, and the Ruby git gem (and my own vastly-inferior Nu/Git bindings) depend on running shell commands and parsing the output, which really gets quite tiresome after a while. The fact that console output may differ from platform to platform and any new feature may change the format of console output makes me very reluctant to commit to maintaining my Nu/Git bridge. (I swear, that's the reason. It's not because I'm lazy.)</p>
<p>In conclusion, Git is perfect for command-line wizards, people with large teams and complicated projects, and those who need their DVCS to be endlessly configurable. Certain developers have a workflow which, when interrupted, causes much grief and lamentation - if that description fits you, then git is almost certainly what you want, because it can be molded to fit the most esoteric workflow. Solo developers and those accustomed to working with centralized VCS's may find git to be hostile, unfriendly and needlessly complex. When I work on a large project with many committers, I prefer git and GitHub.</p>
<h1>Mercurial is James Bond</h1>
<p style="text-align:center;"><span style="color:#0000ee;"><span style="text-decoration:underline;"><img class="aligncenter size-full wp-image-81" src="http://importantshock.wordpress.com/files/2008/08/a.jpg" alt="" width="455" height="332" /><br />
</span></span></p>
<blockquote>
<blockquote><p>mercurial &#124;mərˌkyoŏrēəl&#124;<br />
<strong>adjective</strong><br />
1) Subject to sudden or unpredictable changes of mood or mind: <em>his mercurial temperament</em>.</p></blockquote>
</blockquote>
<p>Though there have been <a href="http://ick.rubyforge.org/">many</a> <a href="http://seattlerb.rubyforge.org/Sphincter/classes/Sphincter.html">unfortunate</a> open-source project names, Mercurial (also referred to by its command-line-tool name, <code>hg</code>) is both apt and unfortunate: though it is definitely speedy, both in terms of learning curve and execution speed, it is also at times inconsistent, maddening, and unpredictable. Mercurial is like James Bond: though they are not suited for each and every job, put them in a situation for which they are prepared and you will get things done. (If your programming job is as exciting as a Bond movie, please get in touch with me right away when one of your programmers is killed in action.)</p>
<p>In contrast to git's philosophy of providing a flexible platform built out of individual components, Mercurial is monolithic and (relatively) inflexible. Developers who like to keep their system clean will probably appreciate the fact that hg installs one binary in contrast to the 144 that make up git, and developers who think that git's ability to edit your previous commits is moronic, unnecessary, and dangerous will appreciate the simplicity hg provides by omitting that particular feature.</p>
<p>Compared to git, hg's branching, merging and tagging systems are equally powerful and only slightly slower. The only current flaw in Mercurial's branching system - and sweet crouching Jesus, is it ever a <strong>huge</strong> flaw - is that deleting named branches is unbelievably difficult: as far as I can tell, the only way to do so is to learn and enable the patch-queuing system (about which I have heard raves, but have not had the time yet to sit down and grok) and use the <code>hg strip</code> command, or install the <a href="http://www.selenic.com/mercurial/wiki/index.cgi/LocalbranchExtension">local-branches</a> extension. Selenium currently recommend you use tags instead of branches, which practically redefines the concept of a half-assed solution.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-82" src="http://importantshock.wordpress.com/files/2008/08/unacceptable.png" alt="" width="455" height="562" /></p>
<p>Despite that glaring flaw, the rest of hg is excellent. It functions almost identically to Subversion in the commands that it shares, and the new concepts - branching, merging, etc. - are easily learned and intuitive. Whereas I'm still learning how to do relatively basic things in git, I learned pretty much all of hg's functionality in about a day. If you're familiar with Subversion, transitioning to Mercurial should be a piece of cake - the functions you're familiar with will be there, and the new functions are easy-to-learn and well-documented.</p>
<p>Though I've never tried to integrate Mercurial's functionality into my own projects, I hear that since it's written in Python it's very easy just to import its classes and call them programatically rather than parse the output of shell scripts. I wanted to write a Mercurial frontend for OS X (I was planning to call it 'hermetic' - get the elaborate literary pun?), but the viral nature of the GPL discouraged me - since no company has granted me stock options for my code, I'm a little reluctant to just give away the fruits of my labors. Mercurial's answer to GitHub is <a href="http://www.bitbucket.org">BitBucket</a>, which I have not tried yet. If I do, I will update this entry posthaste.</p>
<p><span style='text-align:center; display: block;'><object width='425' height='350'><param name='movie' value='http://www.youtube.com/v/mLPp8y-mEhw'></param><param name='wmode' value='transparent'></param><embed src='http://www.youtube.com/v/mLPp8y-mEhw&rel=0' type='application/x-shockwave-flash' wmode='transparent' width='425' height='350'></embed></object></span></p>
<p>In conclusion, Mercurial is the yin to git's yang: those such as myself who are constantly experimenting with new ways to work and write code will object less to the restrictions that hg imposes on workflows. After switching to Mercurial for a small two-person project last year, my collaborator observed that Mercurial feels a lot more Mac-like - usability and smoothness of operation trump Unix philosophy when necessary. If I don't have to share my code with anyone, I tend to use Mercurial in order to get things done faster.</p>
<h1>So, What's My Point?</h1>
<p>To paraphrase <a href="http://cocoasamurai.blogspot.com/">Colin Wheeler</a>, it's OK to proselytize to those who have not switched to a distrubuted VCS yet, but trying to convert a git user to Mercurial (or vice-versa) is a waste of everyone's time and energy. If you want to switch to a DVCS, then here are five easy steps:</p>
<ol>
<li>Evaluate your workflow and decide which tool suits you best.</li>
<li>Learn how to use your chosen tool as well as you possibly can.</li>
<li>Help newbies to make the transition.</li>
<li><strong>Shut up about the tools you use and write some code.</strong></li>
</ol>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Mercurial, Eclipse, Hard Links]]></title>
<link>http://namelythehedgehog.wordpress.com/?p=31</link>
<pubDate>Wed, 30 Jul 2008 17:10:33 +0000</pubDate>
<dc:creator>namelythehedgehog</dc:creator>
<guid>http://namelythehedgehog.wordpress.com/?p=31</guid>
<description><![CDATA[For one of my major projects, I use Mercurial for version control, and Eclipse with PyDev for my pri]]></description>
<content:encoded><![CDATA[<p>For one of my major projects, I use <a href="http://www.selenic.com/mercurial/">Mercurial</a> for version control, and <a href="http://www.eclipse.org/">Eclipse</a> with <a href="http://pydev.sourceforge.net/">PyDev</a> for my primary development environment.  I frequently clone a development trunk to create new development branches (usually one per feature set I'm working on at a time).  I had a little hiccup of paranoia about what it means to clone a repository, since at least some of the newly-cloned files are not physical copies, but hard links.  And I didn't know what Eclipse did with hard links.</p>
<p>A quick look at the output of <code>hg clone --help</code> reveals the following:</p>
<ul>
<li>Running <code>hg clone</code> copies the tracked files and hard links the metadata (.hg directory).</li>
<li><code>hg clone --pull</code> copies everything and hard links nothing.</li>
<li><code>cp -al</code> copies nothing and hard links everything, which means your editor had better break hard links or else changes will be saved in two repositories at once.</li>
</ul>
<p>In other words, an invocation of <code>hg clone</code> followed by editing some tracked files will always do the right thing, regardless of what your editor does.  Since I always clone repositories using <code>hg clone</code> (disk space isn't too tight at the moment), it was never an issue, even using a rather complex Java IDE.</p>
<p>That got me wondering, though, what would have happened if I cloned using <code>cp -al</code>. It turns out that by default,</p>
<ul>
<li><a href="http://www.gnu.org/software/emacs/elisp/html_node/Rename-or-Copy.html">emacs breaks hard links</a>.  Can be overridden by adding <code>(setq backup-by-copying-when-linked t)</code> to one's ".emacs" file.</span></li>
<li><span class="example"><a href="http://openwall.info/wiki/internal/vimrc">vim preserves hard links</a>.  Can be overriden by <code>set bkc=no</code> in <code>.vimrc</code> or at the vim command line</span></li>
<li><span class="example">Eclipse preserves hard links.  This was tested empirically rather than looked up in documentation, and there isn't an easily-located setting to change this.</span></li>
<li><span class="example">OS X TextEdit breaks hard links.  Also tested, and I didn't even look for a way to change it.</span></li>
</ul>
<p>The moral of the story:  when in doubt, <code>hg clone</code>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[dry humph]]></title>
<link>http://whatsyourtheory.wordpress.com/?p=10</link>
<pubDate>Tue, 22 Jul 2008 03:42:36 +0000</pubDate>
<dc:creator>whatsyourtheory</dc:creator>
<guid>http://whatsyourtheory.wordpress.com/?p=10</guid>
<description><![CDATA[a tiny thread, point sharp and stealthy
penetrates this thick silence
trespassing within my complace]]></description>
<content:encoded><![CDATA[<p>a tiny thread, point sharp and stealthy<br />
penetrates this thick silence</p>
<p>trespassing within my complacency<br />
my dull sanity</p>
<p>a piston pumping sexless intrusion</p>
<p>wasted words come all over the walls<br />
a bouncing echo around this cell</p>
<p>a stray word flies off every angle<br />
like a failed conversation, it keeps me flailing<br />
reaching for some hint of me in all of this you</p>
<p>let me sacrifice to the altar of your ego</p>
<p>place your loving hands inside my growing need<br />
and let chemistry feed this biology</p>
<p>we are no more than sitting ducks unfucking our attractions<br />
stroking flaccid masterpieces just to feel the grip</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[One of the reasons why X11 rocks]]></title>
<link>http://keramida.wordpress.com/?p=117</link>
<pubDate>Thu, 17 Jul 2008 01:42:56 +0000</pubDate>
<dc:creator>keramida</dc:creator>
<guid>http://keramida.wordpress.com/?p=117</guid>
<description><![CDATA[My Toshiba Satellite U200-XXX laptop died recently (as in two days ago).  While setting up a replace]]></description>
<content:encoded><![CDATA[<p>My Toshiba Satellite U200-XXX laptop died recently (as in two days ago).  While setting up a replacement laptop, which I bought from the local "<a href="http://www.plaisio.gr/">Plaisio Computers</a>" store, I realized that I was looking for the left <code>Alt</code> key and kept constantly hitting the left "Windows" key.  I had immediately replaced the Windows Vista installation of the laptop with a <em>dump</em>(8) / <em>restore</em>(8) of my original laptop's FreeBSD installation, so I have no particular use for a "Windows" key.</p>
<p>Fortunately enough, X11 is a wonderful system.  I can remap and swap keys to my heart's desire, and this is precisely what I did just a few minutes ago:</p>
<pre><strong>keramida@kobe:/home/keramida$ <em>hg log -v -p -r tip</em></strong>
changeset:   145:a148a5c79c0e
tag:         tip
user:        Giorgos Keramidas
date:        Thu Jul 17 04:13:20 2008 +0300
files:       .Xmodmap
description:
xmodmap: Replace the "Windows" keys with Alt_L and Alt_R

A couple of extra `Meta' keys are more useful than the
completely useless "Windows" flaggy bits.

diff -r e34b7e6ea856 -r a148a5c79c0e .Xmodmap
--- a/.Xmodmap  Thu Jul 17 04:22:57 2008 +0300
+++ b/.Xmodmap  Thu Jul 17 04:13:20 2008 +0300
@@ -32,3 +32,15 @@
 keysym Caps_Lock = Control_L
 add Lock = Caps_Lock
 add Control = Control_L
+
+!
+! Customizations for Turbo-X laptop.
+!
+! Make the Windows keys act the same as ALT.  I don't really need an
+! extra pair of ALT keys, but my fingers hit Windows keys far too often
+! when I want to type meta-combos.  This makes the windows keys more
+! useful and my fingers more happy.
+!
+
+keycode 115 = Alt_L
+keycode 117 = Alt_R

<strong>keramida@kobe:/home/keramida$</strong></pre>
<p>Neat.  Now I don't really care if my fingers slip and hit one of the "Windows flaggy bits".  That's really really nice :-)</p>
<p>PS: In a followup post, when I catch up with $realwork I'll write more about the move from an old-ish, crashed laptop to another one.  Let's just say, for now, that <a href="http://www.freesbie.org/">FreeSBIE</a> saved the day!</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Free Mercurial Hosting with freeHg.org]]></title>
<link>http://espressomind.wordpress.com/?p=252</link>
<pubDate>Thu, 10 Jul 2008 12:52:55 +0000</pubDate>
<dc:creator>Ron DuPlain</dc:creator>
<guid>http://espressomind.wordpress.com/?p=252</guid>
<description><![CDATA[Are you looking for a way to keep several systems, developers, or users in sync with a set of files?]]></description>
<content:encoded><![CDATA[<p>Are you looking for a way to keep several systems, developers, or users in sync with a set of files?</p>
<p><a href="http://www.selenic.com/mercurial/">Mercurial</a> offers revision control for all types of files (text or "<a href="http://www.selenic.com/mercurial/wiki/index.cgi/BinaryFiles">binary</a>"), and allows users -- individually or in teams -- to clone a file set for copying or editing locally without interfering with others.  Further, users can seamlessly push and pull file changes between computers.  More officially stated, <a href="http://www.selenic.com/mercurial/">Mercurial</a> is "a fast, lightweight <a class="http" href="http://en.wikipedia.org/wiki/Revision_control">Source Control Management system</a> designed for efficient handling of very large distributed projects."</p>
<p>When hosted on a web server, Mercurial users can push and pull changes through that web server.  When a custom web server is not available, the site <a href="http://freehg.org/">freeHg.org</a> offers free public hosting thanks to <a href="http://matthewmarshall.org">Matthew Marshall</a>.  <a href="http://freehg.org/u/rduplain">I tried freeHg.org</a>, and it could not be much simpler or easier to get started.  Thank you, Matthew!  I like your setup.</p>
<p>Alternatively, brave software developers can try <a href="http://www.selenic.com/mercurial/wiki/index.cgi/MercurialOnSourceforge">hosting Mercurial on SourceForge</a>.</p>
<p>Do you have questions about Mercurial?  Check out <a href="http://www.selenic.com/mercurial/">the homepage</a>, <a href="http://hgbook.red-bean.com/">the unofficial manual</a>, or <a href="http://www.selenic.com/mercurial/wiki/index.cgi/FAQ">the FAQ</a>.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Day 1 : Setup]]></title>
<link>http://mysteryproject.wordpress.com/?p=7</link>
<pubDate>Wed, 09 Jul 2008 00:40:00 +0000</pubDate>
<dc:creator>swarmsync</dc:creator>
<guid>http://mysteryproject.wordpress.com/?p=7</guid>
<description><![CDATA[So here we go, mystery project the building of an iPhone game is well under way.
Here&#8217;s the p]]></description>
<content:encoded><![CDATA[<p>So here we go, mystery project the building of an iPhone game is well under way.</p>
<p>Here's the plan of attack for the blog, it will essentially follow my development stream. I am going to try and keep a good log of each step of the development process as I go hopefully with daily updates.</p>
<p>As I learn the ins and outs of the iPhone platform I plan on firing out test level code for people who want to learn about game development and while the sample/test code will be iPhone specific the ideas will usually translate to other platforms.</p>
<p>[Note: I'll do my best to have copious comments but no promises ;)]</p>
<p>Day 1: </p>
<p>Day one has actually been about 3 days but who's counting. ;)</p>
<p>The first thing I had to do was was tool selection and as I am coming to iPhone development from the world of Windows and J2ME I needed to do some research.</p>
<p>For hardware I've gone with the MacBook Air and I must say even though it's a tad overpriced based soley on hardware specifications it is well worth it...  I love this machine!</p>
<p>The developer tools I will be using are:</p>
<ul>
<li>Xcode (of course)</li>
<li><a title="TextMate" href="http://macromates.com/" target="_self">TextMate</a> for Editing</li>
<li><a title="Mercurial" href="http://www.selenic.com/mercurial/wiki/" target="_self">Mercurial</a> for Source Code Management</li>
<li><a title="KJam" href="http://www.oroboro.com/kjam/docserv.php" target="_self">KJam</a> as the build tool and while I am a fan of KJam I am looking for a possible alternative to this excellent make utility</li>
</ul>
<p>Now selecting core engines and such is a bit tricky, normally I'd write my own but given I am doing this as a one man band I have to use some tools that others have built. Of course I will be making mods as needed (and in the case of community developed tools I want to make these mods available).</p>
<p>Now physics, AI (such as pathfinding), object management and Collision Detection are pretty core to any game so selecting (or writing) the right engines is critical and this is where I will be starting.  </p>
<p>For the physics library: I am incredibly lucky (we all are) as there is a library called <a title="Chipmunk Physics" href="http://wiki.slembcke.net/main/published/Chipmunk" target="_self">Chipmunk</a> which is just awesome! Now Chipmunk handles rigid body physics and I need some additional things so I will be hacking it but if you need a physics library believe me start here.</p>
<p>On the AI and object management side of things I am also lucky, I have some Ansi C libraries I wrote and that I will be porting over.  These libraries are nice and generic and handle a wide range of what this game will be needing; I built them over the past few years so they are nice and stable, computationally efficient, small and robust.</p>
<p>[Note: When looking at AI engines almost every one needs some tweaking based on platform limitations, the game you are building and the specific outcomes you want.]</p>
<p>Next up I'll be dealing with all manner of design topics, level creation and idea brainstorming; then it's on to my first iPhone tests.  One very important thing, more than anything else I will be writing code, design is important but it is no substitute for coding and testing.  Small teams need to concentrate on building their product and not thinking about building it.  I think my approach is very similar to the <a title="37signals" href="http://www.37signals.com/" target="_self">37signals</a> <a title="Getting Real" href="http://gettingreal.37signals.com/" target="_self">Getting Real</a> approach except rather than web-based development I am doing mobile development. Of course all that said the best development methodology is the one that works for you.</p>
<p>Eventually as I build I will be looking for beta testers. I am not sure how I will handle the beta program yet but I do know I'd like testers to get the game for free when it is released.  I won't setup a list just yet but follow along as when I get close I will put the request out here. </p>
<p>Onward we go.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Assembla: Free hosted SVN and more...]]></title>
<link>http://willwm.wordpress.com/2008/06/22/assembla-rocks-my-socks/</link>
<pubDate>Sun, 22 Jun 2008 21:37:49 +0000</pubDate>
<dc:creator>willwm</dc:creator>
<guid>http://willwm.wordpress.com/2008/06/22/assembla-rocks-my-socks/</guid>
<description><![CDATA[I&#8217;ve spent quite some time looking for a hosted Subversion repository that had a cheap or free]]></description>
<content:encoded><![CDATA[<p style="text-align:left;">I've spent quite some time looking for a hosted Subversion repository that had a cheap or free trial option so that I could migrate my locally hosted repository (seems silly to host your repository on your own machine, doesn't it?) to somewhere online.</p>
<p style="text-align:left;"><a href="http://www.assembla.com/"><img src="http://www.assembla.com/images/blue/assembla-logo.gif" alt="Assembla" width="120" height="50" align="right" /></a></p>
<p style="text-align:left;">Guess I wasn't looking well enough, because today I (finally) stumbled upon a solution which meets all of my needs and more, <a href="http://www.assembla.com/about">Assembla</a>.</p>
<p style="text-align:left;">If you're looking for a place to host your development projects, I'd highly suggest Assembla, even if only for the *free* hosted Subversion repository which can be made private or public, unlike other free services which only offer public open-source hosting. Not that I'm knocking Sourceforge or Google Code, it's just that I'm working on a consulting project that can't be left out in the open (as I'm sure is the case with many of you out there as well).</p>
<p style="text-align:left;">Here's a list of their plans (current as of this posting):</p>
<p style="text-align:left;"><a href="http://willwm.files.wordpress.com/2008/06/2008-06-22-143510.png"><img class="aligncenter" style="border:0 none;" src="http://willwm.files.wordpress.com/2008/06/2008-06-22-143510-thumb.png" border="0" alt="2008-06-22_143510" width="404" height="359" /></a></p>
<p style="text-align:left;">...and since you probably can't read that without clicking on the expanded image, here's the link to their pricing plans: <a title="http://www.assembla.com/tour" href="http://www.assembla.com/tour">http://www.assembla.com/tour</a></p>
<p style="text-align:left;">The array of development tools they have to offer is quite impressive, and I'm seriously considering upgrading to the Commercial plan ($12.50/month) to get more space.</p>
<p style="text-align:center;"><a href="http://www.assembla.com/"><img class="size-medium wp-image-398" style="margin:2px;" src="http://willwm.wordpress.com/files/2008/06/logos_orientation.gif?w=137" alt="Subversion, trac, git, mercurial" width="137" height="89" /></a></p>
<p style="text-align:left;"><em>For what it's worth, <a href="http://www.box.net">Box.net</a>, if you're listening</em> - you should really consider offering (real) WebDAV support and/or Subversion through your API, because *that* would make your site the killer app I've been waiting/paying for.</p>
<p style="text-align:left;">Also, here's another great post with information about Assembla:<br />
<a href="http://coding-time.blogspot.com/2008/04/free-subversion-wiki-at-assemblacom.html">http://coding-time.blogspot.com/2008/04/free-subversion-wiki-at-assemblacom.html</a></p>
<p style="text-align:left;">...and they also have a great post about Subversion and how it works:<br />
<a href="http://coding-time.blogspot.com/2008/04/subversion-visually-explained-in-30sec.html">http://coding-time.blogspot.com/2008/04/subversion-visually-explained-in-30sec.html</a></p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Collaborating with Mercurial]]></title>
<link>http://bentsai.wordpress.com/?p=26</link>
<pubDate>Tue, 17 Jun 2008 21:33:23 +0000</pubDate>
<dc:creator>bentsai</dc:creator>
<guid>http://bentsai.wordpress.com/?p=26</guid>
<description><![CDATA[Now that you&#8217;ve got Mercurial running on your local machine, what if you want to collaborate w]]></description>
<content:encoded><![CDATA[<p>Now that you've got Mercurial running on your local machine, what if you want to collaborate with someone else? The easiest way to do this is to run "hg serve", which starts a local http server that allows others to browse your repository, view changelogs, clone your repository and pull your changes. This is deemed an <a href="http://hgbook.red-bean.com/hgbookch6.html#x10-1220006.4">"informal" method of sharing</a> because it provides unauthenticated read-only access to your repository. You wouldn't use this to share your code with the public, but it works great within company walls if you're trying to work with a coworker on something.</p>
<p>Again, it's very simple and you'll have it running in less than a second. Inside your repository, do:</p>
<p><code><span style="color:#00ff00;">hg serve</span></code></p>
<p>By default, you won't see any output. You can verify things are working by navigating to http://localhost:8000/.</p>
<p>Now that you're sharing your repository, Charlie can point his browser to http://[your machine name]:8000/ and browse your changelogs, files, tags. If he wants to start making changes, then he would:</p>
<p><code><span style="color:#00ff00;">hg clone http://[your machine name]:8000/ destination_directory</span></code></p>
<p>This will print out some status messages about what it's doing. Now Charlie has a repository one his machine that he can start working with. If I make subsequent changes, Charlie can pull them into his repository by doing:</p>
<p><code><span style="color:#00ff00;">hg pull http://[your machine name]:8000/</span></code></p>
<p>And vice versa, if Charlie commited some changes, he would run "hg serve" and I would pull from his computer.</p>
<p>This is merely an introduction to doing some lightweight collaboration. In this scheme, since the "hg serve" provides read-only access, we are using a "pull only" model. This may not be practical depending on your project, but again, this is a quick and easy way of sharing and collaborating on code.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Setting up a Mercurial work environment]]></title>
<link>http://rrees.wordpress.com/?p=200</link>
<pubDate>Mon, 09 Jun 2008 21:10:28 +0000</pubDate>
<dc:creator>rrees</dc:creator>
<guid>http://rrees.wordpress.com/?p=200</guid>
<description><![CDATA[So today I had a frustrating experience trying to get a Mercurial environment going for the current ]]></description>
<content:encoded><![CDATA[<p>So today I had a frustrating experience trying to get a Mercurial environment going for the current project I am working on. I am convinced for the kind of work we are doing the distributed branch model is going to be the right solution and I had been using a local Mercurial instance during my tech spiking earlier on the product.</p>
<p>Having built Python and Mercurial on the server and created a Mercurial user with the SSH keys of the individual developers I thought it would be easy sailing this morning. Not a bit of it and all of the problems stemmed from the lack of by default support for SSH in Windows.</p>
<p>Like most people I use the <a title="PuTTY Home" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">Putty Tool</a> Suite for my SSH needs on windows. However simply aliasing putty to ssh doesn't work. There are some key command switches that are different (including the trivial but annoying -P instead of -p for port).</p>
<p>Coming from a Java Subversion background I am used to having a portable library to take care of my <em>ssh </em>protocol needs. I also use OSX for my home development and that obviously provides a UNIX ssh command-line implementation, hence hassle-free SSH based source control.</p>
<p>The command line tool turned out to be the root of all my problems, both Eclipse and NetBeans Mercurial plugins don't provide an implementation of the Mercurial client, instead they delegate it to the Mercurial client on the host OS, that in turns delegates ssh protocol invocations to the command line SSH.</p>
<p>The solution is simple once you know it, in the Mercurial.ini file you can alias ssh to Putty's plink executable. There is in fact an example in the <a title="Mercurial Red Book" href="http://hgbook.red-bean.com/hgbook.html">Mercurial book</a>. Better still you don't have to specify the key used if you are using Pageant.</p>
<p>However getting the first station to work was incredibly hard work. I even downloaded Cygwin just to get a more normal Unix ssh but by that point I had put a typo into the ssh alias and was getting a very weird error whenever I invoked Mercurial and I'd lost the forest in the trees.</p>
<p>At one stage I even gave Bazaar a go, hoping that SFTP might cure all my ills. However Bazaar uses <a title="Paramiko Home" href="http://www.lag.net/paramiko/">Paramiko</a> for it's SSH support and on Windows that was failing due to its inability to find an OS source of entropy.</p>
<p>Server-side Python also let me down a bit as I was having an issue with the zlib module and after similar experiences with Ruby I knew that this would be because I must have compiled Python before zlib. Despite cleaning and re-configuring Python it still didn't build the zlib module and in then end I had to go and run configure within the zlib module manually prior to a full Python build. This is exactly the same issue I have had with Ruby, what is the problem with this library?</p>
<p>Once you've done it once Mercurial repositories are actually easier to setup and manage than SVN (and that itself is pretty easy once you've done it a few times) and if you are working in a UNIX environment then they are extremely compelling.</p>
<p>However on Windows you are currently going to either do a lot of preparatory reading or be ready to set aside six hours to prevent frustration. In my case it probably didn't help that I am also the one selling the utility of Mercurial. The pioneers always have the arrows in their backs; on the other hand they also get to better places long before anyone else.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Using Mercurial as ad-hoc local version control]]></title>
<link>http://bentsai.wordpress.com/?p=7</link>
<pubDate>Fri, 30 May 2008 22:07:11 +0000</pubDate>
<dc:creator>bentsai</dc:creator>
<guid>http://bentsai.wordpress.com/?p=7</guid>
<description><![CDATA[Let&#8217;s assume you&#8217;re working at a company using Perforce or Subversion as source control,]]></description>
<content:encoded><![CDATA[<p>Let's assume you're working at a company using Perforce or Subversion as source control, and you're tasked to fix a bug on the main branch of development. You'd prefer not to commit anything into the repository that breaks, lest the build master (who may be yourself) get on your case and you're additionally tasked to buy donuts for the group.</p>
<p>If the bug/change you're trying to make is anything beyond the most trivial task, it would be great to have your sources under version control so you have the freedom to try things and backtrack—you know, one of the basic ideas behind version control. So, now you're stuck. There's too much overhead to create a whole new branch just for this one fix. Do you resort to renaming files and folders and moving back and forth on your editor's undo buffer? C'mon now, behave.</p>
<p>When the tools aren't working for you, find a new tool! Enter <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a>. I won't get into the interminable debate between Mercurial and <a href="http://git.or.cz/">Git</a> and other DVCS's. Suffice it to say that they are all the NBT, and distributed VCS are a superset of centralized ones. I've chosen Mercurial for pragmatic reasons: 1) works well on Windows and 2) is implemented primarily in <a href="http://www.python.org/">Python</a>.</p>
<p>The basic idea is, you can use Mercurial on top of your current, centralized version control system. This way, you get all of your local sources under version control independent of what the rest of your company uses. It's a simple idea, but it frees you from worrying about how to manage changes you're making in your local area. Another situation I frequently find this useful in is when I'm writing a one-off script that I'm not sure if I want to commit to the repository. But, the script is complex enough that I'll need to iterate a few times. Wouldn't it be great to have it under version control? Here's how:</p>
<h1>Install Mercurial</h1>
<p>I'm on Windows, so I just go for the <a href="http://mercurial.berkwood.com/">Windows binary package</a> where Python and everything is all wrapped up for you. You can also install it with cygwin, if that's your bag. Make sure C:\Mercurial (or wherever you installed it) is in your path.</p>
<p>Now, you're good to go. The executable name is "hg" (get it?) and if you type that without any arguments at command prompt, you will see a list of basic commands. All the concepts of version control that you're familiar with are all there. Let's walk through an example of putting your sources under version control and making some changes.</p>
<h1>Create a new repository</h1>
<p>The first thing you'll do is create a new repository from your current sources. Let's say you're working on on a project in C:\projects\GoogleKiller. Navigate to that directory, and type:</p>
<blockquote>
<pre><span style="color:#00ff00;"><strong>&#62; hg init</strong></span></pre>
</blockquote>
<p>That command should return silently. It generated a .hg folder in that directory where the metadata is stored. You've just created a repository. You can now do:</p>
<blockquote>
<pre><span style="color:#00ff00;"><strong>&#62; hg status</strong>
? GoogleKiller.py
? GoogleKillerTests.py
? README.TXT</span></pre>
</blockquote>
<p>This tells you that mercurial sees three files, but none of them are tracked. To start tracking them, simply:</p>
<blockquote>
<pre><span style="color:#00ff00;"><strong>&#62; hg add</strong>
adding GoogleKiller.py
adding GoogleKillerTests.py
adding README.TXT</span></pre>
</blockquote>
<p>Without specifying any files to "hg add", you've added all the files in the directory. Now, the last step to getting these sources in the repository is:</p>
<blockquote>
<pre><span style="color:#00ff00;"><strong>hg commit -m "Initial checkin!"</strong></span></pre>
</blockquote>
<p>The -m argument is the log message for the checkin. You can track the history of commits with the log command:</p>
<blockquote>
<pre><span style="color:#00ff00;">&#62; <strong>hg log</strong>
changeset:   0:8c047c4da9a4
tag:         tip
user:        bentsai@example.com
date:        Fri May 30 17:32:17 2008 -0400
summary:     Initial checkin!</span></pre>
</blockquote>
<p>Now you're ready to roll with local version control:)</p>
<h1>Start coding</h1>
<p>The commandline help for mercurial is pretty good. The basic commands you'll care about are:</p>
<ul>
<li><span style="color:#00ff00;"><strong><code>hg status</code></strong></span> (to see what files have been modified)</li>
<li><span style="color:#00ff00;"><strong><code>hg diff</code></strong></span> (which prints out a unified diff of what's changed)</li>
<li><span style="color:#00ff00;"><strong><code>hg revert</code></strong></span> (for backing out of changes)</li>
</ul>
<p>To get more details on these commands, just type "hg help &#60;command&#62;". There are other tweaks you can make to the usage (the <a href="http://hgbook.red-bean.com/hgbook.html">documentation</a> is good), but that's the general idea. Now you're free to get on with coding!</p>
<p>The process for getting up and running is pretty low on friction, which is why I like it. This doesn't even begin to touch the real boon of DVCS's—actually collaborating with others. But this technique takes advantage of Mercurial's speed, easy-of-use, and unobtrusiveness for a rapid solution to a fairly common problem.</p>
<p><strong>Update (June 1, 2008):</strong> I should note that using Mercurial for version control isn't limited to code. Any situation you're keen on rolling back changes, this could work. Before I found out about Mercurial, I thought about using Subversion for such a purpose. But the pain was setting up a server - with Mercurial, there is no centralized server to setup. The only thing Mercurial does is add an ".hg" folder in the root. Once you have it installed on your computer, you've got localized <a href="http://www.apple.com/macosx/features/timemachine.html">Time Machine</a>-like powers at your fingertips.</p>
<p><strong>Update (June 2, 2008):</strong> Here's someone who's <a href="http://www.dehora.net/journal/2008/01/05/using-mercurial-with-perforce/">using Mercurial specifically with Perforce</a> and described his workflow more extensively than I have.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[NetBeans 6.1 strizza l'occhio a PHP, Git e Mercurial]]></title>
<link>http://markoblog.wordpress.com/?p=934</link>
<pubDate>Sun, 04 May 2008 14:24:02 +0000</pubDate>
<dc:creator>marko</dc:creator>
<guid>http://markoblog.wordpress.com/?p=934</guid>
<description><![CDATA[Sun torna all’attacco dei desktop degli sviluppatori con la versione 6.1 di NetBeans, disponibile ]]></description>
<content:encoded><![CDATA[<p><a href="http://www.ossblog.it/tag/netbeans"><img class="post" style="border-color:white;" src="http://static.blogo.it/ossblog/netbeans_180.png" border="0" alt="NetBeans" width="180" height="50" align="left" /></a>Sun torna all’attacco dei desktop degli sviluppatori con la <a href="http://www.netbeans.org/servlets/NewsItemView?newsItemID=1230">versione 6.1 di NetBeans</a>, disponibile ufficialmente da qualche giorno. La mamma di Java non sembra intenzionata a cedere terreno ad Eclipse ed ogni nuovo rilascio del suo editor apporta novità sostanziali: se in NetBeans 6.0 abbiamo visto l’introduzione del supporto a Ruby, la 6.1 sfoggia, <a href="http://www.netbeans.org/community/releases/61/index.html">tra le altre cose</a>, la possibilità di gestire in maniera grafica DB MySQL, il <a href="http://wiki.netbeans.org/PHP">supporto iniziale a PHP</a> ed ai <em>source code management</em> <a href="http://www.selenic.com/mercurial/wiki/">Mercurial</a> e <a href="http://git.or.cz/">Git</a>.</p>
<p>La <a href="http://download.netbeans.org/netbeans/6.1/final/">pagina dei download</a>, oltre a rendere disponibile il setup completo, offre anche vari <em>bundle</em>, ognuno dedicato ad un linguaggio di programmazione / tecnologia specifico (il design modulare è un’altra delle novità introdotte in NetBeans 6.0).</p>
<p style="text-align:right;">[via: html.it &#124;&#124; ossblog.it]</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Hagámos la diferencia.]]></title>
<link>http://tecnogemas.wordpress.com/?p=23</link>
<pubDate>Thu, 01 May 2008 19:09:50 +0000</pubDate>
<dc:creator>eipipuz</dc:creator>
<guid>http://tecnogemas.wordpress.com/?p=23</guid>
<description><![CDATA[¿Qué tan seguido trabajo con otros? Parece simple la pregunta. Diario. La respuesta automática. O]]></description>
<content:encoded><![CDATA[<p>¿Qué tan seguido trabajo con otros? Parece simple la pregunta. Diario. La respuesta automática. O, "¿qué hay de otra?" La escuela, quizá con visión, puso mucho énfasis en que trabajara en equipo. ¿Pero realmente aprendí? O hice como otros que cada quien su parte y luego alguien lo juntaba todo. ¿A poco no?, esa es la forma en que muchas empresas conciben a los equipos.</p>
<p><!--more--></p>
<p>Mis maestros se quejaban de esos trabajos parchados. ¿Cuál era su objetivo? Siendo idealista querían que convivieramos, nos ayudaramos, formaramos sinergía. Siendo pesimista, aunque está de moda llamarle a eso "realista", querían simplemente un trabajo que pudieran leer sin tener brincos inesperados. Como si en una casa te golpearas la cabeza porque una puerta está más baja que las demás.</p>
<p>Pero píensalo bien. Ambos puntos de vista son interesantes. Si hacemos software, ¿cuál es la probabilidad que tú y tus amigos hagan algo más grande que por separado? Y al mismo tiempo, a los clientes les fascina la <a href="http://www.c2.com/cgi/wiki/wiki?SoftwareUsability">experiencia continua</a>. Hoy te hablo de herramientas para trabajar con las diferencias.</p>
<p>Hasta hace poco me di cuenta que podríamos separar a los ingenieros por su capacidad de hacer un buen merge. Pero para esto tenemos que dotarlos de buenas herramientas o será más un concurse de resistencia al aburrimiento. Mi favorito es kdiff3. Es una herramienta <a href="kdiff3.sourceforge.net/">simple, visual y poderosa</a> para batallar hasta con 3 versiones concurrentes de un mismo código. Se combina muy fácil con mercurial, pero ese es un tema distinto.</p>
<p>Por otro lado siendo cultista de Vim no puedo sino mencionar que <a href="http://blog.objectmentor.com/articles/2008/04/30/vim-as-a-diff-merge-tool">vimdiff está ahí a unas teclas de distancia</a>. Es tema de otro post las bondades de Vim, pero mi consciencia no me dejaría tranquilo si no explico por qué pongo a kdiff3 sobre vimdiff. Vim es el programa a aprender a usar para considerarse ingeniero, pero eso lleva una vida. Y estaría mal que impusiera un mundo sin buenos merges. Kdiff3 lo puedes aprender a usar en 5 minutos. Es como decirte que comas mejor, que eso te dará una calidad de vida a la larga. Por mientras no tomes refrescos negros.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Git y Mercurial: QuickStart for the impatient]]></title>
<link>http://francocedillo.wordpress.com/?p=88</link>
<pubDate>Sat, 26 Apr 2008 05:56:28 +0000</pubDate>
<dc:creator>adagioparacuerdas</dc:creator>
<guid>http://francocedillo.wordpress.com/?p=88</guid>
<description><![CDATA[Deseaba probar los sistemas de control de versiones Git y Mercurial así que decidí versionar un pe]]></description>
<content:encoded><![CDATA[<p>Deseaba probar los sistemas de control de versiones Git y Mercurial así que decidí versionar un pequeño proyecto para postear al Twitter de manera automatizada los últimos feeds de los blogs que administro. Veamos las fuentes de este proyecto como simpleas archivos alacenados en un directorio simple. Inicialmente este directorio se llamaba RSStoTwitter y pensa cambiarlo a RSS2Twitter pero uno de los blogs está sindicado con Atom así que el nombre no era preciso. No me he preocupado en revisar si el Atom es un RSS, pero supongo que amgos son estructuras XML sencillas y transformables entre sí ya que su finalidad e sla misma. No nos desviemos más y vayamos a lo nuestro.</p>
<p>He creado tres directorios para realizar las pruebas.</p>
<p>git_github: versionará empleando Git y es alojado en el servidor libre de GitHub.com<br />
git_assembla: versionará empleando Git y es alojado en el servidor libre de Assembla.com<br />
hg_freehg: versionará empleando Mecurial (HG por el símbolo del elemento químico Mercurio) y es alojado en el servidor libre FreeHG.org</p>
<p>Para el caso de Git se puede emplear la seguridad de un certificado RSA el cual podemos crear desde el directorio home de nuestro usuario:</p>
<p>cd .ssh<br />
ssh-keygen -t rsa<br />
&#60;nombre para el certificado&#62;<br />
&#60;password&#62;</p>
<p>Para mostrar la llave pública realizamos la impresión en pantalla de un archivo generado en el proceso anterior:</p>
<p>cat id_rsa.pub</p>
<p>Esta llave se puede ingresar tanto en el Sitio de Assembla que hayamos creado como en el Perfil de GitHub.<br />
Assembla es un poco más complejo debido a las mayores opciones que permite. Por ejemplo el soporte para Git debemos agregarlo ya que no está activo por defecto y podemos elminar Subversion.</p>
<p>qct<br />
qgit</p>
<p>Para el caso de GitHub realicé lo siguiente:</p>
<p>cd twitterrssmultifeed/<br />
git init<br />
touch README<br />
git add README<br />
git commit -m 'first commit'<br />
git remote add origin git@github.com:adagio/twitterrssmultifeed.git<br />
git push origin master</p>
<p>Ese archivo README está vació pero ya se encuentra en el repositorio. Luego de copiar las fuentes de mi aplicación las agregué, hice commit y nuevamente push. Para el caso de Assembla no realicé el paso de crear un archivo README que no forma parte de mi aplicación sino de un ejemplo. Así que luego de copiar las fuentes en el directorio ejecuté los siguientes comandos.</p>
<p>git add .<br />
git-commit -m "first commit"<br />
git remote add origin git@git.assembla.com:twitterrssmultifeed.git<br />
git push origin master:refs/heads/master</p>
<p>Debido al certificado RSA el password me es solicitado, esto se puede automatizar.</p>
<p>Para el caso de Mercurial realizar un proceso similar fue algo accidentado ya que no completaba la operación de commit. Lo más sencillo fue clonar el repositorio al directorio local:</p>
<p>cd mercurial_freehg/<br />
clone http://freehg.org/u/adagio/twitterrssmultifeed/ twitterrssmultifeed/</p>
<p>Y Luego de copiar las fuentes emplear una aplicación que realice el commit ( hg status, hg add, hg commit ):</p>
<p>qct</p>
<p>Esta aplicación detecta de forma automática el sistema de control de versiones empleado. Seguramente lo hace buscando los ficheros .git o .hg, de forma similar para otros sistemas como subversion o cvs.</p>
<p>Finalmente el proceso de push lo realicé sin problemas.</p>
<p>hg push http://freehg.org/u/adagio/twitterrssmultifeed/</p>
<p>Vemos que Git y Hg el proceso de commit está separado del push. La teoría de estos sistemas debe justificar esta implementación y el uso de herramientas gráficas totalmente integradas al sistema operativo como Tortoise nos ocultan estos interesantes detalles que podrían ser muy útiles cuando deseamos conocer si ya hemos sobreescrito algún archivo entre otras aplicaciones bastante prácticas.</p>
<p>Pensaba probar el promocionado sistema Bazaar pero parece que los dos que he explicado son mejores. Es una interesante tarea para quien los use conocer sobre la comparación de fuentes, creación de forks, exportación de proyectos, candados, etc. Pero personalmente le doy el uso más sencillo de versionado personal.</p>
<p>Alrededor de estas tecnologías sitios como Assembla están brindando la posibilidad de realizar un seguimiento a reporte de bug, tener salas de chat, establecer hitos, seguir un proceso formal de desarrollo, entre otras herramientas que deben ser seleccionadas de acuerdo a la naturaleza del proyecto que se tenga.</p>
<p>Saludos.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Open Source 2.0]]></title>
<link>http://tecnogemas.wordpress.com/?p=18</link>
<pubDate>Sat, 26 Apr 2008 01:53:25 +0000</pubDate>
<dc:creator>eipipuz</dc:creator>
<guid>http://tecnogemas.wordpress.com/?p=18</guid>
<description><![CDATA[gem sources -a http://gems.github.com/
Hace mucho, mucho tiempo, existía una catedral que tenía un]]></description>
<content:encoded><![CDATA[<blockquote><p>gem sources -a http://gems.github.com/</p></blockquote>
<p>Hace mucho, mucho tiempo, existía una catedral que tenía un mercado a lado, blah blah... Hoy el open source es igual y al mismo tiempo distinto que lo <a href="http://en.wikipedia.org/wiki/Eric_Raymond">ESR</a> nos dijo. Hoy el open source no es el bastión idealista que la GNU quisiera. Hoy el GNU/Open Source es pragmático y las empresas juegan el juego. Básicamente es lo mismo que con internet.</p>
<p><!--more--></p>
<p>Siendo yo idealista, aunque los amigos piensen lo contrario, me siento orgulloso de hoy presentarles un <a href="http://gems.github.com/">nuevo mercado</a>. ¿Qué significa esto? Significa que hoy las gemas (de ruby) tienen un sitio fácil para exponer sus forks. Entiendo si esto te causa conflictos. Entiendo que sientas que los forks diluyen/debilitan al open source. Y finalmente muchas veces es por <a href="http://blog.wired.com/monkeybites/2008/04/in-response-to.html">causas muy bobas</a>. Pero creeme, el mundo es mejor por ello.</p>
<p>Frecuentemente ponen como debilidad que haya tantas opciones. Ciertamente marea descubrir si git es mejor a mercurial o si debes aprender prototype o scriptaculous. Como yo lo veo, no lo hagas. Elige uno, crece en él. O ve ambos, entiende pros y contras. O alterna un poco de este, un poco del otro. Lo importante es entender que cada persona aprende y piensa distinto. Es fútil creer que "siendo objetivos" encontraremos un claro ganador. Let it be.</p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Postmodernismul şi Teoria culturală]]></title>
<link>http://blogideologic.wordpress.com/?p=260</link>
<pubDate>Sun, 06 Apr 2008 05:39:28 +0000</pubDate>
<dc:creator>blogideologic</dc:creator>
<guid>http://blogideologic.wordpress.com/?p=260</guid>
<description><![CDATA[Trăim în postmodern, se spune frecvent. Prin ce-i deosebit  timpul modern,  din care venim noi, ]]></description>
<content:encoded><![CDATA[<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:12pt;line-height:115%;">Trăim în postmodern, se spune frecvent. Prin ce-i deosebit <span> </span>timpul modern, <span> </span>din care venim noi, cei influenţaţi de generaţiile încă mai vechi, de timpul postmodern <span> </span>al vieţuirii de-acum ? Omul postmodern dovedeşte ‘l'incrédulité à l'égard des métarécits’, nu arată credulitatea omului modern faţă de metanarativ, l-am citat pe Jean-François Lyotard, inventatorul conceptului. Metanarativul include marile poveşti europene ale timpului modern: revoluţiile de la 1848, Independenţa de la 1877, şi revoluţiile anului 1989. În virtutea neîncrederii faţă de metanarativ, postmodernismul nu posedă agendă, nu construieşte strategii. Totuşi, după 1989, România a semnat şi ratificat, prin cei mai înalţi demnitari, Agenda 21, care stabileşte planul cadru pentru dezvoltarea durabilă. Atunci, cum este posibilă creşterea sustenabilă în timpul postmodern? Prin recurs la un Weltanschauung agregat din cunoaşterea prudenţială, cunoaşterea teoretică, şi cunoaşterea tehnico-productivă. </span></p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Teoria culturală se referă în mod expres la cultura populară şi la arhetipurile culturale. Cultura populară acceptă şi o definiţie negativă, revelatoare pentru noi. Despre cultura populară de acum nu s-ar putea spune că-i purtătoarea sau depozitara unui mesaj de autenticitate arhaică. Cultura populară nu are vreo legătură cu folclorul, chiar este total opusă folclorului. Cultura populară<span>  </span>ideală, mesianică, pentru „salvarea Pământului”, ar putea fi numită : “Cultura asimilării etichetelor ecologice”. Cultura populară ar putea deveni parte esenţială a discursului public. </span></span></p>
<p class="MsoNormal" style="margin:0 0 10pt;"><span style="font-size:12pt;line-height:115%;">Dezvoltarea durabilă este centrată<span>  </span>pe economia de piaţă a produselor de calitate. Atât în sensul calităţii ontice, cât şi al calităţii statistice. Calitatea ontică a produsului înseamnă racordarea produsului la înclinaţia ontică a individului, constatată de el prin faptul că achiziţionarea produsului duce la creşterea forţelor personale, a capacităţilor individuale. Aceasta constituie esenţa conceptului “democraţie achiziţională”. Iar calitatea statistică <span> </span>a produsului este controlată <span> </span>de instrumentul managerial Sixsigma aplicat în industrii, --patentul aparţine firmei Motorola--, dar în cultura română ea este controlată cu ‚metodologia Ioan Plăcinţeanu’ pentru prelucrarea datelor numerice dintr-un laborator şi dintr-o industrie. Odată cu intrarea în Uniunea Europeană, produsele de ‚calitate ontică’ totală trebuie sa fie însoţite, când sunt oferite pe piaţă, de ‚etichete ecologice’ care certifică valoarea lor pentru durabilitatea noastră holistică. Nu este suficient să oferi pe piaţă produse de ‚calitate ontică’ <span> </span>dacă ‚etichetele ecologice’ nu sunt sprijinite de Teoria culturală. </span></p>
<p>S<span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">ă ne lămurim ce-nseamnă cuvântul cultura, înainte de a defini, -- nu riguros, ci ostensiv--, Teoria culturală. Termenul cultura se referă la diverse activităţi umane , fie, --printr-o unificare holistică a diversităţii--, la ‚activitatea umană’ în general, incluzând toate acţiunile antropice de control şi dominare a naturii. Cuvântul cultura provine din latinescul colere, ceea ce se traduce fie a locui, fie a cultiva, fie a onora. Definiţiile diferite ale culturii reflectă<span>  </span>teorii felurite ale cunoaşterii, ale </span><span style="font-size:12pt;line-height:115%;">î</span><span style="font-size:12pt;line-height:115%;">nţelegerii, şi criterii diverse în evaluarea activităţilor antropice. Scriind o carte cu titlul ‘Culture: A Critical Review of Concepts and Definitions’, în 1952 Alfred Kroeber <span> </span>şi Clyde Kluckhohn compilau un inventar cu peste 200 intrări ale cuvântului cultură. In secolul XVIII şi începutul de veac XIX, cărturarii Occidentului postulau congruenţa între Cultură<span>  </span>şi Civilizaţie, amândouă<span>  </span>fiind opuse Naturii. Întrebuinţarea populară a termenului<span>  </span>cultura<span>  </span>reflectă <span> </span>accentuat stratificarea socială. Cuvântul cultura <span> </span>este utilizat ca referire la activităţile unei elite bogate, (deja în perspectiva din Împărat şi proletar, Mihai Eminescu<span>  </span>sublinia consumerismul exclusivist al acestor elite), fine cuisine, haute couture, arhitectura şi decorarea<span>  </span>locuinţelor, achiziţionarea operelor de artă. Către sfârşitul de veac XIX, în Belle Époque şi dominarea pozitivismului, antropologii propuneau <span> </span>o definiţie a culturii pe care Occidentul putea s-o aplice la o paletă mai largă de societăţi. Se exprima clar ideea relaţiei, chiar identificarea culturii, cu firea omenească în general şi <span> </span>natura intrinsecă a omului. Rădăcinile culturii par a se ascunde în universala capacitate umană de a clasifica experienţele, de a le codifica şi comunica simbolic. Grupuri de oameni aflate la mari distanţe dezvoltă<span>  </span>culturi distincte şi caracterizate prin unicitate, însă elemente ale diverselor culturi se pot propaga “prin civilizaţie” de la un grup de oameni la altul. </span><span style="font-size:12pt;line-height:115%;">Î</span><span style="font-size:12pt;line-height:115%;">n general, se ştie, există cultură materială şi cultură simbolică, nu doar prin reflectarea unor tipuri diferite de activităţi umane, ci şi pentru că ele </span><span style="font-size:12pt;line-height:115%;">furnizează </span><span style="font-size:12pt;line-height:115%;">tipuri distincte de date, cu metodologii de tratare diferite. Ca ecologist industrial, consider că arheologii îşi focalizează cercetarea pe cultura materială, iar antropologii culturali ai aceleeaşi epoci sunt interesaţi mai ales de cultura simbolică. Dar în finalul integrator ambele grupuri de cercetători se arată preocupate <span> </span>de relaţiile între cele două dimensiuni ale culturii. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Această ştiinţă integratoare se cheamă “Teoria culturală”. </span><span style="font-size:12pt;line-height:115%;">Este o ştiinţă generativă n</span><span style="font-size:12pt;line-height:115%;">ăscută din Trivium, nu din Quadrivium. Care-i locul ei în cultura română ? Când Titu Maiorescu vorbea românilor despre “Forma fără fond”, construia de fapt discursul despre fondul “Teoriei culturale”. Ce a </span><span style="font-size:12pt;line-height:115%;">î</span><span style="font-size:12pt;line-height:115%;">nsemnat Junimismul, altceva decât un sistem de producţie animat de “nouă meşteri mari, calfe şi zidari” ai cuvântului care încercau să construiască <span> </span>în România <span> </span>peretele dinspre Răsăritul european al modernităţii, după schiţe şi planuri ce veneau din Apus, <span>  </span>prin expansiunea iluminismului scoţian? Societatea Junimea se afirma ca far de valori culturale urmând programul cărturarului scoţian Thomas Carlyle (1795–1881), cunoscut şi admirat în Germania unde<span>  </span>studiaseră junimiştii ce proveneau din familii înstărite. Junimismul era programul tranziţiei de la Iluminismul clasic al secolului XVIII, cu idealuri prevestind liberalismul şi <span> </span>incorporate deja<span>  </span>în paşoptismul românesc, la spiritualitatea dinamică a secolului XIX,<span>  </span>ilustrată mai ales prin cultura germană, insista Carlyle.</span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Cel puţin pentru că fundamentează<span>  </span>acum acordarea<span>  </span>etichetelor ecologice <span> </span>pentru produsele comerciale, “Teoria culturală” <span> </span>devine ‚cale regală’ pentru înţelegerea lumii postmoderne, a <span> </span>felului cum evoluează, şi mai ales, a felului cum va <span> </span>supravieţui. Dintre toate ştiinţele de până acum, tocmai “Teoria culturală” este esenţială pentru supravieţuirea omenirii. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">“Teoria culturală” doar întârzie venirea Zilei de Apoi, căci Apocalipsul nu poate fi evitat. Bibliografia pentru “Teoria culturală” e vastă. Titluri relevante pot fi întâlnite în locuri neaşteptate. În primul episod al trilogiei cinematografice “Matrix” a fraţilor Wachowski, eroul Neo ascundea programele de computer, <span> </span>pe care le vindea la negru, între coperţile unei cărţi semnate de Jean Baudrillard. Autorul a fost un filosof real, cu texte formidabil de revelatoare pentru “Teoria culturală”. Jean Baudrillard fusese<span>  </span>influenţat de ‚Oracolul erei electronice’, Marshall McLuhan, despre care s-a argumentat serios că a fost ‚primul postmodernist’. Universitarul canadian Marshall<span>  </span>McLuhan devenea cunoscut în România la<span>  </span>insistenţa protocronistului Mircea Maliţa, şi prin titlul unei cărţi tradusă în anul 1975 : “Galaxia Gutenberg”. Unde profesorul McLuhan argumenta ideea că inventarea tiparului a fost heraldul revoluţiei industriale. O consecinţă a „revoluţiei tiparului” ar fi fost neaşteptată fragmentare a societăţii umane din Europa, <span> </span>după unificarea religioasă prin creştinism, ducând la înflorirea individualismului. McLuhan susţinea că, spre deosebire de ascultarea colectivă a mesei liturgice, citirea în gând a Bibliei, --sau oricărei cărţi--, era un act individualist de percepere a lumii. Cu<span>  </span>inventarea tiparului se nasc stelele pieritoare ale Galaxiei Gutenberg, cărţile multiplicate în serie pe hârtie, fiecare Carte fiind semnată <span> </span>de un „honnête homme”. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Mediile de comunicare electronice erau prezentate de Marshall McLuhan drept o revenire la “gura satului”. Adică la modul ontologic colectiv de percepere şi prezentare a lumii. Ubicuitatea manifestă a <span> </span>mediilor de comunicare electronice duce însă la emergenţa „satului global”, formula-i celebră. Opera filosofică a lui Marshall McLuhan este relevantă mai ales prin tentativa de normare a eticii mijloacelor de comunicaţie electronice. Acolo, se pare, Marshall McLuhan a fost influenţat de filosoful iezuit Pierre Teilhard de Chardin. Acela care gândea că utilizarea electronicii de către om preia, extinde, şi amplifică impulsurile electrice neuronale din creier. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">În istoria Teoriei culturale, de la McLuhan a rămas faimosul dicton : “Mediul este mesajul”. Expresie extremă. Ea identifică “forma” cu ”fondul”, şi aminteşte, --dar antinomic--, formula “Forma fără fond”. Marshall McLuhan se referea atunci la explozia informaţională adusă de televiziune, cu audienţa sa largă, pe care Jean Baudrillard o va denumi Agora-display, expandată apoi în realitatea virtuală a filmelor fraţilor Wachowski. Reamintim că <span> </span>“Matrix” este o producţie a celei de a şaptea arte cu acţiunea plasată într-o lume super-high-tech, unde IT, --“Information Technology” ori “tehnologia informaţiei”--, <span> </span>va fi crescut la stadiul generării lui Homo Cyber Sapiens. Fraţii Wachowski sesizau faptul că între dezvoltarea tehnologică şi Teoria culturală există o legăturã. <span> </span>“Teoria culturală” de azi<span>  </span>este <span> </span>deosebit de importantă chiar şi pentru Banca Mondială care finanţează proiectele dezvoltării durabile şi măsoară impactul ambiental al încălzirii globale, măsuri după care sunt acordate şi etichetele ecologice. Deci Teoria culturală este acel domeniu al studiilor culturale în care-i analizată cultura consumului de bunuri (incluzând aici şi serviciile) produse industrial, "de masă", şi comercializate pe piaţa liberă. </span></span></p>
<p> </p>
<p> </p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Imperialismul cultural este definit acum prin cultura populară cea mai comună : cultura consumerismului. Dar antropologii care văd cultura ca o reţea complexă de organigrame mobile, conectând oameni reali din diverse locuri şi formaţiuni sociale, resping identificarea între cultură şi consumul de bunuri. Practic numai prin această identificare, cultura populară instituie o “logică a consumerismului”. În această înţelegere a termenului, postmodernismul se (re)defineşte tocmai prin "cultura populară". Chiar titlul cărţii lui Fredric Jameson din anul 1991 : "Postmodernismul, o logică a culturii capitalismului târziu", este relevant. Deja profesorul<span>  </span>Marshall McLuhan, filosof în termeni informali dar ocupând funcţia de director la Center for Culture and Technology <span> </span>al Universităţii din Toronto, era solicitat de oameni de afaceri nord-americani să ţină prelegeri<span>  </span>foarte bine plătite privind felul în care un nou tip de cultură ar putea influenţa şi augmenta consumul, considerat în doctrina economică a Statelor<span>  </span>Unite ale Americii a fi<span>  </span>Motorul Dezvoltării. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Cultura populară devine <span> </span>multiplicarea etichetelor consumeriste mai mult ori mai puţin identice, o “copy culture” - cultură a copiei. Începuturile postmodernismului ar fi fost astfel marcate, pe scara de timp a istoriei, prin transfigurarea subiectului naturii moarte din tablourile <span> </span>clasice, în reprezentări de mărfuri identice stivuite pe rafturile magazinelor. Evident, cele mai cunoscute producţii culturale care glorifică produsele de consum sunt imaginile multiplicate ale sticlelor de Coca Cola şi ale cutiilor de supă Campbell din arta-pop a lui Andy Warhol. Conţinutul acelor opera de artă acoperea ca o viitură creaţiile expresionismului<span>  </span>abstract, căci după Fredric Jameson, finalul apoteotic al modernismului avea drept decor tablourile de acţiune ale unor artişti plastici precum Jackson Pollock ori Willem de Kooning. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Deşi joncţiunea aceea cu nenumărate pericole anunţate, <span> </span>vorbesc despre<span>  </span>anul 2000, a fost depăşită benign, să adăugăm că Fredric Jameson corela emergenţa postmodernismului cu tipul particular de milenarism aflat la îmbinarea dintre mileniul al doilea şi mileniul al treilea. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">S-a ajuns să se vorbească despre "sfârşituri", printre care, să rîdem acum!, despre sfârşitul Istoriei. Altminteri este intelectualiceşte riscant să vorbeşti despre postmodernism, a cărui premisă definitorie este tocmai respingerea metanarativului. Tind să cred că interdicţia impusă metanarativului înseamnă de facto restatuarea pozitivismului care introducea un cloazon între Observator şi Obiect, un cloazon care blochează din actul de observaţie fluxul ne-standardizat <span> </span>al experienţei ontice. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Faptul că nu există anecdotă ce uneşte intrarea intuitivă cu experienţa pentru a fabrica noul adevăr universal –în postmodernism este interzis op-ul <span> </span>„De inventione veritatis”-- creează dificultatea înţelegerii postmodernismului într-o unitate. Ce anume înseamnă integral şi de facto postmodernismul, altfel decât în fragmente de subiect conectate discursiv prin conjuncţie Booleană ? </span></span></p>
<p> </p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Dincolo de chestiuni ţinând de tranziţii arhetipale în cultură şi religiozitate, logica teoriilor postmodernului poartă în ea şi conotaţiile unor generalizări sociologice. Lumea postmodernă este asociată cu inaugurarea unui "nou tip de societate", botezată cu o mulţime de nume alternative : postindustrială, consumeristă, informaţională, electronică, de înaltă tehnologie, societate media etc. Dar în primul rând o societate caracterizatã prin emergenţa fenomenului „cool”. </span></span></p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Deja primul teoretician postmodernist, Marshall McLuhan, introducea dihotomia de clasificare a mijloacelor de comunicare, în categoriile „hot” şi „cool”. Marshall McLuhan caracteriza un mediu informaţional ca fiind „cool”<span>  </span>dacă el necesită un mare număr de participanţi pentru a crea vreun sens acolo. Marshall McLuhan se referea într-un mod specific la televiziune. Chiar şi acum, telenovelele capătă sens doar pentru că sunt privite de foarte multe persoane. Ceea ce McLuhan nu a trăit să mai vadă, era unificarea globală între text, <span> </span>având potenţialul conceptului, şi mijloacele de comunicare electronice,<span>  </span>uniune făcută<span>  </span>posibilă <span> </span>de Internet. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Împrumutând de la McLuhan, fiindu-i, într-un fel, continuator intelectual, Jean Baudrillard -- „the French McLuhan” statua discursivitatea<span>  </span>electronică drept „cool”. În practicile discursului electronic, sublinia Baudrillard, comunicarea înlocuieşte schimbul de simboluri cu comutabilitatea, exterminând realul semnificaţiei. Luciditatea lui Jean Baudrillard este echivalentã unei „Terori exercitate de Spirit”, cum îl acuza ideologul Alain Minc ? Împingând acuzaţia lui Alain Minc până la punctul de evanescenţă, am conchide că Buda, Confucius, Zoroastru, Iisus Christos şi Mahomed au fost cei mai mari „terorişti spirituali” din Istorie. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Într-o lume unde Zeul Omiscient a fost înlocuit de Semiologie, ne putem întreba : Este „cool” un limbaj ? În cartea<span>  </span>„Culture Jam: The Uncooling of America”, Kalle Lasn supralicita importanţa factorului ‚cool’, ce transformă cultura nord-americană într-un capitalism în care consumerismul nu-i doar stil de viaţă, ci şi un limbaj. ‚Cool’ ar fi un ‚etos al corporaţiilor’, extrem de manipulativ şi motivând cultura americană doar pentru a impulsiona creşterea economică. Privind <span> </span>conceptul "cool" în contextul consumerismului şi al exploziei globalizante a economiei de piaţă, atunci "cool" este acel detaliu din 'calitatea ontică' a unui produs care intensifică individualitatea, în singularitea sa radicală, pentru persoana care achiziţionează produsul respectiv.</span></span></p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">În numărul din noiembrie 2001 al revistei „Wired magazine”, apărea articolul „Fenomenul Cool” , insistând pe conceptul ‚cool’ ca ‘forţă revoluţionară’ atât în istoria culturală, cât şi în istoria producţiei tehnologice : <em>„Cool could be beamed into 100 million homes, tracked and data-processed. Downloaded from across an ocean. Or bounced off a satellite on your wrist.”</em> </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">„Cool” rezultă dintr-o suprapunere între Cornul abundenţei şi conul invidiei. ‚Cool’ este un obiect al societăţii de consum, de exemplu un gadget etc la care nu ai acces. Însă invidia este înlocuită în secolul XXI cu o depreciere egalizatoare : <em>„Dacă<span>  </span>vecinii tăi au un produs cool, atunci în mod hotărât produsul nu mai este cool.”</em> </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Deci încercarea de a prinde fenomenul ‚cool’ în cultura populară este mai curând o capcană consumeristă. Cum remarca şi Lewis MacAdams, autorul cărţii „Birth of the Cool” : <em>„Oricine încearcă să definească termenul ‚cool’ constată repede </em><em>natura lui mercurială, de argint viu ce nu poate fi prins. În momentul în care un subiect este definit drept ‚cool’, natura sa ,cool’ se evaporă.”</em> </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;"><span style="font-size:12pt;line-height:115%;">Printr-o identificare şi o multiplicare industrială a produsului, dispare curând acel caracter de singularitate radicală care intensifică individualitea. Fenomenul ,cool’ este deci caracterizat printr-un orizont de timp foarte scurt. </span></span></p>
<p> </p>
<p><span style="font-size:12pt;line-height:115%;">Adaptarea la cerinţele ‚cool’, şi integrarea culturii populare, înseamnă în acelaşi timp o aculturaţie ce introduce o fractură majoră între tradiţie şi post-modernitate. Să mai observăm că în România comunistă, unde ‚cool’ era prohibit, însă ţara era supusă unui program de asimilare a ‚revoluţiei tehnico-stiinţifice contemporane’, protocronismul lui Edgar Papu a încercat să construiască atunci o punte între tradiţie şi o post-modernitate fără ‚cool’.</span> </p>
<p><span style="font-size:12pt;line-height:115%;">Titus Filipas</span> </p>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Eclipse setup]]></title>
<link>http://svrist.wordpress.com/?p=111</link>
<pubDate>Thu, 03 Apr 2008 15:43:33 +0000</pubDate>
<dc:creator>Søren Bjerregaard Vrist</dc:creator>
<guid>http://svrist.wordpress.com/?p=111</guid>
<description><![CDATA[Image from WikipediaI work with eclipse all day, so I&#8217;ve spent some time messing around with p]]></description>
<content:encoded><![CDATA[<p><span class="zemanta-img" style="display:block;float:right;margin:1em;"><a href="http://commons.wikipedia.org/wiki/Image:Wave.svg" target="_blank"><img style="border:medium none;display:block;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/Wave.svg/202px-Wave.svg.png" alt="Duke, the Java Mascot, in the waving pose." /></a><span style="display:block;margin:1em 0 0;">Image from <a href="http://commons.wikipedia.org/wiki/Image:Wave.svg">Wikipedia</a></span></span>I work with <a title="Eclipse website" href="http://eclipse.org" target="_blank">eclipse</a> all day, so I've spent some time messing around with plugins. Lots and lots of plugins.</p>
<p>The plugins I've current  stablized on is:</p>
<ul>
<li>Maven2 plugin:<a title="Maven2 plugin" href="http://m2eclipse.codehaus.org/" target="_blank"> http://m2eclipse.codehaus.org/</a> (update-site: http://m2eclipse.sonatype.org/update/)</li>
<li>PMD for static analysis of java code: <a title="PMD for eclipse" href="http://pmd.sourceforge.net/integrations.html#eclipse" target="_blank">http://pmd.sourceforge.net/integrations.html#eclipse</a> (update-site: http://pmd.sf.net/eclipse )</li>
<li>Findbugs for static analysis of java bytecode <a title="Findbugs eclipse plugin" href="http://findbugs.sourceforge.net/manual/eclipse.html" target="_blank">http://findbugs.sourceforge.net/manual/eclipse.html </a>(update-site: http://findbugs.cs.umd.edu/eclipse/)</li>
<li>Checkstyle for doing code the Right Way(tm). <a title="Checkstyle" href="http://eclipse-cs.sourceforge.net/" target="_blank">http://eclipse-cs.sourceforge.net/</a> (update-site: http://eclipse-cs.sourceforge.net/update)</li>
<li>EclEmma <a title="ECLEMMA" href="http://www.eclemma.org/" target="_blank">http://www.eclemma.org/</a> for junit codecoverage (update-site: http://update.eclemma.org/) Very nice to get a view of how much your tests cover your code. 50% should be possible right? :)</li>
<li>SpringIDE for code completion in spring bean xml-files. Very very nice! <a title="Spring IDe" href="http://springide.org/project/wiki/SpringideInstall" target="_blank">http://springide.org/project/wiki/SpringideInstall</a>, (Update-site: http://springide.org/updatesite)</li>
</ul>
<p>I use the code formatter extensively as possible. It's very nice to get these things like a gift instead of spending time on wrapping lines and formatting by hand.</p>
<p>When using  the codeformatter you really can benefit from "<a title="Save action praise from other blogger" href="http://zvikico.typepad.com/problog/2007/08/eclipse-europa-.html" target="_blank">Save Actions</a>". The most timesaving feature for me so far. My setup currently includes all checkboxes, and a stack of additional action. No more time spent inserting spaces between ) and {</p>
<p>Good stuff!</p>
<p>For my <a title="On of my posts about sparetime project" href="http://svrist.wordpress.com/2008/02/19/toying-around/" target="_blank">sparetime</a> <a title="Sparetime project 2" href="http://svrist.wordpress.com/2008/02/20/focus-on-the-technology/" target="_blank">project</a> I'm currently exploring other plugins:</p>
<ul>
<li>Mercurial eclipse plugin: <a title="Eclipse hg plugin" href="http://www.vectrace.com/mercurialeclipse" target="_blank">http://www.vectrace.com/mercurialeclipse</a> (Update-site: http://www.vectrace.com/eclipse-update/)</li>
<li><a title="New plugin mail" href="http://article.gmane.org/gmane.comp.lang.scala/11181" target="_blank">new Scala plugin</a> : http://scala.sygneca.com/tools/eclipse</li>
</ul>
<p>The mercurial plugin isn't quite ready yet, but it's getting there. <a title="A ticket i spend some time on" href="http://home.zingo.org/trac/mercurialeclipse/ticket/166" target="_blank">Things are happening</a>, and as the mail and website for the new scala plugin suggests that plugin isn't quite there yet.</p>
<p>I dont mind, it gives you that pioneering feeling :)</p>
<p>If anybody should pop by and see this list, feel free to suggest all those nifty plugins I'm missing!</p>
<p>Happy coding</p>
<p><fieldset><legend>Related articles</legend></p>
<ul class="zemanta-article-ul" style="margin:1em 0 1.5em;padding:0;">
<li class="zemanta-article"><a title="Open in new window" href="http://www.regdeveloper.co.uk/2008/03/14/java_platform_scripting_languages/" target="_blank">Other languages key to Java's future</a> [via Zemanta]</li>
</ul>
<p></fieldset></p>
<div id="zemanta-pixie" style="width:100%;margin:5px 0;"><a id="zemanta-pixie-a" title="Zemified by Zemanta" href="http://www.zemanta.com/"><img style="border:medium none;float:right;" src="http://img.zemanta.com/pixie.png?x-id=baa0f4e1-1003-4adf-a5d4-069214f0200d" alt="" /></a></div>
]]></content:encoded>
</item>
<item>
<title><![CDATA[Free Mercurial Hosting]]></title>
<link>http://scienceproject.wordpress.com/2008/04/01/free-mercurial-hosting/</link>
<pubDate>Tue, 01 Apr 2008 05:21:26 +0000</pubDate>
<dc:creator>Daniel</dc:creator>
<guid>http://scienceproject.wordpress.com/2008/04/01/free-mercurial-hosting/</guid>
<description><![CDATA[http://freehg.org/
Another option for version control we can use.
]]></description>
<content:encoded><![CDATA[<p>http://freehg.org/</p>
<p>Another option for version control we can use.</p>
]]></content:encoded>
</item>

</channel>
</rss>
