porges

Tag: snippet

So, it turns out that .NET’s Regex are more powerful t̖̱̍ͭ͊h̟ͨͨa̞̖̙̔̇n͇̝͚̤̒́ͨ̐ ̯͖̏̌̔Ị̟̮̱̥̇̐̎͂ͬ͗̒ ̪̹̱͙̘ͦ̉ͪͪͣ̉͊o͕̥̝͇͙ͪ͊ͤ̑̂̽́r͔̭̪̮̟͗̍ͨ͗͛ͣḭ̝̜͈ͫ́g̥̹̥̜̦̓̇̓i̪͕̭̞͛ͯ̓͛̔̾ͫn̘̗a̰̜ͨͪ͊l̩͑̐̐́ͥ̚l̜ͨ͋̈ẙͦ́ ̟̬̬̫͙̤ͭ̚t̳͎̱̗̲́h͔͙̰̬̊̈́͊̾o͉ͫ̌̄u͉̲̥g̏ͥ̑̅̽̇h̻͇̥̰̯ͥͯṱ̯̏̄̒͒ͫ̃.͖̟͍̘̼̼̍̐̀͊̓́…

Today, thanks to user Lucero on StackOverflow, I learned about .NET’s “Balancing Groups” Regex feature. Basically, any time you use a named capturing group, it actually pushes the capture onto a named stack. You can then pop this stack by using the same capturing group prefixed with a hyphen, like (?< -stackToPop>). Of course, anyone [...]

C# type inference and extension methods: an abuse

Here’s a little example of statically-sized stacks in C#. They’re implemented with a linked-list as the backing store: using System;   namespace ConsoleApplication { public static class MainClass { // Example:   public static void Main(string[] args) { var stack = Stack.New<int>(); // real type Stack<Z,int>   var s1 = stack.Push(1).Push(2).Push(3); // real type Stack<S<S<S<Z>>>> [...]

Vacuuming Firefox’s sqlite3 databases

Firefox 3 was running very slow for me, so I desperately tried this, thinking that it wouldn’t make much difference. I was wrong; there was a noticeable speed improvement. From a bash shell: find ~/.mozilla -iname ‘*.sqlite’ -execdir sqlite3 {} ‘vacuum;’ \;

A quine in Haskell

Prompted by A Scala Quine, here’s a nice one in Haskell that I haven’t seen anywhere else… main = (putStr . ap (++) show) "main = (putStr . ap (++) show) " Edit: I have found it somewhere else Here, to be exact.