<rss version="0.92">
  <channel>
    <title>the corner office tech blog</title>
    <link>http://www.thecorneroffice.org/tech</link>
    <description>a tech blog on the side</description>
    <copyright>Colin Pretorius</copyright>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/09/100904-0431.html</link>
      <title>Links 2010.09.04</title>
      <description><![CDATA[<ul>
<li><a href="http://www.codeproject.com/KB/dotnet/RuntimePerformance.aspx">Benchmark start-up and system performance for .Net, Mono, Java, C++ and their respective UI</a>
</ul>
]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/09/100901-0146.html</link>
      <title>Links 2010.09.01</title>
      <description><![CDATA[<ul>
<li><a href="http://ubuntu.ecchi.ca/wallpapers/">Unofficial Ubuntu Wallpaper Archive</a>
</ul>]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100830-0314.html</link>
      <title>Links 2010.08.31</title>
      <description><![CDATA[<ul>
<li>Joshua Bloch: <a href="http://googlecode.blogspot.com/2010/08/update-on-javaone.html">Google staying away from JavaOne</a></li>
</ul>
]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100814-1734.html</link>
      <title>Links 2010.08.14</title>
      <description><![CDATA[<ul>
<li>InfoQ: <a href="http://www.infoq.com/news/2010/07/oracle-fixes-java">Oracle Fixes Eclipse's Java Problem</a>. Good points made. Oracle didn't have to, but rolled a new JVM build quicker than Eclipse could get a critical fix out the door. And when Oracle do re-rebrand, old versions of Eclipse will be broken. Pity.
</ul>
]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100814-0651.html</link>
      <title>git. Windows. Line endings.</title>
      <description><![CDATA[<p>
Git/Windows/Eclipse line ending fun. I've already set up Eclipse to create new files as Unix but git has other ideas.
</p>
<ul>
<li><p>GitHub help: <a href="http://help.github.com/dealing-with-lineendings/">dealing with line endings</a></li>
<li><p>To fix an already duffed file in Eclipse, go to <em>File | Convert line delimiters to...</em>
</ul>]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100814-0315.html</link>
      <title>Oracle sues Google</title>
      <description><![CDATA[<p>
Hmmm.
</p>
<ol>
<li>A run-down of the <a href="http://tirania.org/blog/archive/2010/Aug-13.html">Oracle suing Google</a> thing by Miguel de Icaza, Mr Mono himself. The irony.</li>

<li>
James Gosling <a href="http://nighthacks.com/roller/jag/entry/the_shit_finally_hits_the">confirms</a> this was Oracle's game plan from the start.
</li>
</ol>
]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100812-1648.html</link>
      <title>Local Applications Cannot Be Detected </title>
      <description><![CDATA[<p>
Bah. Wanted to take a peek at something running on my laptop but JVisualVM grumbled about unable being able to detect local apps. Helpfully had a link to the <a href="https://visualvm.dev.java.net/troubleshooting.html?Java_VisualVM">trouble-shooting page</a> and the underlying <a href="http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=5042659">issue</a>, which is that HotSpot won't write the necessary perf stuff to the temp dir if it's on a FAT partition because it'd be world readable. Thanks Acer. 
</p><p>
The trick is to run <em>both</em> the app you want to look at and JVisualVM with the argument <code>-XX:+PerfBypassFileSystemCheck</code>.
</p>]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100808-0901.html</link>
      <title>Is it just me?</title>
      <description><![CDATA[<p>
Or is the new offical Javadocs site at download.oracle.com a helluva lot slower and more sluggish than java.sun.com ever was?
</p>]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/08/100806-1750.html</link>
      <title>git refusing to update checked out branch</title>
      <description><![CDATA[<p>
I created a local clone of my main (in git-speak 'origin') repo for one of my projects, and after committing locally and then doing a <code>git push</code> I got this error:
</p>
<pre>
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
</pre>
<p>
After reading <a href="http://stackoverflow.com/questions/2816369/git-push-error-remote-rejected-master-master-branch-is-currently-checked-ou">this</a> it started to make sense. My main/origin repo looked like a first-class, in-use repo, and git thinks that since it might be an active repo, pushing to it would be a bad idea.
</p><p>
The solution was in the post above. Step 1 is to change to the directory containing the origin repo and execute
</p>
<pre>
git config --bool core.bare true
</pre>
<p>
With that done, git knows that the repo is bare, and you can push to it. 
</p><p>
Step 2 would be to delete of any checked out code in the origin directory so that all that directory contains is the <code>.git</code> directory.
</p>]]></description>
    </item>
    <item>
      <link>http://www.thecorneroffice.org/tech/plink/2010/07/100726-1509.html</link>
      <title>It's about the Ctrl-Space</title>
      <description><![CDATA[<p>
At <a href="http://www.artima.com/weblogs/viewpost.jsp?thread=299081">Artima</a>:
<blockquote>
In which I argue that (a) Generics have done egregious harm to both the elegance and readability of the Java language and, (b) they prove by example that static type checking is a linguistic dead-end. Are you persuaded? Do you agree? Read on... 
</blockquote>
<p>
I'm really busy at the moment so I must admit I haven't yet read on, yet I will say three things because the themes come up so often:
<ol>
<li><p>
Generics do suck until you remember how ugly code used to be when you needed monstrosities like <code>((Widget)list.get(0)).foo()</code>.
</p>
</li>
<li><p>
I also remember how much effort it was when you couldn't type <code>list.get(0) Ctrl-2-L</code> and have your IDE autosuggest a sane local variable, etc etc. I also remember how I used to think C++ templates were much better - and in many ways they are, but the one downside is how easily templates break the IDE's autocomplete and navigation functionality.
</p></li>
<li><p>
the benefit of static typing isn't about the <em>compiling</em>, it's about the <em>navigating</em> and the <em>typing</em> (of the keyboard variety). A modern Java IDE allows you to move around and analyse code and autocomplete and generate code and refactor in ways that dynamically typed languages just can't hope to match. As I like to say, Java may be horrendously verbose, but when your IDE allows you to type in paragraphs and sentences instead of words and phrases, it doesn't seem to matter as much.</li>
</p></li>
</ol>
<p>
I suspect that many people in the anti-static/Java camp haven't seen and aren't aware of what an accomplished Java dev can do. Which isn't to say that I think static typing is necessarily or always better than dynamic typing, just that I don't think IDE capability is fully considered in the debate.
</p>

]]></description>
    </item>
  </channel>
</rss>

