Showing posts with label accu. Show all posts
Showing posts with label accu. Show all posts

12 days of ACCU

ACCU is currently running the 12 days of ACCU where people who've attended the ACCU conference write about why it is so excellent. Up today is Olve Maudal and myself. Here's what I wrote...

It's hard to pick just one reason why I love the accu conference. There are lots of reasons. I'll try to pick something perhaps a bit different. I love the accu conference because of its culture. Let me give you an example.

At most software conferences around the world the speakers are treated specially. For example, speakers get access to a separate area where they can work in private. Not at the accu conference! At the accu conference we don't provide a special speakers lounge. We want everyone to mingle together, speakers most definitely included.

At most software conferences around the world the speakers are treated specially. For example, speakers get a special lanyard in a different colour. Not at the accu conference! At the accu conference speakers don't get a special lanyard. We want everyone to mingle together, speakers most definitely included.


requiem for C head cam

At the ACCU 2012 conference Uncle Bob gave his excellent keynote Requiem for C. Skillsmatter video'd the whole keynote and it will be available soon. As an experiment Uncle Bob gamely agreed to wear a Go Pro 2 head camera whilst giving the keynote! So here, possibly for the first time ever, are a few rough clips of what it's like to give a keynote.





Recency

I've written before that:

Human beings have evolved a very strong association that cause and effect are simple and linear; that cause and effect are local in space and time.


One of example of this is when contestants on Who Wants To Be a Millionaire phone a friend. It's easy to think that the friend could simply watch the program and start trying to find the answer before they're called. They can't. What you're watching happened some time in the past. The program is not live.

Another example is this blog! At the recent ACCU conference several people commented on what a fast reader I was. I often blog three or four book snippets in a week. And I am learning to increase my reading speed. And I do read a lot. But it's an illusion. I have a stock of hundreds of books I've already read and all the best bits from them are already marked. I simply take a book from my shelf and blog the best of its best bits as a book snippet. And then put the book onto the ACCU charity book-stall pile.

Accu conference charity book stall



Once again a big thanks to everyone at the accu conference who took a book and made a contribution to the two charities - Water Aid and The National Autism Society this year. The total raised was a smidgen under £600 which will be split equally. Thanks also to my son Patrick (he has Aspergers Syndrome) for lending me the safe. And thankyou too to several people who brought some books for the stall during the conference. I plan to repeat the stall again in 2012.

Deliberate practice booklist

Kevlin and I have just finished the accu pre-conference tutorial. A big thankyou to all the participants. The origin of some of the quotes was a little hard to read as the printed handouts were a little small. Here is a list of the books quoted:

Accu conference charity book stall

Once again I'm going to give away a load of books at this years ACCU conference. As before I'll choose a charity and ask everyone who takes a book to make a voluntary donation. I've already collected two boxfulls. If you're coming to the conference please consider bringing along some books and contributing them to the stall.

Hotel room to train carriage

Appeared in the ACCU magazine CVu, Vol 22, January 2011

Paul has asked me to write something for CVu. I don't have a clear idea of what to write about so I thought instead I would just write about stuff I'm doing. Tonight I'm currently sat in a hotel room in Langley (Berks) after a thoroughly excellent day at a client's site. I've been teaching day one of my C Foundation course. John and Ed suggested some ways the slides, and the words I use to describe the slides, could be improved. So the first thing I've been doing is making some mods to the slides. The first was a simple int to pointer conversion where I initialised an int pointer with the hex integer 0xBEEF. I chose 0xBEEF because it spells a word but didn't think about alignment. 0xBEEF is an odd integer number and the address of an integer is likely to be, at the very least, even. The second was something I said. In the chapter about pointers I said that an invalid pointer doesn't have to be dereferenced for bad things to happen. That's too strong. You only need to think about the free() function to realise that. After you've called free(ptr) then ptr no longer points to an object but as long as you don't dereference ptr you'll be ok. What I should have said is that when you do pointer arithmetic any sub-expressions must always be valid.



