Name: Jonathan Wakely
Member since: 2005-04-07 13:39:20
Last Login: 2012-02-08 22:34:09
Homepage: http://www.kayari.org/
Notes:
Mix equal parts of C++, UNIX and Free Software. Bring to the boil and serve.
I am a maintainer of the GCC C++ runtime library, libstdc++. I'm a sporadically-active member of the ACCU and the BSI C++ panel that represents the UK on the C++ Standards Committee.
I've finally drunk the git kool aid. I'd tried it before, but didn't inhale. Maybe I'm just feeling the effects of that cocktail of mixed metaphors but I really like it.
No more manually copying files between my home machine and my netbook (which isn't big enough or strong enough to handle a whole gcc subversion checkout, let alone the whole git repo) so I can work on the train. And I've already created about one new local branch a day in my gcc clone, so I can juggle fixes for several different PRs at once without constantly applying and reverting patches to my svn working dir.
I signed up to github so I can easily fork other people's repositories and send pull requests via the web interface, but decided to use gitorious for hosting some of my own projects. I like that gitorious itself is open source, but unfortunately ... it just doesn't work as well! I don't mind occasional weird rendering bugs on the web pages, but now I can't push/pull anything, due to an ssh error that didn't happen previously. Ho hum, I'll stick with it for a while yet. Github, on the other hand, is pretty damn slick.
char raw[] = R"#(s/"\([^"]*\)"/'\1'/g)#";
which is equivalent to:
char yuk[] = "s/\"\\([^\"]*\\\"/'\\1'/g";
only without suffering from leaning toothpick syndrome.# in the example can be (almost) any sequence of zero or more characters acting as a delimiter. The example above requires a non-empty delimiter because the string contains )", which would be taken as the end of the raw string otherwise:
char raw[] = R"(s/"\([^"]*\)"/'\1'/g)"; // ERROR!
"" as the delimiter sequence, as a nod to Python
char raw[] = R"""(triple-quoted for great justice)""";
broonie asked what's wrong with switch statements?
The default behaviour of switch statements is broken, it's too easy to forget a break and introduce a fall-through bug. That's harder to do with the if-else-if-else form.
Breaking after each case should have been the default and continue should have been required to explicitly fall through. It wouldn't even have needed a new keyword.
the purpose of the trust metric is to certify that a given user account on Advogato is known by the Advogato community to actually belong to the individual who claims it and is known to be a member of the free software and open source community.
redi certified others as follows:
Others have certified redi as follows:
[ Certification disabled because you're not logged in. ]
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!