<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>Jedi/Sector One's random thoughts - Home</title>
  <id>tag:00f.net,2010:mephisto/</id>
  <generator version="0.8.0" uri="http://mephistoblog.com">Mephisto Drax</generator>
  <link href="http://00f.net/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://00f.net/" rel="alternate" type="text/html"/>
  <updated>2009-12-29T21:50:16Z</updated>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-12-29:562</id>
    <published>2009-12-29T21:44:00Z</published>
    <updated>2009-12-29T21:50:16Z</updated>
    <category term="Apple - OSX"/>
    <category term="Misc"/>
    <category term="Software"/>
    <category term="app"/>
    <category term="gps"/>
    <category term="twonav"/>
    <link href="http://00f.net/2009/twonav-for-iphone-is-now-available" rel="alternate" type="text/html"/>
    <title>Twonav for iPhone is now available</title>
<content type="html">
            &lt;p&gt;CompeGPS Twonav is an awesome piece of GPS navigation software, featuring both onroad and offroad navigation.&lt;/p&gt;

&lt;p&gt;The iPhone version is &lt;a href=&quot;http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=346996240&amp;amp;mt=8&quot;&gt;now available on the AppStore&lt;/a&gt; and it definitely looks like the best GPS navigation app for iPhone ever.&lt;/p&gt;

&lt;p&gt;Oh and it features a well-known FTP server :)&lt;/p&gt;

&lt;p&gt;Get it while it's hot, it's really worth the price.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-09-12:548</id>
    <published>2009-09-12T18:41:00Z</published>
    <updated>2009-09-13T13:30:05Z</updated>
    <category term="Misc"/>
    <category term="Software"/>
    <category term="cache"/>
    <category term="html5"/>
    <category term="localstorage"/>
    <link href="http://00f.net/2009/localstorage-cache-html5" rel="alternate" type="text/html"/>
    <title>Application-controlled browser cache using local storage. </title>
<content type="html">
            &lt;p&gt;In order to reduce latency and improve the user experience, using client caching is the web development 101.&lt;/p&gt;

&lt;p&gt;Setting correct HTTP server-side headers in order to instruct the web browser to keep the content in its local cache, has become straightforward with modern web servers (for static content), frameworks and middleware layers (Rack!).&lt;/p&gt;

&lt;p&gt;However, this is only a hint. The actual caching policy remains up to the web browser. Setting HTTP headers doesn't give applications any control nor feedback about what's really going on client-side.&lt;/p&gt;

&lt;p&gt;Specifically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can't tell whether a resource is already in the client cache or not (ok, you can, but by making extra requests, which is, outside the scope of a demonstration, exactly what you're trying to avoid),&lt;/li&gt;
&lt;li&gt;You can't tell whether what you asked the browser to cache was actually cached or not&lt;/li&gt;
&lt;li&gt;You can't invalidate a cached resource&lt;/li&gt;
&lt;li&gt;You have no way to prioritize cached content. A huge Javascript should probably stay in the client cache as long as possible, while a 20 bytes-long transparent GIF image is no biggie if it has to eventually get reloaded. The only knob you have on the browser cache is a deadline (which is almost always, and should be, &quot;immediately&quot; or &quot;never&quot;), and it doesn't allow any kind of real prioritization.&lt;/li&gt;
&lt;li&gt;Some web browsers, like Safari (and UIWebView components) on the iPhone have a ridiculously small cache.&lt;/li&gt;
&lt;li&gt;Watching your web server delivering so many 304 replies is driving you nuts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Fortunately, the HTML5 specs bring an exciting feature: client-side storage. Thanks to localStorage et al., web browsers now provide a convenient way to permanently store big chunks of data, giving applications full control of the data store. While the primary target was offline web applications, client-side storage can also be extremely helpful in a bunch of other situations.&lt;/p&gt;

&lt;p&gt;When you think about it, what's the difference between local storage and cached resources? Not much, except that local storage is fully application-controlled, and can solve every issue listed above!&lt;/p&gt;

&lt;p&gt;A good example might be a huge Javascript that you really would love to keep cached. It doesn't mean that additional content like pictures shouldn't get cached as well, but you know that this specific script is critical and that users won't be able to see anything but a blank page till this one isn't ready for action.&lt;/p&gt;