Something I try to do regularly is to examine what happened during my day and to learn from it. A sort of retrospective. So I'm looking at the C course mods and wondering what I can learn from them. I'm wondering, in the first example, why I chose 0xBEEF in the first place. Choosing a hex number that spells an english word is overly clever. Overly cute. So now I'm thinking I'd be better off choosing a hex number that doesn't remotely even look like a word. One that would align correctly. I'm struck but how hard it is to avoid being overly clever. By how hard it is to recognise and take into account context. From the second example, I'm reminded how hard it is to say clearly what I'm thinking. Or rather, how difficult it is to have sufficient clarity in my thinking that the words are naturally clear.



As well as learning from the day's mistakes it's also important to think about what went well. I recently did a "60 minutes in the brain of" presentation for SkillsMatter London on deliberate practice (the topic of one of my entries in Kevin's 97 Things Every Programmer Should Know). SkillsMatter videod the talk and I've watched it a couple of times. Watching yourself on video is a tremendously valuable thing. It allows you to see yourself how others see you. Not how you see yourself. For example, something I noticed was a tendency I have to say "ok?" rhetorically at the end of a sentence. Ok? Doing that once or twice is fine but I did it perhaps a dozen times. It was almost becoming a tick. So one of my tasks today was to try not to say "ok?" at the end of my sentences. It's hard to know if I achieved that but I at least feel I didn't say it so often it became a noticeable tick. And I recall a couple of times where I was conscious I had not ended the sentence with "ok?" when previously I might have. But, interestingly, as I write this, I'm thinking how can I know? Perhaps I'm still doing it but don't realise because I can't see myself. So I'm wondering if, tomorrow, I will explicitly ask the guys on the course to tell me if I do it. I think I will. I'm reminded of the line from Robert Burns's Poem To a Louse, "To see oursels as others see is!". I remember Jerry Weinberg mentioning the connection in one of his books. And I notice bagpipe music is playing on my iTunes as I write now. I wonder if my subconscious made the scottish connection? It's the Skye Boat Song (Speed Bonny Boat). My mother used to sing that to me as a bedtime lullaby when I was a small boy.



It's now the next day. I'm on a train heading home. I'm reading some of Weinberg on Writing by Jerry Weinberg. I always carry a book. Usually three. I try to read a lot. Craig Larman once said to me that one of the main things that marks a consultant as a consultant is they read a lot. I have an odd reading habit. I don't read one book from start to finish before starting another book. Instead I read a small chunk from one book, and then put it down, and read another small chunk from another book. I often have about 20 books all partly read. Today the other two are A Little Book of f-Laws by Russell Ackoff and Herbert Addison, and Culture Against Man by Jules Henry. I don't have any fixed rules about switching from one book to another. I just try to sense when it feels right. And I don't have any fixed rules about which books I pop into my travel bags either. It may sound strange but I am trying to cultivate by subconscious so again I just try to sense what feels right. As I'm reading I highlight text that speaks to me. For example, in Jerry's book I've highlighted the following:

  • A trigger is a small amount of input energy that sets off a large amount of output energy.
    That caught my interest. I recall Jerry discussing triggers in some of his other books. So I've made a note to reread what he said about triggers there in the light of that quote. An actual note that is - I also always carry a pen and paper.
  • Raise your typing speed by ten words per minute. This will give you an extra six hundred words for every hour you work. If you work an hour a day, two hundred days a year, you'll type an extra 120,000 words - a couple of books' worth.
    That's quite illuminating.
  • You know, there would be no problem raising kids if only you could throw away the first one.
    That made me laugh.
  • Writer's block is not a disorder in you, the writer. It's a deficiency in your writing methods - the mythology you've swallowed about how works get written - what my friend and sometime coauthor Tom Gilb called your 'mythology'.



It took me a while to find that last one. I knew I had read it but I couldn't find it. I searched in the chapter I read most recently. No luck. I flicked through looking at the marked passages. No luck. Then I stopped and thought about what to do next. (It's almost always better than repeating a failed approach.) I wondered if Tom Gilb had an entry in the index. And he did. And it was exactly the passage I remembered. It was on page 19, not anywhere near the chapter I was reading most recently. And it was a passage I'd marked as I read it. And yet I looked at the marked passages trying to find it. I clearly missed it. That's reminded me that I have a tendency to only see something when searching for it if matches my pre-formed idea of what it will look like. My lovely wife Natalie tells me that's a typical male trait. That last snippet about Tom Gilb has sparked something in my mind. Partly I'm attracted to the word myth because one of my favourite corny jokes is the old chestnut "what is a myth?" the answer being "a female moth". But it's more than that. I think it's because my subconscious is connecting the word mythology with the word methodology. That's an interesting connection. A Mythodology perhaps?



