Porto Codes

Conversas em código

Podcast about programming in portuguese.

By @hugopeixoto, @locks, and @zamith.

Listen

(description and episode list in portuguese follows)

Apropriado para ouvintes de todas as idades e níveis, serão abordados diversos temas relacionados com a área de programação, desde linguagens e bibliotecas, a metodologias e comunidades.

Episódios anteriores

Ep. 21 - Ruby 2.7 e Ruby 3.0

<h4>Ruby 3.0</h4> <ul> <li><a href="%5Bhttps://rubykaigi.org/2019/presentations/matzbot.html%5D(https://rubykaigi.org/2019/presentations/matzbot.html)">Ruby 3 Progress Report</a></li> <li><a href="%5Bhttps://sorbet.org/%5D(https://sorbet.org/)">Sorbet - Type Checker</a></li> <li><a href="%5Bhttps://olivierlacan.com/posts/concurrency-in-ruby-3-with-guilds/%5D(https://olivierlacan.com/posts/concurrency-in-ruby-3-with-guilds/)">Concurrency in Ruby 3 with Guilds</a></li> </ul> <h4>Ruby 2.7</h4> <ul> <li>Object#method shorthand <ul> <li><a href="https://blog.saeloun.com/2019/02/26/ruby-2-7-method-shorthand.html">Ruby 2.7 adds shorthand operator for Object#method</a></li> <li><a href="https://www.youtube.com/watch?v=2-q8Qwlg0n8">Extremely Defensive Coding</a></li> </ul> </li> <li><a href="%5Bhttps://medium.com/@baweaver/ruby-2-7-numbered-parameters-3f5c06a55fe4%5D(https://medium.com/@baweaver/ruby-2-7-numbered-parameters-3f5c06a55fe4)">Numbered parameters</a></li> <li><a href="%5Bhttps://medium.com/@baweaver/ruby-2-7-enumerable-tally-a706a5fb11ea%5D(https://medium.com/@baweaver/ruby-2-7-enumerable-tally-a706a5fb11ea)">Enumerable#tally</a></li> <li>Pattern matching <ul> <li><a href="%5Bhttps://medium.com/@baweaver/ruby-2-7-pattern-matching-first-impressions-cdb93c6246e6%5D(https://medium.com/@baweaver/ruby-2-7-pattern-matching-first-impressions-cdb93c6246e6)">First Impressions</a></li> <li><a href="%5Bhttps://medium.com/@baweaver/ruby-2-7-pattern-matching-destructuring-on-point-90f56aaf7b4e%5D(https://medium.com/@baweaver/ruby-2-7-pattern-matching-destructuring-on-point-90f56aaf7b4e)">Destructure on Point</a></li> </ul> </li> </ul>

Ep. 20 - Internacionalização, bandeiras, e inputs

<ul> <li><a href="http://www.flagsarenotlanguages.com/blog/why-flags-do-not-represent-language/">Why Flags do not represent languages</a></li> <li><a href="https://en.wikipedia.org/wiki/Language_Icon">Language icon</a></li> <li><a href="https://www.ctrl.blog/entry/html5-input-number-localization.html">HTML5 input number localization</a></li> <li><a href="https://momentjs.com/">Momentjs</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toLocaleDateString">Date.prototype.toLocaleDateString</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl">Intl</a></li> </ul>

Ep. 19 - Experiência com websockets

<h2>Shownotes</h2> <ul> <li><a href="https://www.twilio.com/">Twilio</a></li> <li><a href="https://en.wikipedia.org/wiki/WebSocket">WebSocket</a></li> <li><a href="https://hexdocs.pm/phoenix/presence.html">Phoenix Presence</a></li> <li><a href="https://aws.amazon.com/fargate/">AWS Fargate</a></li> <li><a href="https://guides.rubyonrails.org/action_cable_overview.html">Ruby on Rails: Action Cable</a></li> <li><a href="https://nodejs.org/en/">Node.js</a> <ul> <li><a href="https://www.npmjs.com/package/ws">ws</a></li> <li><a href="https://expressjs.com/">Express.js</a></li> <li><a href="http://docs.sequelizejs.com/">Sequelize</a></li> </ul> </li> <li><a href="https://docs.docker.com/develop/develop-images/multistage-build/">Docker multi-stage builds</a></li> <li><a href="https://pusher.com/">Pusher</a></li> </ul>

