Version 23, MakerSquare, 2016-09-29
Laurie Voss
CTO,
@seldo
I may also include sarcastic remarks down here.
A: Twitter, America's most trusted source for real facts.
More on Wikipedia: sel.do/dunningkruger
Dunning & Kruger won the Ig Nobel prize for psychology in 2000, but this is really useful stuff.
Are you even old enough to remember this movie?
aka git
All hail Sir Tim, the great and powerful.
The entire web is just the <A> tag.
http://www.filamentgroup.com/lab/weight-wait.html
http://sel.do/fallbackfont
is what a web app feels like, not what it looks like
http://www.nngroup.com/articles/designing-effective-carousels/
Nobody uses carousels:
Nobody scrolls horizontally:
http://www.nngroup.com/articles/horizontal-scrolling/
Links go places, buttons do things
Spatial memory is a thing
Use PushState to allow deep linking within rich web apps.
http://twitter.com/#!/ded/status/18308450276
is the same as
http://twitter.com/
Performance is invisible UX.
http://sel.do/mobile
As of 2015: more searches from mobile than PCs:
is not optional
3.4% of web users have limited vision:
http://www.practicalecommerce.com/articles/2114-Screen-Readers-Eight-Frequently-Asked-Questions
Guide to accessibility:
http://www.nngroup.com/reports/usability-guidelines-accessible-web-design/
Best database ever.
Memory across machines
Memory++
Ehhhhhh
Replication is awesome
npm install leveldb
(or these days, MariaDB)
Get somebody else to install it.
More money, less problems.
Any CAP combination.
Do not use it as a primary store.
Surprisingly capable.
Replication is not a backup strategy.
Because people are terrible sometimes.
Salt and hash passwords
Ironically, a half-baked idea.
Lock them down
HttpOnly = true
i.e. HTTP, not JavaScript
Secure = true
i.e. smart, not dumb
Always use HTTPS.
Certs are free! letsencrypt.org
Cross Site Scripting
(because CSS, RSS and OSS were taken)
Hi, my name is <script>alert('evil')</script>
http://who.is/dns/jamiehankins.co.uk
Regular expressions are really hard and really worthwhile.
vs
Efficiency
vs
Throughput
vs
Latency
is
https://blog.kissmetrics.com/loading-time/
https://www.soasta.com/blog/google-mobile-web-performance-study/
if you're huge
if you're dumb
is another type of speed
Trade storage for speed. Always.
Globals
function foo(x) {
return whereDidThisComeFrom + x
}
function foo(x, god) {
return god.universe.random.thing + x
}
function foo(a,b,doSpecialCase,leapYear,isPrime,isTuesday) {
...
}
function foo(a,b,options) {
...
}
instead
Just learn to type faster.
Boring code is better code.
Explain your code once, not 100 times.
And so does documentation.
All hail UTC
YYYY-MM-DDTHH:MM:SSZ is your time format
aka W3CDTF
http://www.w3.org/TR/NOTE-datetime
UTF-8 or GTFO
But ask me why TDD is a bad idea
Make the intern do it
"What happens if I put emoji in here?"
Don't copy code you don't understand.
"What does this button do?"
If you don't know how you fixed it,
you didn't really fix it.
The more code you delete,
the less code there is to be wrong.
They are trying to help.
Error at Line 1
is a thing the robots should do for you.
Bad code everyone loves is better than beautiful code nobody uses.
Having any pattern is better than not having a pattern
DRY = Don't Repeat Yourself
Build a tool, not a contraption
All systems are eventually distributed systems.
It feels like we haven't had a joke down here in a while.
is a bullshit term.
These are the hardest skills.
Building software is easy, finishing software on time is hard.
"people will forget what you said,
people will forget what you did,
but people will never forget
how you made them feel."
Maya Angelou
http://lunar.lostgarden.com/Rules%20of%20Productivity.pdf
http://sel.do/sleep
http://blog.ycombinator.com/yc-stats
"Hey, you guys need any Cold Fusion done?"
How to find and get a job (by @jewelia)
http://sel.do/findjobs
How to interview other people:
http://sel.do/interviewing
by ganging up
Holy crap it seemed like he would never shut up
Now would be good time to follow me on Twitter!
@seldo
Good questions get socks!