Work Smarter not Harder
Make yourself indispensable
Travis Himes
0/5
What?
- Jenkins & Git
- WHAT is going on here?
- Undo order edits
- Dagger
- Android, Dagger, and Databinding...
- Jack of all Trades, master of none
Today's talk
In Words
- Make you a 'better' developer
- Make your work easier
- More repeatable
- Faster
Learn *nix Tools
-
Windows vs Mac / Linux
-
Unix?
-
-
grep / sed / awk
-
command line tricks:
-
last command edits
-
reverse search of commands
-
single entry history
-
non-history commands
-
-
"man" pages
-
brew
-
But wait, there's more!
1/5
Learn Shell Scripting
-
I primarily use bash, not the only shell!
-
Mouse vs Keyboard
-
Copy / Rename / Move
-
Fix / Adjust
-
Input
-
Tips and Tricks!
Shell Scripting T&T
-
Google it!
-
echo it first!
-
Write a usage statement
-
Your tips & tricks?
*rc files
-
Edit your .bashrc file
-
Email it to yourself or write a gist!
-
git tricks
-
git status
-
co -
-
-
aliases:
-
up
-
login
-
quietLogs
-
clearData
-
airplane
-
notes
-
rmOrig
-
-
What might you do?
Problem
Spreadsheet with a BUNCH of detailed information in it, nicely organized, well written, but, you need it in a build.gradle file...
How I did it...
Export to CSV
Careful iterative sed work
Check along the way
Consider "current" vs "target"
Rinse, wash, repeat
For Example...
Not always!
Consider scale!
Interacting with APIs
- Control both API and Client?
-
People element
-
Software element
-
Things change
-
Trust but Verify
-
"Can you take a look at this"
-
"This doesn't work"
2/5
Testing API behavior
Server behaves differently, depending on device-specific behaviors
Options (worst first):
- Edit Client code
- Always gets hardcoded response
- Fake data to server for desired response
- MITM it
- Intercept response, adjust it
- Intercept request, adjust it
Charles
- Free Trial, but NOT free forever
- Pain to setup on android
- Awesome!
- Response rewrite
- sed for server data!
- Setup specific case yourself
- Request rewrite
- sed for client calls...
- Assert server behavior
- HTTPS too!
- Worth the $50
curl
- Command line
- Can write scripts
- Quick, easy, get it done
- Pipe it to jq for pretty JSON
- Send GCM notifications!
Postman
- UI for making REST calls
- Save calls
- Environments
- Variables
- Plenty to go into
Android Studio
- Setup for collaboration
- Line Numbers!
- Mark Scheel "Android Studio is Wicked Pissah"
- "Find Action"
- Learn Keyboard Shortcuts!
- Use Studio for merge conflict resolution
- Code Templates
- Plugins!
3/5
Helpful Plugins
- Mark Scheel: KeyPromoter
- Vim / Emacs plugin
- Dagger Plugin
- What provides this?
- What uses this?
- Otto plugin
- Anyone have a favorite?
- Not a plugin, but: KeyCastr
Android Studio Debugging Tricks
- Attach Debugger to running app
- Make breakpoints conditional
- Evaluate expressions while debugging
- Set value during debugging
- including delete!
- Step into / Step out
- Learn the keyboard shortcuts!
Figure out how it works!
i.e. take apart the toaster, you just might learn something!
4/5
Don't be afraid to poke around!
- Don't get fired
- See what's possible
- "No" is easy, "Let me try" is better
- XML Drawables
- there is a depth to be explored
- idunnolol.com
- SVG
- LOGO anyone?
- No Bezier here
- DEMO (if time)
Collaborate aggressively
- Consider the bandwidth
- Google Hangouts / Meet
- ScreenHero
- Slack or Hipchat
- Github or Trello
- Consider the audience
- Consider the problem
Share what you've learned
- "Rubber Ducking" anyone?
- Explaining it clarifies and solidifies it in your mind
- Stack Overflow
- make a friendly competition
- Wikis
- easy, quick, write it down
- hacks
- tricks
- scripts
- commands
- Talks
- Documentation
Push each other
- Compete with your peers!
- Golf challenges
- Speed challenges
- Language challenges
- FRIENDLY competition
Try for the
The End!
Questions?
5/5
References:
https://goo.gl/1J1Hts
- www.google.com
- www.stackoverflow.com
- www.github.com
- http://tldp.org/LDP/abs/html/
- https://www.w3.org/TR/SVG/paths.html
- https://plugins.jetbrains.com/plugin/4455-key-promoter
- https://github.com/keycastr/keycastr
- https://plugins.jetbrains.com/plugin/164-ideavim
- www.google.com
- http://idunnolol.com/android/drawables.html
https://goo.gl/pTC5D5
Work Smarter not Harder
By Travis Himes
Work Smarter not Harder
- 1,799