<?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,2008: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>2008-11-20T21:49:15Z</updated>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-20:433</id>
    <published>2008-11-20T21:42:00Z</published>
    <updated>2008-11-20T21:49:15Z</updated>
    <category term="cache"/>
    <category term="dns"/>
    <category term="osx"/>
    <category term="resolver"/>
    <link href="http://00f.net/2008/how-to-flush-the-resolver-cache-on-osx" rel="alternate" type="text/html"/>
    <title>How to flush the resolver cache on OSX</title>
<content type="html">
            &lt;p&gt;Flushing the local DNS cache is a common operation, especially if you have to deal with servers IP changes or if you need to tweak your /etc/hosts file (that also seems to get cached on OSX).&lt;/p&gt;

&lt;p&gt;As finding the command in order to do so isn't straightforward, here's the magic command:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dscacheutil -flushcache
&lt;/code&gt;&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-18:431</id>
    <published>2008-11-18T00:45:00Z</published>
    <updated>2008-11-18T00:52:57Z</updated>
    <category term="Security"/>
    <category term="openssh"/>
    <category term="opera"/>
    <link href="http://00f.net/2008/recent-security-flaws-you-might-care-about" rel="alternate" type="text/html"/>
    <title>Recent security flaws you might care about</title>
<content type="html">
            &lt;p&gt;Send9 found an exploitable heap overflow in the Opera web browser. Opera was notified around the time Opera 9.6 was released. Opera 9.61 and 9.62 were released since, but still no fix, so he released a &lt;a href=&quot;http://milw0rm.com/exploits/7135&quot;&gt;public exploit for Opera 9.62&lt;/a&gt;. Very bad times for Opera, as every recent releases mainly addresses security flaws that weren't handled seriously when reported (see FM changelogs).&lt;/p&gt;

&lt;p&gt;Another one you might care about: &lt;a href=&quot;http://www.cpni.gov.uk/Docs/Vulnerability_Advisory_SSH.txt&quot;&gt;Plaintext Recovery Attack Against SSH&lt;/a&gt;, an attack verified on OpenSSH running Debian GNU/Linux.&lt;/p&gt;

&lt;p&gt;Have phun.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-12:430</id>
    <published>2008-11-12T15:07:00Z</published>
    <updated>2008-11-12T15:16:51Z</updated>
    <category term="Software"/>
    <category term="bouncer"/>
    <category term="css3"/>
    <category term="javascript"/>
    <category term="selector"/>
    <link href="http://00f.net/2008/yet-another-fast-css3-selector-implementation" rel="alternate" type="text/html"/>
    <title>Yet another fast CSS3 selector implementation</title>
<content type="html">
            &lt;p&gt;Samuel &quot;Xilinus&quot; Lebeau released &lt;a href=&quot;http://github.com/samleb/bouncer/tree/master/src/bouncer.js&quot;&gt;Bouncer&lt;/a&gt;, yet another CSS3 selector implementation.&lt;/p&gt;

&lt;p&gt;It still lacks some features, there's no benchmark yet, but it doesn't use eval(), it doesn't use listeners, it works bottom-up and the code is very small and slick.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-06:419</id>
    <published>2008-11-06T23:34:00Z</published>
    <updated>2008-11-07T00:32:47Z</updated>
    <category term="My boring life"/>
    <category term="bank"/>
    <category term="money"/>
    <link href="http://00f.net/2008/big-life-secret-how-i-manage-my-money" rel="alternate" type="text/html"/>
    <title>Big life secret: how I manage my money</title>
<content type="html">
            &lt;p&gt;Here's a very personal secret: how I manage my money.&lt;/p&gt;

&lt;p&gt;Let's face it: I never was able to manage my money, or even to know how much I have (ot not) without any helper. Since I joined &lt;a href=&quot;http://www.skyrock.com&quot;&gt;Skyrock&lt;/a&gt; my income is quite constant. But before, it was a complete mess, since I was juggling with part-time and short-time position and freelance jobs.&lt;/p&gt;

&lt;p&gt;Some people seriously track what's happening to their bank account. Some people need no helper to always know what's going on. Some people know how to spare.
I never was able to do anything like that. Never.&lt;/p&gt;

&lt;p&gt;Software like GNUcash is probably a great way to manage one's money. I tried it multiple times, among with tons of other similar software and it was a complete failure. Way too complicated, way too lousy to keep up to date. Even software advertised as &quot;for dummies&quot; felt lousy and too complicated for a dummy like me that just has an income and pays regular stuff. Sounds like this kind of software is made for people with plenty of money and plenty of accounts.&lt;/p&gt;

