chromatic is currently certified at Master level.

Name: chromatic
Member since: 2000-03-20 04:52:20
Last Login: 2017-06-01 17:33:23

FOAF RDF Share This



chromatic @ wgz . org

While I'm most known for my work on Perl, I've contributed to several free software projects in word, code, and deed. (I have code in the Linux kernel.)

Most of my technical writing these days is at Modern Perl Books. I am the author of Modern Perl: the book which you can read for free online.

My professional work includes Onyx Neon Press, an independent publisher of free software and software development works and Big Blue Marble, a skunkworks building great applications based on free software. Our first project is value investing resources for novice investors.


Recent blog entries by chromatic

Syndication: RSS 2.0

Perl 6 Design Minutes for 30 June 2010

The Perl 6 design team met by phone on 30 June 2010. Allison, Patrick, and chromatic attended.


  • working on Parrot packages for Debian experimental
  • seems like a good idea to do that before the 2.6 supported release
  • there was also a request for Rakudo packages
  • not sure if I'm the best person to do it


  • I'm sure we should package Rakudo Star


  • Debian had a packager for those, but I haven't looked at the packages
  • this'd be an early run of what we'll do with Rakudo Star


  • we're not quite ready for packaging that yet
  • maybe a couple of weeks
  • finished the List and Iterator types for the #30 release
  • adjusted Rakudo's Associative and Positional roles
  • much cleaner implementation now
  • that'll require a few small spec changes
  • redid Rakudo's container types
  • more robust
  • preparing for autovivification of hashes and arrays
  • expect to finish those in the next couple of days
  • there was no container model previously; the code was consequently crufty
  • lots of cleanup of incorrect assumptions
  • Rakudo lists are now properly lazy
  • comment syntax fixed
  • ROADMAP updated
  • fixed the meaning of Nil; it's defined, not undefined
  • added the sink prefix (?)
  • fixed setting of $!
  • started fixing bugs and closing tickets on Monday, did 15 or 20
  • mostly already fixed in the previous couple of weeks
  • looking at the implementation of the series operator
  • spec is self-contradictory or ambiguous or both
  • waiting for Larry's clarification
  • fixed a bug in $*ARGFILES
  • had a nice contribution of that implementation last week
  • that behavior works on any set of files, not just those on the command line
  • working on autoviv
  • have some regex backtracking bugs to fix
  • will work on closures after that
  • put together three new YAPC presentations
  • the Rakudo Star presentation will become a video cast or a blog post or both


  • worked on a slew of Parrot optimizations for Rakudo
  • have a few more to go
  • might have to create a Rakudo branch temporarily
  • will try to help merge the new GC
  • working on a metamodel for Parrot objects, informed by Perl 6 and Moose

Syndicated 2010-07-03 08:13:30 from pudge

Modern Perl: The (Draft) Book

This took longer than I expected, but the draft of the Modern Perl book is available for review. I'm especially interested in hearing from people who don't consider themselves expert Perl 5 programmers. The goal of the book is to explain how Perl 5 works (and how to write Perl 5 effectively) to help novices become adepts.

Syndicated 2010-06-28 23:43:33 from pudge

Perl 6 Design Minutes for 16 June 2010

