Thursday, November 17, 2011

Software is art

Remote pairing using tmux/Skype with rubypair.com

A simple approach to remote pairing using tmux & Skype: http://rubysource.com/loccasions-pair-programming/

Monday, November 14, 2011

How to make your own compiler

language agnostic - Learning to write a compiler - Stack Overflow
http://matt.might.net/articles/compiling-up-to-lambda-calculus/
 
http://research.microsoft.com/en-us/um/people/simonpj/papers/pj-lester-book/
http://pages.cs.wisc.edu/~cs536-1/notes/1.overview.html

Saturday, November 12, 2011

Tuesday, September 27, 2011

Mind-map to Presentation

http://www.exampler.com/blog/2009/02/04/getting-invited-to-speak-part-1
http://www.exampler.com/blog/2009/02/05/getting-invited-to-speak-part-2

http://www.lifehack.org/articles/communication/from-mind-map-to-presentation.html

http://blog.mindjet.com/2009/02/how-to-make-a-great-presentation-mapping-your-content
http://blog.mindjet.com/2009/03/presentation-camp
http://blog.publishedandprofitable.com/2008/11/11/mindmanager-template-for-authors-writing-a-speech-to-promote-their-book/
http://blog.mindjet.com/2009/02/mapping-a-great-presentation
http://www.garrreynolds.com/Presentation/slides.html
http://www.davidleeking.com/2008/09/05/presentation-tips/

10 Tips to Do Presentations Like Me:
  1. Don’t Use Templates
  2. Use Presenter Notes
  3. Use Presenter View
  4. Learn Your PC
  5. Use Screenshots
  6. Do What You Said You’d Do
  7. Tidy up Those Transitions
  8. Rehearse
  9. Interact with the Audience
  10. It’s a Performance

Thucydides


OO

Monday, September 26, 2011

Groovy Regex

http://groovy.codehaus.org/Regular+Expressions

// simple group demo
// You can also match a pattern that includes groups.  First create a matcher object,
// either using the Java API, or more simply with the =~ operator.  Then, you can index
// the matcher object to find the matches.  matcher[0] returns a List representing the
// first match of the regular expression in the string.  The first element is the string
// that matches the entire regular expression, and the remaining elements are the strings
// that match each group.
// Here's how it works:
def m = "foobarfoo" =~ /o(b.*r)f/
assert m[0] == ["obarf", "bar"]
assert m[0][1] == "bar"
 
 

XML & HTML Slurping with Groovy

XML Slurping String Content:
GPathResult feed = new XmlSlurper().parseText(source)
def rows = feed.FORM[0].TABLE[0].TR[1..-1]
// ...

Note: element names are case-sensitive

HTML Slurping with TagSoup:
slurper = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser())
url = new URL("http://...")
url.withReader { reader ->
    def html = slurper.parse(reader)
    // ...
}

HTML Slurping with NekoHtml:
slurper = new XmlSlurper(new org.cyberneko.html.parsers.SAXParser())
new URL(url).withReader { reader ->
    def html = slurper.parse(reader)
    // ...
}