&lt;p&gt;About 20 years ago, I wrote a very basic (and in GfA-Basic) money tracker. 20 years later, I'm still using something similar and I'm still unable to use anything else.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://static.c9x.org/misc/pognon.png&quot;&gt;Here is a screenshot&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It downloads (was through Minitel, now it is through the Internet) the account status from the bank, it stores that in a database and it displays bars. Hovering a bar shows details.&lt;/p&gt;

&lt;p&gt;And that's all. Fucking all. And it's fucking enough to know:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;at any time, if I can afford to buy some expensive stuff or to have a break: a quick look at the shape of the curve and at the width of the bar the month before, is enough to know.&lt;/li&gt;
&lt;li&gt;when and why large expenses happened, and how they compare to other expenses, just by looking at the relative widths of the bars.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Prices can change, income can change, needs can change, family can change, a financial crisis can happen, no need to be a finance wizard, the tool is always accurate to appreciate whether there's a gap for buying cool stuff, or whether every penny must have a reason to get lost. I just have to try keeping the global shape of the curve regular.&lt;/p&gt;

&lt;p&gt;Am I an immature fucking idiot? Probably. Do I care? No.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-06:418</id>
    <published>2008-11-06T21:46:00Z</published>
    <updated>2008-11-06T21:56:15Z</updated>
    <category term="Software"/>
    <link href="http://00f.net/2008/what-s-the-fastest-in-memory-associative-arrays-library" rel="alternate" type="text/html"/>
    <title>What's the fastest in-memory associative arrays library?</title>
<content type="html">
            &lt;p&gt;Using &lt;a href=&quot;http://alpha.mixi.co.jp/dist/maptest.cc&quot;&gt;the maptest.cc benchmark&lt;/a&gt; :&lt;/p&gt;

&lt;p&gt;(time for insert and for find) :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Tokyo Cabinet   : 0.40563   0.25999
STL map : 2.63157   1.51657
STL multi map   : 2.54474   1.46864
STL set : 2.34127   1.43893
GNU hash map    : 0.75396   0.48303
Google dense hash   : 0.74089   0.41089
Google sparse hash  : 2.06608   0.4709
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;The C++ standard library is clearly the big loser, regardless of the method.&lt;/p&gt;

&lt;p&gt;Tokyo Cabinet just beats everyone.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-05:417</id>
    <published>2008-11-05T08:34:00Z</published>
    <updated>2008-11-05T08:36:24Z</updated>
    <category term="OpenBSD"/>
    <category term="openbsd"/>
    <link href="http://00f.net/2008/source-wars-an-overview-of-openbsd-4-4-by-its-coders" rel="alternate" type="text/html"/>
    <title>Source Wars, an overview of OpenBSD 4.4 by its coders</title>
<content type="html">
            &lt;p&gt;As always, O'Reilly has a nice &lt;a href=&quot;http://broadcast.oreilly.com/2008/11/source-wars---return-of-the-pu.html&quot;&gt;coverage of what's new in OpenBSD 4.4&lt;/a&gt;, from a technical point of view.&lt;/p&gt;

&lt;p&gt;It's worth a read even if you don't use OpenBSD.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-04:416</id>
    <published>2008-11-04T10:14:00Z</published>
    <updated>2008-11-04T20:47:48Z</updated>
    <category term="Security"/>
    <category term="authentication"/>
    <category term="jpake"/>
    <category term="pake"/>
    <link href="http://00f.net/2008/a-zero-knowledge-password-authentication-method" rel="alternate" type="text/html"/>
    <title>A zero-knowledge password authentication method</title>
<content type="html">
            &lt;p&gt;The J-PAKE method (just implemented in OpenSSH and OpenSSL) allows password-based authentication without exposing the password to the server.&lt;/p&gt;

&lt;p&gt;Instead, the client and server exchange cryptographic proofs to demonstrate of knowledge of the password while revealing nothing useful to an attacker or compromised endpoint.&lt;/p&gt;

&lt;p&gt;Direct link to the the document: &lt;a href=&quot;http://grouper.ieee.org/groups/1363/Research/contributions/hao-ryan-2008.pdf&quot;&gt;Password Authenticated Key Exchange by Juggling 
&lt;/a&gt; and to the &lt;a href=&quot;http://www.lightbluetouchpaper.org/2008/05/29/j-pake/&quot;&gt;announce&lt;/a&gt; (with links to source code in C and Java).&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-02:414</id>
    <published>2008-11-02T22:13:00Z</published>
    <updated>2008-11-02T22:40:22Z</updated>
    <category term="Software"/>
    <category term="assembly"/>
    <category term="gema"/>
    <link href="http://00f.net/2008/gema-is-now-open-source" rel="alternate" type="text/html"/>
    <title>GEMA is now open source</title>
