├── .gitignore ├── LICENSE ├── README.md ├── discussions └── tweet.log │ ├── 2014.06.12--hintjens-pungoyal-ajeygore--best.license.for.FOSS.md │ ├── 2015.09.28--hintjens-maymounkov--p2p.social.platform.tonika.blocked.md │ ├── 2016.02.09--patrickdebois--how.snapchat.serves.so.quick.md │ └── 2016.03-06.XX--patrickdebois-on-serverless.md ├── talks-articles ├── README.md ├── datacenters │ ├── Data.Center.Networking.Toplogy.md │ ├── JuniperNetworks.Trivia.md │ ├── MPLS.in.a.Nutshell.10.minutes.md │ ├── README.md │ ├── edureka-PXE.Boot.Understanding.md │ ├── switch.arista.Arista-and-MLAG.md │ ├── switch.arista.Arista-and-SDN.md │ ├── switch.arista.Arista.md │ └── switch.arista.Arista3-Demo.md ├── dataengines │ ├── accumulo.summit.2014--datacenter.replication.md │ ├── bbuzz2015--Intro.to.Apache.Kylin--Fabian.Wilckens.md │ ├── hakka.labs--Scalable.and.Reliable.Logging.at.Pinterest.md │ ├── hakka.labs--Twitter.Heron.at.Scale.md │ ├── insightdataengineering.Building-Forex-trading-platform.md │ ├── insightdataengineering.com--data.pipeline.tools.md │ ├── kafka │ │ ├── Apache.Kafka-0.8.2-and.beyond--Jay.Kreps.md │ │ ├── ELK.at.LinkedIn-Scaling.ELK.with.Kafka.md │ │ ├── KSQL │ │ │ ├── README.md │ │ │ └── quickstart.md │ │ ├── Kafka.Summit.SF.2016--101.Ways.to.Configure.Kafka-Badly.md │ │ ├── SRE.at.LinkedIn-Kafka.as.a.Service.md │ │ ├── book.excerpts--Kafka-The.Definitive.Guide.md │ │ ├── cloudera--Balancing.Apache.Kafka.Cluster--Dennis.Dawson.md │ │ ├── dockerfiles │ │ │ ├── Dockerfile-main │ │ │ ├── README.md │ │ │ ├── build-docker │ │ │ ├── run-docker │ │ │ └── scripts │ │ │ │ ├── start-kafka.sh │ │ │ │ ├── supervisor.kafka.conf │ │ │ │ └── supervisor.zk.conf │ │ ├── maintenance │ │ │ └── migrating-kafka-zk-without-downtime.md │ │ └── misc-Performance-Tuning.md │ ├── linuxcon--processing.billion.events.with.Heron--Karthik.Ramasamy.md │ ├── pulsar │ │ ├── 2018-karthik-ramasamy-streamlio-next-gen-messaging-system.md │ │ ├── README.md │ │ ├── pulsar-apache-org.md │ │ ├── setup-local.md │ │ └── streamlio-misc.md │ └── spark │ │ └── DevoXX.Belgium.2015--Dive.into.Spark.Streaming.md ├── datastores │ ├── Cheatsheet.md │ ├── cayley │ │ └── managing-graph-data-with-cayley.md │ ├── cockroachdb │ │ ├── .gitignore │ │ ├── cockroach-cluster │ │ └── setup-on-nix │ ├── crate │ │ └── bbuzz2015--Distributed.Database.in.Docker.md │ ├── druid │ │ └── metamarkets.DRUID-building-a-data-pipeline-realtime.md │ ├── elasticsearch │ │ ├── README.md │ │ ├── book--es-indexing │ │ │ ├── README.md │ │ │ ├── chap01.md │ │ │ ├── chap02.md │ │ │ ├── chap03.md │ │ │ ├── chap04.md │ │ │ ├── chap05.md │ │ │ ├── chap06.md │ │ │ ├── chap07.md │ │ │ └── chap08.md │ │ ├── es-5min.md │ │ ├── gist-best-practices.md │ │ ├── gist-debug.md │ │ ├── gist-performance.md │ │ ├── gists.md │ │ └── reindex-36B-doc-5days.md │ ├── genre-timeseries │ │ ├── CassandraSummitEU2013--blueflood-simple-metrics-processing.md │ │ ├── jmoiron-net--thoughts-on-timeseries-db.md │ │ ├── oreilly-time-series-databases.tedDunning-ellenFriedman.md │ │ ├── polyconf2015-rocking.timeseries.with.C.Haskell.ClojureScript.md │ │ └── rackspace-blueflood-multi-tenated-timeseries-datastore.md │ ├── gundb │ │ ├── README.md │ │ ├── gundb-helloworld.htm │ │ └── to-do-app-tutorial.html │ ├── influxdata │ │ ├── benchmarking.storage.engine.md │ │ └── docker-ized │ │ │ ├── Dockerfile │ │ │ ├── config.toml │ │ │ └── run.sh │ ├── mysql │ │ ├── COMPRESSION.md │ │ ├── DerbyCon6-Louisville.2016--Ben.Stillman--MariaDB-.Lock.it.down.like.a.chastity.belt.md │ │ ├── LinuxFestNW2016--The.Proper.Care.and.Feeding.of.a.MySQL.Server.for.Busy.Linux.Admins.md │ │ └── PERF.md │ ├── postgresql │ │ ├── FOSDEM.2017--Pgsql.Backup.md │ │ ├── PGConf.US.2015--At.the.Heart.of.a.Giant-Postgres.at.TripAdvisor.md │ │ ├── partition.md │ │ ├── pgcasts.md │ │ ├── pgsql-feature-highlight--pg_rewind.md │ │ ├── tricks.md │ │ └── wal-xlog-lsn.md │ ├── redis │ │ ├── README.md │ │ ├── RedisConf2016--Managing.Redis.with.K8--Kelsey.Hightower.md │ │ ├── client-commands.md │ │ ├── data-structures.md │ │ ├── modules.md │ │ ├── redis-pub-sub.py │ │ └── scaling.md │ ├── rethinkdb │ │ ├── docker-ized │ │ │ ├── Dockerfile │ │ │ ├── rethinkdb.conf │ │ │ ├── rethinkdb.run │ │ │ └── think.dkr │ │ └── rethinkdb-test.go │ └── rrdtool │ │ ├── RRDTool.set.md │ │ └── golang-sample │ │ ├── go-get-pkg.txt │ │ ├── monitor.go │ │ └── rrd_test.go ├── dataviz │ ├── d3js │ │ ├── README.md │ │ ├── youtube-d3Vienno │ │ │ ├── README.md │ │ │ ├── stage02 │ │ │ │ └── index.html │ │ │ ├── stage03 │ │ │ │ └── index.html │ │ │ ├── stage04 │ │ │ │ └── index.html │ │ │ ├── stage05 │ │ │ │ └── index.html │ │ │ ├── stage06 │ │ │ │ └── index.html │ │ │ ├── stage07 │ │ │ │ └── index.html │ │ │ ├── stage08 │ │ │ │ └── index.html │ │ │ ├── stage09 │ │ │ │ └── index.html │ │ │ ├── stage10 │ │ │ │ ├── index.html │ │ │ │ ├── smallData.csv │ │ │ │ └── smallData.json │ │ │ ├── stage11 │ │ │ │ └── index.html │ │ │ ├── stage12 │ │ │ │ └── index.html │ │ │ ├── stage13 │ │ │ │ └── index.html │ │ │ ├── stage14 │ │ │ │ └── index.html │ │ │ ├── stage15 │ │ │ │ ├── index.html │ │ │ │ └── someData.json │ │ │ ├── stage16 │ │ │ │ ├── bubble.html │ │ │ │ ├── bubbleData.json │ │ │ │ ├── cluster.html │ │ │ │ ├── clusterData.json │ │ │ │ ├── index.html │ │ │ │ └── pack.html │ │ │ ├── stage17 │ │ │ │ ├── index.html │ │ │ │ └── smallData.csv │ │ │ ├── stage18 │ │ │ │ └── index.html │ │ │ ├── stage19 │ │ │ │ └── index.html │ │ │ └── stage20 │ │ │ │ ├── countries_partial.geojson │ │ │ │ └── index.html │ │ └── z-resources │ │ │ ├── d3.v0.css │ │ │ └── d3.v3.min.js │ └── raphaeljs │ │ ├── analytics.html │ │ ├── css │ │ ├── demo-print.css │ │ └── demo.css │ │ ├── js │ │ ├── analytics.js │ │ ├── jquery-2.1.1.min.js │ │ ├── pie.js │ │ ├── popup.js │ │ └── raphael-min.js │ │ └── pie.html ├── devops-toolbox │ ├── README.md │ ├── ansible │ │ ├── .dockerignore │ │ ├── Dockerfile │ │ └── doc.ansible.com │ │ │ └── 1.intro.ansible.md │ ├── chef │ │ ├── .gitignore │ │ ├── Chef.Learning.md │ │ ├── Foodcritic.md │ │ ├── Joshua.Timberman--Big.Ruby.2013--5.Things.You.Did.not.Know.About.Chef.md │ │ ├── Joshua.Timberman--MWRC2011--Chef.Cookbook.Design.Patterns.md │ │ ├── Nathen.Harvey--2016--Intro.to.Chef.Compliance.md │ │ ├── Nathen.Harvey--2016--Intro.to.Chef.Delivery.md │ │ ├── Nathen.Harvey--Surge.2014.md │ │ ├── README.md │ │ └── habitat.sh │ │ │ └── TryDemo.md │ ├── kubernetes │ │ ├── kubespray-v2.23.1.patch │ │ └── setup-k8s-with-kubespray.md │ ├── puppet │ │ ├── .gitignore │ │ ├── README.md │ │ ├── chapters │ │ │ ├── Puppet.Part1.md │ │ │ ├── Puppet.Part2.md │ │ │ ├── Puppet.Part3.md │ │ │ └── Puppet.Part4.md │ │ └── examples │ │ │ ├── environments │ │ │ └── testenv │ │ │ │ ├── manifests │ │ │ │ ├── extdatadir │ │ │ │ │ ├── common.csv │ │ │ │ │ ├── env_testnode.csv │ │ │ │ │ └── fqdn_h4ck3r.n0d3.csv │ │ │ │ └── site.pp │ │ │ │ └── modules │ │ │ │ ├── dockerz │ │ │ │ ├── dockerz │ │ │ │ │ ├── files │ │ │ │ │ │ └── dockerfiles │ │ │ │ │ │ │ ├── Dockerfile.ansible │ │ │ │ │ │ │ └── Dockerfile.puppet │ │ │ │ │ ├── lib │ │ │ │ │ │ └── facter │ │ │ │ │ │ │ └── docker_facts.rb │ │ │ │ │ └── manifests │ │ │ │ │ │ ├── dockerfiles.pp │ │ │ │ │ │ ├── dockerfiles │ │ │ │ │ │ └── create.pp │ │ │ │ │ │ ├── init.pp │ │ │ │ │ │ └── install.pp │ │ │ │ ├── files │ │ │ │ │ └── dockerfiles │ │ │ │ │ │ ├── Dockerfile.ansible │ │ │ │ │ │ └── Dockerfile.puppet │ │ │ │ ├── lib │ │ │ │ │ └── facter │ │ │ │ │ │ └── docker_facts.rb │ │ │ │ └── manifests │ │ │ │ │ ├── dockerfiles.pp │ │ │ │ │ ├── dockerfiles │ │ │ │ │ └── create.pp │ │ │ │ │ ├── init.pp │ │ │ │ │ └── install.pp │ │ │ │ └── sysutils │ │ │ │ ├── manifests │ │ │ │ ├── init.pp │ │ │ │ └── install.pp │ │ │ │ ├── spec │ │ │ │ └── classes │ │ │ │ │ └── sysutils │ │ │ │ │ └── install_spec.rb │ │ │ │ └── tests │ │ │ │ └── node.pp │ │ │ ├── example01.sh │ │ │ ├── example02.sh │ │ │ └── example03.sh │ ├── sysdig │ │ └── sysdig.blog--50.shades.of.system.calls.md │ └── terraform │ │ └── Dockerfile ├── frameworks │ ├── README.md │ ├── expressjs │ │ └── sample-project │ │ │ ├── state-01 │ │ │ ├── index.js │ │ │ └── package.json │ │ │ ├── state-02 │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── secrets.js │ │ │ └── state-03 │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── secrets.js │ ├── fast-api-py │ │ ├── README.md │ │ ├── cha-t-ter │ │ │ ├── alembic.ini │ │ │ ├── env │ │ │ ├── lib │ │ │ │ ├── api_user.py │ │ │ │ ├── config.py │ │ │ │ ├── dbmgr.py │ │ │ │ ├── frontend.py │ │ │ │ └── models.py │ │ │ ├── migrations │ │ │ │ ├── README │ │ │ │ ├── env.py │ │ │ │ ├── script.py.mako │ │ │ │ └── versions │ │ │ │ │ ├── 1f463095c4f4_.py │ │ │ │ │ └── 36a5d64cb987_.py │ │ │ ├── requirements.txt │ │ │ ├── static │ │ │ │ └── css │ │ │ │ │ └── main.css │ │ │ ├── tailwindcss │ │ │ │ ├── README.md │ │ │ │ ├── package-lock.json │ │ │ │ ├── package.json │ │ │ │ ├── styles │ │ │ │ │ └── main.css │ │ │ │ └── tailwind.config.js │ │ │ ├── templates │ │ │ │ ├── index.html │ │ │ │ └── layout.html │ │ │ └── web.py │ │ ├── dummy-cha-t-ter │ │ │ ├── lib │ │ │ │ ├── __init__.py │ │ │ │ ├── fake_db.py │ │ │ │ └── models.py │ │ │ ├── static │ │ │ │ ├── index.css │ │ │ │ ├── index.html │ │ │ │ └── index.js │ │ │ └── web.py │ │ └── quickstart.md │ ├── flutter │ │ ├── README.md │ │ ├── building-cupertino-app │ │ │ ├── README.md │ │ │ ├── cupertino_app │ │ │ │ ├── .gitignore │ │ │ │ ├── .metadata │ │ │ │ ├── README.md │ │ │ │ ├── android │ │ │ │ │ ├── app │ │ │ │ │ │ ├── build.gradle │ │ │ │ │ │ └── src │ │ │ │ │ │ │ ├── debug │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ │ │ ├── main │ │ │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ │ │ ├── java │ │ │ │ │ │ │ │ └── com │ │ │ │ │ │ │ │ │ └── example │ │ │ │ │ │ │ │ │ └── cupertino_app │ │ │ │ │ │ │ │ │ └── MainActivity.java │ │ │ │ │ │ │ └── res │ │ │ │ │ │ │ │ ├── drawable │ │ │ │ │ │ │ │ └── launch_background.xml │ │ │ │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ │ │ │ └── values │ │ │ │ │ │ │ │ └── styles.xml │ │ │ │ │ │ │ └── profile │ │ │ │ │ │ │ └── AndroidManifest.xml │ │ │ │ │ ├── build.gradle │ │ │ │ │ ├── gradle.properties │ │ │ │ │ ├── gradle │ │ │ │ │ │ └── wrapper │ │ │ │ │ │ │ └── gradle-wrapper.properties │ │ │ │ │ └── settings.gradle │ │ │ │ ├── ios │ │ │ │ │ ├── Flutter │ │ │ │ │ │ ├── AppFrameworkInfo.plist │ │ │ │ │ │ ├── Debug.xcconfig │ │ │ │ │ │ └── Release.xcconfig │ │ │ │ │ ├── Runner.xcodeproj │ │ │ │ │ │ ├── project.pbxproj │ │ │ │ │ │ ├── project.xcworkspace │ │ │ │ │ │ │ └── contents.xcworkspacedata │ │ │ │ │ │ └── xcshareddata │ │ │ │ │ │ │ └── xcschemes │ │ │ │ │ │ │ └── Runner.xcscheme │ │ │ │ │ ├── Runner.xcworkspace │ │ │ │ │ │ └── contents.xcworkspacedata │ │ │ │ │ └── Runner │ │ │ │ │ │ ├── AppDelegate.h │ │ │ │ │ │ ├── AppDelegate.m │ │ │ │ │ │ ├── Assets.xcassets │ │ │ │ │ │ ├── AppIcon.appiconset │ │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ │ │ │ └── LaunchImage.imageset │ │ │ │ │ │ │ ├── Contents.json │ │ │ │ │ │ │ ├── LaunchImage.png │ │ │ │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ │ │ │ └── README.md │ │ │ │ │ │ ├── Base.lproj │ │ │ │ │ │ ├── LaunchScreen.storyboard │ │ │ │ │ │ └── Main.storyboard │ │ │ │ │ │ ├── Info.plist │ │ │ │ │ │ └── main.m │ │ │ │ ├── lib │ │ │ │ │ ├── app.dart │ │ │ │ │ ├── main.dart │ │ │ │ │ ├── model │ │ │ │ │ │ ├── app_state_model.dart │ │ │ │ │ │ ├── product.dart │ │ │ │ │ │ └── products_repository.dart │ │ │ │ │ ├── product_list_tab.dart │ │ │ │ │ ├── product_row_item.dart │ │ │ │ │ ├── search_bar.dart │ │ │ │ │ ├── search_tab.dart │ │ │ │ │ ├── shopping_cart_item.dart │ │ │ │ │ ├── shopping_cart_tab.dart │ │ │ │ │ └── styles.dart │ │ │ │ ├── pubspec.lock │ │ │ │ ├── pubspec.yaml │ │ │ │ └── test │ │ │ │ │ └── widget_test.dart │ │ │ ├── demo.ogv │ │ │ └── demo.png │ │ ├── cheatsheet.md │ │ ├── fireship--flutter-state-management.md │ │ └── google-developers--building-your-first-flutter-widget.md │ ├── gatsbyjs │ │ ├── README.md │ │ ├── gatsby-00-environment-setup.md │ │ ├── gatsby-01-building-blocks.md │ │ ├── gatsby-02-intro-to-styling.md │ │ └── hello-world │ │ │ ├── .gitignore │ │ │ ├── .prettierignore │ │ │ ├── .prettierrc │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── gatsby-browser.js │ │ │ ├── gatsby-config.js │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── components │ │ │ │ ├── header.js │ │ │ │ ├── mylinks.js │ │ │ │ ├── mylinks.module.css │ │ │ │ └── subheader.js │ │ │ ├── pages │ │ │ │ ├── a-page.js │ │ │ │ ├── a-page.module.css │ │ │ │ └── index.js │ │ │ └── styles │ │ │ │ └── global.css │ │ │ └── static │ │ │ └── favicon.ico │ ├── gradio │ │ ├── README.md │ │ └── gr01-hello-world.py │ ├── phoenix │ │ ├── README.md │ │ ├── book--programming-phoenix-ge-1.4 │ │ │ ├── README.md │ │ │ ├── chapter-01.md │ │ │ ├── chapter-02.md │ │ │ ├── chapter-03.md │ │ │ ├── chapter-04.md │ │ │ ├── chapter-05.md │ │ │ ├── chapter-06.md │ │ │ ├── chapter-07.md │ │ │ ├── chapter-08.md │ │ │ ├── chapter-09.md │ │ │ ├── chapter-10.md │ │ │ ├── chapter-11.md │ │ │ ├── chapter-12.md │ │ │ ├── chapter-13.md │ │ │ ├── chapter-14.md │ │ │ ├── ehlo │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── assets │ │ │ │ │ ├── .babelrc │ │ │ │ │ ├── css │ │ │ │ │ │ ├── app.scss │ │ │ │ │ │ └── phoenix.css │ │ │ │ │ ├── js │ │ │ │ │ │ ├── app.js │ │ │ │ │ │ └── socket.js │ │ │ │ │ ├── package.json │ │ │ │ │ ├── static │ │ │ │ │ │ ├── favicon.ico │ │ │ │ │ │ ├── images │ │ │ │ │ │ │ └── phoenix.png │ │ │ │ │ │ └── robots.txt │ │ │ │ │ └── webpack.config.js │ │ │ │ ├── config │ │ │ │ │ ├── config.exs │ │ │ │ │ ├── dev.exs │ │ │ │ │ ├── prod.exs │ │ │ │ │ ├── prod.secret.exs │ │ │ │ │ └── test.exs │ │ │ │ ├── lib │ │ │ │ │ ├── ehlo.ex │ │ │ │ │ ├── ehlo │ │ │ │ │ │ ├── application.ex │ │ │ │ │ │ └── repo.ex │ │ │ │ │ ├── ehlo_web.ex │ │ │ │ │ └── ehlo_web │ │ │ │ │ │ ├── channels │ │ │ │ │ │ └── user_socket.ex │ │ │ │ │ │ ├── controllers │ │ │ │ │ │ ├── ehlo_controller.ex │ │ │ │ │ │ └── page_controller.ex │ │ │ │ │ │ ├── endpoint.ex │ │ │ │ │ │ ├── gettext.ex │ │ │ │ │ │ ├── router.ex │ │ │ │ │ │ ├── telemetry.ex │ │ │ │ │ │ ├── templates │ │ │ │ │ │ ├── ehlo │ │ │ │ │ │ │ └── user.html.eex │ │ │ │ │ │ ├── layout │ │ │ │ │ │ │ └── app.html.eex │ │ │ │ │ │ └── page │ │ │ │ │ │ │ └── index.html.eex │ │ │ │ │ │ └── views │ │ │ │ │ │ ├── ehlo_view.ex │ │ │ │ │ │ ├── error_helpers.ex │ │ │ │ │ │ ├── error_view.ex │ │ │ │ │ │ ├── layout_view.ex │ │ │ │ │ │ └── page_view.ex │ │ │ │ ├── mix.exs │ │ │ │ ├── mix.lock │ │ │ │ ├── priv │ │ │ │ │ ├── gettext │ │ │ │ │ │ ├── en │ │ │ │ │ │ │ └── LC_MESSAGES │ │ │ │ │ │ │ │ └── errors.po │ │ │ │ │ │ └── errors.pot │ │ │ │ │ └── repo │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ └── .formatter.exs │ │ │ │ │ │ └── seeds.exs │ │ │ │ └── test │ │ │ │ │ ├── ehlo_web │ │ │ │ │ ├── controllers │ │ │ │ │ │ └── page_controller_test.exs │ │ │ │ │ └── views │ │ │ │ │ │ ├── error_view_test.exs │ │ │ │ │ │ ├── layout_view_test.exs │ │ │ │ │ │ └── page_view_test.exs │ │ │ │ │ ├── support │ │ │ │ │ ├── channel_case.ex │ │ │ │ │ ├── conn_case.ex │ │ │ │ │ └── data_case.ex │ │ │ │ │ └── test_helper.exs │ │ │ └── videologue │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── assets │ │ │ │ ├── .babelrc │ │ │ │ ├── css │ │ │ │ │ ├── app.scss │ │ │ │ │ ├── app.scss.chapter-03 │ │ │ │ │ ├── phoenix.css │ │ │ │ │ └── video.css │ │ │ │ ├── js │ │ │ │ │ ├── app.js │ │ │ │ │ ├── app.js.chapter-03 │ │ │ │ │ ├── app.js.chapter-09 │ │ │ │ │ ├── player.js │ │ │ │ │ ├── socket.js │ │ │ │ │ ├── socket.js.chapter-09 │ │ │ │ │ └── video.js │ │ │ │ ├── package.json │ │ │ │ ├── static │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── images │ │ │ │ │ │ └── phoenix.png │ │ │ │ │ └── robots.txt │ │ │ │ └── webpack.config.js │ │ │ │ ├── config │ │ │ │ ├── config.exs │ │ │ │ ├── dev.exs │ │ │ │ ├── prod.exs │ │ │ │ ├── prod.secret.exs │ │ │ │ └── test.exs │ │ │ │ ├── lib │ │ │ │ ├── videologue.ex │ │ │ │ ├── videologue │ │ │ │ │ ├── accounts.ex │ │ │ │ │ ├── accounts.ex.chapter03 │ │ │ │ │ ├── accounts.ex.chapter04 │ │ │ │ │ ├── accounts │ │ │ │ │ │ ├── user.ex │ │ │ │ │ │ ├── user.ex.chapter03 │ │ │ │ │ │ ├── user.ex.chapter04 │ │ │ │ │ │ └── user.ex.chapter05 │ │ │ │ │ ├── application.ex │ │ │ │ │ ├── application.ex.chapter09 │ │ │ │ │ ├── multimedia.ex │ │ │ │ │ ├── multimedia.ex.chapter06 │ │ │ │ │ ├── multimedia.ex.chapter09 │ │ │ │ │ ├── multimedia │ │ │ │ │ │ ├── annotation.ex │ │ │ │ │ │ ├── category.ex │ │ │ │ │ │ ├── permalink.ex │ │ │ │ │ │ ├── video.ex │ │ │ │ │ │ ├── video.ex.chapter-07 │ │ │ │ │ │ └── video.ex.chapter-09 │ │ │ │ │ └── repo.ex │ │ │ │ ├── videologue_web.ex │ │ │ │ ├── videologue_web.ex.chapter05 │ │ │ │ └── videologue_web │ │ │ │ │ ├── channels │ │ │ │ │ ├── presence.ex │ │ │ │ │ ├── user_socket.ex │ │ │ │ │ ├── user_socket.ex.chapter-09 │ │ │ │ │ └── video_channel.ex │ │ │ │ │ ├── controllers │ │ │ │ │ ├── auth.ex │ │ │ │ │ ├── auth.ex.chapter07 │ │ │ │ │ ├── auth.ex.chapter09 │ │ │ │ │ ├── page_controller.ex │ │ │ │ │ ├── session_controller.ex │ │ │ │ │ ├── user_controller.ex │ │ │ │ │ ├── user_controller.ex.chapter03 │ │ │ │ │ ├── user_controller.ex.chapter04 │ │ │ │ │ ├── user_controller.ex.chapter05 │ │ │ │ │ ├── video_controller.ex │ │ │ │ │ └── watch_controller.ex │ │ │ │ │ ├── endpoint.ex │ │ │ │ │ ├── gettext.ex │ │ │ │ │ ├── param.ex │ │ │ │ │ ├── router.ex │ │ │ │ │ ├── router.ex.chapter-03 │ │ │ │ │ ├── router.ex.chapter-04 │ │ │ │ │ ├── router.ex.chapter-05 │ │ │ │ │ ├── router.ex.chapter-06 │ │ │ │ │ ├── telemetry.ex │ │ │ │ │ ├── templates │ │ │ │ │ ├── layout │ │ │ │ │ │ ├── app.html.eex │ │ │ │ │ │ ├── app.html.eex.chapter01 │ │ │ │ │ │ └── app.html.eex.chapter09 │ │ │ │ │ ├── page │ │ │ │ │ │ └── index.html.eex │ │ │ │ │ ├── session │ │ │ │ │ │ └── new.html.eex │ │ │ │ │ ├── user │ │ │ │ │ │ ├── index.html.eex │ │ │ │ │ │ ├── new.html.eex │ │ │ │ │ │ ├── new.html.eex.chapter04 │ │ │ │ │ │ └── show.html.eex │ │ │ │ │ ├── video │ │ │ │ │ │ ├── edit.html.eex │ │ │ │ │ │ ├── form.html.eex │ │ │ │ │ │ ├── index.html.eex │ │ │ │ │ │ ├── index.html.eex.chapter-08 │ │ │ │ │ │ ├── new.html.eex │ │ │ │ │ │ └── show.html.eex │ │ │ │ │ └── watch │ │ │ │ │ │ ├── show.html.eex │ │ │ │ │ │ └── show.html.eex.chapter09 │ │ │ │ │ └── views │ │ │ │ │ ├── annotation_view.ex │ │ │ │ │ ├── error_helpers.ex │ │ │ │ │ ├── error_view.ex │ │ │ │ │ ├── layout_view.ex │ │ │ │ │ ├── page_view.ex │ │ │ │ │ ├── session_view.ex │ │ │ │ │ ├── user_view.ex │ │ │ │ │ ├── video_view.ex │ │ │ │ │ └── watch_view.ex │ │ │ │ ├── mix.exs │ │ │ │ ├── mix.lock │ │ │ │ ├── priv │ │ │ │ ├── gettext │ │ │ │ │ ├── en │ │ │ │ │ │ └── LC_MESSAGES │ │ │ │ │ │ │ └── errors.po │ │ │ │ │ └── errors.pot │ │ │ │ └── repo │ │ │ │ │ ├── migrations │ │ │ │ │ ├── .formatter.exs │ │ │ │ │ ├── 20210527193258_create_users.exs │ │ │ │ │ ├── 20210527193448_create_users_index_username.exs │ │ │ │ │ ├── 20210528191400_add_users_field_password_hash.exs │ │ │ │ │ ├── 20210529175006_create_videos.exs │ │ │ │ │ ├── 20210530063612_create_categories.exs │ │ │ │ │ ├── 20210530065005_add_category_id_to_video.exs │ │ │ │ │ ├── 20210602183831_modify_category_name_not_nullable.exs │ │ │ │ │ ├── 20210614122633_add_slug_to_videos.exs │ │ │ │ │ ├── 20210614211231_insert_slug_for_existing_videos.exs │ │ │ │ │ └── 20210621113210_create_annotations.exs │ │ │ │ │ ├── seeds.exs │ │ │ │ │ └── seeds_test_data.exs │ │ │ │ └── test │ │ │ │ ├── support │ │ │ │ ├── channel_case.ex │ │ │ │ ├── conn_case.ex │ │ │ │ ├── conn_case.ex.chapter07 │ │ │ │ └── data_case.ex │ │ │ │ ├── test_helper.exs │ │ │ │ ├── videologue │ │ │ │ ├── accounts_test.exs │ │ │ │ └── multimedia_test.exs │ │ │ │ └── videologue_web │ │ │ │ ├── controllers │ │ │ │ ├── auth_test.exs │ │ │ │ ├── page_controller_test.exs │ │ │ │ └── video_controller_test.exs │ │ │ │ └── views │ │ │ │ ├── error_view_test.exs │ │ │ │ ├── layout_view_test.exs │ │ │ │ ├── page_view_test.exs │ │ │ │ └── video_view_test.exs │ │ ├── mix-phx-tasks.md │ │ ├── phoenix.md │ │ └── polyconf.2015.phoenix.web.framework.elixir.md │ ├── qwik-js │ │ └── README.md │ ├── react │ │ ├── README.md │ │ ├── react-native │ │ │ ├── README.md │ │ │ └── facebook-github-io │ │ │ │ ├── guides │ │ │ │ ├── 01-component-and-apis.md │ │ │ │ └── 02-platform-specific-code.md │ │ │ │ └── the-basics │ │ │ │ ├── 01-getting-started.md │ │ │ │ ├── 02-learn-the-basics.md │ │ │ │ ├── 03-props.md │ │ │ │ ├── 04-state.md │ │ │ │ ├── 05-style.md │ │ │ │ ├── 06-height-and-width.md │ │ │ │ ├── 07-layout-with-flexbox.md │ │ │ │ ├── 08-handling-text-input.md │ │ │ │ ├── 09-handling-touches.md │ │ │ │ ├── 10-using-a-scrollview.md │ │ │ │ ├── 11-using-list-views.md │ │ │ │ └── 12-networking.md │ │ └── reactjs │ │ │ ├── README.md │ │ │ └── tutorialspoint.com │ │ │ ├── 03-environment-setup.md │ │ │ ├── 04-jsx.md │ │ │ ├── 05-components.md │ │ │ ├── 06-state.md │ │ │ ├── 09-component-api-and-lifecycle.md │ │ │ ├── README.md │ │ │ └── react-app │ │ │ ├── .babelrc │ │ │ ├── App.js │ │ │ ├── bundle │ │ │ └── .gitkeep │ │ │ ├── index.html │ │ │ ├── main.js │ │ │ ├── package.json │ │ │ └── webpack.config.js │ ├── revel │ │ ├── README.md │ │ └── tutorial.md │ └── spin_wasm │ │ ├── .gitignore │ │ ├── README.md │ │ ├── intro.md │ │ ├── quickstart.md │ │ ├── sample-app │ │ ├── sample_http_rust_demo.wasm │ │ ├── sample_http_rust_test.wasm │ │ └── spin.toml │ │ └── sample-http-rust │ │ ├── .cargo │ │ └── config.toml │ │ ├── .gitignore │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── spin.toml │ │ └── src │ │ └── lib.rs ├── gamedev │ └── godot │ │ └── README.md ├── google │ └── gmail-api-email-access │ │ ├── README.md │ │ ├── gmail-api.py │ │ └── pip-requires.txt ├── graphics-n-video │ ├── README.md │ └── blender │ │ └── README.md ├── hacks │ ├── README.md │ └── stealing.session.cookie.with.tcpdump.md ├── how-it-works │ ├── dht.md │ ├── doug-turnbull--recommender-systems-101-basket-analysis.md │ ├── netflix-techblog │ │ ├── 2012apr-netflix-recommendations.md │ │ └── 2013may-object-cache-for-scaling-metadata-mgmt.md │ └── uber.md ├── ibm │ └── openwhisk │ │ └── OpenWhisk-A.Quick.Tech.Preview.md ├── id.e.ditor │ ├── SublimeText.md │ └── vim │ │ ├── Let.VIM.do.the.Typing.md │ │ ├── README.md │ │ ├── explore.md │ │ └── profile.md ├── languages-n-runtimes │ ├── 0-build │ │ ├── ant │ │ │ ├── eg01 │ │ │ │ ├── build.xml │ │ │ │ └── run.sh │ │ │ └── eg02 │ │ │ │ ├── build.xml │ │ │ │ ├── prop │ │ │ │ ├── common.properties │ │ │ │ └── some.properties │ │ │ │ └── run.sh │ │ └── gradle │ │ │ ├── Gradleware │ │ │ ├── BuildingAndTesting_02TaskTypes.gradle │ │ │ ├── BuildingAndTesting_02Tasks.gradle │ │ │ ├── BuildingAndTesting_03AntAndGradle.gradle │ │ │ ├── BuildingAndTesting_04MavenAndGradle.gradle │ │ │ ├── BuildingAndTesting_05Testing.gradle │ │ │ ├── antFromGradle_build.xml │ │ │ └── buildSrc │ │ │ │ └── src │ │ │ │ └── main │ │ │ │ └── groovy │ │ │ │ └── org │ │ │ │ └── gradle │ │ │ │ └── example │ │ │ │ └── task │ │ │ │ └── BannerTask.groovy │ │ │ └── Sources.md │ ├── 0-debug │ │ └── gdb │ │ │ ├── README.md │ │ │ ├── betterexplaned-com--debugging-with-gdb.md │ │ │ └── cmsc212-gdb-tutorial.md │ ├── R-lang │ │ ├── CodeSchool--try.R │ │ │ ├── README │ │ │ ├── Rplots.pdf │ │ │ ├── chap1.R │ │ │ ├── chap2.R │ │ │ ├── chap3.R │ │ │ ├── chap4.R │ │ │ ├── chap5.R │ │ │ ├── chap6.R │ │ │ ├── chap7.R │ │ │ ├── chap8.R │ │ │ ├── reqd_files │ │ │ │ ├── dummy.R │ │ │ │ ├── gdp.txt │ │ │ │ ├── infantry.txt │ │ │ │ ├── pirates.csv │ │ │ │ └── targets.csv │ │ │ └── run_chapters.sh │ │ └── README.md │ ├── README.md │ ├── ballerina │ │ └── learn-by-example │ │ │ ├── 01-hello-world │ │ │ ├── README.md │ │ │ ├── hello-world-client.bal │ │ │ ├── hello-world-parallel.bal │ │ │ └── hello-world-svc.bal │ │ │ ├── 02-ballerina-basics │ │ │ ├── README.md │ │ │ ├── documentation-example.bal │ │ │ ├── function-example.bal │ │ │ ├── quoted-id-example.bal │ │ │ └── rest-parameter-example.bal │ │ │ ├── 03-functions │ │ │ ├── README.md │ │ │ ├── anon-function-example.bal │ │ │ ├── closures-example.bal │ │ │ ├── fn-as-entry-example.bal │ │ │ ├── fn-iteration-example.bal │ │ │ └── function-pointer-example.bal │ │ │ ├── 04-flow-control │ │ │ ├── README.md │ │ │ ├── elvis-example.bal │ │ │ ├── flow-control-example.bal │ │ │ ├── foreach-example.bal │ │ │ ├── match-example.bal │ │ │ ├── record-match-example.bal │ │ │ ├── tuple-match-example.bal │ │ │ └── type-guard-example.bal │ │ │ └── README.md │ ├── clojure │ │ ├── 4clojure.com │ │ │ ├── README.md │ │ │ ├── problem001.clj │ │ │ ├── problem002.clj │ │ │ ├── problem003.clj │ │ │ ├── problem004.clj │ │ │ ├── problem005.clj │ │ │ ├── problem006.clj │ │ │ ├── problem007.clj │ │ │ ├── problem008.clj │ │ │ ├── problem009.clj │ │ │ ├── problem010.clj │ │ │ ├── problem011.clj │ │ │ ├── problem012.clj │ │ │ ├── problem013.clj │ │ │ ├── problem014.clj │ │ │ ├── problem015.clj │ │ │ ├── problem016.clj │ │ │ ├── problem017.clj │ │ │ ├── problem018.clj │ │ │ ├── problem019.clj │ │ │ └── problem020.clj │ │ ├── README.md │ │ ├── intro_to_clojure │ │ │ ├── README │ │ │ ├── intro-to-clojure.clj │ │ │ └── intro-to-clojure.part2.clj │ │ └── joy.of.clojure │ │ │ ├── README.md │ │ │ ├── chapter01-clojure-philosophy.md │ │ │ ├── chapter02-drinking-from-clojure-firehose.md │ │ │ ├── chapter03-dipping-our-toes-in-the-pool.md │ │ │ └── chapter04-on-scalars.md │ ├── elixir │ │ ├── README.md │ │ ├── book--programming-elixir-ge-1.6 │ │ │ ├── README.md │ │ │ ├── chapter-01.exs │ │ │ ├── chapter-01.md │ │ │ ├── chapter-02.md │ │ │ ├── chapter-03.md │ │ │ ├── chapter-04.exs │ │ │ ├── chapter-04.md │ │ │ ├── chapter-05.exs │ │ │ ├── chapter-05.md │ │ │ ├── chapter-06.exs │ │ │ ├── chapter-06.md │ │ │ ├── chapter-07.exs │ │ │ ├── chapter-07.md │ │ │ ├── chapter-08-struct.exs │ │ │ ├── chapter-08.exs │ │ │ ├── chapter-08.md │ │ │ ├── chapter-09.md │ │ │ ├── chapter-10.exs │ │ │ ├── chapter-10.md │ │ │ ├── chapter-11.exs │ │ │ ├── chapter-11.md │ │ │ ├── chapter-12.exs │ │ │ ├── chapter-12.md │ │ │ ├── chapter-13.md │ │ │ ├── chapter-14-debug.ex │ │ │ ├── chapter-14.md │ │ │ ├── chapter-15.md │ │ │ ├── chapter-15 │ │ │ │ ├── WorkingWithMultipleProcesses-2.exs │ │ │ │ ├── WorkingWithMultipleProcesses-3n4n5.exs │ │ │ │ ├── WorkingWithMultipleProcesses-9.exs │ │ │ │ ├── agent-fib.exs │ │ │ │ ├── chain.exs │ │ │ │ ├── fib.exs │ │ │ │ ├── linked-proc.exs │ │ │ │ ├── parallel-map.exs │ │ │ │ ├── spawn-basic.ex │ │ │ │ ├── spawn1.exs │ │ │ │ └── spawn2.exs │ │ │ ├── chapter-16.md │ │ │ ├── chapter-16 │ │ │ │ ├── nodes-3-ordered-ticker.exs │ │ │ │ ├── nodes-4-ring.exs │ │ │ │ └── ticker.exs │ │ │ ├── chapter-17.md │ │ │ ├── chapter-18.md │ │ │ ├── chapter-19.md │ │ │ ├── chapter-20.md │ │ │ ├── chapter-21.md │ │ │ ├── chapter-21 │ │ │ │ ├── agent1.exs │ │ │ │ ├── anagrams.exs │ │ │ │ ├── anagrams.list1 │ │ │ │ ├── anagrams.list2 │ │ │ │ └── tasks1.exs │ │ │ ├── chapter-22-exercise.exs │ │ │ ├── chapter-22.exs │ │ │ ├── chapter-22.md │ │ │ ├── chapter-23.md │ │ │ ├── chapter-23 │ │ │ │ ├── exercise-behaviors-and-use.ex │ │ │ │ ├── tracer-v1.ex │ │ │ │ ├── tracer-v2.ex │ │ │ │ ├── tracer-v3.ex │ │ │ │ └── tracer-v4.ex │ │ │ ├── chapter-24.md │ │ │ ├── chapter-24 │ │ │ │ ├── chapter-24-exercises.exs │ │ │ │ ├── chapter-24-parse-midi-algebra.exs │ │ │ │ ├── chapter-24-parse-midi.exs │ │ │ │ ├── chapter-24.exs │ │ │ │ └── es_ist_ein_ros.mid │ │ │ ├── chapter-25.md │ │ │ ├── chapter-25 │ │ │ │ ├── sigil_color.exs │ │ │ │ ├── sigil_csv.exs │ │ │ │ └── sigil_line.exs │ │ │ ├── chapter-26-appendix-1.md │ │ │ ├── chapter-26-appendix-1 │ │ │ │ ├── toml-parse-error.exs │ │ │ │ ├── try-catch-exit-throw.exs │ │ │ │ └── try-catch-rescue-after.exs │ │ │ ├── chapter-27-appendix-2.md │ │ │ ├── distill20 │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config │ │ │ │ │ └── config.exs │ │ │ │ ├── lib │ │ │ │ │ ├── distill20.ex │ │ │ │ │ ├── distill20.ex-0.1.0 │ │ │ │ │ └── distill20 │ │ │ │ │ │ ├── application.ex │ │ │ │ │ │ ├── stack.ex │ │ │ │ │ │ └── stack.ex-0.1.0 │ │ │ │ ├── mix.exs │ │ │ │ ├── mix.exs-0.1.0 │ │ │ │ ├── mix.lock │ │ │ │ ├── priv │ │ │ │ │ └── static │ │ │ │ │ │ └── index.html │ │ │ │ ├── rel │ │ │ │ │ ├── appups │ │ │ │ │ │ └── distill20 │ │ │ │ │ │ │ └── 0.1.0_to_0.2.0.appup │ │ │ │ │ ├── config.exs │ │ │ │ │ ├── plugins │ │ │ │ │ │ └── .gitignore │ │ │ │ │ └── vm.args │ │ │ │ └── test │ │ │ │ │ ├── distill20 │ │ │ │ │ └── stack_test.exs │ │ │ │ │ ├── distill20_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ ├── duper19 │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config │ │ │ │ │ └── config.exs │ │ │ │ ├── lib │ │ │ │ │ ├── duper19.ex │ │ │ │ │ ├── duper19 │ │ │ │ │ │ ├── application.ex │ │ │ │ │ │ ├── gatherer.ex │ │ │ │ │ │ ├── pathfinder.ex │ │ │ │ │ │ ├── results.ex │ │ │ │ │ │ ├── worker.ex │ │ │ │ │ │ └── worker_supervisor.ex │ │ │ │ │ ├── file_sys │ │ │ │ │ │ └── dir_walk.ex │ │ │ │ │ └── stash │ │ │ │ │ │ └── stash.ex │ │ │ │ ├── mix.exs │ │ │ │ └── test │ │ │ │ │ ├── duper19 │ │ │ │ │ └── results_test.exs │ │ │ │ │ ├── duper19_test.exs │ │ │ │ │ ├── file_sys │ │ │ │ │ └── dir_walk_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ ├── gitex │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config │ │ │ │ │ ├── config.exs │ │ │ │ │ ├── dev.ex │ │ │ │ │ ├── prod.ex │ │ │ │ │ └── test.ex │ │ │ │ ├── gitex │ │ │ │ ├── gitex.png │ │ │ │ ├── lib │ │ │ │ │ ├── gitex.ex │ │ │ │ │ └── gitex │ │ │ │ │ │ ├── cli.ex │ │ │ │ │ │ └── github_issues.ex │ │ │ │ ├── mix.exs │ │ │ │ ├── mix.lock │ │ │ │ └── test │ │ │ │ │ ├── gitex │ │ │ │ │ ├── cli_test.exs │ │ │ │ │ └── github_issues_test.exs │ │ │ │ │ ├── gitex_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ ├── sequence17 │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config │ │ │ │ │ └── config.exs │ │ │ │ ├── lib │ │ │ │ │ ├── sequence17.ex │ │ │ │ │ ├── sequence17 │ │ │ │ │ │ ├── server.ex │ │ │ │ │ │ └── stackserver.ex │ │ │ │ │ ├── stack.ex │ │ │ │ │ └── stack │ │ │ │ │ │ ├── impl.ex │ │ │ │ │ │ └── server.ex │ │ │ │ ├── mix.exs │ │ │ │ └── test │ │ │ │ │ ├── sequence17_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ └── supseq18 │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── config │ │ │ │ └── config.exs │ │ │ │ ├── lib │ │ │ │ ├── supseq18.ex │ │ │ │ └── supseq18 │ │ │ │ │ ├── application.ex │ │ │ │ │ ├── server.ex │ │ │ │ │ └── stash.ex │ │ │ │ ├── mix.exs │ │ │ │ └── test │ │ │ │ ├── supseq18_test.exs │ │ │ │ └── test_helper.exs │ │ ├── derek-banas.elixir-tutorial │ │ │ ├── README.md │ │ │ ├── eg01.ex │ │ │ ├── eg02.ex │ │ │ └── eg03.ex │ │ ├── elixirschool.com │ │ │ ├── README.md │ │ │ ├── a-basics │ │ │ │ ├── p01_basics.exs │ │ │ │ ├── p02_collections.exs │ │ │ │ ├── p03_enum.exs │ │ │ │ ├── p04_pattern_matching.exs │ │ │ │ ├── p05_control_structures.exs │ │ │ │ ├── p06_functions.exs │ │ │ │ ├── p07_pipe_operator.exs │ │ │ │ ├── p08_modules.exs │ │ │ │ ├── p09_mix.md │ │ │ │ ├── p10_sigils.exs │ │ │ │ ├── p11_documentation.exs │ │ │ │ ├── p11_documentation.md │ │ │ │ ├── p12_testing.md │ │ │ │ ├── p13_comprehensions.exs │ │ │ │ ├── p14_strings.exs │ │ │ │ ├── p15_date_and_time.exs │ │ │ │ ├── p16_custom_mix_tasks.md │ │ │ │ └── p17_iex_helpers.md │ │ │ └── b-advanced │ │ │ │ ├── p18_erlang_interoperability.exs │ │ │ │ ├── p18_erlang_interoperability.md │ │ │ │ ├── p19_error_handling.exs │ │ │ │ ├── p20_executables.md │ │ │ │ ├── p21_concurrency.exs │ │ │ │ ├── p21_concurrency.md │ │ │ │ ├── p22_otp_concurrency.exs │ │ │ │ ├── p22_otp_concurrency.md │ │ │ │ ├── p23_otp_supervisors.exs │ │ │ │ ├── p23_otp_supervisors.md │ │ │ │ ├── p24_chat │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── p24_chat.ex │ │ │ │ │ └── p24_chat │ │ │ │ │ │ └── application.ex │ │ │ │ ├── mix.exs │ │ │ │ └── test │ │ │ │ │ ├── p24_chat_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ │ ├── p24_otp_distribution.exs │ │ │ │ ├── p24_otp_distribution.md │ │ │ │ ├── p25_metaprogramming.exs │ │ │ │ ├── p25_metaprogramming.md │ │ │ │ ├── p26_umbrella_projects.md │ │ │ │ ├── p27_spectypes.exs │ │ │ │ ├── p27_spectypes.md │ │ │ │ ├── p28_behaviors.exs │ │ │ │ ├── p28_behaviors.md │ │ │ │ ├── p29_genstage.md │ │ │ │ ├── p29_genstage │ │ │ │ ├── .formatter.exs │ │ │ │ ├── .gitignore │ │ │ │ ├── README.md │ │ │ │ ├── lib │ │ │ │ │ ├── p29_genstage.ex │ │ │ │ │ └── p29_genstage │ │ │ │ │ │ ├── application.ex │ │ │ │ │ │ ├── consumer.ex │ │ │ │ │ │ ├── producer.ex │ │ │ │ │ │ └── producer_consumer.ex │ │ │ │ ├── mix.exs │ │ │ │ ├── mix.lock │ │ │ │ └── test │ │ │ │ │ ├── p29_genstage_test.exs │ │ │ │ │ └── test_helper.exs │ │ │ │ ├── p30_protocols.exs │ │ │ │ ├── p30_protocols.md │ │ │ │ └── p31_nerves.md │ │ ├── hexdocs-pm--distillery--appups.md │ │ ├── hexdocs-pm--mix.md │ │ ├── kevin-rockwood--practical-guide-to-elixir-protocols.exs │ │ └── sample-code │ │ │ ├── elixir-concurrency.ex │ │ │ └── missing-item.ex │ ├── erlang │ │ ├── .gitignore │ │ ├── README.md │ │ ├── bernard-duggan--erlang-in-prod-i-wish-i-had-when-started.md │ │ ├── derek-banas.erlang-tutorial │ │ │ ├── README.md │ │ │ └── eg01.erl │ │ ├── erlang-and-otp-in-action │ │ │ ├── README.md │ │ │ ├── chapter1.md │ │ │ ├── chapter2.md │ │ │ ├── chapter2_11_1.erl │ │ │ ├── chapter2_15_1.erl │ │ │ └── chapter2_5_1.erl │ │ └── getting-started-with-erlang │ │ │ ├── README.md │ │ │ ├── chapter1-2-01.erl │ │ │ ├── chapter1-2-02.erl │ │ │ ├── chapter1-2-03.erl │ │ │ ├── chapter1-2-04.erl │ │ │ ├── chapter1-2-08.erl │ │ │ ├── chapter1-2-09.erl │ │ │ ├── chapter1-2-10.erl │ │ │ ├── chapter1-2-11.erl │ │ │ ├── chapter1-2-13.erl │ │ │ ├── chapter1-2-u14.erl │ │ │ ├── chapter1-2.md │ │ │ ├── chapter1-3-01.erl │ │ │ ├── chapter1-3-02.erl │ │ │ ├── chapter1-3-03.erl │ │ │ ├── chapter1-3-04.erl │ │ │ ├── chapter1-3-05.erl │ │ │ ├── chapter1-3.md │ │ │ ├── chapter1-4-01.erl │ │ │ ├── chapter1-4-02.erl │ │ │ ├── chapter1-4-03.erl │ │ │ ├── chapter1-4.md │ │ │ ├── chapter1-5.md │ │ │ └── chapter5-01 │ │ │ ├── mess_client.erl │ │ │ ├── mess_config.hrl │ │ │ ├── mess_interface.hrl │ │ │ ├── mess_server.erl │ │ │ └── user_interface.erl │ ├── golang │ │ ├── .gitignore │ │ ├── Golang.UK.Conf.2016--Asim.Aslam--Simplifying.and.Managing.MicroServices.with.Micro.md │ │ ├── Golang.UK.Conf.2016--Jennie.Less--Managing.and.Scaling.Realtime.Data.Pipeline.using.Go.md │ │ ├── GoogleTechTalks │ │ │ ├── JSON.REST.APIs.by.Stephan.Dollberg.go │ │ │ ├── JSON.REST.APIs.by.Stephan.Dollberg.md │ │ │ ├── README.md │ │ │ ├── Testing-Quick.Blackbox.Test.Harness.by.MattProud.00.go │ │ │ ├── Testing-Quick.Blackbox.Test.Harness.by.MattProud.01.go │ │ │ ├── Testing-Quick.Blackbox.Test.Harness.by.MattProud.02.go │ │ │ ├── Testing-Quick.Blackbox.Test.Harness.by.MattProud.03.go │ │ │ └── Testing-Quick.Blackbox.Test.Harness.by.MattProud.md │ │ ├── GopherCon2017--Mitchell.Hashimoto--Advanced.Testing.with.Go.md │ │ ├── LangNext2014--Rob.Pike--From.Parallel.to.Concurrent.md │ │ ├── Oracle.md │ │ ├── create-your-own-dsl-in-go.md │ │ ├── db │ │ │ ├── cache2go │ │ │ │ └── exampl01.go │ │ │ └── diskv │ │ │ │ └── exampl01.go │ │ ├── dumb-intelligence │ │ │ └── try-prose.go │ │ ├── grpc │ │ │ ├── eg-logr.md │ │ │ └── eg-logr │ │ │ │ ├── client │ │ │ │ └── logr.go │ │ │ │ ├── go-get-pkg.txt │ │ │ │ ├── logr │ │ │ │ ├── logr.pb.go │ │ │ │ └── logr.proto │ │ │ │ └── server │ │ │ │ └── logr.go │ │ ├── hashing │ │ │ └── jump-hash-example.go │ │ ├── load-balance │ │ │ └── roundrobin.go │ │ ├── profiling │ │ │ ├── blog.golang.org--profiling-go-programs.md │ │ │ ├── golang-examples.tumblr.com--performance-profiling.md │ │ │ ├── golang.uk.conf.2016--7.ways.to.profile.md │ │ │ ├── medium.com--tjholowaychuk--profiling-golang.md │ │ │ ├── quick.tips.md │ │ │ └── vilito-exquisitus │ │ │ │ ├── simple-word-count-01.go │ │ │ │ ├── simple-word-count-02.go │ │ │ │ ├── simple-word-count-03.go │ │ │ │ ├── simple-word-count-04.go │ │ │ │ └── simple-word-count.go │ │ ├── proxy │ │ │ └── reverse-proxy-bechurch.go │ │ ├── quick-examples │ │ │ ├── add-with-bitwsie.go │ │ │ ├── and-or.go │ │ │ ├── anon-func.go │ │ │ ├── beego_hello_world.go │ │ │ ├── chan-buffered-duffer.go │ │ │ ├── chan-jackie-chan.go │ │ │ ├── chan-struct.go │ │ │ ├── chan-to-chan.go │ │ │ ├── competitive-fizzbuzz │ │ │ │ ├── fizzbuzz.go │ │ │ │ └── fizzbuzz_test.go │ │ │ ├── composites │ │ │ │ ├── README.md │ │ │ │ ├── fieldtag.go │ │ │ │ ├── mapr.go │ │ │ │ ├── slicer.go │ │ │ │ └── structr.go │ │ │ ├── concurrent │ │ │ │ ├── fake-search-framework │ │ │ │ │ ├── fakeframework.go │ │ │ │ │ └── faker │ │ │ │ │ │ └── framework.go │ │ │ │ ├── generator.go │ │ │ │ ├── multiplexing.go │ │ │ │ ├── set-1 │ │ │ │ │ ├── goroutine00.go │ │ │ │ │ ├── goroutine01.go │ │ │ │ │ ├── goroutine02.go │ │ │ │ │ ├── goroutine03.go │ │ │ │ │ ├── goroutine04.go │ │ │ │ │ ├── goroutine05.go │ │ │ │ │ ├── goroutine06.go │ │ │ │ │ └── goroutine07.go │ │ │ │ └── waitgroup-example.go │ │ │ ├── debug │ │ │ │ └── goroutine.ids.go │ │ │ ├── defer-ret.go │ │ │ ├── encoding │ │ │ │ ├── config.xml │ │ │ │ └── config_xml.go │ │ │ ├── generics-in.go │ │ │ ├── generics.go │ │ │ ├── gorm │ │ │ │ ├── go.mod │ │ │ │ ├── go.sum │ │ │ │ └── main.go │ │ │ ├── http-izer │ │ │ │ ├── level00.go │ │ │ │ ├── level01.go │ │ │ │ ├── level02.go │ │ │ │ └── templates │ │ │ │ │ ├── blimey.html │ │ │ │ │ └── hooligans.html │ │ │ ├── interface-pack │ │ │ │ ├── level0.go │ │ │ │ ├── level1.go │ │ │ │ ├── level2.go │ │ │ │ └── level3.go │ │ │ ├── json │ │ │ │ ├── dynamic_json_array_parsing_01.go │ │ │ │ ├── maps-and-json.go │ │ │ │ ├── structured.go │ │ │ │ └── structured.json │ │ │ ├── just-pointers.go │ │ │ ├── label-loop-switch.go │ │ │ ├── net │ │ │ │ └── server-static-file.go │ │ │ ├── os-exec │ │ │ │ ├── abk.long.running.process.go │ │ │ │ └── darrencoxall.com_executing-commands-in-go.md │ │ │ ├── parking-lot │ │ │ │ ├── go.mod │ │ │ │ ├── go.sum │ │ │ │ ├── parking_lot.go │ │ │ │ ├── parking_lot_test.go │ │ │ │ ├── parking_lot_with_db.go │ │ │ │ └── parking_lot_with_db_test.go │ │ │ ├── point-er-stack.go │ │ │ ├── regex_example.go │ │ │ ├── rnd.go │ │ │ ├── runtime_trials.go │ │ │ ├── slice-arrays.go │ │ │ ├── slice-pass-by-value.go │ │ │ ├── somepkg │ │ │ │ └── yep.go │ │ │ ├── square-with-add.go │ │ │ ├── struct-ure.go │ │ │ ├── switch-it-up.go │ │ │ ├── sync-waitgroup.go │ │ │ ├── text.template.go │ │ │ ├── timeouts │ │ │ │ └── gobyexample.go │ │ │ ├── websocket_melody_session_manager.go │ │ │ ├── xmas-tree.go │ │ │ └── yeah-init.go │ │ ├── reflection │ │ │ └── exampl01.go │ │ ├── server_client_zmq │ │ │ └── REQ-REP │ │ │ │ ├── client │ │ │ │ └── echocln.go │ │ │ │ ├── runnr.go │ │ │ │ └── server │ │ │ │ └── echosvr.go │ │ ├── test-to-learn │ │ │ ├── README.md │ │ │ ├── go.mod │ │ │ ├── health │ │ │ │ ├── service.go │ │ │ │ └── service_test.go │ │ │ ├── main.go │ │ │ └── main_test.go │ │ ├── testing │ │ │ └── quickcheck-sample │ │ │ │ ├── sample.go │ │ │ │ └── sample_test.go │ │ ├── with--fsnotify │ │ │ ├── example-from-repo-howeyc.go │ │ │ └── tailr.go │ │ ├── with--go-opencv │ │ │ ├── go-get-pkg.txt │ │ │ ├── stage01.go │ │ │ └── stage01.jpg │ │ ├── with-go-lua │ │ │ ├── hello.lua │ │ │ └── simple.go │ │ └── www.golang-book.com │ │ │ ├── chapter10.concurrency.go │ │ │ ├── chapter11.godoc.sh │ │ │ ├── chapter11.packaging.go │ │ │ ├── chapter11 │ │ │ └── fmtmf.go │ │ │ ├── chapter12.sh │ │ │ ├── chapter12 │ │ │ ├── chapter12.test │ │ │ ├── joinr.go │ │ │ └── joinr_test.go │ │ │ ├── chapter2.hello.go │ │ │ ├── chapter3.types.go │ │ │ ├── chapter4.var.go │ │ │ ├── chapter5.controlStructs.go │ │ │ ├── chapter6.dataStructs.go │ │ │ ├── chapter7.func.go │ │ │ ├── chapter8.ptr.go │ │ │ ├── chapter9.interfaces.go │ │ │ └── chapter9.structs.go │ ├── graphql │ │ ├── README.md │ │ ├── graphql-go │ │ │ ├── README.md │ │ │ └── sample.go │ │ └── how-to-graphql │ │ │ ├── README.md │ │ │ ├── how-to-graphql-advanced.md │ │ │ └── how-to-graphql-basic.md │ ├── haskell │ │ ├── DerekBanas.Haskell.LYAH │ │ │ ├── haskell01.hs │ │ │ ├── haskell02.hs │ │ │ └── haskell03.hs │ │ ├── LearnYouAHaskell │ │ │ ├── chap01.hs │ │ │ ├── chap02.hs │ │ │ ├── chap03.hs │ │ │ ├── chap04.hs │ │ │ └── chap05.hs │ │ ├── PeterDrake.Haskell.LYAH │ │ │ ├── PeterDrake.Haskell.LYAH.1.md │ │ │ ├── PeterDrake.Haskell.LYAH.2a.md │ │ │ ├── PeterDrake.Haskell.LYAH.2b.md │ │ │ ├── PeterDrake.Haskell.LYAH.2c.md │ │ │ ├── PeterDrake.Haskell.LYAH.2d.md │ │ │ ├── PeterDrake.Haskell.LYAH.2e.md │ │ │ ├── PeterDrake.Haskell.LYAH.3.md │ │ │ ├── PeterDrake.Haskell.LYAH.4.md │ │ │ ├── PeterDrake.Haskell.LYAH.5.md │ │ │ ├── PeterDrake.Haskell.LYAH.6a.md │ │ │ ├── PeterDrake.Haskell.LYAH.6b.md │ │ │ ├── PeterDrake.Haskell.LYAH.7.md │ │ │ ├── PeterDrake.Haskell.LYAH.8a.md │ │ │ ├── PeterDrake.Haskell.LYAH.8b.md │ │ │ ├── PeterDrake.Haskell.LYAH.9.md │ │ │ └── enable1.txt │ │ ├── PhilipWadler-UniversityOfEdinburgh-2011 │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture-Extra-Proof.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture00-06.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture07-08.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture11-12.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture13-14.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture15-16.md │ │ │ ├── Haskell.Course-ed.ac.uk.Lecture17-18.md │ │ │ ├── Parser.hs │ │ │ ├── Proposition.hs │ │ │ ├── README.md │ │ │ ├── lecture03.example00.hs │ │ │ ├── lecture16.example00.hs │ │ │ ├── lecture17.example00.hs │ │ │ ├── lecture17.example01.hs │ │ │ ├── lecture18.example00.hs │ │ │ ├── lecture18.example01.hs │ │ │ ├── lecture18.example02.hs │ │ │ ├── lecture18.example03.hs │ │ │ ├── lecture18.example04.hs │ │ │ └── lecture18.example05.hs │ │ ├── README.md │ │ ├── edx.FP101x │ │ │ └── edX.FP101x.Introduction.md │ │ ├── fpcomplete.com │ │ │ ├── simple-examples.hs │ │ │ ├── sysenv-for-webapp.hs │ │ │ ├── sysenv.hs │ │ │ └── sysinfo.hs │ │ ├── misc │ │ │ ├── USIEvents--ParallelAndConcurrentProgrammingInHaskell--SimonMarlow.md │ │ │ ├── prajitr.github.io--quick-haskell-syntax.hs │ │ │ └── trivia--wiki.haskell.org.md │ │ └── sed-in-haskell │ │ │ └── sed.hs │ ├── javascript │ │ ├── JSConf.Iceland.2016--Vitaly.Friedman--Dirty.little.front-end.tricks.md │ │ ├── JSConfBudapest2016--Sam.Bellen--Changing.live.audio.with.WebAudioAPI.md │ │ ├── README.md │ │ ├── lyrajs │ │ │ ├── README.md │ │ │ ├── lyra-blog.js │ │ │ └── package.json │ │ └── p5.js │ │ │ ├── README.md │ │ │ ├── demo-interaction-snake-game.html │ │ │ ├── index.html │ │ │ ├── js │ │ │ └── vendor │ │ │ │ ├── p5.dom.min.js │ │ │ │ ├── p5.min.js │ │ │ │ └── p5.sound.min.js │ │ │ ├── p5js-getting-started.html │ │ │ ├── p5js-learn-getting-started.md │ │ │ ├── p5js-learn-overview.md │ │ │ └── p5js-learn.md │ ├── julia-lang │ │ ├── README.md │ │ ├── julia-1-tutorial-by-JSec-misc.md │ │ ├── julia-1-tutorial-by-JSec.md │ │ └── sample-code │ │ │ ├── basic-cli.jl │ │ │ ├── document-summarization.jl │ │ │ └── lib │ │ │ ├── sampletext.jl │ │ │ └── stopwords.jl │ ├── jvm-n-java │ │ ├── .gitignore │ │ ├── Brendan.Gregg--Java.Mixed.Mode.Flame.Graph.md │ │ ├── README.md │ │ └── java │ │ │ └── forkjoinpool_sample │ │ │ ├── BinarySearch.java │ │ │ └── ForkJoinSearcher.java │ ├── lua │ │ ├── README.md │ │ └── tutorialspoint │ │ │ ├── 01-overview.md │ │ │ ├── 02-basic-syntax.md │ │ │ └── README.md │ ├── nim │ │ ├── README.md │ │ ├── book--nim-in-action │ │ │ ├── README.md │ │ │ ├── chap03.md │ │ │ ├── chap04.md │ │ │ ├── chap05.md │ │ │ ├── chap06.md │ │ │ ├── chap07.md │ │ │ ├── chap08.md │ │ │ ├── chap09.md │ │ │ ├── code-samples │ │ │ │ ├── chap2_2_2.nim │ │ │ │ ├── chap2_2_3.nim │ │ │ │ ├── chap2_3.nim │ │ │ │ ├── chap2_4.nim │ │ │ │ ├── chap2_6.nim │ │ │ │ ├── chap3chat │ │ │ │ │ ├── .gitignore │ │ │ │ │ ├── bin │ │ │ │ │ │ └── .keep │ │ │ │ │ ├── src │ │ │ │ │ │ ├── client.nim │ │ │ │ │ │ ├── client.nims │ │ │ │ │ │ ├── protocol.nim │ │ │ │ │ │ └── server.nim │ │ │ │ │ └── tasks.sh │ │ │ │ ├── chap4.nim │ │ │ │ ├── chap4.nims │ │ │ │ ├── chap6.nim │ │ │ │ ├── chap6_4.nim │ │ │ │ ├── chap6_5.nim │ │ │ │ ├── chap7twit │ │ │ │ │ ├── public │ │ │ │ │ │ └── style.css │ │ │ │ │ ├── src │ │ │ │ │ │ ├── db.nim │ │ │ │ │ │ ├── migrations │ │ │ │ │ │ │ ├── 2022-12-04-23-38-00-create-user.sql │ │ │ │ │ │ │ ├── 2022-12-04-23-40-00-create-message.sql │ │ │ │ │ │ │ └── 2022-12-04-23-45-00-create-subscription.sql │ │ │ │ │ │ ├── model.nim │ │ │ │ │ │ ├── twit.nim │ │ │ │ │ │ ├── twit_util.nim │ │ │ │ │ │ └── views │ │ │ │ │ │ │ ├── general.nim │ │ │ │ │ │ │ ├── login.nim │ │ │ │ │ │ │ ├── message.nim │ │ │ │ │ │ │ └── user.nim │ │ │ │ │ ├── test │ │ │ │ │ │ ├── db_test.nim │ │ │ │ │ │ ├── views_message_test.nim │ │ │ │ │ │ └── views_user_test.nim │ │ │ │ │ └── twit.nimble │ │ │ │ ├── chap8ffi │ │ │ │ │ ├── ffi01.nim │ │ │ │ │ └── ffi02_time.nim │ │ │ │ └── chap9 │ │ │ │ │ ├── cfg9 │ │ │ │ │ ├── cfg9.nimble │ │ │ │ │ ├── src │ │ │ │ │ │ └── cfg9.nim │ │ │ │ │ └── tests │ │ │ │ │ │ ├── config.nims │ │ │ │ │ │ ├── sample-dsl.cfg │ │ │ │ │ │ └── test1.nim │ │ │ │ │ ├── sample_generics.nim │ │ │ │ │ ├── sample_macros.nim │ │ │ │ │ └── sample_template.nim │ │ │ └── part-01.md │ │ ├── cheatsheet.nim │ │ └── cheatsheet.nims │ ├── nodejs │ │ ├── JSConfIceland2016--AzatMardan--YouDontKnowNodejs.md │ │ ├── README.md │ │ ├── jsdom │ │ │ ├── jsdom-hello.js │ │ │ └── scrap.digg.story.title.js │ │ ├── node-version │ │ ├── nodejs-anatomy-of-http-transaction.md │ │ ├── nodejs-asynchronous-work.md │ │ ├── nodejs-backpressuring-streams.md │ │ ├── nodejs-cli.md │ │ ├── nodejs-domain-module.md │ │ ├── nodejs-file-stats.md │ │ ├── nodejs-getting-started.md │ │ └── nodejs-remaining-guides.md │ ├── python │ │ ├── Falcon │ │ │ ├── falcontest.py │ │ │ ├── run-falcontest │ │ │ └── setup-requirements.txt │ │ ├── Googles.Python.Class--Day1-and-Day2 │ │ │ ├── README.md │ │ │ ├── day01_eg01.py │ │ │ ├── day01_eg02.py │ │ │ ├── day01_eg03.py │ │ │ ├── day02_eg01.py │ │ │ ├── day02_eg02.py │ │ │ ├── day02_eg03.py │ │ │ └── day02_eg04.py │ │ ├── Kivy │ │ │ ├── derek.banas │ │ │ │ ├── hellokivyy.kv │ │ │ │ ├── kivitut00.py │ │ │ │ └── kivitut01.py │ │ │ └── setup-requirements.txt │ │ ├── PyCon2012 │ │ │ └── high-perf-python-I_IanOzsvald.md │ │ ├── PyConUS2011 │ │ │ ├── An_OpenSuccess_For_TheCloudOpenStack │ │ │ │ └── README.md │ │ │ ├── HowToWriteObfuscatedPython │ │ │ │ ├── obfus01.py │ │ │ │ ├── obfus02.py │ │ │ │ └── obfus03.py │ │ │ └── README.md │ │ ├── PyConUS2013 │ │ │ ├── BrettCannon.HowImportWorks.md │ │ │ ├── Internationalization_and_Local │ │ │ │ ├── py00_log │ │ │ │ └── py01_pybabel.py │ │ │ ├── Intro_to_MetaClasses │ │ │ │ ├── 01-debugly.py │ │ │ │ ├── Intro_to_MetaClasses-part1.py.md │ │ │ │ ├── Intro_to_MetaClasses-part2.py.md │ │ │ │ └── Intro_to_MetaClasses-part3.py.md │ │ │ └── README.md │ │ ├── PythonFundamentals_4DayTrainingCourse │ │ │ ├── README.md │ │ │ ├── class1_part1 │ │ │ │ └── code01.py │ │ │ ├── class1_part2 │ │ │ │ └── code01.py │ │ │ ├── class1_part3 │ │ │ │ └── code01.py │ │ │ └── class1_part4 │ │ │ │ └── code01.py │ │ ├── README.md │ │ ├── Youtube │ │ │ ├── README.md │ │ │ ├── misc │ │ │ │ ├── .gitignore │ │ │ │ └── PythonEpiphanies.py.md │ │ │ └── pdb │ │ │ │ ├── README.md │ │ │ │ └── buggy.py │ │ ├── _self │ │ │ ├── What-To-Play-First-For-Disk-Space.py │ │ │ ├── faker │ │ │ │ ├── README.md │ │ │ │ ├── dummy.py │ │ │ │ ├── faker.py │ │ │ │ └── test_dummy.py │ │ │ ├── latency.py │ │ │ ├── pecan │ │ │ │ ├── example-webapp-helpers │ │ │ │ │ └── populate_pecan_project.sh │ │ │ │ └── example-webapp.sh │ │ │ ├── resource-heavy-abc.py │ │ │ ├── retry.py │ │ │ └── scratch │ │ │ │ ├── epoch2time.py │ │ │ │ └── ifIPv4.py │ │ ├── fizzbuzz.py │ │ ├── gregreda.com │ │ │ └── web-scraping-101 │ │ │ │ ├── pip-requires.txt │ │ │ │ └── scraper.py │ │ ├── learnpythonthehardway │ │ │ ├── README.md │ │ │ ├── ex01.py │ │ │ ├── ex02.py │ │ │ ├── ex03.py │ │ │ ├── ex04.py │ │ │ ├── ex05.py │ │ │ ├── ex06.py │ │ │ ├── ex07.py │ │ │ ├── ex08.py │ │ │ ├── ex09.py │ │ │ ├── ex10.py │ │ │ ├── ex11.py │ │ │ ├── ex12.py │ │ │ ├── ex13.py │ │ │ ├── ex14.py │ │ │ ├── ex15.py │ │ │ ├── ex16.py │ │ │ ├── ex17.py │ │ │ ├── ex18.py │ │ │ ├── ex19.py │ │ │ ├── ex20.py │ │ │ ├── ex21.py │ │ │ ├── ex22.py │ │ │ ├── ex23.py │ │ │ ├── ex24.py │ │ │ ├── ex25.py │ │ │ └── ex26.py │ │ ├── memoization-functools.py │ │ ├── neckbeard │ │ │ ├── README.md │ │ │ ├── cli-app-n-pkg-part1 │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── __init__.py │ │ │ │ ├── racks │ │ │ │ │ └── main.py │ │ │ │ ├── requirements.txt │ │ │ │ └── setup.py │ │ │ ├── lambda-function.py.md │ │ │ ├── profiling-part1.py.md │ │ │ ├── staticmethod.vs.classmethod.py │ │ │ └── super-literal.py.md │ │ ├── only-if-python2.py │ │ ├── pdb-debug.py │ │ ├── pillow │ │ │ ├── README.md │ │ │ ├── corey-schafer-image-manipulation-with-pillow.py │ │ │ ├── images │ │ │ │ └── dream-cloud.jpg │ │ │ ├── pythonexamples-org-pillow.py │ │ │ └── zetcode_com--pillow_tutorial.py │ │ ├── random_password_generator.py │ │ ├── terminal-whisper │ │ │ ├── README.md │ │ │ ├── git-commit-trick │ │ │ ├── netcat-sample.py │ │ │ └── stdout-sample.py │ │ └── wrapping-go-in-python │ │ │ ├── .gitignore │ │ │ ├── Marcus.Willock--Wrapping.Go.in.Python.md │ │ │ └── example-1 │ │ │ ├── callr_go_go_go.py │ │ │ ├── commands.sh │ │ │ └── go_go_go.go │ ├── racket │ │ ├── README.md │ │ ├── cheatsheet.md │ │ ├── racket-programming--colleen-lewis.md │ │ └── sample-code │ │ │ ├── cons-l.rkt │ │ │ ├── factorial.rkt │ │ │ └── graph-data.rkt │ ├── ruby │ │ ├── Aaron.Patterson--tenderlovemaking.com--Puts.Debugger.md │ │ ├── AlohaRubyConf2012_10ThingsRuby │ │ │ ├── 001_code_in_data.rb │ │ │ ├── 002_data_in_code.rb │ │ │ ├── 003_data_in_code_rewind.rb │ │ │ ├── 004_single_run.rb │ │ │ ├── 005_data_to_code.rb │ │ │ ├── 006_dump_parsetree.rb │ │ │ ├── 007_dump_parsetree_comment.rb │ │ │ ├── 008_dump_instructions.rb │ │ │ ├── 009_dump_yydebug.rb │ │ │ ├── 010_code_from_require.rb │ │ │ ├── 011_tail_call_optimization.rb │ │ │ ├── 012_pass_args_super.rb │ │ │ ├── 013_pass_same_super.rb │ │ │ ├── 014_pass_mod_super.rb │ │ │ ├── 015_pass_no_super.rb │ │ │ ├── 016_pass_no_block_super.rb │ │ │ ├── 017_if_super.rb │ │ │ ├── 018_lambda_literal.rb │ │ │ ├── 019_own_utf8_lambda.rb │ │ │ ├── 020_block_in_block.rb │ │ │ ├── 021_call_anything.rb │ │ │ ├── 022_symbol_tp_proc_args.rb │ │ │ ├── 023_inject_symbol.rb │ │ │ ├── 024_case_on_ranges.rb │ │ │ ├── 025_case_on_date_ranges.rb │ │ │ ├── 026_case_on_lambda.rb │ │ │ ├── 027_formatted_inspect_sprintf.rb │ │ │ ├── 028_formatted_sprintf_by_name.rb │ │ │ ├── 029_multiple_heredocs.rb │ │ │ ├── 030_dodging_a_warning.rb │ │ │ ├── 031_shortcut_var_interpolation.rb │ │ │ ├── 032_var_from_regex.rb │ │ │ ├── 033_unused_variable.rb │ │ │ ├── 034_objects_containing_themselves.rb │ │ │ ├── 035_just_use_cycle.rb │ │ │ ├── 036_assoc_array.rb │ │ │ ├── 037_more_than_2_fields.rb │ │ │ ├── 038_with_versioned_data.rb │ │ │ ├── 039_easy_fast_memorization.rb │ │ │ ├── 040_autovivification_like_perl.rb │ │ │ ├── 041_rolling_own_dispatch_table.rb │ │ │ ├── 042_rolling_rb_dispatch_table.rb │ │ │ ├── 043_fetching_data.rb │ │ │ ├── 044_indexing_into_string_by_regex.rb │ │ │ ├── 045_assign_by_regex.rb │ │ │ ├── 046_finding_last_match.rb │ │ │ ├── 047_chew_binary_data.rb │ │ │ ├── 048_iterating_in_lockstep.rb │ │ │ ├── 049_partition_ur_data.rb │ │ │ ├── 050_data_in_chunks.rb │ │ │ ├── 051_flat_map.rb │ │ │ ├── 052_each_with_object.rb │ │ │ ├── 053_take_little_off_the_top.rb │ │ │ ├── 054_manual_iteration.rb │ │ │ ├── 055_smarter_loop.rb │ │ │ ├── 056_chaining_iterators.rb │ │ │ ├── 057_add_index_to_any_iterator.rb │ │ │ ├── 058_build_classes.rb │ │ │ ├── 059_build_modules.rb │ │ │ ├── 060_inherit_an_expression.rb │ │ │ ├── 061_mixin_expression.rb │ │ │ ├── 062_subclass_module.rb │ │ │ ├── 063_empty_types.rb │ │ │ ├── 064_dont_inherit_struct.rb │ │ │ ├── 065_struct_without_assignment.rb │ │ │ ├── 066_good_method_missing.rb │ │ │ ├── 067_instance_eval_in_disguise.rb │ │ │ ├── 068_iterating_over_each_object.rb │ │ │ ├── 069_iterate_over_specific_type.rb │ │ │ ├── 070_count_objects.rb │ │ │ ├── 071_profile_garbage_collector.rb │ │ │ ├── 072_tap_into_call_chain.rb │ │ │ ├── 073_sneak_in_p_no_tap.rb │ │ │ ├── 074_bubble_up_thread_errors.rb │ │ │ ├── 075_DEBUG_flag.rb │ │ │ ├── 076_between_two_tests_in_one.rb │ │ │ ├── 077_line_by_line_read.rb │ │ │ ├── 078_write_file_shortcut.rb │ │ │ ├── 079_daemoniz.rb │ │ │ ├── 080_process_launching_on_steroids.rb │ │ │ ├── 081_seriously_spawn.rb │ │ │ ├── 082_random_data.rb │ │ │ ├── 083_read_from_web.rb │ │ │ ├── 084_escape_for_shell.rb │ │ │ ├── 085_template_methods.rb │ │ │ ├── 086_unixy_file_manipulation.rb │ │ │ ├── 087_tweak_fileutils.rb │ │ │ ├── 088_OO_file_interface.rb │ │ │ ├── 089_worlds_easy_db.rb │ │ │ ├── 090_use_drop_in_yaml.rb │ │ │ ├── 091_complete_set.rb │ │ │ ├── 092_mini_ruby_prog.sh │ │ │ ├── 093_io_like_argf.rb │ │ │ ├── 094_argf_sans_cmdline.rb │ │ │ ├── 095_flip_flop.sh │ │ │ ├── 096_out_of_order_code.sh │ │ │ ├── 097_irb_last_result.log │ │ │ ├── 098_irb_job_management.log │ │ │ ├── 099_trigger_irb_as_needed.rb │ │ │ ├── 100_pretty_json.log │ │ │ ├── 101_never_crash_code.rb │ │ │ ├── full_name.erb │ │ │ └── last_name_first.erb │ │ ├── CodeSchool--Rails.for.Zombies.Redux │ │ │ ├── README │ │ │ ├── level01.log │ │ │ ├── level02.log │ │ │ ├── level03.log │ │ │ ├── level04.log │ │ │ └── level05.log │ │ ├── CodeSchool--try.Ruby │ │ │ ├── README │ │ │ └── tryRuby.rb │ │ ├── DenverRubyConf2012_GrowUnixBeard │ │ │ ├── c01_if_fork.rb │ │ │ ├── c02_mem_n_fork.rb │ │ │ ├── c03_shell_blinker.sh │ │ │ ├── c04_nginx_style.rb │ │ │ ├── c05_fork_and_replace.rb │ │ │ └── c06_fork_exec.rb │ │ ├── DenverRubyConf2012_YNotInFP │ │ │ └── ynot.rb │ │ ├── GORUCO2012_PowerRake │ │ │ ├── Rakefile │ │ │ ├── Rakefile02 │ │ │ ├── Rakefile03 │ │ │ ├── images │ │ │ │ ├── 6a00e5508a3ca78834017d3be00bb5970c-800wi.png │ │ │ │ ├── Devops.png.png │ │ │ │ ├── HiyyOzq.png │ │ │ │ ├── borat_devops.png │ │ │ │ ├── jpegs │ │ │ │ │ └── big │ │ │ │ │ │ └── 1G1faNf.jpg │ │ │ │ └── logo.png │ │ │ └── tasks │ │ │ │ ├── clean.rake │ │ │ │ ├── convert.rake │ │ │ │ └── pathmaps.rake │ │ ├── README.md │ │ ├── RailsConf2013 │ │ │ └── PRY_TheGoodParts.md │ │ ├── Rubocop.md │ │ ├── Ruby.in.20.minutes.md │ │ ├── TexasRailsConf2012_BasicRake │ │ │ ├── Rakefile │ │ │ └── lib │ │ │ │ └── tasks │ │ │ │ └── cut_copy_paste.rake │ │ ├── metaprogramming │ │ │ ├── README.md │ │ │ ├── episode1 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ └── code03.rb │ │ │ ├── episode2 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ └── code03.rb │ │ │ ├── episode3 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ └── code03.rb │ │ │ ├── episode4 │ │ │ │ ├── code01.rb │ │ │ │ └── code02.rb │ │ │ ├── episode5 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ ├── code03.rb │ │ │ │ ├── code04.rb │ │ │ │ ├── code05.rb │ │ │ │ ├── code06.rb │ │ │ │ ├── code07.rb │ │ │ │ ├── code08.rb │ │ │ │ └── code09.rb │ │ │ ├── episode6 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ └── code03.rb │ │ │ └── episode7 │ │ │ │ ├── code01.rb │ │ │ │ ├── code02.rb │ │ │ │ └── code03.rb │ │ ├── rubymonk │ │ │ └── Ruby.Primer │ │ │ │ ├── Ruby.01.Objects.md │ │ │ │ ├── Ruby.02.Strings.md │ │ │ │ ├── Ruby.03.Conditions-Loops.md │ │ │ │ ├── Ruby.04.Arrays-Hashes.md │ │ │ │ ├── Ruby.05.Classes.md │ │ │ │ ├── Ruby.06.Methods.md │ │ │ │ ├── Ruby.07.Lambdas.md │ │ │ │ ├── Ruby.08.Modules.md │ │ │ │ └── Ruby.09.IO-Streams.md │ │ └── testing │ │ │ ├── RSpec.md │ │ │ ├── sample.rb │ │ │ └── tutorialspoint.com--rspec │ │ │ ├── 01-hello-world.rb │ │ │ ├── 02-hello-world.rb │ │ │ ├── 03-writing-specs │ │ │ ├── string_analyzer.rb │ │ │ └── string_analyzer_spec.rb │ │ │ ├── 04-matchers.rb │ │ │ ├── 05-edibles.rb │ │ │ ├── 06-stubs.rb │ │ │ ├── 07-hooks.rb │ │ │ ├── 08-tags.rb │ │ │ ├── 09-subjects.rb │ │ │ ├── 10-helpers.rb │ │ │ ├── 11-metadata.rb │ │ │ ├── 12-filtering │ │ │ ├── example_with_exclusion.rb │ │ │ ├── examples_hook_filter.rb │ │ │ ├── examples_with_focus.rb │ │ │ ├── spec_helper_exclude.rb │ │ │ └── spec_helper_include.rb │ │ │ └── README.md │ ├── rust │ │ ├── .gitignore │ │ ├── README.md │ │ ├── book-zero2prod │ │ │ ├── README.md │ │ │ ├── chap01.md │ │ │ ├── chap02-03.md │ │ │ └── sample-project │ │ │ │ ├── .gitignore │ │ │ │ ├── Cargo.toml │ │ │ │ ├── src │ │ │ │ ├── main.rs │ │ │ │ └── server.rs │ │ │ │ └── tests │ │ │ │ └── test_api_health.rs │ │ ├── comprehensive-rust │ │ │ ├── README.md │ │ │ ├── arrays.rs │ │ │ ├── control-flow.rs │ │ │ ├── ex-counter.rs │ │ │ ├── ex-elevator-events.rs │ │ │ ├── ex-generic-min.rs │ │ │ ├── ex-logger-trait.rs │ │ │ ├── generic-dt.rs │ │ │ ├── generic-dyn-trait.rs │ │ │ ├── generic-fn.rs │ │ │ ├── generic-impl-trait.rs │ │ │ ├── generic-trait-bounds.rs │ │ │ ├── generic-traits.rs │ │ │ ├── magnitude.rs │ │ │ ├── methods.rs │ │ │ ├── pew-pew │ │ │ │ ├── .gitignore │ │ │ │ ├── Cargo.toml │ │ │ │ ├── README.md │ │ │ │ ├── src │ │ │ │ │ └── lib.rs │ │ │ │ └── tests │ │ │ │ │ └── lib_test.rs │ │ │ ├── references.rs │ │ │ ├── slice.rs │ │ │ ├── std-traits-comparisons.rs │ │ │ ├── std-traits-default.rs │ │ │ ├── std-traits-frominto-as.rs │ │ │ ├── std-traits-operators.rs │ │ │ ├── std-traits-rot13.rs │ │ │ ├── std-traits-rw.rs │ │ │ ├── strings.rs │ │ │ ├── structs.rs │ │ │ ├── trait.rs │ │ │ ├── transpose.rs │ │ │ └── tuples.rs │ │ ├── crates │ │ │ └── clap.md │ │ ├── rust-by-example │ │ │ ├── README.md │ │ │ ├── c01-hello-world │ │ │ │ ├── README.md │ │ │ │ └── hello-world.rs │ │ │ ├── c02-primitives-N-03custom-types │ │ │ │ ├── README.md │ │ │ │ ├── chapter02-N-03.rs │ │ │ │ ├── eg-arrays-slices.rs │ │ │ │ ├── eg-constants.rs │ │ │ │ ├── eg-enum-c-like.rs │ │ │ │ ├── eg-enum-testcase-linked-list.rs │ │ │ │ ├── eg-enum-use.rs │ │ │ │ ├── eg-literals-operators.rs │ │ │ │ ├── eg-static.rs │ │ │ │ ├── eg-string.rs │ │ │ │ ├── eg-struct.rs │ │ │ │ └── eg-tuples.rs │ │ │ └── c04-bindings-N-05types-N-06conversion │ │ │ │ ├── README.md │ │ │ │ ├── chapter-04-05.rs │ │ │ │ ├── eg-from.rs │ │ │ │ ├── eg-inference.rs │ │ │ │ ├── eg-mutable-scope-shadow.rs │ │ │ │ └── eg-to-string.rs │ │ ├── rust-lang.org-book │ │ │ ├── README.md │ │ │ ├── chap01.md │ │ │ ├── chap02.md │ │ │ ├── chap03.md │ │ │ ├── chap04.md │ │ │ ├── chap05.md │ │ │ ├── chap06.md │ │ │ ├── chap07.md │ │ │ ├── chap08.md │ │ │ ├── chap09.md │ │ │ ├── chap10.md │ │ │ └── code-samples │ │ │ │ ├── chap01.rs │ │ │ │ ├── chap02_guessing_game │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ │ └── main.rs │ │ │ │ ├── chap03.rs │ │ │ │ ├── chap04.rs │ │ │ │ ├── chap05.rs │ │ │ │ ├── chap06.rs │ │ │ │ ├── chap07-restaurant │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ │ ├── customer.rs │ │ │ │ │ └── lib.rs │ │ │ │ ├── chap08.rs │ │ │ │ ├── chap09.rs │ │ │ │ ├── chap10.rs │ │ │ │ └── chap12-2.rs │ │ └── sample-code │ │ │ ├── README.md │ │ │ ├── step01 │ │ │ ├── cargoify │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ │ └── main.rs │ │ │ └── r01_hello.rs │ │ │ ├── step02 │ │ │ └── rusty │ │ │ │ ├── .gitignore │ │ │ │ ├── Cargo.lock │ │ │ │ ├── Cargo.toml │ │ │ │ └── src │ │ │ │ └── main.rs │ │ │ └── xmas.rs │ ├── scala │ │ ├── README.md │ │ └── scala-hilarious-guy.md │ ├── shell-scripting │ │ ├── README.md │ │ ├── concurrent-command-calling.sh │ │ ├── handle-run-or-source.sh │ │ ├── overwrite-previous-printed-text-like-banner.sh │ │ ├── set-env-from-inside-script.sh │ │ └── timeout-command-calling.sh │ ├── tla-plus │ │ ├── README.md │ │ └── video-course-by-lamport │ │ │ ├── 01-intro.md │ │ │ ├── 02-statemachines.md │ │ │ ├── 03-resource-and-tools.md │ │ │ ├── 04-die-hard.md │ │ │ └── README.md │ ├── typescript │ │ ├── .gitignore │ │ ├── README.md │ │ ├── basic-types.md │ │ └── typescript-in-5-minutes │ │ │ ├── README.md │ │ │ ├── greeter-with-class.js │ │ │ ├── greeter-with-class.ts │ │ │ ├── greeter-with-interface.js │ │ │ ├── greeter-with-interface.ts │ │ │ ├── greeter.js │ │ │ └── greeter.ts │ └── zig │ │ ├── README.md │ │ ├── examples │ │ ├── lsm.zig │ │ └── readfile.zig │ │ ├── hello-world │ │ ├── hello-arrays.zig │ │ ├── hello-asm.zig │ │ ├── hello-builtin.zig │ │ ├── hello-casting.zig │ │ ├── hello-comptime.zig │ │ ├── hello-defer.zig │ │ ├── hello-enums.zig │ │ ├── hello-fn.zig │ │ ├── hello-for.zig │ │ ├── hello-if.zig │ │ ├── hello-mem.zig │ │ ├── hello-numbers.zig │ │ ├── hello-operators.zig │ │ ├── hello-optional.zig │ │ ├── hello-pointers.zig │ │ ├── hello-slices.zig │ │ ├── hello-strings.zig │ │ ├── hello-structs.zig │ │ ├── hello-switch.zig │ │ ├── hello-tests.zig │ │ ├── hello-tuples.zig │ │ ├── hello-unions.zig │ │ ├── hello-usingnamespace.zig │ │ ├── hello-values.zig │ │ ├── hello-variables.zig │ │ ├── hello-vectors.zig │ │ ├── hello-while.zig │ │ ├── hello-world.zig │ │ └── hello-zerobit.zig │ │ └── language-reference.md ├── lb-proxy │ └── fabio-a-stateless-lb.md ├── machine-learning │ ├── MLOps.md │ ├── README.md │ ├── apache-tvm │ │ ├── autotvmintro.py │ │ ├── postprocess.py │ │ ├── preprocess.py │ │ ├── tvm.md │ │ └── tvmcpythonintro.py │ ├── approaches │ │ └── neural-networks │ │ │ ├── ann-supervised-learning.md │ │ │ └── concept-ann.md │ ├── book--pro-ml-algos │ │ ├── README.md │ │ ├── buggy-rnn-textgen.py │ │ ├── chap01.md │ │ ├── chap02.md │ │ ├── chap03.md │ │ ├── chap04.md │ │ ├── chap05.md │ │ ├── chap06.md │ │ ├── chap07.md │ │ ├── chap08.md │ │ ├── chap09.md │ │ ├── chap10.md │ │ ├── chap11.md │ │ ├── chap12.md │ │ ├── chap13.md │ │ ├── rnn-embed-layer.py │ │ ├── rnn-lstm.py │ │ └── sentiment-review.csv │ ├── example-code │ │ ├── ann-supervised-learning.go │ │ └── stable-diffusion-simple.py │ ├── google-courses │ │ ├── README.md │ │ ├── prereq--concepts.md │ │ ├── prework--numpy-ultraquick-tutorial.py │ │ ├── prework--pandas-dataframe-ultraquick-tutorial.py │ │ └── prework--problem-framing │ │ │ ├── README.md │ │ │ ├── common-ml-problems.md │ │ │ ├── deciding-on-ml.md │ │ │ ├── formulating-a-problem.md │ │ │ └── getting-started-with-ml.md │ ├── implementations │ │ ├── cnn-tf.py │ │ ├── rnn-simple.py │ │ └── speech-recognition │ │ │ ├── .gitignore │ │ │ ├── README.md │ │ │ ├── eg-pocketsphinx.py │ │ │ └── offline-speech-recognition-using-pocketsphinx.py │ ├── in-practice │ │ └── uber--advanced-technologies-for-detecting-and-preventing-fraud.md │ ├── mlflow │ │ ├── doc-autolog.py │ │ ├── doc-load.py │ │ ├── doc-store.py │ │ └── docs-summary.md │ ├── paper-Attention-is-All-You-Need.md │ ├── stabilityai │ │ └── stable-audio-open-example.py │ ├── toolbox │ │ ├── README.md │ │ ├── caffe2.md │ │ ├── gen │ │ │ ├── README.md │ │ │ └── getting-started.md │ │ ├── ml5.js │ │ │ ├── README.md │ │ │ ├── data │ │ │ │ ├── bassmint.png │ │ │ │ └── cat-01.png │ │ │ ├── hello-ml5-v1.html │ │ │ ├── hello-ml5-v1.md │ │ │ ├── hello-world-p5js.html │ │ │ ├── hello-world.html │ │ │ ├── index.html │ │ │ ├── js │ │ │ │ ├── sentiment-v1.js │ │ │ │ ├── sketch-hello-ml5-v1.js │ │ │ │ ├── vendor │ │ │ │ │ ├── ml5.min.js │ │ │ │ │ ├── p5.dom.min.js │ │ │ │ │ ├── p5.min.js │ │ │ │ │ └── p5.sound.min.js │ │ │ │ └── yolo-v1.js │ │ │ ├── promises-and-callbacks.md │ │ │ ├── reference-image-yolo.html │ │ │ ├── reference-image-yolo.md │ │ │ ├── reference-text-sentiment.html │ │ │ └── reference-text-sentiment.md │ │ ├── numpy │ │ │ ├── README.md │ │ │ ├── multi-layer-neural-network.py │ │ │ ├── simple-neural-net.py │ │ │ └── singular-value-decomposition.py │ │ ├── rasa │ │ │ ├── README.md │ │ │ ├── getting-started │ │ │ │ ├── .gitignore │ │ │ │ ├── 01-understand.md │ │ │ │ ├── 02-try-it-out.md │ │ │ │ ├── README.md │ │ │ │ ├── check-nlu.py │ │ │ │ ├── eg-bot.py │ │ │ │ ├── eg-domain.yml │ │ │ │ ├── eg-stories.md │ │ │ │ ├── nlu-config.yml │ │ │ │ └── nlu-messages.md │ │ │ └── nlu │ │ │ │ ├── .gitignore │ │ │ │ ├── 01-try-it-out.md │ │ │ │ ├── 01-try-it-out │ │ │ │ ├── nlu.md │ │ │ │ ├── nlu_config.yml │ │ │ │ ├── train.sh │ │ │ │ └── try.py │ │ │ │ ├── 02-installation.md │ │ │ │ └── README.md │ │ ├── tensorflow │ │ │ ├── packt--Tensorflow.ML.Cookbook.md │ │ │ ├── setup │ │ │ ├── tf-hello-world.go │ │ │ └── tf.js │ │ │ │ ├── README.md │ │ │ │ ├── basics-hello-world.html │ │ │ │ ├── basics.md │ │ │ │ └── js │ │ │ │ └── vendor │ │ │ │ ├── mobilenet-2.0.4.js │ │ │ │ └── tf.min.js │ │ └── torch │ │ │ ├── README.md │ │ │ ├── dockerfiles │ │ │ ├── Dockerfile.pytorch │ │ │ └── Dockerfile.torch │ │ │ ├── docs-tensors.md │ │ │ ├── example001 │ │ │ └── Dockerfile │ │ │ └── learning.pytorch.with.examples │ │ │ ├── 01-tensors-warmup-numpy │ │ │ └── warmup-numpy.py │ │ │ ├── 01-tensors-warmup-pytorch │ │ │ └── warmup-pytorch.py │ │ │ └── README.md │ └── wiki │ │ ├── Inference-Time-Scaling.md │ │ ├── LLM-fundamentals.md │ │ ├── LLM-terminology.md │ │ ├── LSA.md │ │ ├── RAG.md │ │ └── SVD.md ├── network │ ├── IPSec.basics.md │ ├── openvpn │ │ └── pritunl.md │ └── sdn │ │ ├── Intro.to.OpenFlow.and.SDN.md │ │ └── trivia.md ├── observability │ ├── concepts │ │ └── red-and-use.md │ └── eBPF │ │ ├── README.md │ │ ├── book--bpf-performance-tools │ │ ├── README.md │ │ ├── References.md │ │ ├── chapter-01.md │ │ ├── chapter-02.md │ │ ├── chapter-03.md │ │ ├── chapter-04.md │ │ ├── chapter-05-kernel-struct-tracing.bt │ │ ├── chapter-05-measure-vfs-read-time.bt │ │ ├── chapter-05.md │ │ ├── chapter-06.md │ │ ├── chapter-07.md │ │ ├── chapter-08.md │ │ ├── chapter-09.md │ │ ├── chapter-10.md │ │ ├── chapter-11.md │ │ ├── chapter-12.md │ │ ├── chapter-13.md │ │ ├── chapter-14.md │ │ ├── chapter-15.md │ │ ├── chapter-16.md │ │ ├── chapter-17.md │ │ └── chapter-18.md │ │ └── trace-tcp-sendmsg.ebpf ├── operating-systems │ ├── concepts-chapter │ │ ├── OSConcepts-Contents.log │ │ ├── OS_Day1.log │ │ ├── OS_Day2.log │ │ ├── OS_Day3.log │ │ ├── OS_Day4.log │ │ ├── OS_Day5.log │ │ ├── OS_Day6_7.log │ │ ├── OS_FileMgmt_Part1.log │ │ ├── OS_FileMgmt_Part2.log │ │ ├── OS_FileMgmt_Part3.log │ │ ├── OS_MemMgmt_Part1.log │ │ ├── OS_MemMgmt_Part2.log │ │ ├── OS_ProcMgmt.log │ │ ├── OS_ProcMgmt_Part2.log │ │ └── Q.log │ ├── coreos │ │ └── tns.io--CoreOS.Launches.a.K8-friendly.storage.system-Torus.md │ └── linux │ │ ├── IPTables.Tips.and.Tricks-More.than.just.ACCEPT.and.DROP.md │ │ ├── bash-declare-datastructs.sh │ │ ├── bash-socket-programming │ │ └── curly.sh │ │ ├── cgroups.md │ │ ├── containers │ │ └── LinuxFestNW2016--The.12.Factor.Container.md │ │ ├── inodes-and-files.md │ │ ├── linux-x-cpu.md │ │ ├── linux.router--setting.up.DHCP.md │ │ ├── perf_events_map.png │ │ ├── trace │ │ └── PolyConf.2016--Julia.Evans--Why.Systems.Programming.is.for.Everyone.md │ │ └── utilities │ │ ├── catonmat.net--unix-utilities-lsof.md │ │ ├── catonmat.net--unix-utilities-pv.md │ │ ├── hu.man--apropos.md │ │ ├── hu.man--blkid.md │ │ ├── hu.man--df.md │ │ ├── hu.man--mtr.md │ │ ├── hu.man--ping.md │ │ ├── hu.man--sudo.md │ │ └── hu.man--tcpdump.md ├── protocols │ └── bitcask.md ├── reference │ ├── WebPerf_GoogleMasterlist.md │ ├── algorithms │ │ ├── README.md │ │ ├── binary-search.jl │ │ ├── breadth-first-search.jl │ │ ├── depth-first-search.jl │ │ ├── interpolation-search.jl │ │ ├── kadane.py │ │ └── mergesort.py │ └── cqrs.md ├── scm │ ├── git │ │ ├── MarakanaTechTV--Git.from.the.Bits.up │ │ │ └── git.me │ │ └── README.md │ └── svn │ │ └── svn. ├── secure │ ├── README.md │ ├── defcon22--intro.to.Tor--MetaCortex.and.Grifter.md │ ├── defcon24-escaping.sandbox.by.not.breaking.md │ ├── mwrlabs--drozer.md │ ├── mwrlabs--needle.md │ └── quantum-cryptography.md ├── self │ ├── fedora │ │ └── qik.fedora.bootstrapper.sh │ ├── odd-even-sort.py │ └── wtf-devops.md ├── virtualization │ ├── README.md │ ├── anthos │ │ ├── README.md │ │ └── cuelogic--intro.md │ ├── aws │ │ └── lambda │ │ │ ├── aws.amazon.com--building.dynamic.DNS.for.Route.53.using.CloudWatch.Events.and.Lambda.md │ │ │ └── dzone.com--AWS.Lambda.for.beginners.md │ ├── docker │ │ ├── CheatSheet.md │ │ ├── README.md │ │ ├── alpine-base │ │ │ └── Golang │ │ │ │ └── Dockerfile │ │ ├── docker.network.performance.in.public.cloud--arjan.schaa.md │ │ ├── example-of-compose │ │ │ ├── docker-compose.yml │ │ │ └── web │ │ │ │ ├── Dockerfile │ │ │ │ └── app-code │ │ │ │ ├── app.py │ │ │ │ └── requirements.txt │ │ └── tns.io--EMC.pushes.alternative.Docker.persistent-storage-volumes.md │ ├── gcp │ │ ├── lynda.com--at.youtube.md │ │ └── stackdriver │ │ │ └── list.go │ ├── kubernetes │ │ ├── 15.Kubernetes.features.in.15.minutes--Marc.Sluiter.md │ │ ├── Quickies.md │ │ ├── README.md │ │ ├── cncf2016--building.a.bank.with.k8s.Monzo--OliverBeattie.md │ │ ├── ingress │ │ │ └── studying-kubernetes-ingress-system.md │ │ ├── kube-toolbox.md │ │ └── scotch.io--deploy.docker.to.gcp.with.k8s.md │ ├── kvm │ │ ├── KVM.Virt.on.RHEL7.Made.Easy.md │ │ ├── KVMForum2016--Libvirt.Admin.API--Erik.Skultety.md │ │ ├── Performant.Security.Hardening.of.KVM.md │ │ └── Picus.Viridis--KVM.Virtualization.Part01-03.md │ ├── mesos │ │ └── Mesosphere.Screencast.2014--Docker.Clustering.on.Mesos.with.Marathon.md │ └── podman │ │ ├── README.md │ │ ├── how-does-rootless-podman-work.md │ │ ├── rhel-podman-a-secure-way.md │ │ └── rhel-podman-and-user-namespaces.md └── www │ ├── CascadeSF.Bootstrap-Foundation-and-The-Future-of-Web-Frameworks.md │ ├── Colt.McAnlis--Performance.Checklist.for.the.Mobile.Web.md │ ├── FooCafe.Which-way-is-forward.2013.DouglasCrockford.md │ ├── HTML5DevConf-2013 │ ├── Building-Web-Applications-with-EmberJS.2013.Yehuda-Katz.md │ ├── Redemption-from-Callback-Hell.md │ └── Three-Keys-to-Successful-Single-Page-Web-Applications.md │ ├── LinkedIn.Building-Performant-HTML5-WebApp.TrunalBhanse.md │ ├── LinkedIn.Graphics-on-the-Web-and-KineticJS-2013.EricRowell.md │ ├── Packt--Getting.Started.with.HTML5.WebSocket.Programming │ ├── chap01.md │ ├── chap02-code01.htm │ ├── chap02.md │ └── chap03.md │ ├── Paul.Irish--HTML5.Developer.JSConf.2012--WebApp.Dev.Workflow.md │ ├── RAIL--User.Centric.Model.for.Perf--Paul.Irish-Paul.Lewis.md │ ├── README.md │ ├── angularjs │ ├── README.md │ └── youtube_DanWahlin_FundamentalsIn60ishMin │ │ ├── eg_01.html │ │ ├── eg_02.html │ │ ├── eg_03.html │ │ ├── eg_04.html │ │ ├── eg_05.html │ │ ├── eg_05_view1.html │ │ ├── eg_05_view2.html │ │ └── eg_06.html │ ├── materializecss │ ├── assets │ │ ├── jquery-3.2.1.min.js │ │ ├── materialize-0.100.2.min.css │ │ └── materialize-0.100.2.min.js │ ├── example01.html │ └── example02.html │ ├── playwright │ ├── Intro.md │ ├── README.md │ └── test_playwirght.py │ ├── polymer │ └── LetsBuildSomeAppsWithPolymer │ │ ├── bower.json │ │ └── example01 │ │ └── index.html │ ├── qwikjs │ ├── README.md │ └── qwik-tutorial-overview.md │ ├── selenium │ ├── run-selenium-headless-sample.sh │ └── selenium-headless-sample.py │ ├── shadowDOM │ └── example01.htm │ ├── webassembly │ └── rust │ │ └── mozilla-rust-to-wasm │ │ ├── README.md │ │ ├── hello-wasm │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ └── src │ │ │ └── lib.rs │ │ ├── index.html │ │ ├── index.js │ │ ├── package.json │ │ └── webpack.config.js │ ├── webaudio │ ├── README.md │ └── rocky-de-raze │ │ ├── README.md │ │ ├── example01.html │ │ └── example01.js │ └── webrtc-photobooth │ ├── index.html │ ├── snapr.css │ ├── snapr.jpeg │ └── snapr.js └── tasks /.gitignore: -------------------------------------------------------------------------------- 1 | tags 2 | tmp 3 | *.un~ 4 | *.swp 5 | *.swo 6 | *.pyc 7 | .ropeproject 8 | temp 9 | example-webapp 10 | build 11 | **/__pycache__ 12 | **/.venv 13 | **/.venv-tut-as-code 14 | **/.gradle 15 | **/bower_components 16 | **/node_modules 17 | **/npm-debug.log 18 | **/.goenv 19 | misc_sources/haskell/**/*.hi 20 | misc_sources/haskell/**/*.o 21 | **/todo.log 22 | -------------------------------------------------------------------------------- /talks-articles/datacenters/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Datacenters 3 | 4 | * [networking topology](Data.Center.Networking.Toplogy.md) 5 | 6 | * [Juniper Networks Trivia](JuniperNetworks.Trivia.md) 7 | 8 | * [MPLS in nutshell](MPLS.in.a.Nutshell.10.minutes.md) 9 | 10 | * [Arista Switch Demo](switch.arista.Arista3-Demo.md) 11 | 12 | * [Arista Switch and SDN](switch.arista.Arista-and-SDN.md) 13 | 14 | * [Arista Switch Tips](switch.arista.Arista.md) 15 | 16 | --- 17 | -------------------------------------------------------------------------------- /talks-articles/dataengines/kafka/dockerfiles/build-docker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | docker build -t abhishekkr/kafka:2.13-2.6.0 -f Dockerfile-main . 5 | set +ex 6 | -------------------------------------------------------------------------------- /talks-articles/dataengines/kafka/dockerfiles/run-docker: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -ex 4 | docker run -p 2181:2181 -p 9092:9092 --env ADVERTISED_HOST=`docker-machine ip \`docker-machine active\`` --env ADVERTISED_PORT=9092 abhishekkr/kafka:2.13-2.6.0 5 | set +ex 6 | -------------------------------------------------------------------------------- /talks-articles/dataengines/kafka/dockerfiles/scripts/supervisor.kafka.conf: -------------------------------------------------------------------------------- 1 | [program:kafka] 2 | command=/usr/bin/start-kafka.sh 3 | autostart=true 4 | autorestart=true 5 | -------------------------------------------------------------------------------- /talks-articles/dataengines/kafka/dockerfiles/scripts/supervisor.zk.conf: -------------------------------------------------------------------------------- 1 | [program:zookeeper] 2 | command=/usr/share/zookeeper/bin/zkServer.sh start-foreground 3 | autostart=true 4 | autorestart=true 5 | -------------------------------------------------------------------------------- /talks-articles/datastores/cockroachdb/.gitignore: -------------------------------------------------------------------------------- 1 | hello-* 2 | -------------------------------------------------------------------------------- /talks-articles/datastores/elasticsearch/gist-best-practices.md: -------------------------------------------------------------------------------- 1 | 2 | ## ES Best Practices 3 | 4 | * Activate [Rack Awareness](https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-awareness.html) to ensure better failover when data is spread over multiple DCs. 5 | 6 | 7 | --- 8 | -------------------------------------------------------------------------------- /talks-articles/datastores/gundb/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## [gundb](https://gundb.eco) 3 | 4 | > A realtime, decentralized and offline graph db engine in javascript. 5 | > 6 | > When used in a browser, stores data using Browser `Local Storage`, under `gun/`. 7 | 8 | * [Hello World](./gundb-helloworld.htm) 9 | 10 | * [ToDo List](./to-do-app-tutorial.html) 11 | 12 | --- 13 | -------------------------------------------------------------------------------- /talks-articles/datastores/rethinkdb/docker-ized/rethinkdb.conf: -------------------------------------------------------------------------------- 1 | server-name=rethinkdbI 2 | server-tag=rethinkdb 3 | server-tag=datastore 4 | -------------------------------------------------------------------------------- /talks-articles/datastores/rethinkdb/docker-ized/rethinkdb.run: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | rethinkdb -d /rethinkdb/data --bind all --log-file /rethinkdb/log/rethinkdb.log --config-file /rethinkdb.conf 4 | -------------------------------------------------------------------------------- /talks-articles/datastores/rethinkdb/docker-ized/think.dkr: -------------------------------------------------------------------------------- 1 | docker run -d -p 8080:8080 -p 28015:28015 -p 29015:29015 --expose 8080 --expose 28015 --expose 29015 abhishekkr/rethinkdb 2 | -------------------------------------------------------------------------------- /talks-articles/datastores/rrdtool/golang-sample/go-get-pkg.txt: -------------------------------------------------------------------------------- 1 | github.com/ziutek/rrd 2 | -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/README.md: -------------------------------------------------------------------------------- 1 | ### to tryout the html examples in here, run server as this path root 2 | 3 | can directly run on console at this path ``` python -m SimpleHTTPServer ``` 4 | -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/youtube-d3Vienno/stage10/smallData.csv: -------------------------------------------------------------------------------- 1 | "name","version" 2 | "Archlinux",15 3 | "SmartOS",12 4 | "Ubuntu",10 -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/youtube-d3Vienno/stage10/smallData.json: -------------------------------------------------------------------------------- 1 | [ 2 | {"name": "CentOS", "version": 25}, 3 | {"name": "Fedora", "version": 21}, 4 | {"name": "RedHat", "version": 20} 5 | ] -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/youtube-d3Vienno/stage15/someData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bob", 3 | "children": [ 4 | { 5 | "name": "Alice", 6 | "children": [ 7 | {"name": "in-Wonderland"} 8 | ] 9 | }, 10 | { 11 | "name": "Eve", 12 | "children": [ 13 | {"name": "of-manhattan", "age": 256}, 14 | {"name": "of-yemen", "age": 652} 15 | ] 16 | } 17 | ] 18 | } -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/youtube-d3Vienno/stage16/bubbleData.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Bob", 3 | "value": 150, 4 | "children": [ 5 | {"name": "Alice", "value": 70}, 6 | {"name": "Don", "value": 35}, 7 | {"name": "Eve", "value": 100}, 8 | {"name": "Trudy", "value": 55}, 9 | {"name": "Spy", "value": 55}, 10 | {"name": "Jumbo", "value": 100} 11 | ] 12 | } -------------------------------------------------------------------------------- /talks-articles/dataviz/d3js/youtube-d3Vienno/stage17/smallData.csv: -------------------------------------------------------------------------------- 1 | "name","age" 2 | "abc",10 3 | "bcd",25 4 | "cde",5 5 | "def",56 6 | "ef",65 7 | "fg",11 8 | "ghijk",2 9 | "hijk",22 10 | "ijk",4 11 | "jk",44 12 | "k",8 13 | "lmn",88 14 | "mnop",16 15 | "nopq",7 16 | "opqrs",77 17 | "pqrs",14 18 | "qrs",5 19 | "rs",55 20 | "st",10 21 | "tuv",1 22 | "uvw",11 23 | "wxy",2 24 | "xyz",22 -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## DevOps Toolbox 3 | 4 | * [Ansible](./devops-toolbox/ansible) 5 | 6 | * [Chef](./devops-toolbox/chef) 7 | 8 | * [Puppet](./devops-toolbox/puppet) 9 | 10 | --- 11 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/ansible/.dockerignore: -------------------------------------------------------------------------------- 1 | doc.ansible.com 2 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/chef/.gitignore: -------------------------------------------------------------------------------- 1 | .kitchen.*yml 2 | **/.chef/** 3 | **/.kitchen/** 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/.gitignore: -------------------------------------------------------------------------------- 1 | **/.ruby-version 2 | *.swp 3 | *.swo 4 | *~ 5 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/manifests/extdatadir/common.csv: -------------------------------------------------------------------------------- 1 | docker_dir,/tmp/docker-trial 2 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/manifests/extdatadir/env_testnode.csv: -------------------------------------------------------------------------------- 1 | docker_dir,/tmp/docker-trial-testnode 2 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/manifests/extdatadir/fqdn_h4ck3r.n0d3.csv: -------------------------------------------------------------------------------- 1 | docker_dir,/tmp/docker-trial-h4ck3r.n0d3 2 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/manifests/site.pp: -------------------------------------------------------------------------------- 1 | # example 2 | 3 | $extlookup_datadir = "${settings::manifestdir}/extdatadir" 4 | $extlookup_precedence = ["fqdn_%{fqdn}", "env_%{environment}", "domain_%{domain}", "common"] 5 | 6 | include sysutils::install 7 | include dockerZ 8 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/dockerz/files/dockerfiles/Dockerfile.ansible: -------------------------------------------------------------------------------- 1 | # 2 | # Ansible Dockerfile 3 | # 4 | # https://github.com/dockerfile/ansible 5 | # 6 | 7 | # Pull base image. 8 | FROM dockerfile/python 9 | 10 | # Install Ansible. 11 | RUN pip install ansible 12 | 13 | # Define working directory. 14 | WORKDIR /data 15 | 16 | # Define default command. 17 | CMD ["bash"] 18 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/dockerz/files/dockerfiles/Dockerfile.puppet: -------------------------------------------------------------------------------- 1 | FROM ubuntu:12.10 2 | MAINTAINER James Turnbull "james@lovedthanlost.net" 3 | 4 | RUN apt-get -y update 5 | RUN apt-get -y install rubygems 6 | RUN echo "gem: --no-ri --no-rdoc" > ~/.gemrc 7 | RUN gem install puppet librarian-puppet 8 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/dockerz/manifests/dockerfiles/create.pp: -------------------------------------------------------------------------------- 1 | # namespace and paths accordingly are very important 2 | define dockerz::dockerfiles::create { 3 | 4 | file { 5 | "${path}/${name}": 6 | ensure => "present", 7 | mode => 0664, 8 | source => "puppet:///modules/dockerz/files/dockerfiles/${name}", 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/dockerz/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class dockerz{ 2 | include dockerz::install 3 | include dockerz::dockerfiles 4 | } 5 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/dockerz/manifests/install.pp: -------------------------------------------------------------------------------- 1 | class dockerz::install { 2 | package {'docker': ensure => 'installed'} 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/files/dockerfiles/Dockerfile.ansible: -------------------------------------------------------------------------------- 1 | # 2 | # Ansible Dockerfile 3 | # 4 | # https://github.com/dockerfile/ansible 5 | # 6 | 7 | # Pull base image. 8 | FROM dockerfile/python 9 | 10 | # Install Ansible. 11 | RUN pip install ansible 12 | 13 | # Define working directory. 14 | WORKDIR /data 15 | 16 | # Define default command. 17 | CMD ["bash"] 18 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/files/dockerfiles/Dockerfile.puppet: -------------------------------------------------------------------------------- 1 | FROM ubuntu:12.10 2 | MAINTAINER James Turnbull "james@lovedthanlost.net" 3 | 4 | RUN apt-get -y update 5 | RUN apt-get -y install rubygems 6 | RUN echo "gem: --no-ri --no-rdoc" > ~/.gemrc 7 | RUN gem install puppet librarian-puppet 8 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/manifests/dockerfiles/create.pp: -------------------------------------------------------------------------------- 1 | # namespace and paths accordingly are very important 2 | define dockerz::dockerfiles::create($path) { 3 | 4 | file { 5 | "${path}/${name}": 6 | ensure => "present", 7 | mode => 0664, 8 | source => "puppet:///modules/dockerz/dockerfiles/${name}", 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class dockerz{ 2 | include dockerz::install 3 | include dockerz::dockerfiles 4 | } 5 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/dockerz/manifests/install.pp: -------------------------------------------------------------------------------- 1 | class dockerz::install { 2 | package {'docker': ensure => 'installed'} 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/sysutils/manifests/init.pp: -------------------------------------------------------------------------------- 1 | class sysutils { 2 | include sysutils::install 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/sysutils/manifests/install.pp: -------------------------------------------------------------------------------- 1 | class sysutils::install { 2 | package { ['htop', 'strace']: ensure => 'installed', } 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/sysutils/spec/classes/sysutils/install_spec.rb: -------------------------------------------------------------------------------- 1 | require 'spec_helper' 2 | describe 'sysutils::install' do 3 | it do 4 | should contain_package('htop').with_ensure('installed') 5 | should contain_package('iostat').with_ensure('installed') 6 | should contain_package('strace').with_ensure('installed') 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/environments/testenv/modules/sysutils/tests/node.pp: -------------------------------------------------------------------------------- 1 | node somenodes-manifest { 2 | include sysutils::install 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/devops-toolbox/puppet/examples/example01.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | MODULE_PATH=$(dirname $0)"/environments/testenv/modules" 4 | 5 | echo "Running a simple module: sysutils" 6 | 7 | ## typical puppet setup's config file will manage environment, modulepath, manifestpath and other stuff 8 | puppet apply --modulepath="$MODULE_PATH" -e "include sysutils" 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Frameworks 3 | 4 | * [Phoenix](./phoenix/README.md) 5 | 6 | * [Flutter](./flutter/README.md) 7 | 8 | * [React](./react/README.md) 9 | 10 | * [GatsbyJS](./gatsbyjs/README.md) 11 | 12 | * [Fermyon's Spin](./spin_wasm/README.md) 13 | 14 | * [Builder.io's Qwik](./qwik-js/README.md) 15 | 16 | --- 17 | -------------------------------------------------------------------------------- /talks-articles/frameworks/expressjs/sample-project/state-01/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample-project", 3 | "version": "1.0.0", 4 | "description": "sample project to try expressjs", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "abhishekkr", 10 | "license": "MIT", 11 | "dependencies": { 12 | "express": "^4.16.3" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /talks-articles/frameworks/expressjs/sample-project/state-02/index.js: -------------------------------------------------------------------------------- 1 | /* sample app */ 2 | var express = require('express'); 3 | var app = express(); 4 | 5 | var secrets = require('./secrets.js'); 6 | 7 | app.all('/', function(req, res){ 8 | res.send("try Secrets"); 9 | }); 10 | 11 | app.use('/secrets', secrets); 12 | 13 | app.listen(3000); 14 | -------------------------------------------------------------------------------- /talks-articles/frameworks/expressjs/sample-project/state-02/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample-project", 3 | "version": "1.0.0", 4 | "description": "sample project to try expressjs", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "abhishekkr", 10 | "license": "MIT", 11 | "dependencies": { 12 | "express": "^4.16.3" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /talks-articles/frameworks/expressjs/sample-project/state-03/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "sample-project", 3 | "version": "1.0.0", 4 | "description": "sample project to try expressjs", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "abhishekkr", 10 | "license": "MIT", 11 | "dependencies": { 12 | "express": "^4.16.3" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## FastAPI 3 | 4 | > High-Performance Modern Web Framework for Python 3.8+ 5 | 6 | * [Quickstart](./quickstart.md) 7 | 8 | * [Chatter](./cha-t-ter), a sample web-app showing uses of API, Web Static & Websockets 9 | 10 | --- 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/env: -------------------------------------------------------------------------------- 1 | SQLITE_DB_PATH="sqlite:///./dev.db" 2 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/lib/models.py: -------------------------------------------------------------------------------- 1 | from pydantic import BaseModel 2 | from typing import Union 3 | 4 | 5 | class User(BaseModel): 6 | id: Union[int, None] = None 7 | name: str 8 | subscribed: Union[bool, None] = None 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/migrations/README: -------------------------------------------------------------------------------- 1 | Generic single-database configuration. -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/tailwindcss/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "devDependencies": { 3 | "tailwindcss": "^3.3.6" 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/tailwindcss/styles/main.css: -------------------------------------------------------------------------------- 1 | @tailwind base; 2 | @tailwind components; 3 | @tailwind utilities; 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/tailwindcss/tailwind.config.js: -------------------------------------------------------------------------------- 1 | /** @type {import('tailwindcss').Config} */ 2 | module.exports = { 3 | content: ["../templates/*.html"], 4 | theme: { 5 | extend: {}, 6 | }, 7 | plugins: [], 8 | } 9 | 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/templates/index.html: -------------------------------------------------------------------------------- 1 | {% extends 'layout.html' %} 2 | 3 | {% block content %} 4 |
5 |
6 |
7 | 8 |
9 |
10 |
11 | {% endblock content %} 12 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/cha-t-ter/web.py: -------------------------------------------------------------------------------- 1 | #!uvicorn web:app 2 | 3 | from fastapi import FastAPI 4 | from lib.api_user import api_user 5 | from lib.frontend import app_fe 6 | 7 | app = FastAPI() 8 | 9 | 10 | @app.get("/health") 11 | def get_health(): 12 | return {"status": "ok"} 13 | 14 | 15 | app.mount("/user", api_user) 16 | app.mount("/", app_fe) 17 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/dummy-cha-t-ter/lib/__init__.py: -------------------------------------------------------------------------------- 1 | __NAME__ = "CHA-T-TER LIB" 2 | __VERSION__ = "0.0.1" 3 | -------------------------------------------------------------------------------- /talks-articles/frameworks/fast-api-py/dummy-cha-t-ter/lib/models.py: -------------------------------------------------------------------------------- 1 | from pydantic import BaseModel 2 | from typing import Union 3 | """ 4 | This is to manage Pydantic Models used for routes in Chatter. 5 | """ 6 | 7 | 8 | class User(BaseModel): 9 | id: Union[int, None] = None 10 | name: str 11 | subscribed: Union[bool, None] = None 12 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7a4c33425ddd78c54aba07d86f3f9a4a0051769b 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip 7 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/AppDelegate.h: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | 4 | @interface AppDelegate : FlutterAppDelegate 5 | 6 | @end 7 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/cupertino_app/ios/Runner/main.m: -------------------------------------------------------------------------------- 1 | #import 2 | #import 3 | #import "AppDelegate.h" 4 | 5 | int main(int argc, char* argv[]) { 6 | @autoreleasepool { 7 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/demo.ogv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/demo.ogv -------------------------------------------------------------------------------- /talks-articles/frameworks/flutter/building-cupertino-app/demo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/flutter/building-cupertino-app/demo.png -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/.prettierignore: -------------------------------------------------------------------------------- 1 | .cache 2 | package.json 3 | package-lock.json 4 | public 5 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "arrowParens": "avoid", 3 | "semi": false 4 | } 5 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/gatsby-browser.js: -------------------------------------------------------------------------------- 1 | import "./src/styles/global.css" 2 | // or: 3 | // require('./src/styles/global.css') 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/gatsby-config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * Configure your Gatsby site with this file. 3 | * 4 | * See: https://www.gatsbyjs.org/docs/gatsby-config/ 5 | */ 6 | 7 | module.exports = { 8 | /* Your site config here */ 9 | plugins: [], 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/src/components/header.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | 3 | export default function Header(props) { 4 | return