Anway, when I've finished reading a book I copy the bits I highlighted into my personal wiki. Then I copy the dozen or so highlights that speak to me the loudest into a small book "review" snippet for my blog site 'Less Code, More Software'. Then I put the book onto a pile to take to the next accu conference to raise some money for charity. We'll be coming into Taunton any moment now so I'm going to sign off.

an interview with Jerry Weinberg

Jon
If you were stranded on a desert island with five books which books would you choose and why? Please don’t pick more than one of your own!
Jerry
  • An empty notebook with as many square feet of blank paper possible, for keeping my journal of this desert island adventure.
  • The complete Oxford English Dictionary, so I can study the English language in depth for the future when I might be rescued.
  • Frazer's Golden Bough, so I can immerse myself in the vastness of human culture.
  • Martin Gardner's The Annotated Alice (Lewis Carroll's Alice books, annotated by Martin Gardner) so I could read for wisdom and humor at the same time. (I've used this book as a text in s/w development.)
  • If a Kindle counts as one book, I'd take that. Otherwise, Wilderness Medicine, Beyond First Aid, 5th Edition by William Forgey (I'd like to research this one, because I haven't read this, but I would need the best such book.)
I don't have any computer books on the list because I'm assuming I wouldn't have a computer. If there were such a book, I'd probably want *How to Build a Two-Way Radio Out of Coconut Shells*.
Jon
Which books would you change and to what if you did have a computer?
Jerry
  • I would not need the empty notebook, as I could keep my journal on-line. Instead, I'd want a complete service manual for the computer equipment.
  • I would not need the OED, for the same reason — an on-line OED. Instead, I would take Don Knuth's The Art of Computer Programming. I assume we count all published volumes as one "book."
The rest I would keep the same.
Jon
What do you consider your biggest contribution to the software world.
Jerry
That's easy. I answered that some years ago, and my answer hasn't changed. My biggest contribution to the software world is that I never invented yet another programming language.
Jon
What would you still like to achieve?
Jerry
I'd like to persuade more computer people to work on the unsolved problems of our profession, rather than the (pretty much) solved ones such as compiler writing.
Jon
Could you give some examples of what you consider to be the important unsolved problems of our profession
Jerry
  • requirements: finding out what will really make people happy
  • doing the things we know we ought to do
  • not doing things we know we ought not do
  • conservation of knowledge from one generation to the next
  • developing some sense of standard practice (can be more than one, but not too many) that will be followed around the world

Jon
You’ve written that you get a lot of inspiration from nature. Could you give some examples - of both the inspiration and nature that inspired it.
Jerry
Jon
If you had a one-time-only time machine how would you use it?
Jerry
I wouldn't. I have a rule: Don't mess with time.
Jon
Suppose you used it to visit your younger self what advice would you give yourself?
Jerry
When someone offers advice, you ought to taste it, but you don't have to swallow it.
Jon
In question one you mentioned Martin Gardener’s book, The Annotated Alice. Could you expand on how you used this as a text in s/w development.
Jerry
Alice's trip across the chessboard to become promoted quite nicely parallels a typical development process. It's no coincidence that Lewis Carroll (Dodgson) was a mathematical logician. He was able to do logic, and to make memorable the instances of illogic. For example, the Red Queen's behavior is that of many bad development managers ("Off with their heads.") The students were invited to find other parallels in the book, which hopefully set their minds to work.
Jon
What is the biggest change you'd like to see in the software world?
Jerry
Slowing down in order to do things right.
Jon
What would it take to make this happen?
Jerry
Hell would have to freeze.
Jon
What question would you ask yourself?
Jerry
What question would you ask yourself?
Jon
And what is your answer?
Jerry
What question would you ask yourself? Just kidding. That was a fun recursion.
Jerry
[this is the real question Jerry would ask himself] Why are you writing novels these days?
Jerry
[and this is his real answer] Like any life-changing decision, the switch to fiction has many reasons, all intertwingled. What follows are some of the reasons I have been able to disentangle.
  • All my life, I've dedicated myself to helping smart, talented people be happy and productive. You can see that theme in my books, I think, and it's the theme I've continued in my novels (see list below).
  • But not all my work has been through writing. Dani and I have also spent our careers training these smart, talented people through the use of experiential workshops — Problem Solving Leadership Workshop (PSL) Organization Change Shop (OCS), Systems Engineering Management (SEM), and the Amplifying Your Effectiveness Conference (AYE). We use experiential training methods because they are effective. They reach many people, and much more deeply, than your typical lecture class with PowerPoint slides.
  • In many ways, reading a non-fiction book can be much like one of those PowerPoint lectures, so whenever possible, I have used stories to bring my non-fiction works to life. Stories have always been powerful for learning, going back thousands of years. Why? Because a good story arouses the readers feelings of participating in the experience the story describes.
  • A great deal of the popularity of my books (and other non-fiction writers like Tom DeMarco) is in the stories. They make for lighter reading, which some people love and some people find objectionable, but overall, I have managed to present lots of hard stuff effectively through these stories.
  • Some of my books have been directed specifically at Information Technology (IT) people. Some have not. Generally, the ones that have sold best and longest have been the ones not so specifically directed at IT people — books such as These readers tell me they like the stories, even those that have some technical content. In fact, they often learn technical concepts and details as a byproduct of reading and enjoying the stories. I like that, because it says I have reached many smart, talented people who don't happen to be IT folk. The novels do that even better. I hope more people try them.

Jon
Could you briefly mention some of your favourite music and films.
Jerry
Music: Almost anything Baroque. Any of Mozart (I have the complete recordings of his works, which should tell you something). Most music prior to 1850; almost nothing after that except Sousa, Gilbert & Sullivan, and Scott Joplin.
Films: (I'm probably missing some, but all these are favorites that I can see again at any time, with no hesitation.)
Jon
Could you expand a little on your rule "not messing with time"? Does it relate to "Slowing down in order to do things right?"
Jerry
Yes. Things take the time they take, not the time you hope they will take. Pushing for half-time produces half-baked.
Jon
At your Problem Solving Leadership course I noticed you sometimes answered a question "obliquely". For example when discussing cancer treatments you told the story of the Aspen mountain passes and how none of them are really much good. Could you explain why you sometimes choose to answer a question in this manner.
Jerry
What you call oblique, I call powerful. Take your example. Few of my listeners have had cancer, but many of them have the experience of hiking on difficult trails. Thus, the lesson is more likely to stick, as it has with you.
Jon
You’ve said learning a new language (a human language, such as Spanish) really helped your ability to think in a Systems Thinking way. Could you expand on that?
Jerry
In my case, it was French, learned while living in Geneva for a number of years. After a while, I found myself thinking in French when my ordinary thinking wasn't solving a problem. For instance, in English we say things like, "I took an aspirin for my headache." In French, the expression would be "against my headache." To me, that seems to imply something different from the English expression — a different way of thinking about disease and cure.
So, in effect, after learning French, I have a second way of addressing problems — and once I have a second way, it's easy to see that there may be a third way, and a fourth way, and so on. Being able to see a situation in multiple ways is a key concept in systems thinking, and learning a new language favors that concept.
The same phenomenon occurs in so-called programming languages. Someone who can work in only one such "language" cannot truly be considered a real programmer, in my opinion. That's why in school, I always insisted that programming homework be done in at least two languages — along with a written analysis of how each language affected the way the student approached the problem.

Many thanks to Jerry for agreeing to be interviewed by me. Fiona Charles took the excellent photo of me and Jerry. If you're a fan of Jerry you should check out her excellent book The Gift of Time. This interview also appeared in CVu, a publication of the ACCU, an organisation of programmers who care about professionalism in programming and are dedicated to raising the standard of programming.

Masses of accu conference notes





These are just some of the notes I made at the accu conference! What a fantastic conference it was.

When I think of or hear something I want to remember I jot it down on a piece of paper (I've trained myself to keep pens and paper on me at all times). I know lots of people use electronic organizers of various kinds but I find the paper system works best for me (up to now). I make a rough note and keep it short, particularly if I'm talking to someone, so we can start chatting again. I find the act of scribing the shape of the letters seems to help me remember better. After a few days I come back to the note and either bin it, write it up on my wiki in more detail, or put it back in my pocket. However I learned of a really neat electronic system that still uses a real pen and real paper. It's called LiveScribe and I will definitely be looking into it. I saw one being used by Ian Banner who I met on the Jeff Sutherland's pre-conference scrum course. It looks truly excellent. Thanks Ian.

It is the year 3016 - the remains of a large codebase have been found in Norway



The accu 2010 conference in Oxford has just finished (Tweet #accu2010). Olve Maudal and I were honoured to be speaking at this fantastic event - our joint presentation was called Code Archaeology: Stories from a real codebase. Inspired by James Bach's awesome Towering-Inferno keynote we added a small, somewhat hastily put together, fun-based introduction. It seems to have worked well; "code archaeology" proved a rich vein of humour (the beer and lack of sleep probably helped too).

The real value of our presentation was the main content in part two.
  • a detailed look, going back 10 years, at many small changes from a real codebase worked on by developers who care.
  • an equally detailed look at the trust-based culture Tandberg strives to maintain, helping them consistently create superb products.
There are some details that have to be confirmed before Olve and I can make part two available and I apologise for jumping the gun earlier. Meanwhile here is Part One.

P.S. Thanks to Anna-Jayne Metcalfe (@annajayne) who tweeted the title of this blog entry and Mark Ridgwell (@credfeto) for the photo.

Accu charity book giveaway



Many thanks to everyone who took a book and contributed. I'm now about 200 books lighter and the house is about half a bookcase lighter too. Thanks also to my son Patrick (he has Aspergers Syndrome) for lending me the safe. Several people also contributed but did not take a book (clearly they also have too many books already) including the famous Henney-Lakos £20 bet winnings. The total raised was £330.20 which will be split equally between Barnados and The Autism Trust.

Many people suggested bringing some of their old books to next years accu conference so we can have an even bigger Charity Book Giveaway, with even more selection. Please contact me if you'd like to contribute - I'll keep a list of bookworms so I can send reminders a few weeks before next years conference.

Accu charity book giveaway

My wife and our three kids live in a fairly small end-terraced house. My work-related books are taking up too much space so I'm going to give a load of them away at this years ACCU conference. My plan is to choose a charity and ask everyone who takes a book to make a voluntary donation. I've already collected one boxfull. If you're coming to the conference maybe you'd like to consider contributing some books too?