Ep. 18 - Sites Estáticos e Porto Codes

<h2>Shownotes</h2> <ul> <li>Geradores estáticos <ul> <li><a href="https://gohugo.io/">Hugo</a></li> <li><a href="https://middlemanapp.com/">Middleman</a></li> <li><a href="https://jekyllrb.com/">Jekyll</a></li> <li><a href="http://harpjs.com/">Harp.js</a></li> <li><a href="https://www.gatsbyjs.org/">Gatsby</a></li> <li><a href="https://vuepress.vuejs.org/">VuePress</a></li> <li><a href="https://github.com/empress/empress-blog">Empress</a></li> <li><a href="https://nanoc.ws/">nanoc</a></li> </ul> </li> <li><a href="https://porto.codes">Porto Codes</a></li> <li><a href="https://donutjs.club/">Donut.js</a></li> </ul>

Ep. 17 - ActivityPub

<h2>Shownotes</h2> <ul> <li><a href="https://porto.codes/">Porto Codes</a></li> <li><a href="https://fosdem.org/2019/">FOSDEM</a> <ul> <li><a href="https://fosdem.org/2019/schedule/track/decentralized_internet_and_privacy/">Decentralized Internet and Privacy</a></li> </ul> </li> <li><a href="https://diasporafoundation.org">Diaspora</a></li> <li><a href="https://mastodon.social/about">Mastodon</a></li> <li><a href="https://www.scuttlebutt.nz">Scuttlebutt</a></li> <li><a href="https://fediverse.party/">Fediverse</a></li> <li><a href="https://en.wikipedia.org/wiki/ActivityPub">ActivityPub</a></li> <li><a href="https://www.w3.org/TR/activitystreams-core/">ActivityStreams</a></li> <li><a href="https://www.w3.org/TR/activitystreams-core/">WebFinger</a></li> <li><a href="https://en.wikipedia.org/wiki/OpenID_Connect">OpenID Connect</a></li> <li><a href="https://indieweb.org/">IndieWeb</a> (<a href="https://en.wikipedia.org/wiki/IndieWeb">wikipedia</a>)</li> <li><a href="https://en.wikipedia.org/wiki/IndieWebCamp">IndieWebCamp</a></li> <li><a href="https://en.wikipedia.org/wiki/Micropub_(protocol)">Micropub</a></li> <li><a href="https://indieweb.org/Microsub">Microsub</a></li> <li><a href="https://en.wikipedia.org/wiki/OStatus">OStatus</a></li> <li><a href="https://feedly.com/">Feedly</a></li> <li><a href="https://theoldreader.com/">TheOldReader</a></li> <li><a href="https://en.wikipedia.org/wiki/Google_Reader">Google reader</a></li> <li><a href="https://rachelbythebay.com/w/2013/07/03/service/">It’s gone gone gone and it’s not coming back</a></li> <li><a href="https://en.wikipedia.org/wiki/IndieWeb">PeerTube</a></li> <li><a href="https://ipfs.io/">IPFS</a></li> <li><a href="https://www.meetup.com/">Meetup</a></li> <li><a href="https://en.wikipedia.org/wiki/Markdown">Markdown</a></li> <li><a href="https://gettogether.community/">Get Together</a></li> <li><a href="https://github.com/portocodes/homepage">Porto Codes website</a></li> <li><a href="http://harpjs.com/">Harp</a></li> <li><a href="http://jade-lang.com/">Jade Language</a></li> <li><a href="https://en.wikipedia.org/wiki/IPv6">IPv6</a></li> <li><a href="https://en.wikipedia.org/wiki/SRV_record">SRV record</a></li> </ul>

