Skip to content

Instantly share code, notes, and snippets.

@markjlorenz
Last active January 3, 2016 17:39
Show Gist options
  • Save markjlorenz/8496768 to your computer and use it in GitHub Desktop.
Save markjlorenz/8496768 to your computer and use it in GitHub Desktop.
Talk Ideas

Talk Ideas:

CRB 17-Feb-2014

When not to ruby

repo

A talk about when you might choose a langauge other than ruby.

Horse e-books-motron

repo

A talk about using golang's concurrency primitives to build up a complex chat room application that includes AI.

Developer Honypot

Refactoring code that your devops wrote.

This talk would be more of a performance-art piece. What I think is interesting here is that one simple text file can kill CMM productivity for an afternoon. Does that translate to talk-form?

It's your problem now.

How to take ownership of someone else's code base.

This idea is half baked, but I was just thinking about what I do when looking at someone's code.

  1. Open VIM and :r !tree -f
  2. Start at the top level test and then walk down through the routes -> controllers -> models
  3. Run ctags

I've see you dig right into the unit tests. There might be something interesting here.

How to do code review

Basically a summary of what we've been doing for Ryan/Zach/Dr. Ryan. Would end up being a really similar talk to "It's your problem now".

VIM Pro-tips.

If we do this one, I want to challenge the audience. I bet we can promise them that every single person will learn something new. Also we would need to find a way to make it engaging, even if you're not a true believer. Perhaps we could make some kind of game out of it, or tell a story?

Vanilla VIM only. No plugins.

I know not everyone uses VIM at CRB, so this would need to have a slight 'why you should use VIM' slant. Just a touch.

  1. VIM and the commandline, VIM's secret weapon

  2. :r !tree

  3. :w !pbcopy

  4. git diff | vim -

  5. Mapping leader keys

  6. :map <leader>t !rspec %<cr>

  7. :map <leader>r !touch tmp/restart<cr>

  8. Going places

  9. using ^Wgf to open files

  10. The jump stack ^I and ^O

  11. * and # and %

  12. ^6

  13. f and F and ;

  14. ^O

  15. ^[ in insert mode

  16. Omnicomplete ^N, ^P

  17. CTags Integration

  18. ^T, ^[, ^[

  19. The quickfix

  20. filename:linenum:comment

  21. cg quickfix.out cw

  22. cex system('ack something)

  23. Command mode and Searching

  24. q: and ^F

  25. q/

  26. %, ^R%

  27. ^R^W, ^R^A

  28. Tab and Window Management

  29. vsp, sp ^W

  30. :map <leader>r :bel new \| setl bt=nofile \| r !bc your_file <cr>

  31. Visual block mode

  32. ^V I

  33. Replacing text

  34. s

  35. r, R

  36. xp

  37. d

  38. c

  39. ~

  40. Opening a document from the web

  41. :e http://www.google.com

  42. Trailing whitespace is shitty

  43. set listchars=trail:💩

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment