<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for wez</title>
    <link>http://www.advogato.org/person/wez/</link>
    <description>Advogato blog for wez</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 25 May 2013 22:13:54 GMT</pubDate>
    <item>
      <pubDate>Sat, 23 Oct 2010 15:12:00 GMT</pubDate>
      <title>parser and lexer generators for PHP</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=59</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/iQ7HPjPBGRs/parser-and-lexer-generators-for-php</guid>
      <description>&lt;p&gt;[Update: I've put these parser/lexer tools on BitBucket and Github; enjoy!]&lt;/p&gt;
&lt;p&gt;From time to time, I find that I need to put a parser together.  Most of the time I find that I need to do this in C for performance, but other times I just want something convenient, like PHP, and have been out of luck.   &lt;/p&gt;
&lt;p&gt;This thanksgiving I set out to remedy this and adapted &lt;a href="http://www.hwaci.com/sw/lemon/lemon.html" &gt;lemon&lt;/a&gt; to optionally emit PHP code, and likewise with &lt;a href="http://www.cs.princeton.edu/~appel/modern/java/JLex/" &gt;JLex&lt;/a&gt;.   &lt;/p&gt;
&lt;p&gt; You need a C compiler to build lemon and a java compiler and runtime to build and ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2006/nov/parser-and-lexer-generators-for-php'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=iQ7HPjPBGRs:bZWlh_lmEqc:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=iQ7HPjPBGRs:bZWlh_lmEqc:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=iQ7HPjPBGRs:bZWlh_lmEqc:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/iQ7HPjPBGRs" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 11 Oct 2010 06:07:14 GMT</pubDate>
      <title>mtrack repo ACLs</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=58</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/0smzSSOxLJo/mtrack-repo-acls</guid>
      <description>&lt;p&gt;Updated: Added schema and UI for Projects to own repos and manage groups.&lt;/p&gt;
&lt;p&gt;
	Following through on user repos and SSH, I revised the ACL support
	in mtrack and added a permissions editor for the repo editing screen.
	When you create a repo, it defaults to granting you (the creator) full
	access and denying everybody else access (equivalent to a private repo
	in services like Github and Bitbucket).
&lt;/p&gt;
&lt;img src="images/mtrack-repo-perms-edit-oct-2010.png" style="border:solid 1px #ccc"&gt;&lt;p&gt;
	These permissions are respected by the SSH plumbing, so you can prevent
	checking in or out on a repo-by-repo basis.
&lt;/p&gt;
&lt;p&gt;  Another important change in the tip is that ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/oct/mtrack-repo-acls'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=0smzSSOxLJo:B6mG5OpZXo8:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=0smzSSOxLJo:B6mG5OpZXo8:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=0smzSSOxLJo:B6mG5OpZXo8:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/0smzSSOxLJo" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 10 Oct 2010 19:07:08 GMT</pubDate>
      <title>mtrack repo ACLs</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=57</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/0smzSSOxLJo/mtrack-repo-acls</guid>
      <description>&lt;p&gt;
	Following through on user repos and SSH, I revised the ACL support
	in mtrack and added a permissions editor for the repo editing screen.
	When you create a repo, it defaults to granting you (the creator) full
	access and denying everybody else access (equivalent to a private repo
	in services like Github and Bitbucket).
&lt;/p&gt;
&lt;img src="images/mtrack-repo-perms-edit-oct-2010.png" style="border:solid 1px #ccc"&gt;&lt;p&gt;
	These permissions are respected by the SSH plumbing, so you can prevent
	checking in or out on a repo-by-repo basis.
&lt;/p&gt;
&lt;p&gt;  Another important change in the tip is that the "admin" role now magically short-circuits permission checks in a fashion similar to ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/oct/mtrack-repo-acls'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=0smzSSOxLJo:PQUcY5D1DNs:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=0smzSSOxLJo:PQUcY5D1DNs:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=0smzSSOxLJo:PQUcY5D1DNs:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/0smzSSOxLJo" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 9 Oct 2010 05:09:51 GMT</pubDate>
      <title>mtrack user repos and ssh</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=56</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/vFLpzcMSJho/mtrack-user-repos-and-ssh</guid>
      <description>&lt;p&gt;
	I've just pushed a somewhat experimental change to the default branch
	of mtrack that enables per-user repositories, repository forking,
	SSH key management, and SSH repository serving integration.
&lt;/p&gt;
&lt;p&gt;
	It's important to stress that this is preliminary in as much as
	restrictive controls are missing.  There are some ACLs and rights
	around repo creation that are not yet implemented.  Additionally,
	if you are using OpenID, any authenticated user will be able to
	add an ssh key and access the mtrack created repos (but nothing
	outside of that).
&lt;/p&gt;
&lt;p&gt;
	What you get in the current tip:
	&lt;/p&gt;
&lt;ul&gt;&lt;li&gt; Users can ...&lt;/li&gt;&lt;/ul&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/oct/mtrack-user-repos-and-ssh'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=vFLpzcMSJho:YvgQj2i1nA0:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=vFLpzcMSJho:YvgQj2i1nA0:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=vFLpzcMSJho:YvgQj2i1nA0:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/vFLpzcMSJho" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 6 Oct 2010 03:05:06 GMT</pubDate>
      <title>mtrack: burndown and postgres</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=55</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/wwCNaQn7FCE/mtrack-burndown-and-postgres</guid>
      <description>&lt;p&gt;
	It's that time of the month... mtrack update time.  Not a huge number
	of items to report on this time around, but it's a decently significant
	stepping stone--the schema management code takes us one step closer
	to an upgrade/deployment process.
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If you don't explicitly include the burndown macro text in a milestone,
		a default burndown graph will now be displayed when the milestone
		summary is rendered in the roadmap section.&lt;/li&gt;
	&lt;li&gt;Added schema management code to handle upgrades that change the schema&lt;/li&gt;
	&lt;li&gt;Added preliminary postgres DB support on top of the schema management
		code.&lt;/li&gt;  ...&lt;/ul&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/oct/mtrack-burndown-and-postgres'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=wwCNaQn7FCE:RS63Vz26_Nk:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=wwCNaQn7FCE:RS63Vz26_Nk:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=wwCNaQn7FCE:RS63Vz26_Nk:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/wwCNaQn7FCE" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 7 Sep 2010 01:08:45 GMT</pubDate>
      <title>mtrack: custom fields, snippets</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=54</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/MPkX9VkuIOg/mtrack-custom-fields-snippets</guid>
      <description>&lt;p&gt;
	It's time for another mtrack update; here's what's new:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Add "Snippets" feature; works like pastebin, but allows for comments to be supplied in wiki syntax in addition to the code or text snippet that you're pasting&lt;/li&gt;
	&lt;li&gt;Add Custom Field support. This is implemented by modifying the schema
		(custom fields always have an "x_" prefix).&lt;/li&gt;
	&lt;li&gt;Improvements to the "custom ticket query" screens, including
		ability to select which columns (including custom fields)
		are included in the results&lt;/li&gt;
	&lt;li&gt;Fix an issue with sorting the "Remaining" time column&lt;/li&gt;
	&lt;li&gt;Fix some IE compatibility issues&lt;/li&gt;  ...&lt;/ul&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/sep/mtrack-custom-fields-snippets'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=MPkX9VkuIOg:rbhyKV89tNM:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=MPkX9VkuIOg:rbhyKV89tNM:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=MPkX9VkuIOg:rbhyKV89tNM:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/MPkX9VkuIOg" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Mon, 16 Aug 2010 02:10:51 GMT</pubDate>
      <title>mtrack: facelift + other progress</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=53</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/brS2DIkYYiA/mtrack-facelift-other-progress</guid>
      <description>&lt;p&gt;
	I've been working on some changes to mtrack (a software development tracker
	implemented in PHP) this weekend, with a focus on
	improving the user experience for the mtrack administrator.  To be brutally
	honest, it was at best a meagre experience for the administrator, but now
	things are better.  They're still not perfect, but it should be a low
	enough bar to encourage more folks to play with mtrack.  I've also spent a
	little bit of effort to add some caching to improve performance for certain
	pages.