Ep. 16 - mustache

<h1>Shownotes</h1> <ul> <li>Entrada na wikipedia: https://en.wikipedia.org/wiki/Mustache_(template_system)</li> <li>Website: https://mustache.github.io</li> <li>Implementação ruby: https://github.com/mustache/mustache</li> <li>Especificação: https://github.com/mustache/spec</li> <li>PR para implementar <code>Mustache#escape</code> https://github.com/mustache/mustache/pull/245</li> <li>Handlebars.js: https://handlebarsjs.com/</li> <li>ERB: https://ruby-doc.org/stdlib-2.6/libdoc/erb/rdoc/ERB.html</li> <li>Leah Culver: https://twitter.com/leahculver</li> <li>Convore: https://en.wikipedia.org/wiki/Convore</li> </ul>

Ep. 15 - Hacktoberfest: blueprinter

<h1>Shownotes</h1> <ul> <li><a href="https://hacktoberfest.digitalocean.com/">Hacktoberfest</a></li> <li><a href="https://github.com/rails-api/active_model_serializers">active_model_serializers</a></li> <li><a href="https://github.com/rails-api/active_model_serializers">Alternativas ao active_model_serializers</a></li> <li><a href="http://jsonapi.org/">jsonapi</a></li> <li><a href="https://github.com/procore/blueprinter">blueprinter</a></li> <li><a href="https://circleci.com/">Circle CI</a></li> <li><a href="https://github.com/seattlerb/minitest#benchmarks">Minitest::Benchmark</a></li> <li>PRs <ul> <li><a href="https://github.com/procore/blueprinter/pull/97">Remove Gemfile.lock and move dependencies to gemspec</a></li> <li><a href="https://github.com/procore/blueprinter/pull/99">Upgrade to circleci 2.0 </a></li> </ul> </li> </ul>

Ep. 14 - Hacktoberfest

<h1>Shownotes</h1> <ul> <li><a href="https://hacktoberfest.digitalocean.com">Hacktoberfest</a></li> <li><a href="https://docs.google.com/spreadsheets/d/1yjPG_WoF_6ZkrJF7pHZjAdr0ztt-23fNK9DFgNZvB80/edit#gid=0">Eventos locais</a> <ul> <li>Lisboa: <a href="https://www.eventbrite.pt/e/bilhetes-machine-learning-ai-meetup-sky-technology-centre-hacktoberfest-2018-50745104975">Machine Learning &amp; AI Meetup @ Sky Technology - Centre (Hacktoberfest 2018)</a></li> </ul> </li> <li><a href="https://open.microsoft.com/2018/09/30/join-hacktoberfest-2018-celebration-microsoft/">Join our #Hacktoberfest 2018 celebration! (Microsoft)</a></li> <li><a href="https://ember-help-wanted.netlify.com">Ember Help Wanted</a></li> </ul>

Ep. 13 - UTRUST

<h1>Shownotes</h1> <ul> <li> <p><a href="https://utrust.io">UTRUST</a></p> </li> <li> <p><a href="https://en.wikipedia.org/wiki/Initial_coin_offering">ICO</a></p> </li> <li> <p><a href="https://www.ethereum.org/">Ethereum</a></p> </li> <li> <p><a href="https://bitcoin.org/">Bitcoin</a></p> </li> <li> <p><a href="https://www.coinbase.com">Coinbase</a></p> </li> <li> <p><a href="https://en.bitcoin.it/wiki/Deterministic_wallet">Deterministic wallet</a></p> </li> <li> <p><a href="https://www.blockcypher.com/">Blockcypher</a></p> </li> <li> <p><a href="https://en.wikipedia.org/wiki/Know_your_customer">KYC</a></p> </li> <li> <p><a href="https://www.idnow.eu/">ID now</a></p> </li> <li> <p><a href="https://elixir-lang.org/">Elixir</a></p> </li> <li> <p><a href="http://phoenixframework.org">Phoenix</a></p> </li> <li> <p><a href="https://www.mandrill.com/">Mandrill</a>, bought by <a href="https://mailchimp.com/">Mailchimp</a></p> </li> <li> <p><a href="https://sendgrid.com/">Sendgrid</a></p> </li> </ul>