<content type="html">
            &lt;p&gt;Ahaha, since I just found the source code on a old floppy, here's a big (...) thing:&lt;/p&gt;

&lt;p&gt;GEMA is now open source and in public domain.&lt;/p&gt;

&lt;p&gt;Here's the link to download &lt;a href=&quot;http://download.pureftpd.org/misc/GEMA/&quot;&gt;GEMA source code and DOS binaries&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;GEMA is an assembly language compiler I wrote in 1994, designed to write whole projects (ie. demos) in assembly.&lt;/p&gt;

&lt;p&gt;It was used a lot by people coming from the Atari / Amiga demo scene.&lt;/p&gt;

&lt;p&gt;The last version was released in Danemark during &quot;The Party V&quot; demo-party.&lt;/p&gt;

&lt;p&gt;It was also the very first project I wrote in C language, and also the first code I wrote on a PC (just coming from the Atari world...). It's nice to see that it still compiles fine, 14 years later, even on Linux and OSX.&lt;/p&gt;

&lt;p&gt;It's now useless, there's probably zero reason to use it in 2008, so the release of the source code is only for fun. But who knows, maybe it might still be useful to some lost souls.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-11-02:413</id>
    <published>2008-11-02T20:12:00Z</published>
    <updated>2008-11-02T20:13:41Z</updated>
    <category term="Misc"/>
    <category term="adams"/>
    <category term="douglas"/>
    <link href="http://00f.net/2008/yes-6-x-9-42" rel="alternate" type="text/html"/>
    <title>Yes, 6 x 9 = 42</title>
<content type="html">
            &lt;pre&gt;&lt;code&gt;#define NINE 8 + 1
#define SIX 1 + 5

int main(void) {
    printf(&quot;%d times %d is %d\n&quot;, SIX, NINE, SIX * NINE);
    return 0;
}
&lt;/code&gt;&lt;/pre&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-29:412</id>
    <published>2008-10-29T13:31:00Z</published>
    <updated>2008-10-29T13:35:40Z</updated>
    <category term="Misc"/>
    <category term="Software"/>
    <category term="online"/>
    <category term="openoffice"/>
    <link href="http://00f.net/2008/online-openoffice" rel="alternate" type="text/html"/>
    <title>Online version of OpenOffice.org 3</title>
<content type="html">
            &lt;p&gt;Here's a serious challenger for Google Docs: through Ulteo, it's now possible to run &lt;a href=&quot;http://www.ulteo.com/home/en/ooo&quot;&gt;OpenOffice.org 3 online&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;No need to install anything, a Java-enabled browser is enough and you got 1 Gb of free storage.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-28:411</id>
    <published>2008-10-28T17:41:00Z</published>
    <updated>2008-10-28T17:48:07Z</updated>
    <category term="Software"/>
    <category term="haxe"/>
    <link href="http://00f.net/2008/c-backend-for-haxe-and-as3-haxe-converter" rel="alternate" type="text/html"/>
    <title>C++ backend for haXe and AS3-&gt;haXe converter</title>
<content type="html">
            &lt;p&gt;Great news for &lt;a href=&quot;http://www.haxe.org&quot;&gt;haXe&lt;/a&gt; coders.&lt;/p&gt;

&lt;p&gt;haXe can now &lt;a href=&quot;http://gamehaxe.com/2008/10/28/c-backend-for-haxe/&quot;&gt;compile to C++ source code&lt;/a&gt; in order to produce native (Windows, for now) executables.&lt;/p&gt;

&lt;p&gt;Author says that it's about 5 times faster than Neko (and hopefully it will get more portable than Neko).&lt;/p&gt;

&lt;p&gt;Another great announce : Don-Duong Quach released an &lt;a href=&quot;http://www.github.com/geekrelief/as3tohaxe&quot;&gt;ActionScript 3 to haXe converter&lt;/a&gt;. Yes, it finally happened.
It's still an early release, but it opens a lot of doors to haXe. Converting Papervision3D, for instance, can be very useful. It will also help a lot AS3 coders to upgrade to haXe.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-27:410</id>
    <published>2008-10-27T00:04:00Z</published>
    <updated>2008-10-27T00:21:52Z</updated>
    <category term="Security"/>
    <category term="clickjacking"/>
    <link href="http://00f.net/2008/don-t-forget-that-clickjacking-is-still-with-us" rel="alternate" type="text/html"/>
    <title>Don't forget that clickjacking is still with us</title>