&lt;/p&gt;
&lt;p&gt;  For those that have tried it in the past, there's a ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/aug/mtrack-facelift-other-progress'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=brS2DIkYYiA:mvDhmkgWZ0s:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=brS2DIkYYiA:mvDhmkgWZ0s:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=brS2DIkYYiA:mvDhmkgWZ0s:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/brS2DIkYYiA" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 25 Jul 2010 18:12:34 GMT</pubDate>
      <title>OSCON 2010 Redux</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=52</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/9xrMJKIFWHU/oscon-2010-redux</guid>
      <description>&lt;p&gt;
	Another OSCON is done.  As usual, it was a great mix of folks and ideas
	across many different areas of OpenSource technology.
&lt;/p&gt;
&lt;p&gt;  The most valuable track at these conferences (for me, at least) has become the hallway track. This is due in-part to my becoming a big-headed know-it-all; you pick up a lot of knowledge after you been to a good number of these conferences/conventions. But it is really important to me to be able to converse with fellow OpenSourcerors, whether they are working on the tools that I use on a daily basis or are working ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/jul/oscon-2010-redux'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=9xrMJKIFWHU:4GZ-dTHfWIc:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=9xrMJKIFWHU:4GZ-dTHfWIc:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=9xrMJKIFWHU:4GZ-dTHfWIc:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/9xrMJKIFWHU" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 25 Jul 2010 18:12:34 GMT</pubDate>
      <title>Gimli at OSCON</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=51</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/pA7boj1CtcM/gimli-at-oscon</guid>
      <description>&lt;a href="http://OSCON.com" style="float:right" &gt;
