<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3570885716697084144</id><updated>2011-07-07T22:49:03.760-07:00</updated><category term='vmware debian'/><category term='erlang nif'/><category term='phpext'/><category term='osx protobuf'/><category term='vmware'/><title type='text'>My brain dump</title><subtitle type='html'>The place where I put things I'm sure I'll forget.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-4709757101290074857</id><published>2010-03-11T05:59:00.000-08:00</published><updated>2010-03-11T06:01:07.337-08:00</updated><title type='text'></title><content type='html'>Here's the slides from the presentation I did for the &lt;a href="http://www.frontrangephp.org/"&gt;FrontRange PHP Users Group&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="width:425px" id="__ss_3397036"&gt;&lt;strong style="display:block;margin:12px 0 4px"&gt;&lt;a href="http://www.slideshare.net/jonmeredith/front-range-php-nosql-databases" title="Front Range PHP NoSQL Databases"&gt;Front Range PHP NoSQL Databases&lt;/a&gt;&lt;/strong&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frphpnosqloverview-100311075144-phpapp02&amp;stripped_title=front-range-php-nosql-databases" /&gt;&lt;param name="allowFullScreen" value="true"/&gt;&lt;param name="allowScriptAccess" value="always"/&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=frphpnosqloverview-100311075144-phpapp02&amp;stripped_title=front-range-php-nosql-databases" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="padding:5px 0 12px"&gt;View more &lt;a href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a href="http://www.slideshare.net/jonmeredith"&gt;Jon Meredith&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-4709757101290074857?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/4709757101290074857/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=4709757101290074857' title='37 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4709757101290074857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4709757101290074857'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2010/03/heres-slides-from-presentation-i-did.html' title=''/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>37</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-9140993287680486524</id><published>2010-01-28T14:53:00.000-08:00</published><updated>2010-01-28T14:54:43.839-08:00</updated><title type='text'>Setting up GPG under OS X</title><content type='html'>Here's a good how to for setting up GPG under OS X - &lt;a href="http://www.wasuvi.com/?page_id=2368"&gt;link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-9140993287680486524?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/9140993287680486524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=9140993287680486524' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/9140993287680486524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/9140993287680486524'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2010/01/setting-up-gpg-under-os-x.html' title='Setting up GPG under OS X'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-2962638398583295149</id><published>2010-01-21T10:02:00.000-08:00</published><updated>2010-01-21T12:56:35.785-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='phpext'/><title type='text'>Documenting PHP Extension</title><content type='html'>I've been trying to use phpdoc with a PHP Extension I'm writing for work and it isn't obvious.  Thankfully I found this &lt;a href="http://www.snailinaturtleneck.com/blog/?p=22"&gt;post&lt;/a&gt; about Kristen Chodorow's phpdoc pain&lt;br /&gt;&lt;br /&gt;It turns out you have to get phpdoc from svn and use that.&lt;br /&gt;&lt;br /&gt;To checkout the doc tree (had to upgrade from the stock svn on OS X leopard first - thanks homebrew!)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;svn co http://svn.php.net/repository --depth empty phpdoc&lt;br /&gt;svn co http://svn.php.net/repository/phpdoc/en/trunk --depth infinity phpdoc/en&lt;br /&gt;svn co http://svn.php.net/repository/phpdoc/doc-base/trunk --depth infinity phpdoc/doc-base&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And install phd (I had to install sqlite3 first - yes I'm using ports for that)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;sudo port install php5-sqlite +debug&lt;br /&gt;sudo pear install doc.php.net/phd-beta&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Create an XML template&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/path/to/svn/phpdoc/php -d debug_mode=1 -d extension_dir=modules/ -d extension=myext.so /Users/jmeredith/src/php/phpdoc/doc-base/scripts/docgen/docgen.php --output tmp --extension myext&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Now you have to merge that into the main php docs&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;cp -rp tmp /Users/jmeredith/src/php/phpdoc/en/reference/myext&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Edit phpdoc/manual.xml.in and add a reference for your extension (I added mine under database vendors)&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;    &amp;reference.magneto.book;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In phpdoc/en/reference add a file called entities.myext.xml - I'm still tinkering with what needs to go in there, base it on one of the other files in the same directory.&lt;br /&gt;&lt;br /&gt;Finally, run phd&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;phd -d /Users/jmeredith/src/php/phpdoc/doc-base/.manual.book.myext.xml&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;It creates files in a directory named output.  Now all I need to do is work out what to put where to get decent output.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-2962638398583295149?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/2962638398583295149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=2962638398583295149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/2962638398583295149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/2962638398583295149'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2010/01/documenting-php-extension.html' title='Documenting PHP Extension'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-8132661563594913836</id><published>2009-11-25T19:13:00.000-08:00</published><updated>2009-11-25T19:41:07.260-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='erlang nif'/><title type='text'>Using NIF for E V I L</title><content type='html'>A couple of weeks ago at work we had a problem with memory growth in the erlang VM. We could see binaries that were being kept around using process_info(Pid, binary), but the only way we could work out what was in the binary was by attaching gdb and walking the structures.  &lt;br /&gt;&lt;br /&gt;Using gdb to walk memory structures inside the VM is a pain. Along comes NIF with the R13B03 release which gives me a good excuse to have a go with that instead. After a quick look at the &lt;a href="http://www.davispj.com/2009/11/23/erlang-nif-test.html"&gt;tutorial by Paul Joseph Davis&lt;/a&gt; I present sNIFfer - a very naughty peek at the VM internals with no regard to locking or thread safety.&lt;br /&gt;&lt;br /&gt;Using the module you can go from an address listed by process_info back to (a copy of) the binary again.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Erlang R13B03 (erts-5.7.4) [source] [64-bit] [smp:2:2] [rq:2] [async-threads:0] [kernel-poll:false]&lt;br /&gt;&lt;br /&gt;Eshell V5.7.4  (abort with ^G)&lt;br /&gt;1&gt; sniffer:start().&lt;br /&gt;ok&lt;br /&gt;2&gt; B= &lt;&lt;"abc"&gt;&gt;.&lt;br /&gt;&lt;&lt;"abc"&gt;&gt;&lt;br /&gt;3&gt; process_info(self(), binary).&lt;br /&gt;{binary,[{4303709336,3,3}]}&lt;br /&gt;4&gt; sniffer:get_binary(4303709336).   &lt;br /&gt;&lt;&lt;"abc"&gt;&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here is the C code&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;// sniffer.c&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;string.h&gt;&lt;br /&gt;#include "erl_nif.h"&lt;br /&gt;&lt;br /&gt;#ifdef HAVE_CONFIG_H&lt;br /&gt;#  include "config.h"&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;#include "sys.h"&lt;br /&gt;#include "erl_vm.h"&lt;br /&gt;#include "global.h"&lt;br /&gt;&lt;br /&gt;static int&lt;br /&gt;load(ErlNifEnv* env, void** priv, ERL_NIF_TERM load_info)&lt;br /&gt;{&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static int&lt;br /&gt;reload(ErlNifEnv* env, void** priv, ERL_NIF_TERM load_info)&lt;br /&gt;{&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static int&lt;br /&gt;upgrade(ErlNifEnv* env, void** priv, void** old_priv,&lt;br /&gt;          ERL_NIF_TERM load_info)&lt;br /&gt;{&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static void&lt;br /&gt;unload(ErlNifEnv* env, void* priv)&lt;br /&gt;{&lt;br /&gt;    return;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static ERL_NIF_TERM&lt;br /&gt;get_binary(ErlNifEnv* env, ERL_NIF_TERM a1)&lt;br /&gt;{&lt;br /&gt;  unsigned long mem_loc;&lt;br /&gt;  if (!enif_get_ulong(env, a1, &amp;mem_loc))&lt;br /&gt;    {&lt;br /&gt;      return enif_make_badarg(env);&lt;br /&gt;    }&lt;br /&gt;  else&lt;br /&gt;    {&lt;br /&gt;      Binary* bin_ptr = (Binary*) mem_loc;&lt;br /&gt;      ErlNifBinary nif_bin;&lt;br /&gt;&lt;br /&gt;      enif_alloc_binary(env, bin_ptr-&gt;orig_size, &amp;nif_bin);&lt;br /&gt;      memcpy(nif_bin.data, bin_ptr-&gt;orig_bytes, bin_ptr-&gt;orig_size);&lt;br /&gt;      return enif_make_binary(env, &amp;nif_bin);&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;static ErlNifFunc sniffer_funcs[] =&lt;br /&gt;{&lt;br /&gt;    {"get_binary", 1, get_binary}&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;ERL_NIF_INIT(sniffer, sniffer_funcs, load, reload, upgrade, unload)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;The erlang module&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;%% sniffer.erl&lt;br /&gt;-module(sniffer).&lt;br /&gt;-export([start/0, get_binary/1]).&lt;br /&gt;&lt;br /&gt;start() -&gt;&lt;br /&gt;    erlang:load_nif("sniffer", 0).&lt;br /&gt;&lt;br /&gt;get_binary(_Val) -&gt;&lt;br /&gt;    nif_error(?LINE).    &lt;br /&gt;&lt;br /&gt;nif_error(Line) -&gt;&lt;br /&gt;    exit({nif_not_loaded,module,?MODULE,line,Line}).&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And a makefile - you'll need to update ERL_TOP to point to your VM source tree.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;# Makefile&lt;br /&gt;ERL_TOP=/Users/jmeredith/git/erlang0d&lt;br /&gt;include $(ERL_TOP)/make/target.mk&lt;br /&gt;&lt;br /&gt;INCLUDES = \&lt;br /&gt;  -I$(ERL_TOP)/erts/$(TARGET) \&lt;br /&gt;  -I$(ERL_TOP)/erts/emulator/$(TARGET) \&lt;br /&gt;  -I$(ERL_TOP)/erts/emulator/$(TARGET)/opt/smp \&lt;br /&gt;  -I$(ERL_TOP)/erts/emulator/beam/ \&lt;br /&gt;  -I$(ERL_TOP)/erts/emulator/sys/unix \&lt;br /&gt;  -I$(ERL_TOP)/erts/include/$(TARGET) \&lt;br /&gt;  -I$(ERL_TOP)/erts/include/internal \&lt;br /&gt;  -no-cpp-precomp  -DHAVE_CONFIG_H &lt;br /&gt;&lt;br /&gt;# OS X Snow Leopard flags.&lt;br /&gt;GCCFLAGS = -m64 -O3 -fPIC -bundle -flat_namespace -undefined suppress -fno-common -Wall&lt;br /&gt;&lt;br /&gt;# Linux Flags&lt;br /&gt;#GCCFLAGS = -O3 -fPIC -shared -fno-common -Wall&lt;br /&gt;&lt;br /&gt;CFLAGS = $(GCCFLAGS) $(INCLUDES)&lt;br /&gt;LDFLAGS = $(GCCFLAGS) $(LIBS)&lt;br /&gt;&lt;br /&gt;OBJECTS = sniffer.o&lt;br /&gt;&lt;br /&gt;DRIVER = sniffer.so&lt;br /&gt;BEAM = sniffer.beam&lt;br /&gt;&lt;br /&gt;all: $(DRIVER) $(BEAM)&lt;br /&gt;&lt;br /&gt;clean: &lt;br /&gt; rm -f *.o *.beam $(DRIVER)&lt;br /&gt;&lt;br /&gt;$(DRIVER): $(OBJECTS)&lt;br /&gt; gcc -o $@ $^ $(LDFLAGS)&lt;br /&gt;&lt;br /&gt;$(BEAM): sniffer.erl&lt;br /&gt; erlc $^&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-8132661563594913836?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/8132661563594913836/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=8132661563594913836' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8132661563594913836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8132661563594913836'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2009/11/using-nif-for-e-v-i-l.html' title='Using NIF for E V I L'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-4145621968006652571</id><published>2009-09-03T09:44:00.000-07:00</published><updated>2009-09-03T10:04:04.429-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='osx protobuf'/><title type='text'>How to get protobuf-c compiled for linking to PHP extensions under OS X</title><content type='html'>I'm writing a PHP extension at the moment that uses the C variant of Google protocol buffers - &lt;a href="http://code.google.com/p/protobuf-c/"&gt;here&lt;/a&gt;.  Unfortunately the PHP build I'm using uses 32-bit code for the commandline php, but 64-bit when running under apache.  Here is the magic recipe.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;First, build the standard C++/Java protocol buffers code&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;jons-macpro:protobuf-2.1.0 jmeredith$ cat BUILDIT &lt;br /&gt;ARCH='-arch i386 -arch x86_64' &lt;br /&gt;./configure --prefix=/Users/jmeredith/Applications/protobuf CFLAGS="$ARCH" CXXFLAGS="$ARCH" --disable-dependency-tracking &amp;&amp; \&lt;br /&gt;make  &amp;&amp; \&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then build protobuf-c which uses protobuf&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;jons-macpro:protobuf-c-0.11 jmeredith$ cat BUILDIT &lt;br /&gt;## Make sure protoc is in your path or this will die&lt;br /&gt;ARCH="-arch i386 -arch x86_64"&lt;br /&gt;./configure --prefix=/Users/jmeredith/Applications/protobuf-c \&lt;br /&gt;  CXXFLAGS="-I/Users/jmeredith/Applications/protobuf/include $ARCH" \&lt;br /&gt;  CFLAGS="$ARCH"  \&lt;br /&gt;  LDFLAGS="-L/Users/jmeredith/Applications/protobuf/lib" \&lt;br /&gt;  --disable-dependency-tracking &amp;&amp; \&lt;br /&gt;make &amp;&amp; \&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Add this to the extension config.m4&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;  dnl # protobuf-c&lt;br /&gt;  if test "$PHP_PROTOBUFC" != "no"; then&lt;br /&gt;    PHP_ADD_INCLUDE($PHP_PROTOBUFC/include)&lt;br /&gt;    PHP_ADD_LIBRARY_WITH_PATH(protobuf-c, $PHP_PROTOBUFC/lib, MAGNETO_SHARED_LIBADD)&lt;br /&gt;  fi&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And finally, to build your PHP extension&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;   phpize&lt;br /&gt;   CFLAGS='-arch i386 -arch x86_64' ./configure --enable-yourextension --with-protobufc=/path/to/pb-c &amp;&amp; \&lt;br /&gt;   make &amp;&amp; \&lt;br /&gt;   sudo make install&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-4145621968006652571?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/4145621968006652571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=4145621968006652571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4145621968006652571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4145621968006652571'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2009/09/how-to-get-protobuf-c-compiled-for.html' title='How to get protobuf-c compiled for linking to PHP extensions under OS X'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-8999580473347072859</id><published>2007-11-28T06:55:00.001-08:00</published><updated>2007-11-28T06:55:38.487-08:00</updated><title type='text'>Star Wars Ascii Art</title><content type='html'>I'm writing it here lest I ever forget this gem.  Telnet to towel.blinkenlights.nl for the show...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-8999580473347072859?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/8999580473347072859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=8999580473347072859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8999580473347072859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8999580473347072859'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/11/star-wars-ascii-art.html' title='Star Wars Ascii Art'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-6684245351874330432</id><published>2007-09-24T12:27:00.000-07:00</published><updated>2007-09-24T20:09:03.882-07:00</updated><title type='text'>Debugging .NET HTTPS apps</title><content type='html'>We're currently going through a security audit at work hardening a third party application. One of the improvements is to switch from HTTP to HTTPS which makes verifying the rest of the changes is tricky.&lt;br /&gt;&lt;br /&gt;The way I did it was to download/installed Fiddler (http://www.fiddlertool.com/) which is an inspecting proxy.  I followed the instructions to enable https decryption, and told Windows to trust the fiddler root certificate (Moved from Personal-&gt;Certificates to Trusted Root Certificate Authorities-&gt;Certificates).&lt;br /&gt;&lt;br /&gt;Checked IE worked and it was fine, then I modified the application.exe.config file under the Docs and Settings\user\Local Settings\Application Data\Vendor\App and added&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&amp;lt;configuration&gt;&lt;br /&gt;  &amp;lt;system.net&gt;&lt;br /&gt;    &amp;lt;defaultProxy&gt;&lt;br /&gt;      &amp;lt;proxy proxyaddress="http://localhost:8888" /&gt;&lt;br /&gt;    &amp;lt;/defaultProxy&gt;&lt;br /&gt;  &amp;lt;/system.net&gt;&lt;br /&gt;&amp;lt;/configuration&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I thought I was being very clever, but it turns out I couldn't get it to work. So I switched to using HTTPS instead.&lt;br /&gt;&lt;br /&gt;Fiddlertool is pretty cool though :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-6684245351874330432?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/6684245351874330432/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=6684245351874330432' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6684245351874330432'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6684245351874330432'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/09/debugging-net-https-apps.html' title='Debugging .NET HTTPS apps'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-471802733089109611</id><published>2007-09-17T07:27:00.001-07:00</published><updated>2007-09-17T07:28:04.670-07:00</updated><title type='text'>Dora the Explorer World Adventure workaround</title><content type='html'>My daughter was heartbroken when we bought this cheap and it didn't work under IE7, so with a little investigation I came up with this workaround rather than 'downgrade to IE6' as Activision recommend.&lt;br /&gt;&lt;br /&gt;Download the 'standalone' IE6 from http://browsers.evolt.org/?ie/32bit/standalone &lt;br /&gt;&lt;br /&gt;Uncompress it into C:\Program Files\Activision Value\Dora World Adventure &lt;br /&gt;&lt;br /&gt;Then bring up a command prompt (Start -&gt; All Programs -&gt; Accessories under Windows XP) and type &lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;        cd "C:\Program Files\Activision Value\Dora World Adventure" &lt;br /&gt;        copy IEXPLORE.EXE.local DoraAdventure.exe.local &lt;br /&gt;        exit &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And voila, it should just work.  I'd expect this would work for any of your games that rely on IE6 for their presentation engine&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-471802733089109611?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/471802733089109611/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=471802733089109611' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/471802733089109611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/471802733089109611'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/09/dora-explorer-world-adventure.html' title='Dora the Explorer World Adventure workaround'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-2017407458841029709</id><published>2007-09-17T07:24:00.000-07:00</published><updated>2007-09-17T07:25:15.390-07:00</updated><title type='text'>iptables rules to lock out multiple failed ssh attempts</title><content type='html'>Two simple lines to run at boot:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set &amp;&lt;br /&gt;&lt;br /&gt;iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 4 -j DROP &amp;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-2017407458841029709?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/2017407458841029709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=2017407458841029709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/2017407458841029709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/2017407458841029709'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/09/iptables-rules-to-lock-out-multiple.html' title='iptables rules to lock out multiple failed ssh attempts'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-5857293584301966188</id><published>2007-08-13T20:31:00.000-07:00</published><updated>2007-08-13T21:19:15.989-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware debian'/><title type='text'>Minimal Debian 4.0r0 install on VMWare</title><content type='html'>Did the install and unchecked all uses except 'base system'.  To install the VMware tools, had to add the following packages&lt;br /&gt;&lt;br /&gt;  psmisc - for killall&lt;br /&gt;  linux-headers-`uname -r`&lt;br /&gt;  gcc (with deps binutils, cpp, cpp-4.1, gcc-4.1 libssp0)&lt;br /&gt;  make&lt;br /&gt;&lt;br /&gt;Accepting the defaults for vmware-config-tools seemed to do the trick. Except for the HGFS module - that didn't load on reboot.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-5857293584301966188?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/5857293584301966188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=5857293584301966188' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5857293584301966188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5857293584301966188'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/08/minimal-debian-40r0-install-on-vmware.html' title='Minimal Debian 4.0r0 install on VMWare'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-6401767665058869321</id><published>2007-04-20T11:39:00.000-07:00</published><updated>2008-12-10T05:14:05.407-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vmware'/><title type='text'>Dualboot VMware</title><content type='html'>I got fed up with running out of disk space so I stuck an old EIDE disk (PATA?) in my Dell to stick my virtual machines on (using the advice from the previous post).&lt;br /&gt;&lt;br /&gt;Having two different drive types worked out well.  I want to play with Xen when I get a chance, so I thought I'd try setting up CentOS 5 for dual-booting and for running inside a VM when I'm running Windows.&lt;br /&gt;&lt;br /&gt;After a quick read of the old docs for VMware 4.5 I found by Googling (http://www.vmware.com/support/ws45/doc/disks_dualboot_ws.html) I created a custom machine configuration that exposed the physical disk to the virtual machine.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_-6rkdcEpBew/RikK5HamY8I/AAAAAAAAAAM/cwq-Z5RxDeo/s1600-h/centos5config.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://2.bp.blogspot.com/_-6rkdcEpBew/RikK5HamY8I/AAAAAAAAAAM/cwq-Z5RxDeo/s320/centos5config.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5055584033059529666" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Installed CentOS using VMware (because I couldn't get my machine to boot of the DVD-ROM for some reason) without a hitch, rebooted and hit F12 for the boot menu, selected the Master Primary IDE disk (rather than the SATA Master) and it booted right into CentOS.&lt;br /&gt;&lt;br /&gt;There are a couple of issues to resolve - the graphics and audio drivers change depending on which environment CentOS is booted in.  I need to add something to the init process to switch around the configuration files depending on the boot configuration.  I suppose there could be a mechanism built into the OS...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-6401767665058869321?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/6401767665058869321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=6401767665058869321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6401767665058869321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6401767665058869321'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/04/dualboot-vmware.html' title='Dualboot VMware'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_-6rkdcEpBew/RikK5HamY8I/AAAAAAAAAAM/cwq-Z5RxDeo/s72-c/centos5config.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-6786178764566390702</id><published>2007-04-12T07:48:00.000-07:00</published><updated>2007-04-13T05:56:59.581-07:00</updated><title type='text'>VMWare Workstation Tweaks</title><content type='html'>I found a useful little article on VMWare disk performance&lt;br /&gt;&lt;br /&gt;http://www.virtualization.info/2005/11/how-to-improve-disk-io-performances.html&lt;br /&gt;&lt;br /&gt;It recommends disabling anti-virus auto-scanning of the VMDK and VMEM files - I also followed the .ISO recommendation as I attach a lot of them for installation/liveCD testing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-6786178764566390702?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/6786178764566390702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=6786178764566390702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6786178764566390702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6786178764566390702'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/04/vmware-workstation-tweaks.html' title='VMWare Workstation Tweaks'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-8231405479112104852</id><published>2007-04-10T21:11:00.000-07:00</published><updated>2007-04-10T21:15:13.544-07:00</updated><title type='text'>Wot no updates</title><content type='html'>So much for blogging - haven't updated this in weeks.  I'm working on a couple of projects - replacing my phone service with Asterisk running on my Linksys router and I'm toying with integrating Bacula with the Amazon S3 service so I can stop worrying about backups.&lt;br /&gt;&lt;br /&gt;I'm also trying out the CentOS 4.92 beta.  Running the hgfs driver for shared folders with SELinux enabled caused the kernel to panic.  Once I disable it, it worked fine.  'dmesg' had an error in it about hgfs not supporting labelling so I thought I'd get rid of it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-8231405479112104852?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/8231405479112104852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=8231405479112104852' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8231405479112104852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/8231405479112104852'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/04/wot-no-updates.html' title='Wot no updates'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-7656226211392511146</id><published>2007-02-06T13:24:00.000-08:00</published><updated>2007-02-06T13:26:37.992-08:00</updated><title type='text'>SQLServer 2005 trigger debugging</title><content type='html'>They've removed the T-SQL debugger in SQLServer 2005.  Luckily I have 1 day left of my Visual Studio 2005 trial.&lt;br /&gt;&lt;br /&gt;The way to debug a trigger is to create a stored procedure that exercises the trigger (mine just did an update on the table), set a breakpoint in the trigger where you want, and then step into the *stored procedure* by right clicking on it.  Bobs your uncle, VS grinds away and you get to your breakpoint (eventually).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-7656226211392511146?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/7656226211392511146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=7656226211392511146' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/7656226211392511146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/7656226211392511146'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/02/sqlserver-2005-trigger-debugging.html' title='SQLServer 2005 trigger debugging'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-5727179941278402672</id><published>2007-02-01T13:31:00.000-08:00</published><updated>2007-02-01T16:39:52.458-08:00</updated><title type='text'>Fedora setup</title><content type='html'>Ok,  on to setting up FC6.  I've installed the base FC6 and picked out the development and MySQL packages.  On configuration, I disabled the firewall and SELinux during testing.  We'll decide what do about those on deployment.&lt;br /&gt;&lt;br /&gt;Next I instaled the VMware tools (thanks for the mouse pointer help here http://www.thoughtpolice.co.uk/vmware/howto/fedora-core-6-vmware-tools-install.html and the vmxnet diver help here http://www.vmware.com/community/thread.jspa?messageID=556834).&lt;br /&gt;&lt;br /&gt;To make sure the two are synchronised I'm planning to setup NTP on the second node pointing to the first one (I found instructions here http://wiki.novell.com/index.php/SUSE_Linux_Enterprise_Server) - but I want to get MySQL configured and running on the master first before I clone the system.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-5727179941278402672?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/5727179941278402672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=5727179941278402672' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5727179941278402672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5727179941278402672'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/02/fedora-setup.html' title='Fedora setup'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-5808509267024558471</id><published>2007-02-01T11:43:00.000-08:00</published><updated>2007-02-01T11:47:48.082-08:00</updated><title type='text'>Testing MySQL Clustering</title><content type='html'>At work we're setting up a pool of LAMP  servers and they will need some persistent storage. We're using MySQL in house for our other relational needs so I'm having a go at getting a  2-node high-availability/shared nothing/load balanced database cluster working.&lt;br /&gt;&lt;br /&gt;I can't access the actual hardware yet, so I'm playing in a couple of virtual machines.  The first step is to get them installed and stick MySQL on there.  The LAMP servers are all using FC6 (for better or worse - maybe CentOS would have been better) so I'll use that.  First step, getting the first node working so I can clone it and try out replication.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-5808509267024558471?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/5808509267024558471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=5808509267024558471' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5808509267024558471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/5808509267024558471'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/02/testing-mysql-clustering.html' title='Testing MySQL Clustering'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-6192615340699468818</id><published>2007-01-28T19:32:00.000-08:00</published><updated>2007-01-28T19:45:20.177-08:00</updated><title type='text'>Built myself a packet sniffer</title><content type='html'>I had an old Pentium IV 2.0Ghz sitting around with 256Mb of broken RAM and after pondering what to do with it, I decided to build a packet sniffer.  I got the machine very cheap ($20) because it's previous owner couldn't understand why it kept crashing.  Running memtest86 found problems with the 0x0105cxxx addresses so I decided to stick a copy of Fedora Core 6 on it and add the BadRAM patch (http://rick.vanrein.org/linux/badram/) - which was harder than expected. I tried installing with a 'mem' limit under the threshold (about 80Mb), but it wouldn't install, so I ended up pinching some working memory out of a different system to build it. Building the kernel RPM took a long time and I think the BadRAM patches conflict with some of the others in the Fedora SPEC file as I had to manually tweak one of the files between the prep and build stage to get it to work.  I'll dig deeper next time Fedora release an SRPM for the kernel.&lt;br /&gt;&lt;br /&gt;Anyway, I eventually got the kernel build and installed with the BadRAM parameters set correctly (so now I have 256Mb-12kb memory available) and it runs like a charm.  I put a couple of extra NICs in the machine, installed Wireshark/ntop and then stuck it between my Cablemodem and my WRT-54GS to see what was coming over the wire. I left Wireshark capturing packets overnight to find out and the answer is - a lot of ARP packets.  I got 60Mb of them and very little else sent over my cable modem in 8 hours.  The next step is to work out why....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-6192615340699468818?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/6192615340699468818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=6192615340699468818' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6192615340699468818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/6192615340699468818'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/01/built-myself-packet-sniffer.html' title='Built myself a packet sniffer'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-764736823629366570</id><published>2007-01-24T14:14:00.000-08:00</published><updated>2007-01-24T14:15:53.807-08:00</updated><title type='text'>openSUSE 10.2 and VMWare Workstation</title><content type='html'>I'm interested in comparing openSUSE and SLES  so I've installed openSUSE 10.2 under VMware  5.5.3.  To get it to work I had to use the text mode installation (I think it was either F2 or F3 then choose text mode).  After a few false starts in graphical mode, that fixed  it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-764736823629366570?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/764736823629366570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=764736823629366570' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/764736823629366570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/764736823629366570'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/01/opensuse-102-and-vmware-workstation.html' title='openSUSE 10.2 and VMWare Workstation'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3570885716697084144.post-4590748983506085272</id><published>2007-01-24T14:12:00.000-08:00</published><updated>2007-01-24T14:14:01.763-08:00</updated><title type='text'>My brain dump</title><content type='html'>It seems like I keep losing notes I make about everything, so I thought I'd try keeping it in a blog - like a lab notebook, but searchable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3570885716697084144-4590748983506085272?l=jonsbraindump.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jonsbraindump.blogspot.com/feeds/4590748983506085272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3570885716697084144&amp;postID=4590748983506085272' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4590748983506085272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3570885716697084144/posts/default/4590748983506085272'/><link rel='alternate' type='text/html' href='http://jonsbraindump.blogspot.com/2007/01/my-brain-dump.html' title='My brain dump'/><author><name>Jon Meredith</name><uri>http://www.blogger.com/profile/11672733233082520804</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