Ep. 12 - Elixir

<h1>Shownotes</h1> <ul> <li><a href="https://elixir-lang.org">Elixir</a></li> <li><a href="https://phoenixframework.org">Phoenix</a></li> <li><a href="https://hex.pm">Hex Package Manager</a></li> <li><a href="https://elixir-lang.org/getting-started/mix-otp/introduction-to-mix.html">Mix</a></li> <li><a href="https://elixir-lang.org/getting-started/mix-otp/docs-tests-and-with.html">Doctest</a></li> <li><a href="https://elixir-lang.org/getting-started/enumerables-and-streams.html#the-pipe-operator">Pipe operator</a></li> <li><a href="https://medium.com/blackode/when-and-where-to-use-cast-cal-info-messages-in-elixir-erlang-genserver-9baf937b6494">Gen Server</a></li> </ul>

Ep. 11 - Glimmer.js

<h1>Shownotes</h1> <ul> <li><a href="https://glimmerjs.com/">Glimmer.js</a></li> <li><a href="https://www.youtube.com/watch?v=A5k2u7AZf6g">An Animated Guide to Ember Internals</a></li> <li><a href="http://yehudakatz.com/2017/04/05/the-glimmer-vm-boots-fast-and-stays-fast/">The Glimmer VM: Boots Fast and Stays Fast</a></li> </ul>

Ep. 10 - GitMerge e FOSDEM

<ul> <li><a href="https://git-merge.com/">GitMerge 2017</a> <ul> <li><a href="https://git-lfs.github.com/">GIT LFS</a></li> <li><a href="http://schacon.github.io/git/git-read-tree.html">git sparse checkout</a></li> <li><a href="https://github.com/Microsoft/GVFS">GVFS</a></li> </ul> </li> <li><a href="https://fosdem.org/2017/">FOSDEM 2017</a> <ul> <li><a href="https://en.wikipedia.org/wiki/Key_signing_party">Key signing party</a></li> <li><a href="https://fosdem.org/2017/schedule/event/dashboardlaravelvuepusher/">Creating a dashboard with Laravel, Vue and Pusher</a></li> <li><a href="https://fosdem.org/2017/schedule/event/osd_accessibility_in_os/">Léonie Watson - Accessibility in Open Source</a></li> <li><a href="https://fosdem.org/2017/schedule/event/mozilla_firefox_puppet_show/">Firefox: The Puppet Show</a></li> <li><a href="https://fosdem.org/2017/schedule/event/mozilla_http2_whats_next/">So that was HTTP/2, what's next?</a></li> <li><a href="https://fosdem.org/2017/schedule/event/homebrew_getting_to_1/">Homebrew: getting to 1.0.0</a></li> <li><a href="https://fosdem.org/2017/schedule/event/building_a_distro_with_musl_libc/">Building a distro with musl libc</a></li> <li><a href="https://alpinelinux.org/about/">Alpine Linux</a></li> <li><a href="https://fosdem.org/2017/schedule/event/keccak/">Portfolio of optimized cryptographic functions based on Keccak</a></li> <li><a href="https://fosdem.org/2017/schedule/event/password_keeper/">The Making of a Secure Open Source Password Keeper</a></li> <li><a href="https://fosdem.org/2017/schedule/event/encrypting_matrix/">Building a universal end-to-end encrypted communication ecosystem with Matrix and Olm</a></li> <li><a href="https://fosdem.org/2017/schedule/event/mozilla_root_program/">Reflections on Adjusting Trust: The Mozilla Root Program</a></li> </ul> </li> </ul>