&lt;p&gt;Here's the trick. Instead of using a script element, this very script can be loaded using XHR, then eval()'d. Since the script is available as a regular string, storing it as an entry in the browser data store is a piece of cake. Checking whether the script is already in the cache is also as easy as checking a key for existence. Invalidation is as easy as deleting the entry. This way, we get a totally user-controlled browser cache.&lt;/p&gt;

&lt;p&gt;Here's a real-life example: &lt;a href=&quot;http://geobar.pureftpd.org&quot;&gt;Geobar&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Geobar was specifically designed for iPhone and Android devices. It relies on the OpenLayers scripts + some custom Geoportail scripts. All packed together, we get 1 Mb worth of data that are absolutely mandatory for the page to display. And this is where local storage works wonders.&lt;/p&gt;

&lt;pre&gt;
    function load_scripts() {
        if (window.localStorage[&quot;geoapi_js&quot;]) {
            window.eval(window.localStorage[&quot;geoapi_js&quot;]);
        } else {
            var xhr = new XMLHttpRequest;
            xhr.onreadystatechange = function() {
                if (this.readyState != 4) {
                    return;
                }
                if (this.status != 200 &amp;&amp; this.status != 0) {
                    alert(&quot;Error: &quot; + this.status);
                    return;
                }
                try {
                    window.localStorage[&quot;geoapi_js&quot;] = this.responseText;
                } catch (e) { }
                window.eval(this.responseText);            
            };
            xhr.open(&quot;GET&quot;, &quot;geoapi.js&quot;, true);
            xhr.send();
        }
    }
&lt;/pre&gt;

&lt;p&gt;This is enough to keep the script in the data store instead of relying on the traditional HTTP cache.&lt;/p&gt;

&lt;p&gt;Why not use an HTML5 manifest instead, you may ask? To start with, the manifest still doesn't give you much control about the cached content. And further HTTP requests made from a resource loaded this way have no Referer, which might be a showstopper, as it was the case here.&lt;/p&gt;

&lt;p&gt;Of course, the same trick can be used in order to store other kind of resources like stylesheets, and, why not, hex-encoded images.&lt;/p&gt;

&lt;p&gt;While HTML5 makes local storage easy and powerful, almost every major web browser out there has some kind of support for local storage for ages: userData (since IE 5.0), globalStorage (since Firefox 2), and for those running behind, Flash comes to the rescue with its Shared Objects.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-09-12:547</id>
    <published>2009-09-12T18:35:00Z</published>
    <updated>2009-09-12T18:40:57Z</updated>
    <category term="My boring life"/>
    <category term="twitter"/>
    <link href="http://00f.net/2009/is-twitter-a-blog-killer" rel="alternate" type="text/html"/>
    <title>Is Twitter a blog killer?</title>
<content type="html">
            &lt;p&gt;Long time, no see.&lt;/p&gt;

&lt;p&gt;Granted, this very blog hasn't been updated for ages.&lt;/p&gt;

&lt;p&gt;How come?&lt;/p&gt;

&lt;p&gt;Well, the main culprit is called... Twitter.&lt;/p&gt;

&lt;p&gt;Twitting random crap on the spur of the moment is so much easier than writing blog articles that I didn't really feel like posting new articles here.&lt;/p&gt;

&lt;p&gt;Incidentally, it looks like a lot of big twitters I'm following are also somehow slowing down the pace of their posts on their blog.&lt;/p&gt;

&lt;p&gt;Is it just because Twitter is the shit, or because people are getting lazy?&lt;/p&gt;

&lt;p&gt;Maybe both.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-29:546</id>
    <published>2009-06-29T19:59:00Z</published>
    <updated>2009-06-29T20:05:51Z</updated>
    <category term="Software"/>
    <category term="pubsubhubbub"/>
    <category term="webhooks"/>
    <link href="http://00f.net/2009/enter-webhooks" rel="alternate" type="text/html"/>
    <title>Enter webhooks</title>
<content type="html">
            &lt;p&gt;From igvita.com:&lt;/p&gt;

&lt;p&gt;&quot;With all the recent buzz about real-time web, surely this is the year XMPP/AMQP Publish-Subscribe (PubSub) makes it to the big leagues! Or maybe not. Ejabberd (XMPP), RabbitMQ (AMQP) and other pubsub server implementations have come a long way but they remain cumbersome to setup and maintain, and perhaps more importantly, the clients require special libraries and a steep learning curve. That is not to say that either XMPP or AMQP are doomed for failure, in fact, they will continue to thrive, but there is a great case for a simplified PubSub implementation to cover the ad-hoc cases where a dedicated TCP channel might be an overkill: enter Webhooks.&lt;/p&gt;