<content type="html">
            &lt;p&gt;Yes, the issue is old, and yes, it has been widely disclosed and discussed everywhere.&lt;/p&gt;

&lt;p&gt;So, is clickjacking a threat of past?&lt;/p&gt;

&lt;p&gt;Unfortunately not. &lt;a href=&quot;http://www.securityfocus.com/news/11535/1&quot;&gt;Clickjacking is still a real issue&lt;/a&gt; until everyone upgrades to Flash 10 (and until a variant is found).&lt;/p&gt;

&lt;p&gt;Although it's only a partial barrier against clickjacking, something that any web developper should do on every web site if to check whether the site has been loaded as a frame (or iframe).&lt;/p&gt;

&lt;p&gt;Really. As a bonus, it will defeat almost every web-based anonymous proxy, and it might prevent exploitation of cross-frame leaks.&lt;/p&gt;

&lt;p&gt;Is there any downside? Probably none. It's something I'm doing for years (was to bugger people surfing through anonymous proxies) without any issue.&lt;/p&gt;

&lt;p&gt;How to do it? Just add some lines of javascript that checks whether window.parent.location.href matches your domain. If it doesn't, set window.parent.location to window.location.href and you are done.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-26:409</id>
    <published>2008-10-26T22:07:00Z</published>
    <updated>2008-10-26T22:21:32Z</updated>
    <category term="Software"/>
    <category term="firefox"/>
    <link href="http://00f.net/2008/optimize-your-firefox-sqlite-databases" rel="alternate" type="text/html"/>
    <title>Optimize your Firefox SQLite databases</title>
<content type="html">
            &lt;p&gt;Firefox 3 uses &lt;a href=&quot;http://www.sqlite.org&quot;&gt;SQLite&lt;/a&gt; in order to store cookies, downloads, applications local storage, search history, etc.&lt;/p&gt;

&lt;p&gt;Unfortunately, updating those databases adds holes. Files keep growing over time. It means waste of storage space and Firefox gets slower and slower.&lt;/p&gt;

&lt;p&gt;The webappsstore.sqlite, places.sqlite and urlclassifier3.sqlite files can especially grow very large.&lt;/p&gt;

&lt;p&gt;Some extensions like the Digg one also store data in a SQLite database.&lt;/p&gt;

&lt;p&gt;In order to optimize these databases, here's what you should really do from time to time.&lt;/p&gt;

&lt;p&gt;Close Firefox and run:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd ~/.mozilla/firefox
find . -name '*.sqlite' -print -exec sh -c &quot;echo 'vacuum;' | exec sqlite3 {}&quot; \;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;If you are on MacOS X, use:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd /Users/j/Library/Application Support/Firefox/Profiles
find . -name '*.sqlite' -print -exec sh -c &quot;echo 'vacuum;' | exec sqlite3 {}&quot; \;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Of course you need SQLite to get installed on your system.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-26:408</id>
    <published>2008-10-26T21:17:00Z</published>
    <updated>2008-10-26T21:18:56Z</updated>
    <category term="Software"/>
    <category term="dragonflybsd"/>
    <category term="hammer"/>
    <link href="http://00f.net/2008/matthew-dillon-s-nycbsdcon-2008-slides" rel="alternate" type="text/html"/>
    <title>Matthew Dillon's NYCBSDCon 2008 slides</title>
<content type="html">
            &lt;p&gt;The &lt;a href=&quot;http://www.dragonflybsd.org/hammer/nycbsdcon/img0.html&quot;&gt;presentation of the HAMMER filesystem&lt;/a&gt; that Matthew Dillon made for the NYCBSDCon are now available.&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://00f.net/">
    <author>
      <name>jedi</name>
    </author>
    <id>tag:00f.net,2008-10-26:407</id>
    <published>2008-10-26T21:04:00Z</published>
    <updated>2008-10-26T21:08:19Z</updated>
    <category term="Ruby"/>
    <category term="rails"/>
    <category term="ruby"/>
    <category term="sinatra"/>
    <link href="http://00f.net/2008/ruby-off-rails" rel="alternate" type="text/html"/>
    <title>Ruby off Rails</title>
<content type="html">
            &lt;p&gt;Building web applications with Ruby doesn't imply Rails.&lt;/p&gt;

&lt;p&gt;Although it's not a just-released document, the &lt;a href=&quot;http://www.scribd.com/doc/3038783/Ruby-off-Rails-english&quot;&gt;Ruby off Rails&lt;/a&gt; presentation is a great roundup of available options, in order to build a web site with today's most suitable components.&lt;/p&gt;
          </content>  </entry>
</feed>
