Ein Podcast, mit dem zwei Lernende ihre Erfahrungen beim Lernen teilen.
Matthias Bendel und Stefan Haslinger
Show Notes und Links From Nand to Tetris Beschreibung Chapter 10: Compiler 1: Syntax Analysis Pdf des entsprechenden Buchkapitels Chapter 10: Compiler 1: Syntax Analysis Funktional oder objektorientiert? Tail recursion = Endrekursion Stefan hatte so seinen Probleme mit den schließenden Klammern Quellcode von Stefans jack-compiler Weitere Themen Die letzte Episode war am 5.November 2019 … Preload in Ecto mit left oder inner_lateral_join Mein timing Problem lag darin, dass ich zuerst die Assoziation komplett geladen hatte, kein Index Problem Tailwind.css Tailwind Kurs bei Scrimba (benötigt Login, ist aber kostenlos) Alpine.js Alpine Kurs bei Scrimba (benötigt Login, ist aber kostenlos) Phoenix Framework Surface UI Charts.css Sequence Diagram Die letzte IT-Keller Episode Googol flowchart.fun Mermaid Etherpad Lite Docker Portainer* Stefan betreibt jetzt ein paar neue Dienste: eine Gitlab Instanz zum Hosten des eigenen Codes CodiMD zum kollaborativen Erstellen von Markdown am Laufen CodiMD ist nun Hedgedoc CodiMD ist ein anderer Fork des Ursprungsprojektes, hier ist die Geschichte dazu eine Mattermost Instanz zum Chatten
Show Notes und Links From Nand to Tetris Beschreibung Chapter 9: High-Level Programming Präsentation Chapter 9: High-Level Programming Eine (vermütlich ältere) gesamte Version des Buches liegt als Public Domain auf Archive.org: The Elements of Computing Systems Quellcode von Stefans Game of Life Blockout Game of Life war bereits Thema in Episode 18 Video Life in life Unterschiedliche Definitionen Starker Typisierung Weitere Themen Luftdaten.info Bauanleitung mit Bauteileliste: NodeMCU ESP8266, SDS011 Feinstaubsensor, DHT22 Temperatur & Luftfeuchtigkeitssensor CardIO Badge Dart The Boring Show Jaguar ORM Smartherd’s Dart Tutorial for Beginners: Basics and Fundamentals for Flutter Just enough Dart for Flutter hat Stefan eigentlich NICHT gemeint, sondern A tour of the Dart language Polar Pulsmesser H10 Herzfrequenzvariabilität Mumble Nomachine NX
Show Notes und Links From Nand to Tetris Beschreibung Chapter 8: Program Control Präsentation Chapter 8: Program Control Eine (vermütlich ältere) gesamte Version des Buches liegt als Public Domain auf Archive.org: The Elements of Computing Systems Vordefinierte Symbole SP, LCL, ARG, THIS, THAT, … Chapter 6: Assembler Quellcode von Stefans, mittlerweile funktionierender Lösung kompletter Code: VMtranslator.rb Weitere Themen Codeanalyse mit Lint Heredoc und Ruby Ruby Case Statements UPN - Umgekehrte polnische Notation Stacktrace Programmiersprache Dart Flutter Dateiformat FIT Teletext Zeichensätze
Show Notes und Links From Nand to Tetris Beschreibung Chapter 7: Stack Arithmetik Präsentation Chapter 7: Stack Arithmetik Matthias sagt, die Buchkapitel gibt es nicht mehr auf der Webseite. Aber: Eine (vermütlich ältere) gesamte Version des Buches liegt als Public Domain auf Archive.org: The Elements of Computing Systems Quellcode von Stefans Lösung Stage 1: VMtranslator-stage1.rb kompletter Code: VMtranslator.rb Nochmals zur Klärung: Die Adresse steht in A, in M der Wert der sich hinter der Adresse A befindet. Weitere Themen Tinc VPN Github zu Stefan’s Internet Radio Projekt. Es gibt zu Tinc auch eine IOS und eine Android App. 35C3 Talks zum Congress auf media.ccc.de Stefan ist Fan von Starbug: Talks von Starbug Starbug’s Talk am 35C3: Venenerkennung hacken Workshops der Podcastpat:innen wurden im Podcastpat:innenpodcast besprochen: PPP07 Podcastworkshops am 35C3 Stefan’s Interview mit Malte 21.-25.8.2019 im Ziegeleipark Mildenberg: Chaos Communication Camp 22.-24.3.2019 im DLF Funkhaus in Köln: Subscribe 10 30.-31.3.2019 in Essen: Podcamp Barcamp Rückblick auf den Junghackertag am 35C3 18.1.2019 im Metalab in Wien: Podcasting Meetup 13 Thread mit Streit nach dem Congress auf Twitter v.a. zwischen padeluun und Erdgeist. Twitter Account des Autismus Teams am Congress: C3Auti Linus Neumann bei Lanz über sichere Passwörter Hörempfehlungen Empfehlung einiger Talks vom 35C3 Logbuch Netzpolitik 280: LNP280 Wolkensensorik Freakshow 229: FS229 Telefonischturm What the Fax?! Frank Rieger’s: Hackerethik - eine Einführung Linus Neumann’s Du kannst alles hacken – du darfst dich nur nicht erwischen lassen Omegataupodcast 300, How Processors Got So Fast passt sehr gut zu unserem Prozessor - Kapitel Omegataupodcast 301, Programmierung von Quantencomputern
C64 Weihnachtsdemo Wikipediaseite zu Lot SQL Buch SQL Performance Explained von Markus Winand Podcast Episode mit Markus Winand SPARQL SparQL Tutorial Wikidata Wikidata Query Service z.B.: Die größten Städte mit Bürgermeisterin Ergebnis eingebettet: Stefans minimales Notebook derselben Abfrage Project Jupyter Jupyter Notebooks with Elixir and RDF JupyterLab is Ready for Users Elixir Kernel für Jupyter: IElixir Wolfram Alpha Kotlin Buch Kotlin Big Nerd Ranch Guide Buch Android Programming: The Big Nerd Ranch Guide Udacity Kurs Developing Android Apps with Kotlin GPS Tracking Garmin Forerunner 235 Tracker: Stefan Tracker im Quellcode und als Demo Gigatron Gigatron Webseite Vidos über den Gigatron
Show Notes und Links From Nand to Tetris Chapter 5: Computer Architecture Project 5: Computer Architecture Der vollständige Code zu dieser Episode in HDL, für alle, die auch eine Hilfestellung wollen ;-) Stefans defekte Tastatur: Cherry MX3 IT-Keller 37 All your tips belong to us, mit viel CSS Diskussion Bulma.io A complete guide to Flexbox Jekyll Bulma Gem Der dropdown Checkbox Hack Das Content Element in Bulma Die ‘Pinterest’-Cards heissen in Bulma Tiles SVG in IT-Keller 38 - Schwellenländer und ich Buch Interactive Data Visualization for the Web D3.js Flot Charts Ionic baut auf Apache Cordova auf Buch Mobile App Development with Ionic 2 React + React Native Bücher Learning React und Learning React Native Buch Programming Voice Interfaces Buch Android mit Kotlin gokrazy The The Go Programming Language Flutter Dart
Show Notes und Links From Nand to Tetris Chapter 4: Machine Language Project 4: Project 4: Machine Language Programming Machine Learning Machine Learning Guide (Podcast) Linear Digressions (Podcast) Taming Text (Buch) Metaprogramming Elixir Destroy All Software Wat (Talk) The Perl Jam (31C3 - Talk) The Perl Jam 2 (32C3 - Talk) Logfile-Analyse GoAccess
Show Notes und Links From Nand to Tetris Chapter 3: Sequential Logic Project 3: Sequential Chips D-Flip-Flop im Elektronik Kompendium auf Wikipedia 34C3 - The Ultimate Apollo Guidance Computer Talk omega tau - Episode: 167 – The Apollo Guidance Computer The ultimate commodore 64 talk [25c3] Commodore 128 Pagefox PocketChip Pico 8 IT-Keller Episode 33 Sancho-Cloud mit Pico 8 Neuauflage des C64 als C64 Mini Chaos macht Schule in Wien - Wiki Lernpaket Conrad Components Basic Löten lernen Stefan erzählt im IT-Keller übers Löten ITK029 Ich spür’ meine Hände ITK031 Versuchskaninchenbot IC Station ist übrigens in Shenzhen (Singapur is falsch) DIY Kit Game Kit Creative Electronics Experiment Toy Kit Module MCU Computer Game Machine for Tetris/Snake/Plane/Racing Blinkenrocket overflo a.k.a. Florian Bittner Hackerspaceshop Alexa in der IT-Keller Episode ITK032 Mir geht des Internet so am Oasch! Flask ist ein Microframework für Python Panodio Android Programming for Beginners Openbook Java ist auch eine Insel PDF: Thinking in Java von 2006 Android Programming: The Big Nerd Ranch Guide Google Text-to-Speech Android Speech Apache OpenNLP is a machine learning based toolkit for the processing of natural language text Support Library The Activity Lifecycle Kotlin Flutter 21st Century C, 2nd Edition C im 21. Jahrhundert FFmpeg - A complete, cross-platform solution to record, convert and stream audio and video PostgreSQL
Show Notes und Links From Nand to Tetris Chapter 2: Boolean Arithmetic Project 2: Combinational Chips siehe auch Episode 24 Addierer ALU Panoptikum - API Dokumetation Json:api Der API-Aufruf für Aua-uff-code Chrome Browser Erweiterung json-formatter zur formatierten Darstellung von JSON responses. JaSerializer - JSONAPI.org Serialization in Elixir. Tokens Hauspostanlage in der Mitte das Schloss, das alle 6 Postfächer öffnet Open Source Ball
Show Notes und Links Florian Simon Webseite Symptomatisch Twitter @floriansimon Podcast Interdisziplinäre Fallkonferenzen kompakt Das Krautbeet Projekt auf Twitter @krautbeet Resilio, früher Bittorrent Sync I²C Protokoll SPI Protokoll
Show Notes und Links Podcast Zeit für Wissenschaft von Melanie Bartos Shimon Schocken stellt das Programm in 10 min selbst vor: From Nand to Tetris In 12 Steps From Nand to Tetris Alle Kapitel des Kurses Cool Stuff - Linksammlung zum Thema auf der Projektwebseite Software zum Download, um mitzumachen The Elements of Computing Systems: Building a Modern Computer from First Principles Coursera Kurs: Build a Modern Computer from First Principles Implementierung eines Not CHIP Not { IN in; OUT out; PARTS: Nand(a=in, b=true, out=out); } oder CHIP Not { IN in; OUT out; PARTS: Nand(a=in, b=in, out=out); } Hukl a.k.a. John Paul Baader - Webseite Go Buch The Go Programming Language Android Studio Geofencing Xamarin C# Rust Kotlin Im Wienerischen ist ein “braader Weg”, nicht breit, sondern lang. :-)
Show Notes und Links Ramon Huidobro @senorhuidobro auf Twitter Website Github Profile Vienna-rb Refugee Hackathon Vienna Where2Help auf Github @rogerwinandy Fonds Soziales Wien Ruby Habits auf Github Ramon’s sister Pilar @tamacodechi Crystal Habits Ramon mentions Vienna Beamers = Elixir Study Group Vienna Gosu - 2D Gaming Library for Ruby Rails Girls Vienna Food Waste Hackathon Vienna Chat Bot Barcamp Vienna Website is meanwhile offline, an article about it at Futurezone Bootstrap TI-83 graphing calculator Web Based Emulator explaination hot to use it Vienna Internation School Stencyl Scratch Unity3D Rails Girls, materials to get started https://railsgirlssummerofcode.org/ the episode on Rails Girls Summer Of Code with Laura Gaetano Openfarm Lemmings
Show Notes und Links Andrea Mayr-Stalder @turtlestitch auf Twitter Turtlestitch Stitchcode Codeweek.eu 7.-22. Oktober österreichische Ressourcen österreichische Botschafter österreichische Events Codeweek.at Hour of Code Episode mit Horst Jens Privacy Week Chaos Computer Club Wien Chaos macht Schule / Projektwiki Turtlestitch Michael Aschauer und seine alte Seite Gallery seltsamer Attraktor - auf Wikipedia Drachenkurve - auf Wikipedia Pythagoras-Baum - auf Wikipedia graphische Programmierumgebung Scratch Lego Mindstorms bietet ebenfalls eine blockbasierte Codeentwicklung Snap Programmierumgebung Logo Turtle Grafik Lissajous-Figuren Episode zur Chaos-Theorie Netidee Beetle Blocks Snap for Arduino Turtlestitch FAQ Blogpost über einen Deuerworkshop in einer amerikanischen Schule Stitchcode Stitchpad Drawtool Turtlestitch-Beta Artikel über Juxlala off-Mic besprochene Themen …als Bonus-Links für unsere Hörer:innen Ideen für weitere Stickmuster: Peano-Kurve Lissajous-Figuren Iteriertes Funktionensystem IFS Animator Sierpinski-Dreieck Raumfüllende Kurven Sierpinski-Teppich Einfache und regelmäßige Fraktale Labyrinthe - Generator - Beispiele Barnsley Farn Skriptum Grundlagen der fraktalen Geometrie mit iterierten Funktionensystemen Fabienne Serrière @fbz auf Twitter Webseite Projekt KnitYak @knityak auf Twitter Kickstarter: Custom mathematical knit scarves Kniterate: The Digital Knitting Machine auf Kickstarter Erziehungsorientierte Programmiersprachen
Show Notes und Links Angelika Ployer Yogicmind a.ployer@yogicmind.at Von Drama zu Karma RSS-Feed Podcatcher Headset Superlux HMC 660X Audio Recorder Zoom H6 Im Freien aufgenommene Episode Störgeräusch einer GSM Interferenz Monitoring, auch Hinterbandkontrolle genannt DAW Audacity Reaper Ultraschall Auphonic Auphonic Blog mit vielen Audiothemen Georg Holzmann auf Twitter gholzmann Studio-Link Latenz Skype Audiocodec MP3 variable und konstante Bitrate Opus Ogg M4A Komprimierung (ja, es gibt auch verlustfreie Audioformate, die komprimiert sind, wie FLAC) Joint Stereo patentrechtliche Aspekte von MP3 ID3-Tags Normalisieren Kompressor Comfort Noise jekyll-octopod Beispiel-Metadaten einer Episode Podlove Podcast Publisher ist ein Wordpress - Plugin Podigee Accessability iTunes gpodder Bitlove fyyd Panoptikum podcast.de Podcast Der Lautsprecher Episode zu Audioformaten Sendegate Sendezentrum Podcastpatinnen in Deutschland Podcasterei = Podcasting Meetup Österreich Podcastpatinnen in Österreich Subscribe 8 Konferenz Die Konferenz im Frühjahr 2017 entfällt Videomitschnitte zur Unsubscribe Podcastpat_innen präsentieren: Podcast-Formate Podcasting Workshop von Daniel Meszner
Show Notes und Links RVM = Ruby version manager .gitignore SQLite DBMS DSL SQL MySQL PostgreSQL DB2 Microsoft SQL Server Oracle (Database) Relationale Datenbank Apache Cassandra CouchDB MongoDB Elastic Search Apache Solr Apache Lucene Redis Key Value Store UFW - einfach zu installierende und konfigurierende Firewall Kibana Logstash (primary) Key UUID Postgres Trigrams Postgres Full Text Search Postgis ist die Extension, nicht Postgeo! InnoDB Tablespace Resizing Map Reduce Layer8 Episode mit Markus Winand Normalisierung XML-Datenbanken objektorientierte Datenbank Serialisierung Neo4J Lern Ruby On Rails 5, das Buch von Daniel Kehoe, kann kostenlos gelesen werden Rails Girls Materialien ActiveRecord unterstützt YAML unmittelbar yaml_record - a data persistence library that complies with the ActiveModel API Memcached SAP Hana Apache Hadoop Google BigTable R Episoden von SE-Radio mit Hadoop-Bezug
Show Notes und Links Projekt ANA Tag 2 final Rails Girls App Tutorial Scaffold Gerüst für die Ressource bauen Tutorial englische Begriffe für Ressourcen verwenden (Einzahl-, Mehrzahlbildung) Struktur in ANA: ein Projekt (project) hat n Anforderungen (requirement) => 1:n Relation project has_many requirements requirement belongs_to project MVC (model, view, control): Ruby on Rails Tutorial zu MVC Ressource project model: project.rb views: edit.html.erb, index.html.erb, new.html.erb, show.html.erb controller: projects_controller.rb enthält Methoden index, show, new, edit, create Datenbank rake db:migrate Views html.erb Ruby code in Klammern Aufruf der Ruby Funktion Rückgabewert der Ruby Funktion soll ausgegeben werden Start des Servers rails s http://localhost:3000/projects http://localhost:3000/requirements Datenbank SQlite Wikipedia Artikel, Homepage Bootstrap getbootstrap HTML, CSS, und JS framework Responsive Design Wikipedia Internationalisieren und Lokalisieren Wikipedia internationalization Numeronym i18n localization Numeronym l10n pdf-Dokument erzeugen: Prawn prawn prawn-rails Railscast Episode Prawn by Example DSL - domain specific language Wikipedia Rapid prototyping, iterative Entwicklung VHDL JIRA Ticketsystem
Show Notes Stefans Feedparser-Algorithmus Algorithmus Panoptikum Der Source Code zu Panoptikum Stefans Problem gehört zum mathematischen Gebiet der Predictive Analytics Binomialverteilung und Normalverteilung Stefans Feed Parser in dem ein Iterator und ein Analyzer einander aufrufen. Das Element zum Blocken heisst bzw. . Algorithmen Sortierverfahren Sortieralgorithmen veranschaulicht: 15 Sorting Algorithms in 6 Minutes Sortier-Algorithmen vorgetanzt Fibonacci-Folge Numberphile Computerphile DFA Deterministic finite automaton Formale Sprachen Mit JFLAP endliche Automaten selber bauen Spiel_des_Lebens Stefans Logo zeigt den Gleiter im Browser laufend als nette Animation in pseudo-3D und wirklich in 3D viele interessante Animationen als Youtube Video epic conway’s game of life Ein ganze Community-Site zum Thema: ConwayLife.com Game Of Life Total War Gödel Escher Bach von Douglas Hofstadter ANA Tag 1 Heroku AOCQA JRuby JRuby Cookbook Gem Atom Gitlab Befehle Befehl Beschreibung jrbuy -v Abfragen der installierten Ruby Version gem -v Abfragen der installierten Gem Version jirb JRubys Version von Interactive Ruby (irb) rails new ana Projekt ana anlegen git init Git Repositoty initialisieren git add –all . alle Files in Repository aufnehmen git commit -am “Kommentar zum Commit” Commit mit Kommentar erstellen git push origin master auf den Server pushen
Show Notes und Links Android iOS Windows Phone bzw. Windows 10 Mobile Firefox OS, B2G OS und Gaia Blackberry Native Apps Android: Java iOS: Objective-C, Swift Cross-Platform Apps bzw. Hybrid Apps Xamarin: C#, Mono/.NET Apache Cordova/Adobe Phonegap: HTML, CSS, Javascript React Native: Javascript Titanium: Javascript Ruby Motion Ruboto Web Apps Progressive Web App Service Workers jQuery Mobile Responsive Webdesign IDEs Android Studio JetBrains und Kotlin XCode Xamarin Studio, Visual Studio Berechtigungen Internet Standort Kamera Kontakte, Kalendar, Dateien Push Notifications … UI/UX Android: Activity, Layout, Controls, Views, Components iOS: Storyboard, ViewController, Views Navigation Stack Lifecycle App Lifecycle Android Activity Lifecycle iOS UIViewController Lifecycle Testing Android Emulator iOS Simulator Einschränkungen
Zahlen in Ebene (statt auf Gerade) dargestellt. und jetzt sehen wir uns wieder an, was mit der Formel oben passiert nach wievielen Durchläufen ist das Ergebnis > 4? je nach Ergebnis andere Graustufe, schöner andere Farbe Das Ergebnis im Bereich von -2 bis +2 und -2i bis +2i sieht nett aus: Das Programm dazu ist einfach context = document.getElementById('myCanvas').getContext('2d'); for(x = 0; x < 800; x++) { for(y = 0; y < 800; y++) { i = zx = zy = 0 // Diese folgenden Zahlen 2 und 200 ändern, // um in x-Richtung zu schieben und zu skalieren cx = -2 + x / 200 // Die Folgenden Zahlen 2 und 200 ändern, // um in y-Richtung zu schieben und zu skalieren cy = -2 + y / 200 while(i < 255 && (zx * zx + zy * zy) < 4) { xt = zx * zy zx = zx * zx - zy * zy + cx zy= 2 * xt + cy i++ } color = i.toString(16) context.beginPath() context.rect(x, y, 1, 1) context.fillStyle = "#" + color + color + color context.fill() } } hübscher ist es mit einem Farbverlauf und noch hübscher, wenn man die Farbstufen glättet Interessantes ergibt sich, wenn man ein Detail ansieht: wieder in Graustaufen, als Farbverlauf und als geglätteter Farbverlauf. Wir betrachten hier den Bereich -.64 bis +.64 und -.74 i bis + 0.74 i Es gibt sehr schöne Videos, die eine Kamerafahrt in das Apfelmännchen machen da das ‘nur’ Rechenaufwand bedeutet, kann man beliebig weit hinein zoomen und entdeckt dabei immer neue Strukturen The Hardest Mandelbrot Zoom Ever In 2014,10^198 : New record - 350 000 000 iterations Pinwheel of Infinity - Mandelbrot Zoom 9.336x10^341 Dieses Verhalten der einfachen Gleichung ist doch überraschend Sehr eng bei einander liegende Gegenden sehen komplett unterschiedlich aus Mathematiker bezeichnen so eine Struktur als Fraktal Fraktale - Die Faszination der verborgenen Dimension - Dokumentation/Doku Fibonacci Folge in Stefans Jugend Forschungsgebiet mit Hype zum Beispiel Hoffnung auf großartige Komprimierungsalgorithmen: FiF Erratum: Jpeg 200 (von Stefan im Podcast genannt) verwendet Wavelets zur Komprimierung und keine Fraktale. Der Hype um sie ist ebenso abgeflacht, vielleicht hat sie Stefan deshalb verwechselt ;-) . doch auch in der Öffentlichkeit bekannt: Schmetterlingseffekt -> Wettervorhersage, Herzrhythmus Weg in Spiele gefunden -> Landschaftsgenerierung mit Terragen Fraktale in der Natur: Schneeflocken, Küsten, Broccoli oder Blumenkohl Neuronale Netze Auch Eingang in die Wirtschaft gefunden -> Unternehmenskultur fraktale Organisation allerdings sind hier die Begriffe aus der Mathematik nur sinngemäß übernommen. Heute ist Chaostheorie oder Fraktale in den Medien kaum mehr zu hören.
Show Notes und Links Schlüssel als Ersatz für Kennwörter Authentifizierung vs. Autorisierung RSA-Schlüssel nach Rivest, Shamir und Adleman Public/Private Key Asymmetrische Verschlüsselung Schlüssel mit Kennwörtern sichern/entsperren Verwendung mit Bob und Alice - nö: mit uns Signierung mit eigenem private key -> authentisch Verschlüsselung mit fremdem public key -> geheim ROT13 engl. rotate by 13 places … Caesar-Verschlüsselung Symmetrisch z.b. Data Encryption Standard (DES), Triple-DES, Advanced Encryption Standard (AES) Blockchiffre Hash-Funktion, Kollisionen, Rainbow-Tables Message-Digest Algorithm 5 (MD5) Länge 128 Bit (32 hex) SHA (aus dem Englischen Secure Hash Algorithm) und SHA-2 (SHA-224, SHA-256, SHA-384 und SHA-512) Pretty Good Privacy (PGP), Web of Trust, US-Exportgesetz => 1995 als Buch exportiert GPG GNU Privacy Guard Implementierung von OpenPGP S/MIME Secure / Multipurpose Internet Mail Extensions Transport Layer Security TLS a.k.a. Secure Sockets Layer (SSL) CSR (Certificate Signing Request) Public Key plus Zusatzinfos Elliptische Kurven - ein Primer Two factor Authentication mit Google Authenticator / Tokens via SMS oder zur Not Email KeepassX und Verwunderung pass Passwortmanager basiert auf Am Android Smartphone: OpenKeychain: Easy PGP Password Store (beta) JWT JSON Web Tokens Crypto Party
Show Notes und Links siehe auch Shownotes zu Episode 12 Matthias Bendel Webseite Google + Twitter: @_mabe Github App.net: _mabe IT-Keller Podcast Abfahrsmonitor-Projekt Source Code auf Github Das eigentliche Script Raspberry Pi Das verwendete LC-Display Adafruit RGB positive 16X2 LCD+keypad Python RBL Suche - Service auch von Matthias programmiert Raspian RaspberryPi.org RSComponents AdaFruit Element 14 I²C GPIO = Allzweckeingabe/-ausgabe Open Data bei den Wiener Linien Open Data Gemeinde Wien Open Knowledge Foundation Open Knowledge Foundation Austria Open Knowledge Meetup Austria in Wien PyPI - the Python Package Index Parser für Kommandozeilen-Paramater getopt HTTP Library für Python Requests JSON JSON Beautifier: JSON Formatter Cron UTF-8 Putting jobs in background Rekursives Akronym Elegoo Uno Projekt Smart Roboter Car Kit Arduino
Show Notes und Links Git Github Aua-uff-code auf Github: Sourcecode der Webseite Minimaler Workflow # einmalig: Repo anlegen git init # Remote Repository hinzufügen git remote add origin git://pfad.zum/repository # und dann regelmäßig: bisherigen Stand von Server holen ("Pullen") git pull origin master # ... arbeiten ... # alle Änderungen sammeln git add --all . # Daraus einen Commit erstellen git commit -am "was habe ich gemacht und warum" # Auf den Server schieben ("pushen") git push origin master Weiterführende Materialien Git Tutorial Try Git Git Buch Pro Git
Show Notes und Links Matthias Bendel Webseite Google + Twitter: @_mabe Github App.net: _mabe IT-Keller Podcast Abfahrsmonitor-Projekt Source Code auf Github Das eigentliche Script Zeitungartikel im Standard: Wiener-Linien-Abfahrtsmonitor mit Raspberry Pi gebastelt Open Data Open Data bei den Wiener Linien Raspberry_Pi des verwendete LCD-Display Adafruit RGB positive 16X2 LCD+keypad Python RBL Suche - Service auch von Matthias programmiert Raspian Open Knowledge Foundation Austria Robert Harm und seine Projekte: Ladezonen Wien Parkplatzsuche Raspberry Pi Real-Time Public Transport Departure Monitor ist die Weiterentwicklung von Matthias’ Projekt CheckIO Weitere Projekte: Arduino Espruino Bring Your Own Mute Button - Talk auf der Unsubscribe MIDI Stefans Heizungssteuerungsüberwachung - Slides zu einem Ruby Vortrag darüber Stefan Blogposts über sein Blindentaugliches WLAN-Radio und ein Update-Post FPGA Contact-Dav Projekt - eigentlich ein Carddav Client
Show Notes und Links Free Code Camp Vermutlich hat Stefan diese Podcast Episode des Changelog zu Free Code Camp gehört: The Changelog - Free Code Camp JQuery Boostrap hat eine gute Dokumentation Codepen Responsive Design W3School Erratum: Die aktuelle Version von JQuery ist 3.1.1 ! Twitch DOM Atom Emmet Tabs versus Spaces W3C: Javascript Style Guide Annas Webseite
Show Notes und Links Internet und WWW Request-Response-Cycle Statische und dynamische Webseiten Domainnamen IP-Adressen Web-Server Standardports: 80 Webserver, 443 https, 25 smtp und viele mehr. Apache Server ngnx lighttpd HTTP/2 spdy Fehlermeldungen Get-Request Post-Request Put-Request Cookies Disqus Wordpress Index.php und mod_php Model View Controller Konzept Rails jQuery Google Maps Podlove Webplayer JSON PHP Perl Node.js Dokuwiki API Framework Visualisierung des Ladevorgangs in den Google Chrome Developer Tools:
Show Notes und Links Prisma EULA Endnutzer-Lizenzvertrag Safe Harbor Max Schrems Freie Sofware Die vier Freiheiten SAP Nitrous NDA choosealicence CreativeCommons Souurceforge Markdown txt LaTeX Freeware Shareware Gemeinfreiheit Public Domain Open Source Freie Software GNU MIT Apache AGPL Debian - Mozilla Namensstreit Gnuzilla Icedove Beerware Cardware
Show Notes und Links Horst Jens in Action Spielend Programmieren Horst Jens auf GitHub Open Source Geany Blender Python C C-Sharp, C# HTML CSS Javascript Assembler Basic Scratch Pocket Code Java Eclipse Guido van Rossum Python für Kids Pygame Lernen am Modell Visuelles Programmieren GitHub Objektorientierte Programmierung Steam Lego Mindstorms Arduino Breadboard IOT Austria bzw. OSDomotics Minecraft Rogue-like Raspberry Pi Dungeon Crawl Burren Coding Camp Biertaucher Podcast
Show Notes und Links Integrierte Entwicklungsumgebung (IDE) Sublime Editor Atom Editor VI Editor Tutorial für VI bei Wikibooks Syntax Highlighting Scratch Syntaxfehler Stacktrace Stack Exercism Spezifikation Sunk Cost Fallacy Best Practice Cowboy Coder Tabs versus Spaces
Show Notes und Links Laura Gaetano auf Twitter: @alicetragedy Lauras Homepage Rails Girls Summer of Code RGSoC on Twitter RGSoC Accepted Projects 2016 Travis Foundation Rails Girls Rails Girls on Twitter Ruby Habits Meetup vienna.rb Meetup Codecademy Coursera Mail Address of Rails Girls Summer of Code summer-of-code@railsgirls.com
Show Notes und Links Richard Hemmer seine Portfolio Seite auf Twitter: @stormgrass arbeitet auch als historischer Berater Github Profil Zeitsprung Podcast Episode 31: Blitzkrieg im Fußballstadion erklärt den Twitter Handle @stormgrass Episode 33: Curta – eine Rechenmaschine und ihre Geschichte Episode 15: Das Mailüfterl Episode 06: Ada und die Pferdewetten, behandelt auch Babbage’s Analytical Engine Daniel Messner auf Twitter: @meszner Free Code Camp DevOps Codeschool React Editor Atom Vue.js Meetups in Wien: Webclerks im Stockwerk Coworking Space Vienna.js im Sektor 5 Coworking Space Free Code Camp We are Developers Konferenz You Don’t Know JS Paarprogrammierung Ruby Rogues, Episode 259 Pair Programming with Jay Bobo of Pair Columbus Digital Ocean Let’s Encrypt https Heroku Nitrous Nitrogen Atom Plugin
Show Notes und Links Rails Girls Rails Girls Vienna Wiener Installationsanleitung Wiener Tutorial Buch Head First Ruby Leseprobe Autor interviewt beim letzten Ruby on Rails Podcast Episode 216 Buch Hello Ruby von Linda Liukas Buch Agile Web Development with Rails von Sam Ruby Buch The Ruby on Rails Tutorial von Michael Hartl Buch Programming Ruby 1.9 & 2.0 (4th edition) aka The Pickaxe Book von Dave Thomas und Chad Fowler Sektor 5 Ruby Ruby on Rails Javascript Bootstrap MVC Konzept DSL Domainspecific Language Compiler Heroku Webseite, Heroku bei Wikipedia Railshoster Nitrous Sketchnotes
Show Notes und Links Daniel Messner Daniels Publikationen SPSS Coding History Stimmen der Kulturwissenschaften Zeitsprung Podcast mit (Richard Hemmer MOOC - Massive_Open_Online_Course Fernuniversität Hagen Udacity Coursera Python Universität Wien C++ Exception Handling = Ausnahmebehandlung Heap Stack = Stapelspeicher Speicherverwaltung Garbage Collection Statische Typisierung Datentyp Operatorüberladung … und nein, es ist im strikten Sinne in Javascript nicht vorgesehen Monkey Patch Call by Value = Wertparameter Call by Reference = Referenzparameter Bit Manipulation Programmierparadigma
Show Notes und Links Erratum: Anzahl der HTML-Befehle > 100 HTML Element Referenz bei Mozilla Was wozu lernen? HTML, CSS und Javascript = Ein (kleiner) Stack für Webseiten-Entwicklung AJAX Seperation of Concerns = Trennung der Verantwortlichkeiten Ein Rundgang durch viele Programmiersprachen BASIC Logo Scratch PHP (interpretiert) Perl Python Ruby C (kompiliert) C++ C# (C-Sharp) Java (Bytecode, virtualle Maschine, JVM; write once, run everywhere) Assembler Maschinensprache R MathematicaWolfram AlphaMit Mathematica erstelltes Bild Erlang (OTP) Elixir Processing Bibliotheken z.B. GUI-Bibliotheken Tcl GTK QT UIKit Swing AWT JavaFX Microsoft Silverlight Adobe Flash WPF Windows Presentation Foundation Windows Forms D3 E-Charts Frameworks Ruby on Rails (Web Applikation Framework) Django Drupal Sinatra (Micro Framework) Phoenix CakePHP Shiny (R) Artoo (Roboter) .NET Bootstrap Zurb Foundation Typo 3 (fließender Übergang zu CMS) jQuery Angular (Browser-Frontend) Ember.js Backbone React React Native Eclipse LibreOffice SDK (software development kit) JDK (Java development kit) vs. JRE (runtime) Applikationen z.Z. CMS Joomla Wordpress Community finden Meetup Aufgabe für Anna und die Hörerschaft: Finde heraus, was du machen möchtest, um dich für deine erste Programmiersprache zu entscheiden. Entscheidungshilfe: Soll es etwas fürs Web sein oder nicht? Soll es ein durchschnittlicher Computer sein, oder ein anderes Gerät, wie ein Kühlschrank oder ein Quatcopter o.ä., auf dem die Software läuft? Gibt es einen zukünftigen Arbeitgeber, der spezielle Anforderung? Etc…. Wichtig für die Entscheidung ist der Bereich, in den man möchte.
Show Notes und Links Intro und Begrüßung Anna hat Hausaufgaben gemacht. Repository bei GitHub erstellen. Pushen und pullen. Das hat sie über Gui geschafft, nicht aber über Kommandozeile, weil sie an der Installation von Git gescheitert ist. (Inzwischen hat sie es geschafft, Git zu installieren). Anna plant, dass sie zum Programmieren lernen nicht MacOS, sondern Linux verwenden wird, da ihr das vertrauter ist. Installation von Git: Mac: brew install git Windows: Installer für Git verwenden Linux: Ist in den üblichen Paketen enthalten. Was passiert bei add, merge und commit? Wieso ist commit etwas anderes als save? Tests für Software. Welche Vorgehensweisen gibt es, wofür sind sie gut. Was passiert bei pull und push? Wozu ist das gut. (Während Stefan gleichzeitig von der Aufnahmetechnik getrollt wird und sich verzögert hört.) Git und GitHub sind nicht das einzige Versionierungssystem/die einzige Plattform, die man für Programmierprojekte nutzen kann, die Vorgehensweise ist aber überall ähnlich. Wer sich neu mit Git befassen will, kann sich einen recht hübschen Talk dazu anschauen: Git For Ages 4 And Up. Git, geschrieben von Linus Torvalds. Git ist ein dezentrales Versionierungssystem. Sabotage ist zwar möglich, sich selbst Sachen kaputt machen ist ziemlich schwierig. Vorteil eines dezentralen Systems: man kann unabhängig vom Rechner arbeiten. Dadurch sind internationale Projekte zum Beispiel sehr einfach. Stefan hat Veränderungen an der Webseite zum Podcast vorgenommen und beschreibt, was er gemacht hat. Zum Beispiel gibt es die Audiodateien jetzt in drei verschiedenen Formaten. Die Seite selbst ist jetzt https. Der Feed ist bei iTunes. Im Zusammenhang mit HTML nochmal der Verweis auf HTML lernen mit Free Code Camp Hausaufgabe für die Hörerinnen und Hörer. Den Quelltext des RSS-Feeds von Aua Uff Code herunterladen und sich anschauen, wie der aufgebaut ist. Anna steht auf der Leitung. Stefan erklärt gewohnt verständlich, wie’s geht. Grundsatzfrage: Was ist HTML? Wie sieht geschriebenes HTML aus? Stefan fasst einfach in Worte, was Anna nur umständlich beschreiben kann. Aufbau einer HTML-Datei, Aufbau eines HTML-Tags. HTML Tag (Anna hatte offenbar schon wieder alles vergessen was sie bei Freecodecamp gelernt hat, was ihr jetzt beim Shownotes schreiben wieder auffällt.) Vergleich mit Algebra. Bei HTML muss man genauso alle geöffneten Tags schließen, wie man in der Algebra alle geöffnteten Klammern wieder schließt. Zur besseren Sichtbarkeit schreibt man verschiedene Ebenen in HTML mit Einrückung. Dem HTML ist die Zahl der Leerzeichen egal. Es kennt Leerzeichen, aber nicht deren Anzahl. Einrückung um 2 Leerzeichen findet Stefan gut sichtbar. Das ist auch eine Konvention in Ruby. Wie sind Opening Tags und Closing Tags aufgebaut? Selbstschließende Tags. Es gibt gar nicht so viele Tags. Nur ca. 36. Anna hätte gerne eine Tabelle mit HTML-Tags zum ausdrucken udn an dei Wand hängen. Davon gibt es unzählige im Netz. Seiten, die zwar keine Tag-Tabellen haben, aber trotzdem anschauenswert sind: Sehr ausführliches HTML-Tutorial: W 3 Schools Übersicht zu sehr vielen Programmiersprachen, deren Eigenheiten und Unterschieden: Learn X In Y Minutes Stefan schlägt vor, besser bei Bedarf zu lernen, als auf Vorrat udn besser sebst Notizen zumachen, als andere Leute noizen zu nehmen, da man dann die Reihenfolge des eigenen Vorgehens dokumentiert und nicht durch anderer Leute Vorgehensweise durcheinandergebracht wird. Div und Span Unterschied zwischen Apps und Web-Apps. Podcast Hörtipp von Stefan: Javascript Jabber Auf Twitter: @jsjabber Annas neue Hausaufgabe: Pushen und Pullen einer korrekten HTML-Datei über Kommandozeile. Verabschiedung und Outro.
Show Notes und Links Ungeklärt ist leider noch, warum haben wir trotz Headsets auf den Köpfen über ein drittes Mikro aufgenommen haben und deshalb klingen, als würden wir in einer Blechdose sitzen. Der Name des Podcasts bezieht sich auf Hour of Code, ein Projekt, das Menschen das Programmieren spielerisch näher bringen möchte. HTML Gamification bei Freecodecamp Account bei GitHub JavaScript Learn in Public Anna braucht ein Ziel, auf das sie hinarbeiten kann. Stefans Idee: HTML lernen anhand der Entstehung des Blogs zum Podcast. Quasi den Lernprozess sichtbar machen. Aufgabe für Anna: “Lege einen GitHub Account an, Lege dort ein Repository an, pulle von diesem Repository und pushe von diesem repository, nicht nur über das Webinterface, sondern auch von der Kommandozeile.” Sinn der Aufgabe: Anna soll lernen, mit dem Werkzeug Git umzugehen. Git ist ein sogenanntes Versionierungssystem. Neue Folgen sind 14-tägig geplant. Feedback bitte an den Twitteraccount @AuaUffCode oder unter auf der Webseite der Folge im Discuss Forum.