&lt;p&gt;The best part about Webhooks is that most of us are already familiar with them: callbacks over HTTP. Pioneered by PayPal and Subversion as a way to send real-time notifications to the client, they have found their way into many dozens of products we all use every day. Need pre or post commit hooks for your SVN or Git repository? Both GitHub and SVN support HTTP callbacks. Need a payment alert from PayPal, or an alert when a wiki page is modified? There are webhooks for that too. This simple mechanism allows us to build web services that work together via a simple and ubiquitous protocol we can all understand: HTTP!&quot;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.igvita.com/2009/06/29/http-pubsub-webhooks-pubsubhubbub/&quot;&gt;Read more&lt;/a&gt;&lt;/p&gt;


          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-25:545</id>
    <published>2009-06-25T06:54:00Z</published>
    <updated>2009-06-25T06:56:54Z</updated>
    <category term="Software"/>
    <category term="elliptics"/>
    <category term="network"/>
    <link href="http://00f.net/2009/elliptics-network-2-5-0-has-been-released" rel="alternate" type="text/html"/>
    <title>Elliptics Network 2.5.0 has been released</title>
<content type="html">
            &lt;p&gt;[Elliptics Network 2.5.0] has just been released.&lt;/p&gt;

&lt;p&gt;&quot;This is a major milestone in the elliptics network roadmap. System got full support of all essential operations needed for the fully self-contained distributed hash table storage creation.&lt;/p&gt;

&lt;p&gt;Elliptics network is an object based distributed storage which supports different kinds of object replication, data deduplication, high-level file-based API and low-level object-based one. All logically complex parts are hidden behind provided API including failover connection processing, routing table maintenance, joining and synchronization protocols, merge strategies and IO itself.&lt;/p&gt;

&lt;p&gt;Example applications contain a full-featured IO server and client capable of data replication and parallel reading and failover processing, system statistics gathering tool, notification receiver and history dump utility.&quot;&lt;/p&gt;

&lt;p&gt;I'm dying to give it a try.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-24:544</id>
    <published>2009-06-24T17:43:00Z</published>
    <updated>2009-06-24T17:53:09Z</updated>
    <category term="PHP"/>
    <category term="php-fpm"/>
    <link href="http://00f.net/2009/php-fpm-might-get-merged-into-php" rel="alternate" type="text/html"/>
    <title>PHP-FPM might get merged into PHP</title>
<content type="html">
            &lt;p&gt;If you're running a highly loaded web site powered by PHP, you must be using &lt;a href=&quot;http://php-fpm.anight.org/&quot;&gt;php-fpm&lt;/a&gt;, don't you?&lt;/p&gt;

&lt;p&gt;While new releases of php-fpm always immediately follow PHP releases, it's still a PITA to always patch the PHP source code at every release.&lt;/p&gt;

&lt;p&gt;How come php-fpm hasn't been merged into PHP at the first place? The main reason is an incompatible license. Or rather... was.&lt;/p&gt;

&lt;p&gt;Andrei just announced that the license of php-fpm had been changed. It's now the PHP license, and php-fpm can now technically get officially merged into PHP.&lt;/p&gt;

&lt;p&gt;Here's a &lt;a href=&quot;http://groups.google.com/group/highload-php-en/browse_thread/thread/6920dce94d9eb4db/1f40e57aaefff80d?show_docid=1f40e57aaefff80d&quot;&gt;relevant post of the High-performance PHP group&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;PHP is still going to suck, but faster :)&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-13:543</id>
    <published>2009-06-13T22:23:00Z</published>
    <updated>2009-06-13T22:30:37Z</updated>
    <category term="Security"/>
    <category term="browser"/>
    <category term="history"/>
    <link href="http://00f.net/2009/stealing-your-browser-history-without-javascript" rel="alternate" type="text/html"/>
    <title>Stealing your browser history without Javascript</title>
<content type="html">
            &lt;p&gt;Here is a cool demo of a clever technique that displays &lt;a href=&quot;http://www.making-the-web.com/misc/sites-you-visit/nojs/&quot;&gt;your browser history without using Javascript&lt;/a&gt;. Yep, not without any single line of Javascript.&lt;/p&gt;