Ep. 9 - Subresource Integrity

<h1>Shownotes</h1> <ul> <li><a href="https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity">Subresource Integrity (MDN)</a></li> <li><a href="https://www.w3.org/TR/SRI/">Subresource Integrity (W3C)</a></li> <li><a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/require-sri-for">Content Security Policy - require-sri-for</a></li> <li><a href="https://www.srihash.org/">SRI Hash Generator</a></li> <li><a href="https://github.com/jonathanKingston/ember-cli-sri">ember-cli-sri</a></li> </ul>

Ep. 8 - Ruby 2.4

<h1>Shownotes</h1> <ul> <li><a href="https://blog.blockscore.com/new-features-in-ruby-2-4/">New Features in Ruby 2.4</a>, John Backus</li> <li><a href="https://www.ruby-lang.org/en/news/2016/11/09/ruby-2-4-0-preview3-released/">2.4.0-preview3</a></li> <li><a href="https://www.ruby-lang.org/en/news/2016/09/08/ruby-2-4-0-preview2-released/">2.4.0-preview2</a></li> <li><a href="https://www.ruby-lang.org/en/news/2016/06/20/ruby-2-4-0-preview1-released/">2.4.0-preview1</a></li> <li><a href="https://bugs.ruby-lang.org/issues/10085">non-ASCII case conversion to String#upcase/downcase/swapcase/capitalize</a></li> <li><a href="https://bugs.ruby-lang.org/issues/12005">Unify Fixnum and Bignum into Integer</a></li> <li><a href="https://bugs.ruby-lang.org/issues/6647">Exceptions raised in threads should be logged</a></li> </ul>

Ep. 7 - Dicas SSH

<h1>Shownotes</h1> <h2>SSH client escape sequences</h2> <ul> <li>https://lonesysadmin.net/2011/11/08/ssh-escape-sequences-aka-kill-dead-ssh-sessions/</li> </ul> <h2>connection multiplexing</h2> <ul> <li>http://man.openbsd.org/ssh_config</li> <li>https://en.wikibooks.org/wiki/OpenSSH/Cookbook/Multiplexing#Setting_Up_Multiplexing</li> <li>http://blog.scottlowe.org/2015/12/11/using-ssh-multiplexing/</li> </ul> <h2>authorized_keys</h2> <ul> <li>http://man.openbsd.org/OpenBSD-current/man8/sshd.8</li> <li>http://gitolite.com/gitolite/glssh.html#how-does-gitolite-use-all-this-ssh-magic</li> </ul> <h2>SSH Tunnels</h2> <ul> <li>http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html</li> <li>http://unix.stackexchange.com/questions/46235/how-does-reverse-ssh-tunneling-work</li> </ul> <h2>sshuttle</h2> <ul> <li>http://sshuttle.readthedocs.io/en/stable/</li> <li>https://github.com/sshuttle/sshuttle.git</li> </ul>

Ep. 6 - HTTP/2

