- Video Lunch: Once in a while, you just want to see something cool. So on days when nothing else is going on, we show interesting videos during lunch, such as TED Talks or Videos from the Googleplex. Today, we’ll watch these:
composed_of :name :class_name => Name :mapping => [ [:first_name, :first], # :symbol, :symbol does not work! [:last_name, :last] # :symbol, :symbol does not work! ]
composed_of :name :class_name => Name :mapping => [ ['first_name', 'first'], # 'string', 'string' works! ['last_name', 'last'] # 'string', 'string' works! ]
self.private_method, but instead call
Class PrivateCaller def call_private_here puts private_method #=> works! puts self.private_method #=> self? uh oh! end private def private_method '*** You Called? ***' end end >> priv = PrivateCaller.new => #<privatecaller:0x14ec39c> >> priv.call_private_here *** You Called? *** NoMethodError: private method `private_method' called for #</privatecaller:0x14ec39c><privatecaller:0x14ec39c> from (irb):4:in `private_caller' from (irb):23 from :0 </privatecaller:0x14ec39c>
We helped! Our barrel is over flowing.
Rails 2.0 *blink* Rails 2.0.1 *blink* Rails 2.0.2 was released. This includes at least one Pivotal patch:
validates_acceptance_ofstill works for non-existent tables (useful for bootstrapping new databases). Closes #10474 [hasmanyjosh]
During our Retrospective yesterday, several Pivots, especially our remote employees, mentioned that they missed the Standup blog posts that we used to post. Shall we start to post them again? And if so, does anyone have posting format suggestions? The old posts reflected our current real-life Standup format:
Unless anyone suggests changes, we’ll keep the same format.
I’m really starting to enjoy the selection of green teas in the office. I especially enjoy the ones with… well.. $#!+ in them. Popped rice, puffed rice, browned rice, black soy beans, and various other clippings and debris. It’s kind of like drinking tea with Rice Krispies in it, but in a good way. And the ingenuiTEA containers are very handy.
The only exception to my new-found enjoyment is a green “tea” named Angel, which must mean the Angel of Death, or perhaps the Angel of Turpentine; it’s easily the most foul and bitter substance I have consumed in a very long time.
So many of my colleagues have some degree of trouble with their
hands/wrists/arms. It’s a serious occupational hazard. Agile coding is a slightly different ballgame for me in terms of wrist problems.
My physical therapist for my first, worst episode — the episode that
left me with permanent nerve damage, nearly 20 years ago now —
stressed to me that damage is cumulative. Young coders can think
they’re invulnerable, but I’m here to preach to you: the pain can end
up being permanent. If it hurts to type, stop typing — please don’t do what I did, viz., shrug and keep going.
In the Agile/pair programming world the setup for workstations tends
to be a flat table, no special equipment, so that workstations are
interchangeable. No keyboard trays, nothing — not the best ergonomically. Here’s how I cope:
All these help to make the setup sustainable for me. The other thing
about pairing that makes sense ergonomically is, of course, the fact
that your hands get a break whenever your pair is typing (if you ever
let them type — I am a confirmed keyboard hog, but I’m trying to mend my ways!).
Just one more wrist hazard of agile coding: all the self-applauding and high-fiving — paired code is so much better than code written solo.
How do you cope with your wrist limitations?
Want to avoid feeling like a chump and spending countless hours troubleshooting a crazily-stupid-simple problem?
<script> tags off the front and back.
You probably knew that already. Why didn’t you tell me sooner?
Again, thanks to Steve.
“So, who needs a pair?”
(See also Bush Violates Standup Rules)
in my spare time, I’ve been poking at DRM/DRI code in OpenBSD. right now its been imported (but disabled). the code is not ready, but its far enough along to be hacked on in-tree.
one of the things I’ve been doing is going through and removing the i386-isms that tagged along with the FreeBSD/NetBSD code. a few gross things, like vtophys(), and some code that assumes 32-bit procs. in the process, I’m learning little things like C, Kernel Interfaces, IOCTL, and allocating memory for hardware devices. Fun stuff, and a few chunks are actually working.
of course, someone else is the actual maintainer, I’m just poking at things, with the hope that I’ll figure it out and make not-sucky patches. :)