The Dailyish IRC Newsletter, 2007.03.06-08
Posted by rue, Sun Feb 11 01:03:00 UTC 2007
New names:
- pate is Pat Eyler!
Topics:
- Philosophy of specifications
A very prominently ongoing discussion in the past few days has been brixen and mae’s contest over approaches to testing and speccing with yours truly chiming in for the former upon occasion. My super- crystallisation of the two theories (logs available for the curious and brave):
Top-down YAGNI: start with top-level interfaces, descend recursively but only as deep as is necessary.
Lateral exhaustive: every method should be tested, in isolation.
It should be noted that these may best be styled as professional disagreements: neither approach is likely to be vastly superior to the other and can surely coexist peacefully.
Now, the top-down posse will be wearing Green and the exhaustivist hoodlums Red. We meet behind Lou’s Diner on Tuesday night. No knives, bats and clubs are fine. If the cops get a whiff, the rumble is off!
- Debugging switches
As you may know, a couple switches help in debugging shotgun. There is really no performance hit either so it might be fun to just keep the switches up and watch the happy flow of sexp.
-dc Debug compiler, shows sexps and assembly information. -dl Debug loader, though not much information available.You can use both switches with either -c, -e or running a file. What did trip some folks up, however, is that the compiler is NOT run if you already have an .rbc file! In order for -dc to actually produce meaningful output, purge the compiled files first. Oh, and the env DEBUG_ASSEMBLER=1 gives some more info.
- Empirical IRC statistics
The past few days I have seen previously idle or nonexistent people chime up, ask questions etc. Hooray!
Channel record is still at 50 people.
- Rubinius Bug Days?
Super-sleuthing by your intrepid reporter has brought to light a fantastic scoop!
pate, the Ever Motile One, brought up having dedicated days to hack on bugs in large groups of people. His probing of the tendrils of his vast network of programmers has uncovered a great deal of interest in the idea from (currently-)non-rubinius folks so this could well be an excellent two-fer-one for us all! Hooray for pate!
But we will let him do the real announcements when time draws near.
- What, exactly, is a Primitive?
Amidst mae’s work on Primitives, evan confirmed something that to a degree defines what one is: each Primitive should have a ‘self’ object of a known class.
What does that mean? Primitives are tiny pieces of C code that implement functionality that is not possible to achieve in pure Ruby—but at the same time are clearly a part of the core libs as opposed to instructions which deal more with the language itself as well as the VM.
- Future, ahaha, of concurrency
MenTaLguY popped by which meant it was time for an invigorating discussion about different threading models and about the possi- bility of seeing something called ‘thunk-replacement’ which as far as I understood would mean interpreter-level support for transparent Futures.
Futures, then, are essentially concurrent operations hiding behind proxy objects that transform into the Real Thing once the computation completes.
Then talk shifted to even more fantastic applications of various concurrency schemes but at this point my brain’s safety went off and I shut down for about five minutes to avoid overheating.
Dogs are fuzzy. Dogs.
- Human interest
In lighter news, we had two rather serious bugs that affected HEAD for a little while but everything is hunky-dory right now and work is ongoing getting the functionality in place.
The Rubinius IRC channel is #rubinius on Freenode. Join us!