<h1>Shownotes</h1> <h2>HTTP/2</h2> <ul> <li><a href="https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol">HTTP</a></li> <li><a href="https://http2.github.io/">HTTP/2</a></li> <li><a href="https://en.wikipedia.org/wiki/Netcat">Netcat</a></li> <li><a href="https://en.wikipedia.org/wiki/Text-based_protocol">Text Based Protocols (ftp, smtp, pop3)</a></li> <li><a href="https://curl.haxx.se/">curl</a></li> <li><a href="https://tools.ietf.org/html/rfc7540#section-8.1.2.1">HTTP/2.0 Pseudo-Header Fields</a></li> <li><a href="https://http2.github.io/http2-spec/compression.html">HPACK: Header Compression for HTTP/2</a></li> <li><a href="https://www.maxcdn.com/one/visual-glossary/domain-sharding-2/">Domain sharding</a></li> <li><a href="https://www.youtube.com/watch?v=yURLTwZ3ehk">Yesterday's perf best-practices are today's HTTP/2 anti-patterns - Velocity 2015 (Santa Clara) - Ilya Grigorik</a></li> <li><a href="https://www.polymer-project.org/1.0/toolbox/">Polymer App Toolbox</a></li> <li><a href="https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation">ALPN</a></li> <li><a href="https://webmasters.googleblog.com/2014/08/https-as-ranking-signal.html">HTTPS as a Ranking Signal</a></li> <li><a href="https://www.chromium.org/Home/chromium-security/marking-http-as-non-secure">Chromium/Chrome - Marking HTTP As Non-Secure</a></li> <li><a href="https://blog.mozilla.org/security/2015/04/30/deprecating-non-secure-http/">Firefox - Deprecating Non-Secure HTTP</a></li> <li><a href="https://github.com/letsencrypt/acme-spec/issues/64">Let's Encrypt - Wildcard discussion</a></li> <li><a href="https://nghttp2.org/">nghttp2 - HTTP/2 C Library</a></li> <li><a href="https://github.com/tenderlove/ds9">ds9 - Ruby wrapper around nghttp2</a></li> <li><a href="https://github.com/tenderlove/the_metal">Rack 2</a></li> <li><a href="https://www.youtube.com/watch?v=1EeWXojdqvU">Full Stack Fest 2015: Request and Response, by Aaron Patterson</a></li> <li><a href="http://expressjs.com/">express.js</a></li> <li><a href="https://www.nginx.com/blog/nginx-1-9-5/">Open Source NGINX 1.9.5 Released with HTTP/2 Support</a></li> <li><a href="https://httpd.apache.org/docs/2.4/mod/mod_http2.html">Apache module mod_http2</a></li> </ul> <h2>Misc</h2> <ul> <li><a href="http://emberjs.com/blog/2013/09/06/new-ember-release-process.html">The Ember.js post-1.0 release cycle</a></li> <li><a href="http://rubyconf.pt/">RubyConf PT</a></li> <li><a href="http://emberconf.com/">EmberConf 2016</a></li> <li><a href="https://en.wikipedia.org/wiki/Fear_of_missing_out">FOMO (Fear Of Missing out)</a></li> <li><a href="https://fosdem.org">FOSDEM</a></li> <li><a href="https://medium.com/@wifelette/emberconf-2016-the-morning-after-post-mortem-b37d195b916b#.vogzii7tg">EmberConf 2016: The Morning-After Post-Mortem</a></li> <li><a href="http://www.railspacific.com/">Rails Pacific</a></li> </ul>

Ep. 5.5 - RubyConf Portugal

<h1>Shownotes</h1> <ul> <li><a href="http://rubyconf.pt/">RubyConf Portugal</a> <ul> <li>Outubro, 28-29</li> <li>Braga, Portugal</li> </ul> </li> <li><a href="https://twitter.com/wycats">Yehuda Katz</a></li> <li><a href="https://www.papercall.io/rubyconfpt-2016">CFP </a> <ul> <li>Julho, 15</li> </ul> </li> <li><a href="https://ti.to/subvisual/rubyconfpt-2016/discount/conversasemcodigo">Promo code</a></li> </ul>

Ep. 5 - Meteor