The Perl 6 design team met by phone on 16 June 2010. Larry, Allison, Patrick, Will, and chromatic attended.


  • documented TOP (again), and explained how parsing is initiated and how it actually works
  • series operator (...) now picks a monotonic function when using single characters as endpoints
  • STD can now catch duplicates involving protos as well as onlys
  • STD no longer advises removal of parens on spaceless sub() declaration
  • mostly advised sorear and pmichaud
  • Stefan is finishing the boostrap of the STD parser
  • also working on adding a parallel NFA and DFA engine
  • no, he doesn't want to generate all the states in advance
  • it works faster lazily


  • working on chroot environments with something more secure than chroot
  • relevant to building Parrot packages
  • looking at some bugs for Will


  • Rakudo developers decided not to make extra special effort to make a June release of Rakudo Star
  • the calendar works against us
  • the new date for the release is July 29
  • we're I comfortable with hitting that target
  • we won't be happy with the results of moving heaven and earth to release in June
  • there are lots of advantages
  • one disadvantage is not having Rakudo Star at YAPC::NA
  • one big advantage is using the supported Parrot 2.6 release as the basis
  • I'll write a post outlining the plan in the next couple of days
  • otherwise working on lists and interators in Perl 6 and Rakudo
  • after deciding to make iterators immutable, Larry and I realized that solves many problems
  • everything works out as plain as day after that
  • very happy with that design
  • the incorrect assumptions of the old model were pervasive
  • replacing the old pieces is taking a while, which is no surprise
  • this approach feels right though
  • the new branch does things no previous version could do
  • slices work much better, for example
  • metaoperators work properly
  • map is lazy
  • slurpy arguments in lists are lazy by default
  • no weird binding or action at a distance problems
  • plenty of changes to Associative and Positional roles
  • those are now super clean and may be lazy
  • more features work
  • ~30 failing tests (not test files, just tests) now, ~500 last night
  • most of the current failures are minor
  • will try to merge the branch before the release
  • replacing lots of ugly code with fewer lines of elegant code
  • Jonathan and others have worked on lots of other pieces
  • adding plenty of new features
  • looking forward to tomorrow's release


  • editing the Rakudo book
  • moving the Rakudo release date may let us have a printed book available about the same time
  • depends on how much there is left to write

Syndicated 2010-06-26 17:07:30 from pudge

Perl 6 Design Minutes for 09 June 2010

The Perl 6 design team met by phone on 09 June 2010. Larry, Allison, Patrick, and chromatic attended.


  • not much spec change this week
  • figured out a syntax for a regex block to return more than one cursor
  • based on gather/take
  • in STD hacking, continued to assist Stefan O'Rear in getting STD bootstrapped via viv
  • now that it's bootstrapped, we're refactoring things that make sense now
  • we're now starting to move bits of Cursor code from Perl 5 into Perl 6
  • refactoring the grammar for sanity of design
  • started upgrading STD to normal Perl 6 syntax where it previously catered to gimme5's limitations
  • for example, switched STD's old.<_from> and.<_pos> hash lookups to using.from and.pos accessors
  • started the prep work for moving EXPR out of STD to make it generally available to any grammar wanting operator precedence
  • in STD parsing, made Perl 5 $< detection have a longer token to avoid confusion with match variables
  • STD no longer attempts two-terms detection on infix_circumfix_meta_operator
  • STD now parses >>R~<< correctly, or at least dwimmily
  • STD doesn't complain about P5isms in printf formats like "%{$count}s"
  • STD was parsing/m and/s with the opposite semantics
  • termish now localizes $*MULTINESS in its scope so that inner declarations aren't accidentally multified
  • STD now carps about package Foo; as a Perl 5 construct


  • talked to Chris Shiflett, a PHP developer, on someone from the PHP community to sit on the Parrot board
  • will be in the US for a few weeks


  • working on list simplification
  • had a couple of breakthrough ideas on Monday
  • working on the implementation now
  • worked out inversion lists for character class matching in regexes
  • will make them faster, especially with long ranges of character classes
  • fixed a half-dozen tickets in RT
  • fixed Rakudo hash constructors
  • fixed an intermittent bug with colon-pair signatures
  • two possible parses exist in STD, but we removed an unneeded one in Rakudo
  • fixed a bug with Parrot's exit opcode
  • NQP and PAST needed an update not to cheat with PASM constants
  • I fixed that too
  • Vasily added multisub and multimethod support to NQP, that was a big plus
  • fixed the ** quantifier in regexes to understand surrounding whitespace
  • regex engine tried to match beyond the end of a string, so I added guards for that
  • will work on lists furiously before the next release
  • I don't think it'll take long
  • closures are next, hope to have those in place by the weekend


  • released a new version of Pod::PseudoPod::LaTeX to support the various books in progress

Syndicated 2010-06-24 12:24:33 from pudge