&lt;img src="http://assets.en.oreilly.com/1/event/45/oscon2010_spkr_210x60.jpg" width="210" height="60" border="0" alt="OSCON 2010" title="OSCON 2010"&gt;&lt;/a&gt;&lt;p&gt;&lt;em&gt;Update: the session is complete; you can &lt;a href="http://www.slideshare.net/wezfurlong/gimli-server-process-monitoring-and-fault-analysis" &gt;find the slides on slideshare.net&lt;/a&gt; and &lt;a href="https://bitbucket.org/wez/gimli" &gt;the code on bitbucket&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;
I'm speaking at OSCON again with another new topic.  This year, I'm spreading
the news about Gimli, a Server Process Monitoring and Fault Analysis framework
that I built at &lt;a href="http://messagesystems.com" &gt;Message Systems&lt;/a&gt; and
will be sharing with the world at OSCON.
&lt;/p&gt;
&lt;p&gt;
In a nutshell, Gimli will supervise a process and capture an extensive
crash trace (using DWARF 3 debugging information if possible) if the process
crashes or wedges, and then restarts the process.
&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/may/gimli-at-oscon'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=pA7boj1CtcM:gwTKvOq38qc:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=pA7boj1CtcM:gwTKvOq38qc:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=pA7boj1CtcM:gwTKvOq38qc:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/pA7boj1CtcM" height="1" width="1"/&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 10 Jul 2010 19:06:18 GMT</pubDate>
      <title>mtrack: roadmap RFC</title>
      <link>http://www.advogato.org/person/wez/diary.html?start=50</link>
      <guid>http://feeds.netevil.org/~r/EvilAsInDr/~3/sAe8NAOJaEY/mtrack-roadmap</guid>
      <description>&lt;p&gt;
I wanted to share some of my thoughts on future development in mtrack, and
solicit some feedback.  Some of these are driven directly from user requests, and others are things that I've been thinking about on-and-off for a little while.
&lt;/p&gt;
&lt;p&gt;
I really want to hear your thoughts, whether they relate to ideas and feature
suggestions, or whether you have some experience or anecdotes on these topics.
&lt;/p&gt;
&lt;h2&gt;Custom Fields&lt;/h2&gt;
&lt;p&gt;  I was hoping to avoid having to enable this as a feature, as I find the implementation approach taken in the original Trac to be sub-optimal, both ...&lt;/p&gt;
&lt;a href="" 'http://wezfurlong.org/blog/2010/jul/mtrack-roadmap'&gt;Continue reading on wezfurlong.org&lt;/a&gt;&lt;br/&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=sAe8NAOJaEY:zFyQtf5X4Vw:yIl2AUoC8zA" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.netevil.org/~ff/EvilAsInDr?a=sAe8NAOJaEY:zFyQtf5X4Vw:i05-1gS0yIQ" &gt;&lt;img src="http://feeds.feedburner.com/~ff/EvilAsInDr?i=sAe8NAOJaEY:zFyQtf5X4Vw:i05-1gS0yIQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/EvilAsInDr/~4/sAe8NAOJaEY" height="1" width="1"/&gt;</description>
    </item>
  </channel>
</rss>