&lt;p&gt;Well done.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-10:542</id>
    <published>2009-06-10T21:16:00Z</published>
    <updated>2009-06-10T21:24:12Z</updated>
    <category term="Software"/>
    <category term="bayon"/>
    <category term="clustering"/>
    <link href="http://00f.net/2009/bayon-a-fast-clustering-tool" rel="alternate" type="text/html"/>
    <title>Bayon, a fast clustering tool</title>
<content type="html">
            &lt;p&gt;Just released: &lt;a href=&quot;http://code.google.com/p/bayon/&quot;&gt;Bayon&lt;/a&gt;, a simple and fast hard-clustering tool, with support for repeated bisection clustering and K-means clustering.&lt;/p&gt;

&lt;p&gt;Feed him a list of documents, optionally with weighted terms, ask for any number of groups you want it to output, and Bayon will do its best to assign documents to groups.&lt;/p&gt;

&lt;p&gt;That kind of tool can bring a lot of benefits to Ning-like web sites, forums, etc. &lt;/p&gt;

&lt;p&gt;And it seems to work just as advertised.&lt;/p&gt;

&lt;p&gt;Yet another gem by &lt;a href=&quot;http://alpha.mixi.co.jp/blog/&quot;&gt;Mixi&lt;/a&gt;.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-06-06:541</id>
    <published>2009-06-06T07:49:00Z</published>
    <updated>2009-06-06T07:56:54Z</updated>
    <category term="Ruby"/>
    <category term="angeles"/>
    <category term="conference"/>
    <category term="los"/>
    <category term="ruby"/>
    <link href="http://00f.net/2009/yet-some-more-good-presentations" rel="alternate" type="text/html"/>
    <title>Yet some more good presentations</title>
<content type="html">
            &lt;p&gt;Presentations of the Los Angeles Ruby Conference 2009 are now online.&lt;/p&gt;

&lt;p&gt;Here are my picks:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-10-10-resource-oriented-architecture-and-why-it-matters-and-how-waves-make-it-easier-dan-yoder.html&quot;&gt;Resource-oriented architectures, and Google Waves&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-12-40-scaling-most-popular-lists-a-plugin-solution-wolfram-arnold.html&quot;&gt;Scaling 'most popular' lists&lt;/a&gt; - a very common issue&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-18-20-mobilize-your-rails-application-brendan-lim.html&quot;&gt;Mobilize your Rails app&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-16-25-flying-robot-unmanned-aerial-vehicles-using-ruby-and-arduino-damen-evans-ron-evans.html&quot;&gt;Flying Robot: Unmanned Aerial Vehicles Using Ruby and Arduino&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-17-10-johnson-aaron-patterson-john-barnette.html&quot;&gt;Johnson&lt;/a&gt; - is it Javascript, is it Ruby, or? WTF?&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://larubyconf2009.confreaks.com/04-apr-2009-15-15-poolparty-jump-in-the-pool-get-in-the-clouds-ari-lerner-michael-fairchild.html&quot;&gt;PoolParty&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-30:540</id>
    <published>2009-05-30T22:39:00Z</published>
    <updated>2009-05-30T23:11:08Z</updated>
    <category term="Ruby"/>
    <category term="event"/>
    <category term="fibers"/>
    <category term="neverblock"/>
    <link href="http://00f.net/2009/embracing-events" rel="alternate" type="text/html"/>
    <title>Embracing events</title>
<content type="html">
            &lt;p&gt;Straight away from Railswaycon 2009, here's a great presentation about event-driven and fibers-driven development: &lt;a href=&quot;http://www.slideshare.net/methodmissing/embracing-events&quot;&gt;Embracing events in Ruby&lt;/a&gt;. Neverblock is amazing!&lt;/p&gt;

&lt;p&gt;Python zealots can also read &lt;a href=&quot;http://www.slideshare.net/rawwell/a-curious-course-on-coroutines-and-concurrency&quot;&gt;the Python counterpart&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Meanwhile, PHP zealots can keep swearing by PHP 6, that's gonna introduce innovative brain-blasting technology: unicode support (woah!) and basic &quot;goto&quot; support (re-woah!).&lt;/p&gt;

&lt;p&gt;Coroutines puts an end to latency in SOA and database-driven apps, where apps keep being stupidly stuck waiting for a remote server to answer instead of keeping the ball rolling.&lt;/p&gt;