Perl 6 Design Minutes for 02 June 2010

The Perl 6 design team met by phone on 02 June 2010. Larry, Allison, Patrick, Will, and chromatic attended.


  • mostly, I supported sorear in bootstrapping STD to use viv instead of gimme5
  • his stage 2 and stage 3 now output identical Perl 5 versions of STD
  • produces a huge amount of warnings
  • appears to require Perl 5.12 at the moment
  • working on both of those
  • S03 refines hyper dwimminess to be more like APL, with modular semantics
  • S02 refines Blobs to simply be immutable Bufs, with similar generic characteristics
  • S02 now describes native blob types
  • implemented post-declaration checks for BEGIN and use, since those can't wait for end of file
  • STD no longer loses existing bindings when we go to a sublanguage
  • STD now uses $*GOAL variable only as informative, never as a "stopper"
  • instead, we create a <stopper> rule for $*GOAL if necessary
  • can check for that only, instead of that or $*GOAL
  • answering lots of questions on how STD and viv work besides that


  • did a lot of research on graph color algorithms for register usage algorithms
  • will finish my finals on Monday


  • trying to herd the discussion of dynop libraries
  • a recent branch to close an old ticket broke a lot of assumptions
  • some bugs have become more visible because of these changes
  • hope to get that cleaned up this week


  • I liked your suggestion of bringing back the getstderr and related opcodes


  • trying to resurrect Partcl
  • stuck on a TT #389 closing issue
  • not sure how to fix that, the way things are now


  • working on the iterator and list design
  • brainstorming the implementation
  • will implement somethine one way or another this week
  • people keep implementing workarounds for the current system
  • they'll bite us eventually
  • Moritz and I worked on making the regex engine returning real Perl 6 objects
  • that mostly works
  • exposes some places where lists don't work exactly right
  • the workarounds there made me replan the list and iterator implementation
  • answered some questions online
  • Jonathan added a better backtrace algorithm for Rakudo
  • reports Perl 6 source lines instead of PIR lines
  • I'll review his code
  • think I can borrow it for NQP for all HLLs
  • Jonathan reports that it was a lot easier in NQP than PIR


  • trying to answer a few Parrot design questions
  • looking at the continuation of design from Perl 1 - 4 to Perl 5 and Perl 6
  • hope to have coding time soon

Syndicated 2010-06-22 01:12:29 from pudge

479 older entries...


chromatic certified others as follows:

  • chromatic certified mishan as Journeyer
  • chromatic certified jlp as Apprentice
  • chromatic certified jbontje as Apprentice
  • chromatic certified mcelrath as Apprentice
  • chromatic certified fozbaca as Apprentice
  • chromatic certified wrvh as Journeyer
  • chromatic certified hexmode as Journeyer
  • chromatic certified JB318 as Apprentice
  • chromatic certified dlc as Apprentice
  • chromatic certified thewatcher as Apprentice
  • chromatic certified japhy as Journeyer
  • chromatic certified extremely as Apprentice
  • chromatic certified renster as Apprentice
  • chromatic certified hoffman as Apprentice
  • chromatic certified ebizo as Apprentice
  • chromatic certified apgarcia as Apprentice
  • chromatic certified redmist as Apprentice
  • chromatic certified monk as Apprentice
  • chromatic certified dirtyrat as Apprentice
  • chromatic certified gary as Apprentice
  • chromatic certified bikeNomad as Journeyer
  • chromatic certified jmcnamara as Apprentice
  • chromatic certified footpad as Apprentice
  • chromatic certified OeufMayo as Journeyer
  • chromatic certified gregor as Journeyer
  • chromatic certified Simon as Master
  • chromatic certified jaybonci as Apprentice
  • chromatic certified kwoo as Apprentice
  • chromatic certified hv as Master
  • chromatic certified gbarr as Master
  • chromatic certified Abigail as Journeyer
  • chromatic certified freeside as Journeyer
  • chromatic certified adrianh as Journeyer
  • chromatic certified chip as Master
  • chromatic certified gc as Master
  • chromatic certified DaveGoehrig as Journeyer
  • chromatic certified tcopeland as Journeyer
  • chromatic certified RogerBrowne as Journeyer
  • chromatic certified bradfitz as Master
  • chromatic certified Purdy as Journeyer
  • chromatic certified Ward as Master