<h1>Shownotes</h1> <ul> <li><a href="https://www.meteor.com/">Meteor</a></li> <li><a href="https://www.meteor.com/blaze">Blaze</a></li> <li>Integração front-end <ul> <li><a href="https://react-in-meteor.readthedocs.io/en/latest/">Reach in Meteor</a></li> <li><a href="https://www.meteor.com/tutorials/angular/creating-an-app">Angular</a></li> </ul> </li> <li><a href="http://info.meteor.com/blog/introducing-ddp">Introducing DDP (Distributed Data Protocol)</a></li> <li><a href="https://dockyard.com/blog/2016/03/25/what-makes-phoenix-presence-special-sneak-peek">What makes Phoenix Presence special, and a sneak peek<br /> </a></li> <li><a href="http://horizon.io/">Horizon</a></li> <li>Facebook <ul> <li><a href="http://graphql.org/docs/getting-started/">GraphQL</a></li> <li><a href="https://facebook.github.io/relay/">Relay</a></li> </ul> </li> <li><a href="https://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern">Publish-subscribe pattern</a></li> <li><a href="https://www.youtube.com/watch?v=9sc8Pyc51uU">Data fetching for React applications at Facebook</a></li> <li><a href="http://joshowens.me/">Josh Owens</a></li> <li><a href="https://www.rethinkdb.com/">RethinkDB</a></li> </ul> <h1>Participantes</h1> <ul> <li><a href="https://twitter.com/gabrielgpoca">Gabriel Poça</a></li> <li><a href="https://twitter.com/zamith">Luís Ferreira</a></li> <li><a href="https://twitter.com/locks">Ricardo Mendes</a></li> </ul>

Ep. 4.5 - Let's Encrypt

<h1>Shownotes</h1> <ul> <li><a href="https://letsencrypt.org/">Let's Encrypt</a></li> <li><a href="https://letsencrypt.github.io/acme-spec/">Especifícação do protocolo de obtenção de certificados</a></li> <li><a href="https://community.letsencrypt.org/t/which-browsers-and-operating-systems-support-lets-encrypt/4394">Lista de compatibilidade de browsers e sistemas operativos</a></li> <li><a href="https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04">Tutorial de Let's Encrypt da Digital Ocean</a></li> </ul>

Ep. 4 - TypeScript

<h1>Shownotes</h1> <ul> <li><a href="http://www.typescriptlang.org/">TypeScript</a></li> <li><a href="http://definitelytyped.org/">DefinitelyTyped</a></li> <li><a href="https://angular.io/docs/ts/latest/index.html">Angular 2 for TypeScript</a></li> <li><a href="https://github.com/locks/ember-cli-typescript">ember-cli-typescript</a></li> <li><a href="https://github.com/tildeio/glimmer">Glimmer</a></li> </ul>

Ep. 3.14 - Goad

<h1>Shownotes</h1> <ul> <li><a href="https://goad.io/">Goad</a></li> <li><a href="http://aws.amazon.com/documentation/lambda/">AWS Lambda</a></li> <li><a href="http://gophergala.com/">Gopher Gala</a></li> </ul>

Ep. 3 - Electron

<h1>Shownotes</h1> <ul> <li><a href="http://electron.atom.io/">Electron</a></li> <li><a href="https://atom.io/">Atom</a></li> <li><a href="https://ember-hearth.readme.io/">Ember Hearth</a></li> <li><a href="https://github.com/felixrieseberg/ember-electron">Ember Electron</a> (<a href="http://confreaks.tv/videos/emberconf2016-building-desktop-apps-with-ember-and-electron">EmberConf 2016</a>)</li> </ul>

Ep. 2.5 - No Estimates

<h1>Shownotes</h1> <ul> <li><a href="http://zuill.us/WoodyZuill/beyond-estimates/">Beyond estimates</a></li> </ul>

Ep. 2 - Wax On Wax Off