&lt;p&gt;As demonstrated in this presentation, web developpers still have loads to learn from &lt;a href=&quot;http://projectdarkstar.com/&quot;&gt;games coders&lt;/a&gt;. But it seems to sink in slowly.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-29:539</id>
    <published>2009-05-29T08:34:00Z</published>
    <updated>2009-05-29T08:37:05Z</updated>
    <category term="Misc"/>
    <category term="tld"/>
    <link href="http://00f.net/2009/icann-to-open-up-the-tld-namespace" rel="alternate" type="text/html"/>
    <title>ICANN to open up the TLD namespace</title>
<content type="html">
            &lt;p&gt;It was just announced that the following TLDs are likely to emerge soon:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.RADIO&lt;/li&gt;
&lt;li&gt;.ECO (Ecological) &lt;/li&gt;
&lt;li&gt;.GREEN (Ecological) &lt;/li&gt;
&lt;li&gt;.MOVIE (Movie/Film Industry) &lt;/li&gt;
&lt;li&gt;.FAM (Family) &lt;/li&gt;
&lt;li&gt;.MUSIC (Music) &lt;/li&gt;
&lt;li&gt;.HEALTH (dot health) &lt;/li&gt;
&lt;li&gt;.SPORT (dot Sport) &lt;/li&gt;
&lt;li&gt;.INDIGI (for indigenous peoples) &lt;/li&gt;
&lt;li&gt;.NYC (New York City) &lt;/li&gt;
&lt;li&gt;.BERLIN (Berlin Germany) &lt;/li&gt;
&lt;li&gt;.PARIS (Paris France) &lt;/li&gt;
&lt;li&gt;.BZH (Brittany, a region in France) &lt;/li&gt;
&lt;li&gt;.ENG (England, a kingdom in the U.K.) &lt;/li&gt;
&lt;li&gt;.GAL (Galicia, a region in Spain) &lt;/li&gt;
&lt;li&gt;.MED (Mediterranean) &lt;/li&gt;
&lt;li&gt;.LLI (Leonese Language and Leonese Culture) &lt;/li&gt;
&lt;li&gt;.GAY &lt;/li&gt;
&lt;li&gt;.WEB &lt;/li&gt;
&lt;li&gt;.POST &lt;/li&gt;
&lt;li&gt;.MAIL (for emails and to control spam) &lt;/li&gt;
&lt;li&gt;.GEO (generic geographical locations) &lt;/li&gt;
&lt;li&gt;.XXX (Adult Entertainment) &lt;/li&gt;
&lt;li&gt;.BCN (Barcelona) &lt;/li&gt;
&lt;li&gt;.LAT (Latin America)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Are those really useful or is it just a way for the ICANN to make a quick buck?&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-29:538</id>
    <published>2009-05-29T06:38:00Z</published>
    <updated>2009-05-29T07:03:34Z</updated>
    <category term="Misc"/>
    <category term="google"/>
    <category term="io"/>
    <category term="wave"/>
    <link href="http://00f.net/2009/a-sneak-peek-at-the-google-io-conference" rel="alternate" type="text/html"/>
    <title>A sneak peek at the Google IO conference</title>
<content type="html">
            &lt;p&gt;Some videos of what happened at the Google IO conference &lt;a href=&quot;http://code.google.com/intl/fr-FR/events/io/&quot;&gt;are now online&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://code.google.com/intl/fr-FR/apis/wave/&quot;&gt;Wave&lt;/a&gt; really looks like a giant step forward.&lt;/p&gt;

&lt;p&gt;Side note about spam prevention in Wave:
  &quot;In the press conference right after the keynote, a reporter asked  about spam prevention. Lars Rasmussen responded that it hasn't been given much thought yet, since it is a closed developer's preview for now, but also mentioned that most likely Wave would use a whitelist option, where you'd have to add a friend/coworker before they could send/invite you to Waves.&quot;&lt;/p&gt;

&lt;p&gt;Meanwhile, Microsoft just launched a &lt;a href=&quot;http://www.readwriteweb.com/archives/microsoft_launching_real_time-focused_ie8_bundled.php&quot;&gt;real-time focused version of IE8&lt;/a&gt; using OneRiot components.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-27:537</id>
    <published>2009-05-27T22:34:00Z</published>
    <updated>2009-05-27T22:37:51Z</updated>
    <category term="Software"/>
    <category term="ucarp"/>
    <link href="http://00f.net/2009/ucarp-1-5-1" rel="alternate" type="text/html"/>
    <title>UCARP 1.5.1</title>