Others have certified chromatic as follows:

  • henrik certified chromatic as Apprentice
  • davej certified chromatic as Apprentice
  • jdube certified chromatic as Apprentice
  • mishan certified chromatic as Journeyer
  • kelly certified chromatic as Journeyer
  • lukeh certified chromatic as Apprentice
  • JB318 certified chromatic as Apprentice
  • jrennie certified chromatic as Apprentice
  • jlp certified chromatic as Journeyer
  • mojotoad certified chromatic as Journeyer
  • jbontje certified chromatic as Journeyer
  • mcelrath certified chromatic as Journeyer
  • lazarus certified chromatic as Apprentice
  • wrvh certified chromatic as Journeyer
  • fozbaca certified chromatic as Journeyer
  • beppu certified chromatic as Journeyer
  • nixnut certified chromatic as Journeyer
  • DrCode certified chromatic as Journeyer
  • hexmode certified chromatic as Journeyer
  • cwinters certified chromatic as Journeyer
  • Wheat certified chromatic as Journeyer
  • ErikLevy certified chromatic as Journeyer
  • manu certified chromatic as Journeyer
  • cpw certified chromatic as Journeyer
  • dlc certified chromatic as Journeyer
  • jimw certified chromatic as Journeyer
  • renster certified chromatic as Journeyer
  • sh certified chromatic as Journeyer
  • dneighbors certified chromatic as Journeyer
  • jao certified chromatic as Journeyer
  • thelema certified chromatic as Journeyer
  • apgarcia certified chromatic as Journeyer
  • redmist certified chromatic as Master
  • monk certified chromatic as Journeyer
  • OeufMayo certified chromatic as Journeyer
  • adulau certified chromatic as Journeyer
  • mdillon certified chromatic as Journeyer
  • jmcnamara certified chromatic as Journeyer
  • overclocker certified chromatic as Journeyer
  • MikeGTN certified chromatic as Master
  • footpad certified chromatic as Master
  • roguemtl certified chromatic as Journeyer
  • jono certified chromatic as Journeyer
  • robhudson certified chromatic as Journeyer
  • technik certified chromatic as Journeyer
  • omarius certified chromatic as Journeyer
  • ignatz certified chromatic as Journeyer
  • fxn certified chromatic as Journeyer
  • stevej certified chromatic as Journeyer
  • neurogato certified chromatic as Journeyer
  • merlyn certified chromatic as Journeyer
  • thraxil certified chromatic as Journeyer
  • Qbert certified chromatic as Journeyer
  • forrest certified chromatic as Master
  • jaybonci certified chromatic as Master
  • arhuman certified chromatic as Master
  • pop certified chromatic as Journeyer
  • ib certified chromatic as Master
  • kwoo certified chromatic as Journeyer
  • cm certified chromatic as Master
  • richdawe certified chromatic as Master
  • pasky certified chromatic as Master
  • IlyaM certified chromatic as Journeyer
  • gbarr certified chromatic as Journeyer
  • petdance certified chromatic as Journeyer
  • wiggly certified chromatic as Master
  • iamsure certified chromatic as Master
  • adrianh certified chromatic as Master
  • gobry certified chromatic as Master
  • kjwoo certified chromatic as Journeyer
  • rooneg certified chromatic as Journeyer
  • RogerBrowne certified chromatic as Master
  • mchirico certified chromatic as Master
  • pcburns certified chromatic as Master
  • tagishandy certified chromatic as Master
  • drwat certified chromatic as Master
  • Purdy certified chromatic as Journeyer
  • fzort certified chromatic as Master
  • tclark certified chromatic as Master
  • casey certified chromatic as Master
  • philiph certified chromatic as Master
  • mentifex certified chromatic as Master

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page