-- trabe # Trabe -- who-we-are * Asís García * [asis@trabe.io](mailto:asis@trabe.io) * [@asischao](https://twitter.com/asischao) * David Barral * [david@trabe.io](mailto:david@trabe.io) * [@davidbarral](https://twitter.com/davidbarral) -- full-image here-be-dragons ![](assets/here_be_dragons.jpg) # Here be dragons -- disclaimer # Warning ## Contradictory opinions ahead ## Argue anytime! -- tl-dr # TL;DR ## Computer sucks! ## But it's ok -- trabe-green # What we do at Trabe -- # Technology ## Diverse ## Many paradigms/langs/tools ## Fast paced change -- # How to tackle this -- # Specialization ## Comfort zone -- # Embrace the change ## Try, change & evolve ## Widen perspective -- # Easy vs Simple ## Unknown seems complex -- # How we embrace -- # To be a nerd ## Read, watch, play! -- # Frustration driven ## Use your hatred -- # Invest in happiness ## Seek novelty & fight boredom -- # Teach someone ## College projects -- # Some examples -- big-bullets # Adoption 1. Ruby on Rails 2. MyFridge 3. Intranet 4. Real projects -- big-bullets # Adoption 1. Student project 2. Sidekiq 3. Real project -- big-bullets # Sane development 1. Angular 2. React 3. Redux -- # Workarounds ## JRuby ## Ruby + Java -- # Better tools ## SlidePack [github.com/trabe/slide-pack](https://github.com/trabe/slide-pack) -- big-bullets # Better tools 1. CVS 2. SVN 3. GIT 4. Bitbucket -- big-bullets hide-last # Better tools 1. Eclipse 2. Netbeans 3. gEdit 4. Vim 5. Emacs 6. Vim -- big-bullets # Better tools 1. Eclipse 2. Netbeans 3. gEdit 4. Vim 5. Emacs 6. Vim -- big-bullets # Avoid problems 1. npm 2. yarn 2. Docker -- big-bullets # Avoid problems 1. Setup scripts 2. VM 3. Docker -- full-image ![](assets/lessons.jpg) # Lessons learned -- # Never say never -- quote > Vim is crappy. I'll keep on using gEdit. Thanks! >
David
-- # Failure is an option ## It's easy to make mistakes -- # Always relativize ## No laws written in stone -- # Really embrace ## If you can -- # OOP ## GlobalConstants / if-else ## vs ## Encapsulation / Polymorphism -- # Functional javascript ## Classes ## vs ## functions + inmutable data -- # Really embrace # but always relativize ![](assets/troll.png) -- # Beware of the hype! ## Microservices vs monoliths ## SPA vs Server side -- # Prefer explicitness ## Just in time abstractions -- quote > duplication is far cheaper than the wrong abstraction >
Sandi Metz @sandimetz
-- # Be flexible ## Better to have code that can be changed/evolved rather than configured -- quote > Write code that is easy to delete, not easy to extend. >
tef @ 0x00 @tef_ebooks
-- # Third party code ## Use a wrapper. Seriously -- full-image ![](assets/lessons-hard.jpg) # The many hells of # Computer Science ## Lessons learned the hard way -- quote > There are only two hard things in Computer Science: cache invalidation and naming things >
Phil Karlton
-- # Easy cache invalidation ## LRU Caches
+
Auto expiring keys -- # Easy naming ## There is no easy naming ## Sorry folks! -- # There are more # hard things ## Sorry about that! -- # Encoding ## "Dear Ass" -- # Timezones ## UTC may fail you -- code ``` SELECT * FROM reports WHERE (DATE(created_at) = '2016-11-09') ``` -- quote > For the next two weeks #Turkey is on EEST... Erdogan Engineered Standard Time #SaatKac? >
Ayse Karahasan @aysekarahasan
-- quote > By the way: fuck time zones >
Steve Losh @stevelosh
-- # i18n, l11n, accessibility ## Some people just doesn't care -- # Floating point ## Money comes in cents -- # Dependencies ## The npm nightmare -- # Deployment + environments ## It runs in my laptop! -- # Documentation ## TODO: Fix this -- # Multithreading ![](assets/multi_cpu.gif) -- # Browser? fragmentation ![](assets/frag.png) -- # That's it! ## Questions? -- full-image ![](assets/jake.gif) # Thanks!