{props.headerText}

5 | } 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/src/components/mylinks.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | import mylinksStyle from "./mylinks.module.css" 3 | 4 | export default function Mylinks(props) { 5 | return
6 | {props.links.map(item => ( 7 | {item.title} 8 | ))} 9 |
10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/src/components/mylinks.module.css: -------------------------------------------------------------------------------- 1 | .links { 2 | background: gray; 3 | margin: 1em auto; 4 | max-width: 300px; 5 | } 6 | .link { 7 | padding: 5px 5px 5px 5px; 8 | } 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/src/components/subheader.js: -------------------------------------------------------------------------------- 1 | import React from "react" 2 | 3 | export default function SubHeader({ children }) { 4 | return

{children}

5 | } 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/src/styles/global.css: -------------------------------------------------------------------------------- 1 | html { 2 | background-color: lavenderblush; 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/gatsbyjs/hello-world/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/gatsbyjs/hello-world/static/favicon.ico -------------------------------------------------------------------------------- /talks-articles/frameworks/gradio/gr01-hello-world.py: -------------------------------------------------------------------------------- 1 | import gradio as gr 2 | 3 | def greet(name, symbol, intensity): 4 | return f"{symbol * intensity} {name}! {symbol * intensity} " 5 | 6 | demox = gr.Interface( 7 | fn=greet, 8 | inputs=["text", "text", "slider"], 9 | outputs=["text"], 10 | ) 11 | 12 | demox.launch() 13 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Phoenix 3 | 4 | > the `Plug` for `Elixir` power on Web 5 | 6 | * [Mix Phoenix Tasklist](./mix-phx-tasks.md) 7 | 8 | * [Quickstart Phoenix](./phoenix.md) 9 | 10 | * [TALK: Phoenix Web Framework at PolyConf 2015](./polyconf.2015.phoenix.web.framework.elixir.md) 11 | 12 | 13 | ### Book Notes 14 | 15 | * [Programming Phoenix >= 1.4](./book--programming-phoenix-ge-1.4/README.md) 16 | 17 | --- 18 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto, :phoenix], 3 | inputs: ["*.{ex,exs}", "priv/*/seeds.exs", "{config,lib,test}/**/*.{ex,exs}"], 4 | subdirectories: ["priv/*/migrations"] 5 | ] 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-env" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/static/favicon.ico -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/static/images/phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/static/images/phoenix.png -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/assets/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo.ex: -------------------------------------------------------------------------------- 1 | defmodule Ehlo do 2 | @moduledoc """ 3 | Ehlo keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule Ehlo.Repo do 2 | use Ecto.Repo, 3 | otp_app: :ehlo, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/controllers/ehlo_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.EhloController do 2 | use EhloWeb, :controller 3 | 4 | def user(conn, %{"name" => name}) do 5 | render(conn, "user.html", name: name) 6 | end 7 | def user(conn, _params) do 8 | render(conn, "user.html") 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.PageController do 2 | use EhloWeb, :controller 3 | 4 | def index(conn, _params) do 5 | render(conn, "index.html") 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/templates/ehlo/user.html.eex: -------------------------------------------------------------------------------- 1 |

Ehlo to you, dear <%= if Map.has_key?(assigns, :name) do 2 | String.capitalize(@name) 3 | else 4 | "Guest User" 5 | end %>.

6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/views/ehlo_view.ex: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.EhloView do 2 | use EhloWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/views/layout_view.ex: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.LayoutView do 2 | use EhloWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/lib/ehlo_web/views/page_view.ex: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.PageView do 2 | use EhloWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/priv/repo/migrations/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto_sql], 3 | inputs: ["*.exs"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/test/ehlo_web/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.PageControllerTest do 2 | use EhloWeb.ConnCase 3 | 4 | test "GET /", %{conn: conn} do 5 | conn = get(conn, "/") 6 | assert html_response(conn, 200) =~ "Welcome to Phoenix!" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/test/ehlo_web/views/layout_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.LayoutViewTest do 2 | use EhloWeb.ConnCase, async: true 3 | 4 | # When testing helpers, you may want to import Phoenix.HTML and 5 | # use functions such as safe_to_string() to convert the helper 6 | # result into an HTML string. 7 | # import Phoenix.HTML 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/test/ehlo_web/views/page_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule EhloWeb.PageViewTest do 2 | use EhloWeb.ConnCase, async: true 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/ehlo/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | Ecto.Adapters.SQL.Sandbox.mode(Ehlo.Repo, :manual) 3 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto, :phoenix], 3 | inputs: ["*.{ex,exs}", "priv/*/seeds.exs", "{config,lib,test}/**/*.{ex,exs}"], 4 | subdirectories: ["priv/*/migrations"] 5 | ] 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-env" 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/css/video.css: -------------------------------------------------------------------------------- 1 | .annotations{ 2 | border-left: 1px solid #eaeaea; 3 | } 4 | 5 | #msg-container{ 6 | min-height: 260px; 7 | } 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/js/app.js: -------------------------------------------------------------------------------- 1 | import "../css/app.scss" 2 | 3 | import "phoenix_html" 4 | 5 | import socket from "./socket" 6 | import Video from "./video" 7 | 8 | let videoNode = document.getElementById("video") 9 | Video.init(socket, videoNode) 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/js/app.js.chapter-09: -------------------------------------------------------------------------------- 1 | import "../css/app.scss" 2 | 3 | import "phoenix_html" 4 | 5 | import Player from "./player" 6 | let video = document.getElementById("video") 7 | if (video) { 8 | let log_ready = () => { console.log("player ready!") } 9 | Player.init(video.id, video.getAttribute("data-player-id"), log_ready) 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/js/socket.js: -------------------------------------------------------------------------------- 1 | import {Socket} from "phoenix" 2 | 3 | let socket = new Socket("/socket", { 4 | params: {token: window.userToken}, 5 | logger: (kind, msg, data) => { 6 | console.log(`${kind}: ${msg}`, data) 7 | } 8 | } 9 | ) 10 | 11 | export default socket 12 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/static/favicon.ico -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/static/images/phoenix.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/static/images/phoenix.png -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/assets/static/robots.txt: -------------------------------------------------------------------------------- 1 | # See http://www.robotstxt.org/robotstxt.html for documentation on how to use the robots.txt file 2 | # 3 | # To ban all spiders from the entire site uncomment the next two lines: 4 | # User-agent: * 5 | # Disallow: / 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue.ex: -------------------------------------------------------------------------------- 1 | defmodule Videologue do 2 | @moduledoc """ 3 | Videologue keeps the contexts that define your domain 4 | and business logic. 5 | 6 | Contexts are also responsible for managing your data, regardless 7 | if it comes from the database, an external API or others. 8 | """ 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue/accounts/user.ex.chapter03: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Accounts.User do 2 | defstruct [:id, :name, :username] 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue/repo.ex: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo do 2 | use Ecto.Repo, 3 | otp_app: :videologue, 4 | adapter: Ecto.Adapters.Postgres 5 | end 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.PageController do 2 | use VideologueWeb, :controller 3 | 4 | def index(conn, _params) do 5 | render(conn, "index.html") 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/controllers/watch_controller.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.WatchController do 2 | use VideologueWeb, :controller 3 | 4 | alias Videologue.Multimedia 5 | 6 | def show(conn, %{"id" => id}) do 7 | video = Multimedia.get_video!(id) 8 | render(conn, "show.html", video: video) 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/param.ex: -------------------------------------------------------------------------------- 1 | defimpl Phoenix.Param, for: Videologue.Multimedia.Video do 2 | def to_param(%{slug: slug, id: id}), do: "#{id}-#{slug}" 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/templates/page/index.html.eex: -------------------------------------------------------------------------------- 1 |
2 |

<%= gettext "Welcome to %{name}!", name: "Video.logue" %>

3 |

Start the videologue..

4 |
5 | 8 |
9 |
10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/templates/user/show.html.eex: -------------------------------------------------------------------------------- 1 | User #<%= @user.id %> 2 |

<%= first_name(@user) %>

3 |

Full Name: <%= @user.name %>

4 |
<%= link "Back to List", to: Routes.user_path(@conn, :index) %>
5 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/templates/video/edit.html.eex: -------------------------------------------------------------------------------- 1 |

Edit Video

2 | 3 | <%= render "form.html", Map.put(assigns, :action, Routes.video_path(@conn, :update, @video)) %> 4 | 5 | <%= link "Back", to: Routes.video_path(@conn, :index) %> 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/templates/video/new.html.eex: -------------------------------------------------------------------------------- 1 |

New Video

2 | 3 | <%= render "form.html", Map.put(assigns, :action, Routes.video_path(@conn, :create)) %> 4 | 5 | <%= link "Back", to: Routes.video_path(@conn, :index) %> 6 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/views/layout_view.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.LayoutView do 2 | use VideologueWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/views/page_view.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.PageView do 2 | use VideologueWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/views/session_view.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.SessionView do 2 | use VideologueWeb, :view 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/views/video_view.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.VideoView do 2 | use VideologueWeb, :view 3 | 4 | def category_select_options(categories) do 5 | categories |> Enum.map(fn c -> {c.name, c.id} end) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/lib/videologue_web/views/watch_view.ex: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.WatchView do 2 | use VideologueWeb, :view 3 | 4 | def player_id(video) do 5 | ~r{^.*(?:youtu\.be|\w+/|v=)(?[^#&?]*)} 6 | |> Regex.named_captures(video.url) 7 | |> get_in(["id"]) 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/.formatter.exs: -------------------------------------------------------------------------------- 1 | [ 2 | import_deps: [:ecto_sql], 3 | inputs: ["*.exs"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210527193258_create_users.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.CreateUsers do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create table(:users) do 6 | add :name, :string 7 | add :username, :string, null: false 8 | add :password_hash, :string 9 | 10 | timestamps() 11 | end 12 | end 13 | end 14 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210527193448_create_users_index_username.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.CreateUsersIndexUsername do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create unique_index(:users, [:username]) 6 | end 7 | end 8 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210528191400_add_users_field_password_hash.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.CreateUsersFieldPasswordHash do 2 | use Ecto.Migration 3 | 4 | def change do 5 | default_hash = Pbkdf2.hash_pwd_salt("changeit") 6 | Videologue.Repo.update_all("users", set: [password_hash: default_hash]) 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210530063612_create_categories.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.CreateCategories do 2 | use Ecto.Migration 3 | 4 | def change do 5 | create table(:categories) do 6 | add :name, :string 7 | 8 | timestamps() 9 | end 10 | 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210530065005_add_category_id_to_video.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.AddCategoryIdToVideo do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:videos) do 6 | add :category_id, references(:categories) 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210602183831_modify_category_name_not_nullable.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.ModifyCategoryNameNotNullable do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:categories) do 6 | modify(:name, :string, null: false, from: :string) # Title column is now not nullable 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/priv/repo/migrations/20210614122633_add_slug_to_videos.exs: -------------------------------------------------------------------------------- 1 | defmodule Videologue.Repo.Migrations.AddSlugToVideos do 2 | use Ecto.Migration 3 | 4 | def change do 5 | alter table(:videos) do 6 | add :slug, :string 7 | end 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/test/videologue_web/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.PageControllerTest do 2 | use VideologueWeb.ConnCase 3 | 4 | test "GET /", %{conn: conn} do 5 | conn = get(conn, "/") 6 | assert html_response(conn, 200) =~ "Start the videologue" 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/test/videologue_web/views/layout_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.LayoutViewTest do 2 | use VideologueWeb.ConnCase, async: true 3 | 4 | # When testing helpers, you may want to import Phoenix.HTML and 5 | # use functions such as safe_to_string() to convert the helper 6 | # result into an HTML string. 7 | # import Phoenix.HTML 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/phoenix/book--programming-phoenix-ge-1.4/videologue/test/videologue_web/views/page_view_test.exs: -------------------------------------------------------------------------------- 1 | defmodule VideologueWeb.PageViewTest do 2 | use VideologueWeb.ConnCase, async: true 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/qwik-js/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Qwik 3 | 4 | > JS, app framework by Builder.io, [source](https://qwik.builder.io/) 5 | 6 | * [Qwik Docs](./qwik-docs.md) 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/react/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## React 3 | 4 | * [ReactJS](./reactjs/README.md), a JS library for building component-based UIs 5 | 6 | * [React Native](./react-native/README.md), a framework for building mobile native apps using JS 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/react/reactjs/tutorialspoint.com/react-app/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": ["@babel/preset-env", "@babel/preset-react"] 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/frameworks/react/reactjs/tutorialspoint.com/react-app/bundle/.gitkeep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/react/reactjs/tutorialspoint.com/react-app/bundle/.gitkeep -------------------------------------------------------------------------------- /talks-articles/frameworks/react/reactjs/tutorialspoint.com/react-app/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | over React App 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /talks-articles/frameworks/react/reactjs/tutorialspoint.com/react-app/main.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App.js'; 4 | 5 | ReactDOM.render( 6 | , 7 | document.getElementById('app') 8 | ); 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/.gitignore: -------------------------------------------------------------------------------- 1 | target/** 2 | -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Spin (WASM based Service Framework) by FERMYON 3 | 4 | * [Intro](intro.md) 5 | 6 | * [QuickStart](quickstart.md), with [sample-http-rust](./sample-http-rust) 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/sample-app/sample_http_rust_demo.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/spin_wasm/sample-app/sample_http_rust_demo.wasm -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/sample-app/sample_http_rust_test.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/frameworks/spin_wasm/sample-app/sample_http_rust_test.wasm -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/sample-http-rust/.cargo/config.toml: -------------------------------------------------------------------------------- 1 | [build] 2 | target = "wasm32-wasi" 3 | -------------------------------------------------------------------------------- /talks-articles/frameworks/spin_wasm/sample-http-rust/.gitignore: -------------------------------------------------------------------------------- 1 | target/ 2 | -------------------------------------------------------------------------------- /talks-articles/gamedev/godot/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Godot Engine 3 | 4 | > * free and OSS 2D/3D game engine 5 | > 6 | > * games could be exported to Linux/macOS/Windows/Android/iOS/HTML5 platforms 7 | 8 | 9 | * [docs.godotengine](./docs.godotengine/README.md) 10 | 11 | -- 12 | -------------------------------------------------------------------------------- /talks-articles/google/gmail-api-email-access/README.md: -------------------------------------------------------------------------------- 1 | ## Google Developers 2 | 3 | * ./youtube-google-developers/gmail-api-email-access 4 | > URL: https://www.youtube.com/watch?v=L6hQCgxgzLI 5 | > "Revolutionizing Email Access with GMail API" ~ @wescpy 6 | > developers.google.com/gmail/api && goo.gl/GuH3L4 7 | -------------------------------------------------------------------------------- /talks-articles/google/gmail-api-email-access/pip-requires.txt: -------------------------------------------------------------------------------- 1 | apiclient 2 | httplib2 3 | oauth2client 4 | google-api-python-client 5 | python-gflags 6 | -------------------------------------------------------------------------------- /talks-articles/graphics-n-video/README.md: -------------------------------------------------------------------------------- 1 | 2 | ### Graphics and Video Toolsets/others 3 | 4 | * [Blender](./blender/README.md) 5 | > used [3DStudio Max](https://www.deviantart.com/abhishekkr) for couple years, that comes in handy for fundamentals... so might miss out on noting few beginner level concepts 6 | 7 | --- 8 | -------------------------------------------------------------------------------- /talks-articles/hacks/README.md: -------------------------------------------------------------------------------- 1 | 2 | * [stealing session cookie with tcpdump](./stealing.session.cookie.with.tcpdump.md) 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/ant/eg01/build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Oh Ok... 5 | 6 | 7 | 8 | So after all new tools gotta do Ant. :( 9 | 10 | 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/ant/eg01/run.sh: -------------------------------------------------------------------------------- 1 | ant -file build.xml 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/ant/eg02/prop/common.properties: -------------------------------------------------------------------------------- 1 | BASE_DIR=/tmp 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/ant/eg02/prop/some.properties: -------------------------------------------------------------------------------- 1 | SOME_TEMP_DIR=/tmp/abcde 2 | OTHER_TEMP_DIR=${BASE_DIR}/fghij 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/ant/eg02/run.sh: -------------------------------------------------------------------------------- 1 | ant -propertyfile prop/common.properties 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/gradle/Gradleware/BuildingAndTesting_04MavenAndGradle.gradle: -------------------------------------------------------------------------------- 1 | // Maven with Gradle 2 | // gradle -b BuildingAndTesting_04MavenAndGradle.gradle tasks 3 | 4 | apply plugin: 'java' 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/gradle/Gradleware/BuildingAndTesting_05Testing.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/0-build/gradle/Gradleware/BuildingAndTesting_05Testing.gradle -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/gradle/Gradleware/antFromGradle_build.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/gradle/Gradleware/buildSrc/src/main/groovy/org/gradle/example/task/BannerTask.groovy: -------------------------------------------------------------------------------- 1 | /**/ 2 | 3 | import org.gradle.api.DefaultTask 4 | import org.gradle.api.tasks.TaskAction 5 | 6 | class BannerTask extends DefaultTask { 7 | def msg 8 | 9 | @TaskAction 10 | def printBanner(){ 11 | println "~" * 50 12 | println msg 13 | println "~" * 50 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/0-build/gradle/Sources.md: -------------------------------------------------------------------------------- 1 | ### Sources 2 | 3 | ##### Gradleware 4 | * [Gradleware: Building and Testing - Tasks](http://www.gradleware.com/registered/books/building-and-testing/tasks.html) 5 | * [Gradleware: Building and Testing - Ant from Gradle](http://www.gradleware.com/registered/books/building-and-testing/ant-and-gradle.html) 6 | 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/README: -------------------------------------------------------------------------------- 1 | R 2 | 3 | [+] Using R 4 | [+] Vectors 5 | [+] Matrices 6 | [+] Sample Statistics 7 | [+] Factors 8 | [+] Data Frames 9 | [+] Real World 10 | [+] What's Next 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/Rplots.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/Rplots.pdf -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/chap8.R: -------------------------------------------------------------------------------- 1 | ## TryR What's Next 2 | 3 | # 8.1 4 | Read More, Practice More, Know More 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/reqd_files/dummy.R: -------------------------------------------------------------------------------- 1 | sqrt(100) 2 | "A" 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/reqd_files/gdp.txt: -------------------------------------------------------------------------------- 1 | Rank Country GDP 2 | 1 Australia 101010 3 | 2 Austria 91119 4 | 3 China 90000 5 | 4 Malaysia 89898 6 | 5 Thailand 88888 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/reqd_files/infantry.txt: -------------------------------------------------------------------------------- 1 | Port Infantry 2 | Porto Bello 700 3 | Cartagena 500 4 | Panama City 1500 5 | Havana 2000 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/reqd_files/pirates.csv: -------------------------------------------------------------------------------- 1 | Country,Pirates 2 | India,87 3 | China,82 4 | US,81 5 | UK,56 6 | Pak,99 7 | Austria,52 8 | Malaysia,67 9 | Thailand,87 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/reqd_files/targets.csv: -------------------------------------------------------------------------------- 1 | "Port","Population","Worth" 2 | "Cartagena",35000,10000 3 | "Porto Bello",49000,15000 4 | "Havana",140000,50000 5 | "Panama City",105000,35000 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/CodeSchool--try.R/run_chapters.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | R -f ./chap1.R 4 | R -f ./chap2.R 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/R-lang/README.md: -------------------------------------------------------------------------------- 1 | 2 | * [TryR](http://tryr.codeschool.com/) 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/ballerina/learn-by-example/01-hello-world/hello-world-parallel.bal: -------------------------------------------------------------------------------- 1 | import ballerina/io; 2 | 3 | public function main() { 4 | worker w1 { 5 | io:println("Hello, World! #m"); 6 | } 7 | 8 | worker w2 { 9 | io:println("Hello, World! #n"); 10 | } 11 | 12 | worker w3 { 13 | io:println("Hello, World! #k"); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/ballerina/learn-by-example/01-hello-world/hello-world-svc.bal: -------------------------------------------------------------------------------- 1 | import ballerina/http; 2 | import ballerina/log; 3 | 4 | service hello on new http:Listener(9090) { 5 | resource function sayHello(http:Caller caller, http:Request req) { 6 | var result = caller->respond("Hello, World!"); 7 | 8 | if (result is error) { 9 | log:printError("Error sending response", result); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/ballerina/learn-by-example/02-ballerina-basics/quoted-id-example.bal: -------------------------------------------------------------------------------- 1 | import ballerina/io; 2 | 3 | function 'function(int a, int b) returns int { 4 | return a + b; 5 | } 6 | 7 | function '1plus(int a) returns int { 8 | return a + 1; 9 | } 10 | 11 | public function main() { 12 | var result = 'function(10, 20); 13 | io:println(result); 14 | 15 | int 'int; 16 | 'int = 100; 17 | io:println('1plus('int)); 18 | } 19 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/ballerina/learn-by-example/04-flow-control/elvis-example.bal: -------------------------------------------------------------------------------- 1 | import ballerina/io; 2 | 3 | public function main() { 4 | string|() s1 = (); 5 | 6 | string s2 = s1 is string ? s1 : "default"; // type-guard for value of s1 or default 7 | io:println(s2); 8 | 9 | string elvisResult1 = s1 ?: "elvis-default"; // same via elvis 10 | io:println(elvisResult1); 11 | } 12 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/README.md: -------------------------------------------------------------------------------- 1 | ## 4Clojure 2 | 3 | http://www.4clojure.com/ 4 | 5 | Solution to 4Clojure.com problems 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem001.clj: -------------------------------------------------------------------------------- 1 | ; Nothing but the Truth 2 | ; (= __ true) 3 | (= true true) 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem002.clj: -------------------------------------------------------------------------------- 1 | ; Simple Math 2 | ; (= (- 10 (* 2 3)) __) 3 | (= (- 10 (* 2 3)) 4) 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem003.clj: -------------------------------------------------------------------------------- 1 | ; intro to strings 2 | ; (= __ (.toUpperCase "hello world")) 3 | (= "HELLO WORLD" (.toUpperCase "hello world")) 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem004.clj: -------------------------------------------------------------------------------- 1 | ; intro to lists 2 | ; (= (list __) '(:a :b :c)) 3 | (= (list :a :b :c) '(:a :b :c)) 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem005.clj: -------------------------------------------------------------------------------- 1 | ; Lists: conj 2 | ; When operating on a list, the conj function will return a new list with one or more items "added" to the front. 3 | ; (= __ (conj '(2 3 4) 1)) 4 | ; (= __ (conj '(3 4) 2 1)) 5 | 6 | (= (list 1 2 3 4) (conj '(2 3 4) 1)) 7 | (= (list 1 2 3 4) (conj '(3 4) 2 1)) 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem006.clj: -------------------------------------------------------------------------------- 1 | ; intro to vectors 2 | ; Vectors can be constructed several ways. You can compare them with lists. 3 | ; (= [__] (list :a :b :c) (vec '(:a :b :c)) (vector :a :b :c)) 4 | ;(println (= [:] (list :a :b :c) (vec '(:a :b :c)) (vector :a :b :c))) 5 | (println (= [:a :b :c] (list :a :b :c) (vec '(:a :b :c)) (vector :a :b :c))) 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem007.clj: -------------------------------------------------------------------------------- 1 | ; Vectors: conj 2 | ; When operating on a Vector, 3 | ; the conj function will return a new vector with one or more items 4 | ; "added" to the end. 5 | ; (= __ (conj [1 2 3] 4)) 6 | ; (= __ (conj [1 2] 3 4)) 7 | (= [1 2 3 4] (conj [1 2 3] 4)) 8 | (= [1 2 3 4] (conj [1 2] 3 4)) 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem008.clj: -------------------------------------------------------------------------------- 1 | ; intro to sets; collection of unique values 2 | ; (= __ (set '(:a :a :b :c :c :c :c :d :d))) 3 | ; (= __ (clojure.set/union #{:a :b :c} #{:b :c :d})) 4 | (= #{:a :b :c :d} (set '(:a :a :b :c :c :c :c :d :d))) 5 | (= #{:a :b :c :d} (clojure.set/union #{:a :b :c} #{:b :c :d})) 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem009.clj: -------------------------------------------------------------------------------- 1 | ; sets: conj 2 | ; When operating on a set, 3 | ; the conj function returns a new set with one or more keys "added". 4 | ; (= #{1 2 3 4} (conj #{1 4 3} __)) 5 | (= #{1 2 3 4} (conj #{1 4 3} 2)) 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem010.clj: -------------------------------------------------------------------------------- 1 | ; intro to maps 2 | ; Maps store key-value pairs. 3 | ; Both maps and keywords can be used as lookup functions. 4 | ; Commas can be used to make maps more readable, but they are not required. 5 | ; (= __ ((hash-map :a 10, :b 20, :c 30) :b)) 6 | ; (= __ (:b {:a 10, :b 20, :c 30})) 7 | (= 20 ((hash-map :a 10, :b 20, :c 30) :b)) 8 | (= 20 (:b {:a 10, :b 20, :c 30})) 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem011.clj: -------------------------------------------------------------------------------- 1 | ; Maps: conj 2 | ; When operating on a map, 3 | ; the conj function returns a new map 4 | ; with one or more key-value pairs "added". 5 | ; (= {:a 1, :b 2, :c 3} (conj {:a 1} __ [:c 3])) 6 | (= {:a 1, :b 2, :c 3} (conj {:a 1} [:b 2] [:c 3])) 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem012.clj: -------------------------------------------------------------------------------- 1 | ; intro to sequences 2 | ; All Clojure collections support sequencing. 3 | ; You can operate on sequences with functions like first, second, and last. 4 | ; (= __ (first '(3 2 1))) 5 | ; (= __ (second [2 3 4])) 6 | ; (= __ (last (list 1 2 3))) 7 | (= 3 (first '(3 2 1))) 8 | (= 3 (second [2 3 4])) 9 | (= 3 (last (list 1 2 3))) 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem013.clj: -------------------------------------------------------------------------------- 1 | ; sequences rest 2 | ; rest function will return all the items of a sequence except the first 3 | ; (= __ (rest [10 20 30 40])) 4 | (= [20 30 40] (rest [10 20 30 40])) 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem014.clj: -------------------------------------------------------------------------------- 1 | ; intro to functions 2 | ; clojure got many different ways to create functions 3 | ; (= __ ((fn add-five [x] (+ x 5)) 3)) 4 | ; (= __ ((fn [x] (+ x 5)) 3)) 5 | ; (= __ (#(+ % 5) 3)) 6 | ; (= __ ((partial + 5) 3)) 7 | (= 8 ((fn add-five [x] (+ x 5)) 3)) 8 | (= 8 ((fn [x] (+ x 5)) 3)) 9 | (= 8 (#(+ % 5) 3)) 10 | (= 8 ((partial + 5) 3)) 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem015.clj: -------------------------------------------------------------------------------- 1 | ; Double Down 2 | ; Write a function which doubles a number. 3 | ; (= (__ 2) 4) 4 | ; (= (__ 7) 14) 5 | (= (#(* % 2) 2) 4) 6 | (= (#(* % 2) 7) 14) 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem016.clj: -------------------------------------------------------------------------------- 1 | ; hello world 2 | ; Write a function which returns a personalized greeting. 3 | ; (= (__ "Dave") "Hello, Dave!") 4 | (= ((fn [nam] (str "Hello, " nam "!")) "Dave") "Hello, Dave!") 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem017.clj: -------------------------------------------------------------------------------- 1 | ; sequences: map 2 | ; map function takes two arguments: a function (f) and a sequence (s) 3 | ; Map returns a new sequence consisting of the result of applying f to each item of s. 4 | ; Do not confuse the map function with the map data structure. 5 | ; (= __ (map #(+ % 5) '(1 2 3))) 6 | (= '(6 7 8) (map #(+ % 5) '(1 2 3))) 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem018.clj: -------------------------------------------------------------------------------- 1 | ; sequences: filter 2 | ; The filter function takes two arguments: 3 | ; a predicate function (f) and a sequence (s). 4 | ; Filter returns a new sequence consisting of all the items of s for which (f item) returns true. 5 | ; (= __ (filter #(> % 5) '(3 4 5 6 7))) 6 | (= '(6 7) (filter #(> % 5) '(3 4 5 6 7))) 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/4clojure.com/problem019.clj: -------------------------------------------------------------------------------- 1 | ; last element [sequnce core function] 2 | ; Write a function which returns the last element in a sequence. 3 | ; don't use last 4 | ; (= (__ [1 2 3 4 5]) 5) 5 | ; (= (__ '(5 4 3)) 3) 6 | ; (= (__ ["b" "c" "d"]) "d") 7 | (= (#(.get % (dec (count %))) [1 2 3 4 5]) 5) 8 | (= (#(.get % (dec (count %))) '(5 4 3)) 3) 9 | (= (#(.get % (dec (count %))) ["b" "c" "d"]) "d") 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/README.md: -------------------------------------------------------------------------------- 1 | ## Clojure 2 | 3 | * Intro To Clojure - Brian Will [youtube] http://www.youtube.com/playlist?list=PLAC43CFB134E85266 4 | 5 | * 4Clojure http://www.4clojure.com/ 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/clojure/intro_to_clojure/README: -------------------------------------------------------------------------------- 1 | Intro To Clojure 2 | 3 | by, Brian Will 4 | 5 | http://www.youtube.com/playlist?list=PLAC43CFB134E85266 6 | 7 | 8 | Fundamentals of the language, explained very finely. 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-01.exs: -------------------------------------------------------------------------------- 1 | defmodule Parallel do 2 | def pmap(collection, func) do 3 | collection 4 | |> Enum.map(&(Task.async(fn -> func.(&1) end))) 5 | |> Enum.map(&Task.await/1) 6 | end 7 | end 8 | 9 | defmodule ParallelAdd do 10 | def main do 11 | Parallel.pmap 1..1000, &(&1 + 1) 12 | end 13 | end 14 | 15 | n1001 = ParallelAdd.main() 16 | IO.puts n1001 17 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-09.md: -------------------------------------------------------------------------------- 1 | 2 | ## Chapter.9 An Aside - What Are Types? 3 | 4 | * primitive list `[...]` is an implementation, `List` module provides an abstraction atop; both implement types but type is different 5 | 6 | * `Keyword` type is provided by a module, represented as list of tuples where dict-like behavior is available alongwith list functionality 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-21/anagrams.list1: -------------------------------------------------------------------------------- 1 | alice 2 | licea 3 | iceal 4 | ceali 5 | bob 6 | obb 7 | bbo 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-21/anagrams.list2: -------------------------------------------------------------------------------- 1 | ealic 2 | laice 3 | ilcea 4 | cieal 5 | ecali 6 | eve 7 | vee 8 | eev 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-24/es_ist_ein_ros.mid: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/chapter-24/es_ist_ein_ros.mid -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/config/config.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :distill20, stack: :dis_stack 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/rel/appups/distill20/0.1.0_to_0.2.0.appup: -------------------------------------------------------------------------------- 1 | {"0.2.0", 2 | [{"0.1.0", 3 | [{update,'Elixir.Distill20.Stack',{advanced,[]},[]}, 4 | {load_module,'Elixir.Distill20',['Elixir.Distill20.Stack']}]}], 5 | [{"0.1.0", 6 | [{update,'Elixir.Distill20.Stack',{advanced,[]},[]}, 7 | {load_module,'Elixir.Distill20',['Elixir.Distill20.Stack']}]}]}. 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/rel/plugins/.gitignore: -------------------------------------------------------------------------------- 1 | *.* 2 | !*.exs 3 | !.gitignore -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/test/distill20/stack_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Distill20StackTest do 2 | use ExUnit.Case 3 | doctest Distill20.Stack 4 | end 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/distill20/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/duper19/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/duper19/config/config.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :duper19, results: :dup_results 4 | config :duper19, pathfinder: :dup_pathfinder 5 | config :duper19, worker_supervisor: :dup_worker_sup 6 | config :duper19, worker: :dup_worker 7 | config :duper19, gatherer: :dup_gatherer 8 | 9 | config :duper19, dirwalker: :dup_dirwalker 10 | config :duper19, mystash: :dup_stash 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/duper19/lib/duper19.ex: -------------------------------------------------------------------------------- 1 | defmodule Duper19 do 2 | @moduledoc """ 3 | Documentation for Duper19. 4 | """ 5 | 6 | @doc """ 7 | Hello world. 8 | 9 | ## Examples 10 | 11 | iex> Duper19.hello() 12 | :world 13 | 14 | """ 15 | def hello do 16 | :world 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/duper19/test/duper19_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Duper19Test do 2 | use ExUnit.Case 3 | doctest Duper19 4 | 5 | test "greets the world" do 6 | assert Duper19.hello() == :world 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/duper19/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/config/config.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :gitex, github_api: "https://api.github.com" 4 | 5 | config :logger, compile_time_purge_level: :info 6 | 7 | import_config "#{Mix.env()}.ex" 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/config/dev.ex: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :logger, level: :info 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/config/prod.ex: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :logger, level: :warn 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/config/test.ex: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :logger, level: :error 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/gitex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/gitex -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/gitex.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/gitex.png -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/test/gitex_test.exs: -------------------------------------------------------------------------------- 1 | defmodule GitexTest do 2 | use ExUnit.Case 3 | doctest Gitex 4 | 5 | test "#version" do 6 | assert Gitex.version() == "0.1.0" 7 | end 8 | 9 | test "#hello" do 10 | assert Gitex.hello() == :world 11 | end 12 | end 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/gitex/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/config/config.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :sequence17, mynameis: :slimshady 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/lib/sequence17.ex: -------------------------------------------------------------------------------- 1 | defmodule Sequence17 do 2 | @moduledoc """ 3 | Documentation for Sequence17. 4 | """ 5 | 6 | @doc """ 7 | Hello world. 8 | 9 | ## Examples 10 | 11 | iex> Sequence17.hello() 12 | :world 13 | 14 | """ 15 | def hello do 16 | :world 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/lib/sequence17/server.ex: -------------------------------------------------------------------------------- 1 | defmodule Sequence17.Server do 2 | use GenServer 3 | 4 | def init(num), do: {:ok, num} 5 | 6 | def handle_call(:next_number, _from, current_number) do 7 | {:reply, current_number, current_number+1} 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/lib/stack/impl.ex: -------------------------------------------------------------------------------- 1 | defmodule Stack.Impl do 2 | def pop([]), do: {nil, []} 3 | def pop([h|tail]), do: {h, tail} 4 | 5 | def push(elem, list), do: [elem|list] 6 | end 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/test/sequence17_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Sequence17Test do 2 | use ExUnit.Case 3 | doctest Sequence17 4 | 5 | test "greets the world" do 6 | assert Sequence17.hello() == :world 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/sequence17/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/supseq18/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/supseq18/config/config.exs: -------------------------------------------------------------------------------- 1 | use Mix.Config 2 | 3 | config :supseq18, mynameis: :supstack 4 | config :supseq18, mystash: :supstack_stash 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/supseq18/lib/supseq18.ex: -------------------------------------------------------------------------------- 1 | defmodule Supseq18 do 2 | @moduledoc """ 3 | Documentation for Supseq18. 4 | """ 5 | 6 | @doc """ 7 | Hello world. 8 | 9 | ## Examples 10 | 11 | iex> Supseq18.hello() 12 | :world 13 | 14 | """ 15 | def hello do 16 | :world 17 | end 18 | end 19 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/supseq18/test/supseq18_test.exs: -------------------------------------------------------------------------------- 1 | defmodule Supseq18Test do 2 | use ExUnit.Case 3 | doctest Supseq18 4 | 5 | test "greets the world" do 6 | assert Supseq18.hello() == :world 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/book--programming-elixir-ge-1.6/supseq18/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p24_chat/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p24_chat/README.md: -------------------------------------------------------------------------------- 1 | # P24Chat 2 | 3 | > a sample app for OTP Distribution 4 | 5 | -- 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p24_chat/lib/p24_chat/application.ex: -------------------------------------------------------------------------------- 1 | defmodule P24Chat.Application do 2 | @moduledoc false 3 | 4 | use Application 5 | 6 | def start(_type, _args) do 7 | children = [ 8 | {Task.Supervisor, name: P24Chat.TaskSupervisor} 9 | ] 10 | 11 | opts = [strategy: :one_for_one, name: P24Chat.Supervisor] 12 | Supervisor.start_link(children, opts) 13 | end 14 | end 15 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p24_chat/test/p24_chat_test.exs: -------------------------------------------------------------------------------- 1 | defmodule P24ChatTest do 2 | use ExUnit.Case, async: true 3 | doctest P24Chat 4 | 5 | @tag :distributed 6 | test "send_message" do 7 | assert P24Chat.send_message(:eve@localhost, "hey") == :ok 8 | end 9 | end 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p24_chat/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | exclude = if Node.alive?, do: [], else: [distributed: true] 2 | 3 | ExUnit.start(exclude: exclude) 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/.formatter.exs: -------------------------------------------------------------------------------- 1 | # Used by "mix format" 2 | [ 3 | inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] 4 | ] 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/README.md: -------------------------------------------------------------------------------- 1 | # P29Genstage 2 | 3 | > sample for GenStage 4 | 5 | --- 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/lib/p29_genstage.ex: -------------------------------------------------------------------------------- 1 | defmodule P29Genstage do 2 | @moduledoc false 3 | end 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/mix.lock: -------------------------------------------------------------------------------- 1 | %{ 2 | "gen_stage": {:hex, :gen_stage, "0.14.3", "d0c66f1c87faa301c1a85a809a3ee9097a4264b2edf7644bf5c123237ef732bf", [:mix], [], "hexpm"}, 3 | } 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/test/p29_genstage_test.exs: -------------------------------------------------------------------------------- 1 | defmodule P29GenstageTest do 2 | use ExUnit.Case 3 | doctest P29Genstage 4 | 5 | test "greets the world" do 6 | assert P29Genstage.hello() == :world 7 | end 8 | end 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/elixirschool.com/b-advanced/p29_genstage/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/elixir/sample-code/elixir-concurrency.ex: -------------------------------------------------------------------------------- 1 | Enum.each(1..100_000, fn num -> IO.puts(num) end) 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/erlang/.gitignore: -------------------------------------------------------------------------------- 1 | **/*.beam 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/erlang/getting-started-with-erlang/chapter1-2-01.erl: -------------------------------------------------------------------------------- 1 | -module('chapter1-2-01'). 2 | -export([double/1]). 3 | 4 | double(X) -> 5 | 2 * X. 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/erlang/getting-started-with-erlang/chapter1-2-02.erl: -------------------------------------------------------------------------------- 1 | -module('chapter1-2-02'). 2 | -export([factorial/1, plusplus10/2]). 3 | 4 | factorial(1) -> 5 | 1; 6 | factorial(N) -> 7 | N * factorial(N-1). 8 | 9 | %% 'chapter1-2-02':plusplus10(1, 99). gives 110 10 | plusplus10(X, Y) -> 11 | X + Y + 10. 12 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/erlang/getting-started-with-erlang/chapter1-2-04.erl: -------------------------------------------------------------------------------- 1 | -module('chapter1-2-04'). 2 | -export([list_len/1]). 3 | 4 | list_len([]) -> 5 | 0; 6 | list_len([_ | Rest]) -> 7 | 1 + list_len(Rest). 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/erlang/getting-started-with-erlang/chapter5-01/mess_config.hrl: -------------------------------------------------------------------------------- 1 | %%% location of the server node 2 | 3 | %% return hostname 4 | hostname() -> 5 | {ok, Hostname} = inet:gethostname(), 6 | Hostname. 7 | 8 | -define(server_node, list_to_atom("messenger@" ++ hostname())). 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/.gitignore: -------------------------------------------------------------------------------- 1 | .test 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/GoogleTechTalks/README.md: -------------------------------------------------------------------------------- 1 | Golang talks GoogleTechTalks 2 | 3 | {Go from A to Z @ Zurich Gophers Meetup} 4 | * [The Go Programming Language by Thomas Wilde](https://www.youtube.com/watch?v=hha7d97VYkM) have covered basics, just linked here for forwarding 5 | * [Blackbox Test Harness](https://www.youtube.com/watch?v=P7EzIJZljhY) 6 | * [JSON REST APIs by Stephan Dollberg](https://www.youtube.com/watch?v=2rHgpx2gClk) 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/GoogleTechTalks/Testing-Quick.Blackbox.Test.Harness.by.MattProud.01.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "math/rand" 6 | "reflect" 7 | "testing/quick" 8 | ) 9 | 10 | type Point struct{ X, Y int8 } 11 | 12 | func main() { 13 | rnd := rand.New(rand.NewSource(42)) 14 | t := reflect.TypeOf(Point{}) 15 | v, _ := quick.Value(t, rnd) 16 | fmt.Println("Here's a point:", v) 17 | } 18 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/grpc/eg-logr/go-get-pkg.txt: -------------------------------------------------------------------------------- 1 | google.golang.org/grpc 2 | github.com/golang/protobuf/{proto,protoc-gen-go} 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/profiling/quick.tips.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | * Checking for escaped locals 4 | 5 | ``` 6 | go build -gcflags -m $mainGo 7 | ``` 8 | 9 | tell which variables directly skip to heap 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/composites/README.md: -------------------------------------------------------------------------------- 1 | 2 | * [fieldtag](./fieldtag.go) 3 | > using multiple structs composing a tree of JSON 4 | 5 | * [mapr](./mapr.go) 6 | > different types of maps, different operations on it 7 | 8 | * [slicer](./slicer.go) 9 | > different operations on slice, for better idea 10 | 11 | * [structr](./structr.go) 12 | > composite action on Go structs 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/defer-ret.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | func main(){ 6 | fmt.Println("check it out") 7 | defer fmt.Println("first") 8 | defer fmt.Println("second") 9 | defer fmt.Println("third") 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/gorm/go.mod: -------------------------------------------------------------------------------- 1 | module gorm-eg 2 | 3 | go 1.17 4 | 5 | require ( 6 | gorm.io/driver/sqlite v1.3.6 7 | gorm.io/gorm v1.23.8 8 | ) 9 | 10 | require ( 11 | github.com/jinzhu/inflection v1.0.0 // indirect 12 | github.com/jinzhu/now v1.1.5 // indirect 13 | github.com/mattn/go-sqlite3 v1.14.12 // indirect 14 | ) 15 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/http-izer/templates/blimey.html: -------------------------------------------------------------------------------- 1 |

Blimey!

{{.Eh}} Eh!.

-------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/http-izer/templates/hooligans.html: -------------------------------------------------------------------------------- 1 |

Hooligans

-------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/parking-lot/go.mod: -------------------------------------------------------------------------------- 1 | module parkinglot 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/google/uuid v1.3.0 7 | gorm.io/driver/sqlite v1.5.0 8 | gorm.io/gorm v1.25.0 9 | ) 10 | 11 | require ( 12 | github.com/jinzhu/inflection v1.0.0 // indirect 13 | github.com/jinzhu/now v1.1.5 // indirect 14 | github.com/mattn/go-sqlite3 v1.14.15 // indirect 15 | ) 16 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/somepkg/yep.go: -------------------------------------------------------------------------------- 1 | package somepkg 2 | 3 | type funk func()string 4 | 5 | var Abc funk 6 | 7 | func init(){ 8 | Abc = func() string{ return "ABC" } 9 | } 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/quick-examples/yeah-init.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | 6 | "./somepkg" 7 | ) 8 | 9 | var ( 10 | num int 11 | str string 12 | ) 13 | 14 | func init() { 15 | num = 10 16 | str = somepkg.Abc() 17 | } 18 | 19 | func Foo() int { 20 | var ( 21 | n1 int 22 | n2 int 23 | ) 24 | return n1 + n2 25 | } 26 | 27 | func main() { 28 | fmt.Println(num, str) 29 | fmt.Println(Foo()) 30 | } 31 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/server_client_zmq/REQ-REP/runnr.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | ) 6 | import ( 7 | "./client" 8 | "./server" 9 | ) 10 | 11 | func main(){ 12 | fmt.Println("starting Echo server...") 13 | go server.Echo() 14 | fmt.Println("starting Echo client...") 15 | client.Echo() 16 | } 17 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/test-to-learn/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Test to Learn: Go 3 | 4 | > this is to help learn Go with TDD 5 | 6 | #### let's code 7 | 8 | * [session #1](https://www.youtube.com/watch?v=KISBcSOBbqw) 9 | 10 | --- 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/test-to-learn/go.mod: -------------------------------------------------------------------------------- 1 | module github.com/abhishekkr/tutorials_as_code/talks-articles/languages-n-runtimes/golang/test-to-learn 2 | 3 | go 1.15 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/testing/quickcheck-sample/sample.go: -------------------------------------------------------------------------------- 1 | package sample 2 | 3 | func NotEmptyLen(s []string) int { 4 | length := 0 5 | for _, elem := range s { 6 | if elem != "" { 7 | length += 1 8 | } 9 | } 10 | return length 11 | } 12 | 13 | func EmptyLen(s []string) int { 14 | length := 0 15 | for _, elem := range s { 16 | if elem == "" { 17 | length += 1 18 | } 19 | } 20 | return length 21 | } 22 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/with--go-opencv/go-get-pkg.txt: -------------------------------------------------------------------------------- 1 | "github.com/chai2010/go-opencv/opencv" 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/with--go-opencv/stage01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/golang/with--go-opencv/stage01.jpg -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/with-go-lua/hello.lua: -------------------------------------------------------------------------------- 1 | 2 | print("Hello from", _VERSION) 3 | 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/with-go-lua/simple.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | lua "github.com/Shopify/go-lua" 5 | ) 6 | 7 | func main() { 8 | l := lua.NewState() 9 | lua.OpenLibraries(l) 10 | if err := lua.DoFile(l, "hello.lua"); err != nil { 11 | panic(err) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter11.godoc.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | godoc ./chapter11 Shout 4 | 5 | echo "Visit the Go Documentation at localhost:8888" 6 | godoc -http=":8888" 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter11.packaging.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import f "./chapter11" 4 | 5 | func main(){ 6 | f.Shout("HEEEEELLLLLLP") 7 | } 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter11/fmtmf.go: -------------------------------------------------------------------------------- 1 | package fmtmf 2 | 3 | import "fmt" 4 | 5 | // just shouts out the message thrown at it 6 | func Shout(msg string){ 7 | fmt.Println("==================================================") 8 | fmt.Println(msg) 9 | fmt.Println("==================================================") 10 | } 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter12.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd chapter12 4 | go test 5 | cd - 6 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter12/chapter12.test: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter12/chapter12.test -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter2.hello.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | // the hello word 6 | // to run this 7 | // $ go run $0 8 | 9 | func main(){ 10 | fmt.Println("try command $ godoc fmt Println") 11 | } 12 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/golang/www.golang-book.com/chapter8.ptr.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import "fmt" 4 | 5 | // to run this $ go run $0 6 | 7 | func abc (xx *int){ 8 | *xx += 1 9 | } 10 | 11 | func main(){ 12 | x := 1 13 | abc(&x) 14 | fmt.Println(x) 15 | 16 | y := new(int) 17 | abc(y) 18 | fmt.Println(*y) 19 | } 20 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/graphql/graphql-go/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## graphql-go 3 | 4 | [source](https://github.com/graphql-go) 5 | 6 | > Go OSS set for GraphQL 7 | 8 | * [sample for github.com/graphql-go/graphql](./sample.go) 9 | 10 | --- 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/graphql/how-to-graphql/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## How To GraphQL 3 | 4 | [source](https://www.howtographql.com/) 5 | 6 | * [GraphQL Fundamentals](./how-to-graphql-basic.md) 7 | 8 | * [Advanced GraphQL](./how-to-graphql-advanced.md) 9 | 10 | --- 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/PeterDrake.Haskell.LYAH/PeterDrake.Haskell.LYAH.1.md: -------------------------------------------------------------------------------- 1 | 2 | > complementing video series to LearnYouAHaskell.com book 3 | 4 | ### Intro 5 | 6 | Main features 7 | * Purely Functional 8 | * Majestically Lazy 9 | * Type Inference 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/README.md: -------------------------------------------------------------------------------- 1 | ### Sources 2 | 3 | * [LearnYouAHaskell](http://learnyouahaskell.com/chapters) 4 | 5 | * [fpcomplete.me](https://www.fpcomplete.com/school/to-infinity-and-beyond/pick-of-the-week/Simple%20examples) 6 | 7 | * [sed implementation](https://www.youtube.com/watch?v=bMNDBym96mo&list=PLUQzXLQ6jvHL_k3QOMKXehVoZdk-sKtHd) 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/fpcomplete.com/simple-examples.hs: -------------------------------------------------------------------------------- 1 | main = putStrLn "Hello, world!" 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/fpcomplete.com/sysenv-for-webapp.hs: -------------------------------------------------------------------------------- 1 | import Happstack.Server.Env 2 | import System.Environment 3 | 4 | main = do 5 | environment <- getEnvironment 6 | simpleHTTP nullConf $ ok $ show environment 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/fpcomplete.com/sysenv.hs: -------------------------------------------------------------------------------- 1 | import System.Environment 2 | 3 | main = do 4 | getArgs >>= print 5 | getProgName >>= print 6 | getEnvironment >>= print 7 | 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/haskell/fpcomplete.com/sysinfo.hs: -------------------------------------------------------------------------------- 1 | import System.Info 2 | 3 | main = do 4 | print os 5 | print arch 6 | print compilerName 7 | print compilerVersion 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/javascript/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Javascript 3 | 4 | * [library/ p5.js](./p5.js/README.md) 5 | 6 | * [library/ lyrajs](./lyrajs/README.md) 7 | 8 | * [Changing Live Audio with WebAudioAPI](./JSConfBudapest2016--Sam.Bellen--Changing.live.audio.with.WebAudioAPI.md) 9 | 10 | * [Dirty Tricks From Dark Corners of Front-end](./JSConf.Iceland.2016--Vitaly.Friedman--Dirty.little.front-end.tricks.md) 11 | 12 | --- 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/javascript/lyrajs/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## LyraJS 3 | 4 | > [source](https://lyrajs.io/) 5 | > 6 | > * Install as `npm install @lyrasearch/lyra`. 7 | > 8 | > * [Lyra](https://lyrajs.io) is a dependency-free full-text search engine written in TypeScript. Thus it runs wherever JavaScript can; on a server, edge devices & in brwosers. Focus on Speed. Licesned `Apache 2.0`, OpenSource. 9 | 10 | * [Sample Usage](lyra-blog.js) 11 | 12 | --- 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/javascript/lyrajs/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "dependencies": { 4 | "@lyrasearch/lyra": "^0.3.1" 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/javascript/p5.js/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## p5.js 3 | 4 | * [p5js.org Learn](p5js-learn.md) 5 | 6 | * Demos: [snake game](demo-interaction-snake-game.html) 7 | 8 | --- 9 | 10 | * live online coding can be done at [p5 editor](https://editor.p5js.org/) 11 | 12 | * is a JS library for creative coding, uses metaphor of sketch with access to HTML5 objects for text/input/video/webcam/sound 13 | 14 | --- 15 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/jvm-n-java/.gitignore: -------------------------------------------------------------------------------- 1 | **/*.class 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/jvm-n-java/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## JVM and Java 3 | 4 | * [Java Mixed-Mode Flame Graph by Brendan Gregg, Netflix](./Brendan.Gregg--Java.Mixed.Mode.Flame.Graph.md) 5 | 6 | * ForkJoinPool Samples: [BinarySearch](./java/forkjoinpool_sample/BinarySearch.java), [ForkJoinSearcher](./java/forkjoinpool_sample/ForkJoinSearcher.java) 7 | 8 | --- 9 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/lua/tutorialspoint/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Lua Tutorial from TutorialsPoint 3 | 4 | [source](https://www.tutorialspoint.com/lua/) 5 | 6 | * [Overview](./01-overview.md) 7 | 8 | * [Basic Syntax](./02-basic-syntax.md) 9 | 10 | __...more__ 11 | 12 | --- 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/README.md: -------------------------------------------------------------------------------- 1 | 2 | ## Nim 3 | 4 | * [Cheatsheet](./cheatsheet.nim) 5 | 6 | * [Book Notes: Nim In Action](./book--nim-in-action/README.md) 7 | 8 | --- 9 | 10 | ### References 11 | 12 | * [Nim Manual](https://nim-lang.org/docs/manual.html) 13 | 14 | * [Experimental Features](https://nim-lang.org/docs/manual_experimental.html) 15 | 16 | * [Curated Packages](https://github.com/nim-lang/Nim/wiki/Curated-Packages) 17 | 18 | --- 19 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap2_2_2.nim: -------------------------------------------------------------------------------- 1 | # chapter 2.2.2 constant example with procedure 2 | 3 | proc fillString(): string = 4 | result = "" 5 | echo("generating string..") 6 | for i in 0 .. 4: 7 | result.add($i) 8 | 9 | const count = fillString() 10 | echo(count) 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap3chat/.gitignore: -------------------------------------------------------------------------------- 1 | bin/** 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap3chat/bin/.keep: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/abhishekkr/tutorials_as_code/b09ec5eea9ec3663abd1821fbcc4c89daf024f6d/talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap3chat/bin/.keep -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap3chat/src/client.nims: -------------------------------------------------------------------------------- 1 | --threads:on 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap3chat/tasks.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | export MYDIR=$(dirname $0) 4 | 5 | pushd ${MYDIR} 6 | 7 | set -ex 8 | nim c -o:src/protocol src/protocol.nim 9 | nim c -o:bin/chat src/client.nim 10 | # src/client.nims for compiler flags 11 | 12 | nim c -o:bin/chat-server src/server.nim 13 | set +ex 14 | 15 | popd 16 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap4.nims: -------------------------------------------------------------------------------- 1 | --define:ssl 2 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap7twit/src/migrations/2022-12-04-23-38-00-create-user.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS user( 2 | id VARCHAR(36) PRIMARY KEY, 3 | username VARCHAR(36) NOT NULL, 4 | created_at INTEGER NOT NULL 5 | ); 6 | CREATE INDEX idx_username 7 | ON message(username); 8 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap7twit/src/migrations/2022-12-04-23-40-00-create-message.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS message( 2 | id VARCHAR(280) PRIMARY KEY, 3 | msg VARCHAR(280) NOT NULL, 4 | user_id VARCHAR(36) NOT NULL, 5 | created_at INTEGER NOT NULL, 6 | FOREIGN KEY (user_id) REFERENCES user(id) 7 | ); 8 | CREATE INDEX idx_user_id 9 | ON message(user_id); 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap7twit/src/model.nim: -------------------------------------------------------------------------------- 1 | import times 2 | 3 | 4 | type 5 | User* = object 6 | id*: string 7 | username*: string 8 | createdAt*: Time 9 | Message* = object 10 | id*: string 11 | msg*: string 12 | userID*: string 13 | createdAt*: Time 14 | Subscription* = object 15 | userID*: string 16 | subscribedTo*: string 17 | createdAt*: Time 18 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap7twit/test/views_message_test.nim: -------------------------------------------------------------------------------- 1 | import ../src/model 2 | import ../src/views/message 3 | 4 | import os, times 5 | 6 | when isMainModule: 7 | var alice = User(id: "0xa", username: "Alice<>") 8 | echo renderCreateMessage(alice.username) 9 | echo renderShowMessage( 10 | @[Message(id: "ax01", msg: "Whoa first message", userID: "0xa", createdAt: getTime())], 11 | alice) 12 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap8ffi/ffi01.nim: -------------------------------------------------------------------------------- 1 | proc printf(f: cstring): cint {.importc, varargs, header: "stdio.h", discardable.} 2 | 3 | printf("%d: %s", 1, "Alice") 4 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap9/cfg9/cfg9.nimble: -------------------------------------------------------------------------------- 1 | # Package 2 | 3 | version = "0.1.0" 4 | author = "AbhishekKr" 5 | description = "sample DSL project for configuration" 6 | license = "MIT" 7 | srcDir = "src" 8 | 9 | 10 | # Dependencies 11 | 12 | requires "nim >= 1.6.12" 13 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap9/cfg9/tests/config.nims: -------------------------------------------------------------------------------- 1 | switch("path", "$projectDir/../src") -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/book--nim-in-action/code-samples/chap9/cfg9/tests/sample-dsl.cfg: -------------------------------------------------------------------------------- 1 | { 2 | "address": "http://example.com", 3 | "port": 80 4 | } 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nim/cheatsheet.nims: -------------------------------------------------------------------------------- 1 | --define:release 2 | --threads:on 3 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/nodejs/jsdom/scrap.digg.story.title.js: -------------------------------------------------------------------------------- 1 | var jsdom = require("jsdom"); 2 | 3 | jsdom.env({ 4 | url: "http://digg.com", 5 | scripts: ["http://code.jquery.com/jquery.js"], 6 | done: function (errors, window) { 7 | var $ = window.$; 8 | console.log($("a.story-title-link.story-link").text()); 9 | } 10 | }); 11 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/python/Falcon/run-falcontest: -------------------------------------------------------------------------------- 1 | virtualenv $PWD/.venv 2 | 3 | source $PWD/.venv/bin/activate 4 | 5 | pip install -r setup-requirements.txt 6 | 7 | echo "access us at http://127.0.0.1:8000/tut" 8 | 9 | gunicorn falcontest:api 10 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/python/Falcon/setup-requirements.txt: -------------------------------------------------------------------------------- 1 | falcon==1.0.0 2 | gunicorn==19.6.0 3 | python-mimeparse==1.5.3 4 | six==1.10.0 5 | -------------------------------------------------------------------------------- /talks-articles/languages-n-runtimes/python/Kivy/derek.banas/hellokivyy.kv: -------------------------------------------------------------------------------- 1 |