<content type="html">
            &lt;p&gt;A new release of &lt;a href=&quot;http://www.ucarp.org&quot;&gt;UCARP&lt;/a&gt; is now available for download.&lt;/p&gt;

&lt;p&gt;As a workaround for some OS / setups, that new version adds an option (--nomcast) to use broadcast advertisements instead of multicast.&lt;/p&gt;

&lt;p&gt;Thanks a lot to Steve Kehlet and Juan Antonio for bringing in and testing that new feature.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-26:535</id>
    <published>2009-05-26T08:38:00Z</published>
    <updated>2009-05-26T08:40:08Z</updated>
    <category term="Security"/>
    <category term="java"/>
    <category term="osx"/>
    <category term="vulnerability"/>
    <link href="http://00f.net/2009/hardening-macosx-against-the-java-vulnerability" rel="alternate" type="text/html"/>
    <title>Hardening MacOSX against the Java vulnerability</title>
<content type="html">
            &lt;p&gt;Marc Schoenefeld writes:&lt;/p&gt;

&lt;p&gt;&quot;regarding the regarding OSX java threat CVE-2008-5353 you can either
join the current panic, or fix the issue in five minutes yourself.&lt;/p&gt;

&lt;p&gt;If you belong to the second group of people you can follow
the steps listed here, and also on &lt;a href=&quot;http://www.illegalaccess.org&quot;&gt;http://www.illegalaccess.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Basically the approach takes non-vulnerable classes from
a fixed java version (like sun jdk 1.5.0_18 and makes
it available to the OSX java class loader, which then
fixes the issue). It is a non-intrusive fix, so it
does not impair any patch (if any) that apple will
rollout.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Get the src.zip of a recent non-OSX java distribution (like Sun
Java 5/JDK 1.5.0_18 for Linux)&lt;/li&gt;
&lt;li&gt;unzip src.zip java/util/Calendar.java&lt;/li&gt;
&lt;li&gt;javac java/util/Calendar.java&lt;/li&gt;
&lt;li&gt;zip /somepath/FixedCalendar.jar java/util/Calendar*.class&lt;/li&gt;
&lt;li&gt;In ~/Library/Caches/Java/deployment.properties set option
deployment.javapi.jre.1.5.0.args=-Xbootclasspath/p\:/somepath/FixedCalendar.jar&lt;/li&gt;
&lt;li&gt;Start up a browser, browse to
&lt;a href=&quot;http://www.java.com/en/download/help/testvm.xml&quot;&gt;http://www.java.com/en/download/help/testvm.xml&lt;/a&gt;, see the dancing duke,
open Java Console, press s, you should now see FixedCalendar.jar in the
sun.boot.class.path&lt;/li&gt;
&lt;li&gt;If you are brave, try the PoC exploit on
http://landonf.bikemonkey.org/static/moab-tests/CVE-2008-5353/hello.html,
it should give you a bootstrap failure now&quot;&lt;/li&gt;
&lt;/ol&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2009-05-21:534</id>
    <published>2009-05-21T22:58:00Z</published>
    <updated>2009-05-21T23:21:29Z</updated>
    <category term="Software"/>
    <category term="database"/>
    <category term="elliptics network"/>
    <category term="tokyo cabinet"/>
    <link href="http://00f.net/2009/new-benchmarks-of-elliptics-network-published" rel="alternate" type="text/html"/>
    <title>New benchmarks of Elliptics Network published</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://www.ioremap.net/projects/elliptics&quot;&gt;Elliptics Network&lt;/a&gt; is a a fault tolerant distributed hash table object storage, made by the genius who already brang &lt;a href=&quot;http://www.ioremap.net/projects/pohmelfs&quot;&gt;POHMELFS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.ioremap.net/&quot;&gt;A new benchmark of Elliptics Network&lt;/a&gt; has been published, and it demonstrates its parallel scalability.&lt;/p&gt;

&lt;p&gt;Pretty good. Elliptics Network is yet another project to keep an eye on.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://ceph.newdream.net/about/&quot;&gt;Rados, from the Ceph project&lt;/a&gt; is also moving on, btw, but it's still not production-ready yet.&lt;/p&gt;
          </content>  </entry>
</feed>