<h1>Shownotes</h1> <ul> <li> <p><a href="http://exercism.io/">Exercism</a></p> </li> <li> <p><a href="http://codekata.com/">Code Kata</a></p> </li> <li> <p><a href="https://www.youtube.com/watch?v=97npZkcS58Y">Jim Weirich, Gilded Rose</a></p> </li> <li> <p><a href="https://www.youtube.com/watch?v=vX-Yym7166Y">Corey Haynes, Roman Numerals</a></p> </li> <li> <p><a href="https://en.wikipedia.org/wiki/Mob_programming">Mob programming</a></p> </li> <li> <p><a href="http://rubykoans.com/">Ruby Koans</a></p> </li> <li> <p><a href="https://changelog.com/108/">The Changelog, Exercism.io with Katrina Owen</a></p> </li> <li> <p><a href="http://www.codewars.com/">Codewars</a></p> </li> <li> <p><a href="https://www.hackerrank.com/">HackerRank</a></p> </li> <li> <p><a href="https://projecteuler.net/">Project Euler</a></p> </li> <li> <p><a href="http://www.puzzlenode.com/">Puzzlenode</a></p> </li> <li> <p><a href="http://adventofcode.com/">Advent of Code</a></p> </li> <li> <p><a href="http://js1k.com/">js1k</a></p> </li> <li> <p><a href="http://www.vimgolf.com/">vimgolf</a></p> </li> <li> <p><a href="https://en.wikipedia.org/wiki/Quine_(computing)">Quine</a></p> </li> <li> <p><a href="http://www.ioccc.org/">ioccc</a></p> </li> <li> <p><a href="https://code.google.com/codejam">Code Jam</a></p> </li> <li> <p><a href="http://aichallenge.org/">A.I. Challenge</a></p> </li> <li> <p><a href="http://robocode.sourceforge.net/">Robocode</a></p> </li> <li> <p><a href="http://starfighters.io/">Star Fighters</a></p> </li> </ul>

Ep. 1.5 - Administrate

<h1>Show notes</h1> <ul> <li><a href="https://github.com/thoughtbot/administrate">administrate</a></li> <li><a href="https://github.com/sferik/rails_admin">rails_admin</a></li> <li><a href="http://activeadmin.info/">activeadmin</a></li> <li><a href="https://github.com/activescaffold/active_scaffold">active_scaffold</a></li> <li><a href="https://github.com/plataformatec/simple_form">simple_form</a></li> </ul> <h1>Links bónus</h1> <ul> <li><a href="http://guides.rubyonrails.org/generators.html">Ruby on Rails Guides - Generators</a></li> <li><a href="http://guides.rubyonrails.org/engines.html">Ruby on Rails Guides - Engines</a></li> <li><a href="https://robots.thoughtbot.com/writing-a-domain-specific-language-in-ruby">Writing a Domain Specific Language in Ruby</a></li> </ul>

Ep. 1 - Rust, uma linguagem de sistemas para os tempos modernos

<p>Neste episódio inaugural decidimos abordar a linguagem de programação Rust.<br /> Vamos explicar um pouco da história desta linguagem, algumas das suas características, e partilhar algumas experiências que já tivemos com a linguagem.</p> <h1>Shownotes</h1> <ul> <li><a href="https://www.rust-lang.org/">Rust</a></li> <li><a href="https://doc.rust-lang.org/book/">Rust Book</a></li> <li><a href="http://rustbyexample.com/">Rust by Example</a></li> <li><a href="http://www.newrustacean.com/">New Rustacean</a></li> <li><a href="https://users.rust-lang.org/t/lets-talk-about-ecosystem-documentation/2791">Let's talk about ecosystem documentation</a></li> <li><a href="https://www.rust-lang.org/team.html">Rust team</a></li> <li><a href="http://arewewebyet.com/">Are We Web Yet?</a></li> <li><a href="http://blog.rust-lang.org/2015/04/10/Fearless-Concurrency.html">Fearless Concurrency</a></li> </ul> <h1>Participantes</h1> <ul> <li><a href="https://hugopeixoto.net">Hugo Peixoto</a></li> <li><a href="https://twitter.com/zamith">Luís Ferreira</a></li> <li><a href="https://twitter.com/locks">Ricardo Mendes</a></li> </ul>

Ep. 0 - Uma breve introdução

<p>Neste episódio inaugural falamos um pouco do porquê do projeto, e conhecemos os três anfitriões.</p>