Geek Alert: When I’m bored…

I have to admit, I’m not one to go stir-crazy. I could be completely happy sitting around the house, as long as I have access to a computer, iPad, Instruments (like a Piano or Guitar), and/or Kindle.

I’ve spent a lot of my “extra” time going back and refreshing my programming skills, and recently someone @Work reminded me of PlantUML. I had completely forgotten about it!

With PlantUML you can program pictures. If you like to draw UML/Architecture type pictures to express ideas, I highly recommend you check it out.

So here I am, on a Sunday morning, doing another thing that I enjoy: brain teasers.

So – I had this brain teaser that I was staring at and I thought: Why don’t I draw it out. Which is where PlantUML comes into the picture. Here we go. I hope you enjoy it as much as I do (@Amanda says – you are so boring).

You live on an island, you are coming back from a trip to the store, you have in your inventory a duck, some seeds and a fox. You can only carry one item across on the boat at a time. You cannot leave the duck alone with the seeds or the fox alone with the duck, as they will eat each other. How do you get the Duck, the Seeds, and the Fox over to your island?

Enter PlantUML:

@startuml
Participant "Left Shore" as L
Participant "Boat" as B
Participant "Right Shore" as R

Rnote over R
Duck
Seeds
Fox
Endrnote

R->L: bring over duck

Rnote over L
Duck
Endrnote

Rnote over R
Seeds
Fox
Endrnote

L->R : go back for fox
R->L: Bring over Fox
Rnote over L
Fox
Endrnote

Rnote over L
Duck
Endrnote

L->R : bring back Duck

Rnote over R
Seeds
Endrnote

Rnote over R
Duck
Endrnote

R->L : bring over seeds

Rnote over L
Fox
Seeds
endrnote

rnote over R
duck
Endrnote

L->R : Go back for duck
R->L : Bring over Duck

Rnote over L
Duck
Seeds
Fox
Endrnote
@enduml

And here is your result:

You are welcome Internet.