miniflux-legacy/vendor/fguillot/picofeed/tests/fixtures/geekstammtisch.de_episodes.mp3.rss

9429 lines
522 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:psc="http://podlove.org/simple-chapters" version="2.0">
<channel>
<title>Geekstammtisch</title>
<link>http://geekstammtisch.de</link>
<atom:link rel="self" href="http://geekstammtisch.de/episodes.mp3.rss" type="application/rss+xml" title="MP3 Audio"/>
<atom:link rel="alternate" href="http://geekstammtisch.de/episodes.m4a.rss" type="application/rss+xml" title="M4A Audio"/>
<atom:link rel="alternate" href="http://geekstammtisch.de/episodes.opus.rss" type="application/rss+xml" title="OPUS Audio"/>
<language>de-de</language>
<generator>gst-kitchen</generator>
<copyright>Dirk Breuer, Sebastian Cohnen, cc-by-nc-sa</copyright>
<itunes:subtitle>Das heimelige Nerdgespräch über Webentwicklung, Ruby/Rails und mehr</itunes:subtitle>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<managingEditor>alle@geekstammtisch.de (Dirk Breuer, Sebastian Cohnen)</managingEditor>
<itunes:summary>Mehr oder weniger regelmäßiger Stammtisch rund um Nerdthemen und Webdevelopment</itunes:summary>
<itunes:explicit>no</itunes:explicit>
<description>Mehr oder weniger regelmäßiger Stammtisch rund um Nerdthemen und Webdevelopment</description>
<itunes:owner>
<itunes:name>Dirk Breuer, Sebastian Cohnen</itunes:name>
<itunes:email>alle@geekstammtisch.de</itunes:email>
</itunes:owner>
<itunes:image href="http://geekstammtisch.de/images/cover-2013-04-21.jpg"/>
<itunes:category text="Technology"/>
<itunes:category text="Technology">
<itunes:category text="Gadgets"/>
</itunes:category>
<itunes:category text="Technology">
<itunes:category text="Tech News"/>
</itunes:category>
<item>
<title>GST000 - Batteries Included</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Der Geekstammtisch stellt sich vor</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst000.mp3" length="30692371" type="audio/mpeg"/>
<guid isPermaLink="false">GST000</guid>
<pubDate>Mon, 17 Dec 2012 19:02:58 +0100</pubDate>
<itunes:duration>00:42:27</itunes:duration>
<itunes:summary><![CDATA[### Geekstammtisch Publishing Prozess
* Inspiriert durch IGOR (https://github.com/m4p/fanboys-IGOR)
* https://github.com/tisba/gst-website
* https://github.com/tisba/gst-kitchen
* Aufnahmen, Auphonic (Processing, Metadaten), Auphonic API, Feed Rendern, rake deploy, fertig!
### Ruby Compile Tricks (Performance!!11!1)
* http://alisnic.net/blog/making-your-ruby-fly
* http://spin.atomicobject.com/2012/11/06/is-your-application-running-with-ruby-slow/
* Falcon Patch (https://gist.github.com/1688857)
* Compile Flags auslesen aus einem gebauten Ruby: ruby -rpp -rrbconfig.rb -e "include RbConfig; pp CONFIG"
## Ruby Upgrade mit RVM
* `rvm upgrade ruby-1.9.3-p286 ruby-1.9.3-p327`
* Installiert 1.9.3-p327 migriert alle gems und wirft die alte Ruby version
auch komplett weg, wenn gewünscht
### Ruby Entwicklung
* Core-Developer aller Implementierungen haben sich im IRC getroffen
* Matz behält sich das Recht vor, Dinge alleine zu entscheiden: “Im not going to stop being the dictator but I want you guys to participate in the process of improving the language”
* Offene Fragen, u.a. If an implementation can't implement something, is it not "ruby"?
* Hängt mit dem Talk von Brian Ford auf der RubyConf 2012 zusammen: http://www.confreaks.com/videos/1278-rubyconf2012-toward-a-design-for-ruby
* http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20121210
## gem picks
* `better_errors`: https://github.com/charliesome/better_errors
* schöne Rails/Rack Fehlerseiten mit REPL!!1!11
* benötigt für die REPL dark ruby magic von https://github.com/banister/binding_of_caller
### Apps
* iStats Menu 3 mit Retina, Historie, Update für 7 EUR (http://bjango.com/mac/istatmenus/)
* Instacast 3, neue App, universal, eigener Sync Service (https://itunes.apple.com/de/app/instacast/id577056377?mt=8&affId=1644991)
## Best Practices
* Composition over Inheritance?! (http://en.wikipedia.org/wiki/Composition_over_inheritance)
## Github's Gists in Neu und Bunt, schön :)
* Github Blog Post: https://github.com/blog/1276-welcome-to-a-new-gist
## Events
* RailsGirls Followups erfolgreich
* Weiter geht's im März mit Rails Girls Rheinland in Monheim (http://railsgirls.com/rheinland)
* cologne.rb Weihnachtsmarkt Eddition im Dezember (Twitter @colognerb)]]></itunes:summary>
<description><![CDATA[<h3>Geekstammtisch Publishing Prozess</h3>
<ul>
<li>Inspiriert durch IGOR (<a href="https://github.com/m4p/fanboys-IGOR">https://github.com/m4p/fanboys-IGOR</a>)</li>
<li><a href="https://github.com/tisba/gst-website">https://github.com/tisba/gst-website</a></li>
<li><a href="https://github.com/tisba/gst-kitchen">https://github.com/tisba/gst-kitchen</a></li>
<li>Aufnahmen, Auphonic (Processing, Metadaten), Auphonic API, Feed Rendern, rake deploy, fertig!</li>
</ul>
<h3>Ruby Compile Tricks (Performance!!11!1)</h3>
<ul>
<li><a href="http://alisnic.net/blog/making-your-ruby-fly">http://alisnic.net/blog/making-your-ruby-fly</a></li>
<li><a href="http://spin.atomicobject.com/2012/11/06/is-your-application-running-with-ruby-slow/">http://spin.atomicobject.com/2012/11/06/is-your-application-running-with-ruby-slow/</a></li>
<li>Falcon Patch (<a href="https://gist.github.com/1688857">https://gist.github.com/1688857</a>)</li>
<li>Compile Flags auslesen aus einem gebauten Ruby: ruby -rpp -rrbconfig.rb -e &quot;include RbConfig; pp CONFIG&quot;</li>
</ul>
<h2>Ruby Upgrade mit RVM</h2>
<ul>
<li><code>rvm upgrade ruby-1.9.3-p286 ruby-1.9.3-p327</code></li>
<li>Installiert 1.9.3-p327 migriert alle gems und wirft die alte Ruby version
auch komplett weg, wenn gewünscht</li>
</ul>
<h3>Ruby Entwicklung</h3>
<ul>
<li>Core-Developer aller Implementierungen haben sich im IRC getroffen</li>
<li>Matz behält sich das Recht vor, Dinge alleine zu entscheiden: “Im not going to stop being the dictator but I want you guys to participate in the process of improving the language”</li>
<li>Offene Fragen, u.a. If an implementation can&#39;t implement something, is it not &quot;ruby&quot;?</li>
<li>Hängt mit dem Talk von Brian Ford auf der RubyConf 2012 zusammen: <a href="http://www.confreaks.com/videos/1278-rubyconf2012-toward-a-design-for-ruby">http://www.confreaks.com/videos/1278-rubyconf2012-toward-a-design-for-ruby</a></li>
<li><a href="http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20121210">http://bugs.ruby-lang.org/projects/ruby/wiki/DevelopersMeeting20121210</a></li>
</ul>
<h2>gem picks</h2>
<ul>
<li><code>better_errors</code>: <a href="https://github.com/charliesome/better_errors">https://github.com/charliesome/better_errors</a>
<ul>
<li>schöne Rails/Rack Fehlerseiten mit REPL!!1!11</li>
<li>benötigt für die REPL dark ruby magic von <a href="https://github.com/banister/binding_of_caller">https://github.com/banister/binding_of_caller</a></li>
</ul></li>
</ul>
<h3>Apps</h3>
<ul>
<li>iStats Menu 3 mit Retina, Historie, Update für 7 EUR (<a href="http://bjango.com/mac/istatmenus/">http://bjango.com/mac/istatmenus/</a>)</li>
<li>Instacast 3, neue App, universal, eigener Sync Service (<a href="https://itunes.apple.com/de/app/instacast/id577056377?mt=8&amp;affId=1644991">https://itunes.apple.com/de/app/instacast/id577056377?mt=8&amp;affId=1644991</a>)</li>
</ul>
<h2>Best Practices</h2>
<ul>
<li>Composition over Inheritance?! (<a href="http://en.wikipedia.org/wiki/Composition_over_inheritance">http://en.wikipedia.org/wiki/Composition_over_inheritance</a>)</li>
</ul>
<h2>Github&#39;s Gists in Neu und Bunt, schön :)</h2>
<ul>
<li>Github Blog Post: <a href="https://github.com/blog/1276-welcome-to-a-new-gist">https://github.com/blog/1276-welcome-to-a-new-gist</a></li>
</ul>
<h2>Events</h2>
<ul>
<li>RailsGirls Followups erfolgreich</li>
<li>Weiter geht&#39;s im März mit Rails Girls Rheinland in Monheim (<a href="http://railsgirls.com/rheinland">http://railsgirls.com/rheinland</a>)</li>
<li>cologne.rb Weihnachtsmarkt Eddition im Dezember (Twitter <a href="https://twitter.com/colognerb">@colognerb</a>)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST000" />
</item>
<item>
<title>GST001 - Chubby Models on a Diet</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Noch mal mit ohne Gast über aktuelles aus der Ruby-Welt</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst001.mp3" length="38648523" type="audio/mpeg"/>
<guid isPermaLink="false">GST001</guid>
<pubDate>Mon, 07 Jan 2013 20:50:46 +0100</pubDate>
<itunes:duration>00:53:30</itunes:duration>
<itunes:summary><![CDATA[### Errata
* Refinements sind doch drin, aber nur in sehr eingeschränkter Weise (https://bugs.ruby-lang.org/issues/4085#note-175)
(via @klaustopher)
* Bodos (@bitboxer) Feedback zu rvm vs. rbenv
* `.ruby-version` erlaubt die Verwendung einer Ruby-Version pro Verzeichnis (https://github.com/sstephenson/rbenv#rbenv-local)
* Realisiert wird das mit `shims`: https://github.com/sstephenson/rbenv#understanding-shims
* Das `cd` Kommando _nicht_ überschreiben, ist einfach sauberer
* rbenv ist eher UNIX-Style: Ein Tool für eine Aufgabe
* Bodo hat schon Probleme auf dem Server, gibt aber zu "da schon tief für in die Scheisse greifen" zu müssen
## In eigener Sache
* Endlich auch im iTunes Store und damit auch in Instacast!
* Nach dem Store mehr mp4 Downloads als mp3! (2:1)
* Download Zahlen von Podcasts ermitteln: nicht einfach :-/
* Und auch via Bittorrent (http://bitlove.org/tisba/gst)
* Mac OS X Client mit Torrent Support: http://www.getmiro.com/
* Nettes Feedback zum gst-kitchen Publishing Prozess von @auphonic und @timpritlove
## Ruby
* Ruby 1.9.3p362 released, macht aber wohl Probleme (seg faults)
* https://github.com/travis-ci/travis-ci/issues/827
* https://bugs.ruby-lang.org/issues/7629
* Ruby Compilation
* mruby in ArangoDB: http://www.arangodb.org/
* mruby nach JavaScript Complier: http://qiezi.me/projects/mruby-web-irb/mruby.html
* Ruby zu Java-Quellcode!1!!11!: https://github.com/headius/rubyflux
## Rails
* SQL Injection Vector (OMG!)
* Rails 3.2.10/3.1.9/3.0.18: http://weblog.rubyonrails.org/2013/1/2/Rails-3-2-10--3-1-9--and-3-0-18-have-been-released/
* Alles halb so wild: http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts/
## Software Development
* Put chubby models on a diet with concerns
* @dhh legt los: http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns
* Gegenmeinung von Corey Haines: http://programmingtour.blogspot.de/2012/12/why-i-dont-use-activesupportconcern.html
* tl;dr: `ActionSupport::Concerns` macht mehr als nur `include/extend`, nämlich auch Dependency Management
### Binstubs
* Diskussion ob einchecken oder nicht: https://github.com/rails/rails/commit/61b91c4c55bcbd5a2ec85d6e1c67755150653dff
* Was sind Binstubs: https://github.com/sstephenson/rbenv/wiki/Understanding-binstubs
* Ohne `bundle exec` leben: `bundle install --binstubs`
### SCM Hosting:
* gitlab
* Open Source Klon von GitHub
* http://gitlabhq.com/
* Dirk hats getestet
* Kostenpflichtige Alternative: Github Enterprise (https://enterprise.github.com/) und Stash (http://www.atlassian.com/software/stash/overview)
## Random Stuff
* Linus Torvalds beschimpft Kernel-Entwickler: https://lkml.org/lkml/2012/12/23/75
* `conference.jabber.org`: Group-Chat Service kostenlos, wenn man das mal brauchen sollte ;-)]]></itunes:summary>
<description><![CDATA[<h3>Errata</h3>
<ul>
<li>Refinements sind doch drin, aber nur in sehr eingeschränkter Weise (<a href="https://bugs.ruby-lang.org/issues/4085#note-175">https://bugs.ruby-lang.org/issues/4085#note-175</a>)
(via <a href="https://twitter.com/klaustopher">@klaustopher</a>)</li>
<li>Bodos (<a href="https://twitter.com/bitboxer">@bitboxer</a>) Feedback zu rvm vs. rbenv
<ul>
<li><code>.ruby-version</code> erlaubt die Verwendung einer Ruby-Version pro Verzeichnis (<a href="https://github.com/sstephenson/rbenv#rbenv-local">https://github.com/sstephenson/rbenv#rbenv-local</a>)</li>
<li>Realisiert wird das mit <code>shims</code>: <a href="https://github.com/sstephenson/rbenv#understanding-shims">https://github.com/sstephenson/rbenv#understanding-shims</a></li>
<li>Das <code>cd</code> Kommando <em>nicht</em> überschreiben, ist einfach sauberer</li>
<li>rbenv ist eher UNIX-Style: Ein Tool für eine Aufgabe</li>
<li>Bodo hat schon Probleme auf dem Server, gibt aber zu &quot;da schon tief für in die Scheisse greifen&quot; zu müssen</li>
</ul></li>
</ul>
<h2>In eigener Sache</h2>
<ul>
<li>Endlich auch im iTunes Store und damit auch in Instacast!
<ul>
<li>Nach dem Store mehr mp4 Downloads als mp3! (2:1)</li>
<li>Download Zahlen von Podcasts ermitteln: nicht einfach :-/</li>
</ul></li>
<li>Und auch via Bittorrent (<a href="http://bitlove.org/tisba/gst">http://bitlove.org/tisba/gst</a>)
<ul>
<li>Mac OS X Client mit Torrent Support: <a href="http://www.getmiro.com/">http://www.getmiro.com/</a></li>
</ul></li>
<li>Nettes Feedback zum gst-kitchen Publishing Prozess von <a href="https://twitter.com/auphonic">@auphonic</a> und <a href="https://twitter.com/timpritlove">@timpritlove</a></li>
</ul>
<h2>Ruby</h2>
<ul>
<li>Ruby 1.9.3p362 released, macht aber wohl Probleme (seg faults)
<ul>
<li><a href="https://github.com/travis-ci/travis-ci/issues/827">https://github.com/travis-ci/travis-ci/issues/827</a></li>
<li><a href="https://bugs.ruby-lang.org/issues/7629">https://bugs.ruby-lang.org/issues/7629</a></li>
</ul></li>
<li>Ruby Compilation
<ul>
<li>mruby in ArangoDB: <a href="http://www.arangodb.org/">http://www.arangodb.org/</a></li>
<li>mruby nach JavaScript Complier: <a href="http://qiezi.me/projects/mruby-web-irb/mruby.html">http://qiezi.me/projects/mruby-web-irb/mruby.html</a></li>
<li>Ruby zu Java-Quellcode!1!!11!: <a href="https://github.com/headius/rubyflux">https://github.com/headius/rubyflux</a></li>
</ul></li>
</ul>
<h2>Rails</h2>
<ul>
<li>SQL Injection Vector (OMG!)
<ul>
<li>Rails 3.2.10/3.1.9/3.0.18: <a href="http://weblog.rubyonrails.org/2013/1/2/Rails-3-2-10--3-1-9--and-3-0-18-have-been-released/">http://weblog.rubyonrails.org/2013/1/2/Rails-3-2-10--3-1-9--and-3-0-18-have-been-released/</a></li>
<li>Alles halb so wild: <a href="http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts/">http://blog.phusion.nl/2013/01/03/rails-sql-injection-vulnerability-hold-your-horses-here-are-the-facts/</a></li>
</ul></li>
</ul>
<h2>Software Development</h2>
<ul>
<li>Put chubby models on a diet with concerns
<ul>
<li><a href="https://twitter.com/dhh">@dhh</a> legt los: <a href="http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns">http://37signals.com/svn/posts/3372-put-chubby-models-on-a-diet-with-concerns</a></li>
<li>Gegenmeinung von Corey Haines: <a href="http://programmingtour.blogspot.de/2012/12/why-i-dont-use-activesupportconcern.html">http://programmingtour.blogspot.de/2012/12/why-i-dont-use-activesupportconcern.html</a></li>
<li>tl;dr: <code>ActionSupport::Concerns</code> macht mehr als nur <code>include/extend</code>, nämlich auch Dependency Management</li>
</ul></li>
</ul>
<h3>Binstubs</h3>
<ul>
<li>Diskussion ob einchecken oder nicht: <a href="https://github.com/rails/rails/commit/61b91c4c55bcbd5a2ec85d6e1c67755150653dff">https://github.com/rails/rails/commit/61b91c4c55bcbd5a2ec85d6e1c67755150653dff</a></li>
<li>Was sind Binstubs: <a href="https://github.com/sstephenson/rbenv/wiki/Understanding-binstubs">https://github.com/sstephenson/rbenv/wiki/Understanding-binstubs</a></li>
<li>Ohne <code>bundle exec</code> leben: <code>bundle install --binstubs</code></li>
</ul>
<h3>SCM Hosting:</h3>
<ul>
<li>gitlab
<ul>
<li>Open Source Klon von GitHub</li>
<li><a href="http://gitlabhq.com/">http://gitlabhq.com/</a></li>
<li>Dirk hats getestet</li>
<li>Kostenpflichtige Alternative: Github Enterprise (<a href="https://enterprise.github.com/">https://enterprise.github.com/</a>) und Stash (<a href="http://www.atlassian.com/software/stash/overview">http://www.atlassian.com/software/stash/overview</a>)</li>
</ul></li>
</ul>
<h2>Random Stuff</h2>
<ul>
<li>Linus Torvalds beschimpft Kernel-Entwickler: <a href="https://lkml.org/lkml/2012/12/23/75">https://lkml.org/lkml/2012/12/23/75</a></li>
<li><code>conference.jabber.org</code>: Group-Chat Service kostenlos, wenn man das mal brauchen sollte ;-)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST001" />
</item>
<item>
<title>GST002 - Shell ist immer da</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Sebastian Schulze (@bascht)</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst002.mp3" length="43681307" type="audio/mpeg"/>
<guid isPermaLink="false">GST002</guid>
<pubDate>Mon, 21 Jan 2013 22:12:54 +0100</pubDate>
<itunes:duration>01:00:29</itunes:duration>
<itunes:summary><![CDATA[Heute mit unserem ersten Gast: Sebastian Schulze (@bascht, http://bascht.com/)
### Errata
* Von Bodo zu Ruby Patch 1.9.3-p362:
* Das ist nich nur unwichtiges Zeug drin gewesen:
Zum Beispiel wurde der Hash-Algo von Murmurhash
zu SipHash geändert um Hash Flodding und damit
DOS zu verhindern.
* Details dazu gab es auf dem 29c3 in diesem Vortrag: http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html
* Video: http://mirror.fem-net.de/CCC/29C3/mp4-h264-HQ/29c3-5152-en-hashflooding_dos_reloaded_h264.mp4
### Ruby
* Fix all the SEGFAULTs (with 1.9.3-p374)
* Nokogiri von der Commandozeile (https://github.com/sparklemotion/nokogiri/blob/master/bin/nokogiri)
* Aaron Patterson, Ryan Davis: Worst. Ideas. Ever. http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever
* Bascht hat ein Web-Entwickler Background ist aber mittlerweile als freier DevOps unterwegs (http://blog.csanchez.org/2012/03/13/infrastructure-as-code/)
* http://devopsreactions.tumblr.com/
* Bascht deployed auch schon mal im JRuby Kontext:
* Maven, Tomcat, War-Files und so weiter…
* Java-Entwickler sind sehr nette Leute :-)
* Scripting mit Bash?
* Oder einfach direkt in Ruby :-)
* Brightbox Debian Packages/PPA (http://docs.brightbox.com/ruby/ubuntu/)
* Einfach immer Gemfiles verwenden
* `bundle console`: http://gembundler.com/v1.2/bundle_console.html
* Schmankerl: OpenLDAP Configure Script in knackigen 26k LOCs (http://code.metager.de/source/xref/openldap/configure#430)
* Unit testing for Bash: https://code.google.com/p/shunit2/ (Dirk hat's gefunden)
* Test-Driven-Admin
* Automatisierung muss sein, weil man will nicht das hier: http://eric.lubow.org/wp-content/uploads/2010/03/cssh_screenshot.jpg
* Cluster Shell (http://sourceforge.net/projects/clusterssh/)
* Oder einfach mit iTerm2 ("Shell" -> "Broadcast Input")
* Echte Automatisierung:
* Am besten direkt von Anfang an richtig machen!
* Puppet: http://puppetlabs.com/
* Chef: http://www.opscode.com/chef/
* Chef-Doku: http://docs.opscode.com/
* KEINEN eigenen Chef-Server zum testen aufsetzen, einfach kostenlos bei Opscode einen nehmen: https://manage.opscode.com/
* irgendwas anderes / eigenes ;-) (immer noch besser als manuell)
* Keine Angst mehr vor Freitagnachmittag-Deploys: http://devopsreactions.tumblr.com/post/37823969926/a-small-infrastructure-change-4pm-friday
* GST berichtete: mruby-web-irb is now WebRuby: https://github.com/xxuejie/webruby
* Ruby Facets: https://github.com/rubyworks/facets
* Zucker: http://rubyzucker.info/
* Anwendungsfall für ActiveSupport: http://bascht.hasbeen.in
### Rails
* OMG!1!, more security fixes
* Rails 3.2.11, 3.1.10, 3.0.19 und sogar 2.3.15 released
* CVE-2013-0155: https://groups.google.com/group/rubyonrails-security/browse_thread/thread/b75585bae4326af2
* CVE-2013-0156: https://groups.google.com/group/rubyonrails-security/browse_thread/thread/eb56e482f9d21934
* View-Decorator: https://github.com/drapergem/draper
* Gary Berhardt: "How do we stop our Rails apps from being so horrible when they grow up?"
### Web Services
* http://hackdesign.org/ - Desing courses for Hacker
### Events
* cologne.rb braucht Talks: https://github.com/colognerb/talks/wiki/Potentielle-Themen
* Unser Talk: https://speakerdeck.com/railsbros_dirk/cologne-dot-rb-magic-kindergarten
* Am 6.7. ist Iron Maiden in Oberhausen \m/
* Sigint findet auch an diesem Wochenende statt: http://sigint.ccc.de/ (5.-7.7.2013)
* Railsgirls treffen sich auch wieder (31.01.): http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1442)
* wroc_love.rb: Zweiter Batch an Tickets raus - https://tito.io/wrocloverb/2013
### Offtopic
* Dokumentation über das Phänomen Bronies: http://www.bronydoc.com/Brony/MAIN.html :-)
* Pony Podcast: http://ponytime.net/]]></itunes:summary>
<description><![CDATA[<p>Heute mit unserem ersten Gast: Sebastian Schulze (<a href="https://twitter.com/bascht">@bascht</a>, <a href="http://bascht.com/">http://bascht.com/</a>)</p>
<h3>Errata</h3>
<ul>
<li>Von Bodo zu Ruby Patch 1.9.3-p362:
<ul>
<li>Das ist nich nur unwichtiges Zeug drin gewesen:
Zum Beispiel wurde der Hash-Algo von Murmurhash
zu SipHash geändert um Hash Flodding und damit
DOS zu verhindern.</li>
<li>Details dazu gab es auf dem 29c3 in diesem Vortrag: <a href="http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html">http://events.ccc.de/congress/2012/Fahrplan/events/5152.en.html</a>
<ul>
<li>Video: <a href="http://mirror.fem-net.de/CCC/29C3/mp4-h264-HQ/29c3-5152-en-hashflooding_dos_reloaded_h264.mp4">http://mirror.fem-net.de/CCC/29C3/mp4-h264-HQ/29c3-5152-en-hashflooding_dos_reloaded_h264.mp4</a></li>
</ul></li>
</ul></li>
</ul>
<h3>Ruby</h3>
<ul>
<li>Fix all the SEGFAULTs (with 1.9.3-p374)</li>
<li>Nokogiri von der Commandozeile (<a href="https://github.com/sparklemotion/nokogiri/blob/master/bin/nokogiri">https://github.com/sparklemotion/nokogiri/blob/master/bin/nokogiri</a>)</li>
<li>Aaron Patterson, Ryan Davis: Worst. Ideas. Ever. <a href="http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever">http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever</a></li>
<li>Bascht hat ein Web-Entwickler Background ist aber mittlerweile als freier DevOps unterwegs (<a href="http://blog.csanchez.org/2012/03/13/infrastructure-as-code/">http://blog.csanchez.org/2012/03/13/infrastructure-as-code/</a>)</li>
<li><a href="http://devopsreactions.tumblr.com/">http://devopsreactions.tumblr.com/</a></li>
<li>Bascht deployed auch schon mal im JRuby Kontext:
<ul>
<li>Maven, Tomcat, War-Files und so weiter…</li>
</ul></li>
<li>Java-Entwickler sind sehr nette Leute :-)</li>
<li>Scripting mit Bash?</li>
<li>Oder einfach direkt in Ruby :-)
<ul>
<li>Brightbox Debian Packages/PPA (<a href="http://docs.brightbox.com/ruby/ubuntu/">http://docs.brightbox.com/ruby/ubuntu/</a>)</li>
</ul></li>
<li>Einfach immer Gemfiles verwenden
<ul>
<li><code>bundle console</code>: <a href="http://gembundler.com/v1.2/bundle_console.html">http://gembundler.com/v1.2/bundle_console.html</a></li>
</ul></li>
<li>Schmankerl: OpenLDAP Configure Script in knackigen 26k LOCs (<a href="http://code.metager.de/source/xref/openldap/configure#430">http://code.metager.de/source/xref/openldap/configure#430</a>)
<ul>
<li>Unit testing for Bash: <a href="https://code.google.com/p/shunit2/">https://code.google.com/p/shunit2/</a> (Dirk hat&#39;s gefunden)</li>
</ul></li>
<li>Test-Driven-Admin</li>
<li>Automatisierung muss sein, weil man will nicht das hier: <a href="http://eric.lubow.org/wp-content/uploads/2010/03/cssh_screenshot.jpg">http://eric.lubow.org/wp-content/uploads/2010/03/cssh_screenshot.jpg</a>
<ul>
<li>Cluster Shell (<a href="http://sourceforge.net/projects/clusterssh/">http://sourceforge.net/projects/clusterssh/</a>)</li>
<li>Oder einfach mit iTerm2 (&quot;Shell&quot; -> &quot;Broadcast Input&quot;)</li>
</ul></li>
<li>Echte Automatisierung:
<ul>
<li>Am besten direkt von Anfang an richtig machen!</li>
<li>Puppet: <a href="http://puppetlabs.com/">http://puppetlabs.com/</a></li>
<li>Chef: <a href="http://www.opscode.com/chef/">http://www.opscode.com/chef/</a></li>
<li>Chef-Doku: <a href="http://docs.opscode.com/">http://docs.opscode.com/</a></li>
<li>KEINEN eigenen Chef-Server zum testen aufsetzen, einfach kostenlos bei Opscode einen nehmen: <a href="https://manage.opscode.com/">https://manage.opscode.com/</a></li>
<li>irgendwas anderes / eigenes ;-) (immer noch besser als manuell)</li>
<li>Keine Angst mehr vor Freitagnachmittag-Deploys: <a href="http://devopsreactions.tumblr.com/post/37823969926/a-small-infrastructure-change-4pm-friday">http://devopsreactions.tumblr.com/post/37823969926/a-small-infrastructure-change-4pm-friday</a></li>
</ul></li>
<li>GST berichtete: mruby-web-irb is now WebRuby: <a href="https://github.com/xxuejie/webruby">https://github.com/xxuejie/webruby</a></li>
<li>Ruby Facets: <a href="https://github.com/rubyworks/facets">https://github.com/rubyworks/facets</a></li>
<li>Zucker: <a href="http://rubyzucker.info/">http://rubyzucker.info/</a></li>
<li>Anwendungsfall für ActiveSupport: <a href="http://bascht.hasbeen.in">http://bascht.hasbeen.in</a></li>
</ul>
<h3>Rails</h3>
<ul>
<li>OMG!1!, more security fixes
<ul>
<li>Rails 3.2.11, 3.1.10, 3.0.19 und sogar 2.3.15 released</li>
<li>CVE-2013-0155: <a href="https://groups.google.com/group/rubyonrails-security/browse_thread/thread/b75585bae4326af2">https://groups.google.com/group/rubyonrails-security/browse_thread/thread/b75585bae4326af2</a></li>
<li>CVE-2013-0156: <a href="https://groups.google.com/group/rubyonrails-security/browse_thread/thread/eb56e482f9d21934">https://groups.google.com/group/rubyonrails-security/browse_thread/thread/eb56e482f9d21934</a></li>
</ul></li>
<li>View-Decorator: <a href="https://github.com/drapergem/draper">https://github.com/drapergem/draper</a></li>
<li>Gary Berhardt: &quot;How do we stop our Rails apps from being so horrible when they grow up?&quot;</li>
</ul>
<h3>Web Services</h3>
<ul>
<li><a href="http://hackdesign.org/">http://hackdesign.org/</a> - Desing courses for Hacker</li>
</ul>
<h3>Events</h3>
<ul>
<li>cologne.rb braucht Talks: <a href="https://github.com/colognerb/talks/wiki/Potentielle-Themen">https://github.com/colognerb/talks/wiki/Potentielle-Themen</a>
<ul>
<li>Unser Talk: <a href="https://speakerdeck.com/railsbros_dirk/cologne-dot-rb-magic-kindergarten">https://speakerdeck.com/railsbros_dirk/cologne-dot-rb-magic-kindergarten</a></li>
</ul></li>
<li>Am 6.7. ist Iron Maiden in Oberhausen \m/
<ul>
<li>Sigint findet auch an diesem Wochenende statt: <a href="http://sigint.ccc.de/">http://sigint.ccc.de/</a> (5.-7.7.2013)</li>
</ul></li>
<li>Railsgirls treffen sich auch wieder (31.01.): <a href="http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1442">http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1442</a>)</li>
<li>wroc_love.rb: Zweiter Batch an Tickets raus - <a href="https://tito.io/wrocloverb/2013">https://tito.io/wrocloverb/2013</a></li>
</ul>
<h3>Offtopic</h3>
<ul>
<li>Dokumentation über das Phänomen Bronies: <a href="http://www.bronydoc.com/Brony/MAIN.html">http://www.bronydoc.com/Brony/MAIN.html</a> :-)</li>
<li>Pony Podcast: <a href="http://ponytime.net/">http://ponytime.net/</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST002" />
</item>
<item>
<title>GST003 - Mein Callstack ist kleiner</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Florian Gilcher (@Argorak), u.a. über Padrino</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst003.mp3" length="46233055" type="audio/mpeg"/>
<guid isPermaLink="false">GST003</guid>
<pubDate>Mon, 28 Jan 2013 21:07:15 +0100</pubDate>
<itunes:duration>01:04:00</itunes:duration>
<itunes:summary><![CDATA[Heute wieder mit Gast: Florian Gilcher (@Argorak, http://asquera.de/blog)
### Errata
* Auf Grund der kurzen Zeit zwischen den Aufnahmen qausi ausgefallen. Oder einfach keine Fehler gemacht ;-)
### Unser Gast
* Florian aus Berlin
* Hat dort seine eigene Firma
* Ist vor allem Backend-Entwickler \o/
* Padrino.rb Core-Entwickler (Sinatra-basiertes Webframework: http://www.padrinorb.com)
* Sehr aktiv im deutschen Ruby-Forum aktiv: http://forum.ruby-portal.de/
* Hat letztes Jahr das eurucamp mitorganisiert: http://2012.eurucamp.org/
* Und ist auch sonst sehr stark in der Community aktiv: "Community macht Spaß"
### Padrino
* Entstanden aus Sinatra-Plugins
* Auch heute ist eine Padrino-App "nur" eine Ansammlung von Sinatra-Apps
* Padrino ist viel expliziter als Rails
* Padrino "zwingt" den Entwickler sich mit vielen (allen) Entscheidungen selbst zu beschäftigen
* Rails Pain #1: Initializer-Reihenfolge (auch von Engines), Paadrino kümmert sich nicht
* Ladereihenfolge, Config etc muss man selbst machen
* Rails Pain #2: Logger austauschen
* Dirk empfiehlt das `logging` Gem https://github.com/TwP/logging
* Basti und Dirk haben sonst wenig Probleme mit Logging
* Eignet sich Padrino gut für Einsteiger?
* Der Grund Aufwand ist nach Flo schon höher
* Aber der Zusammenhang zwischen den Komponenten wird klarer
* Padrino behandelt Padrino Erweiterungen (Engines) expliziter
* Philosophie bei Padrino: Setzt euch mit den Dingen auseinander!
* Rails und Einsteiger? Auch nicht mehr ganz so einfach…
* Yehuda Katz baut deswegen Tokaido (https://github.com/tokaido/tokaidoapp)
* Steve Klabnik: Rails has Two Default Stacks (http://words.steveklabnik.com/rails-has-two-default-stacks)
* Padrino Getting Started
* Es gibt auch Generatoren
* Schritt Eins: HTTP-Stack
* Komponenten müssen ausgewählt werden
* Von Test-Framework bis ORM alles auszuwählen
* In Ruby passt eigentlich alles gut zusammen ohne viel Aufwand
* Mit Rack (http://rack.github.com/) ist alles besser geworden
* Es gibt auch noch Ramaze: The Web Framework for Rubyists (http://ramaze.net/)
* Flo träumt von Jeremy Evans sequel (https://github.com/jeremyevans/sequel)
* PostgreSQL hstore (http://www.postgresql.org/docs/9.0/static/hstore.html)
* ActiveRecord hat mittlerweile auch eine Unterstützung
* ORM tauschen ist mit Padrino genauso schwer wie bei Rails
* Bei echten Projekten tauscht man nicht einfach mal so das DB-Backend, ORM hin oder her
* Padrino macht es auch nicht einfacher, gibt einem aber von Anfang die Info, dass es mehr
als ein gibt
* Doku bei Rails sehr monolitisch, bei Padrino für jede Komponente eine eigene, unabhängige Doku
* Der Austausch von ActiveRecord ist wegen ActiveModel sehr leicht geworden
* Sehr viele ORMs und Form-Helper nutzen sehr viel ActiveModel
* Padrino benutzt ActiveSupport
* Allerdings sehr wenig by default
* Zwischenfazit: Der Entwickler wird bei Padrino eher gezwungen sich mit Komponenten und Entscheidungen
kritisch zu beschäftigen
* Padrino bietet besser dokumentierte APIs um Komponenten einzuschieben
* Rails 2 Zeiten - reden wir nicht drüber
* Immer noch Altlasten, z.B.: viele Möglichkeiten aus dem Controller zu rendern
* Rails ist einfach gute Konkurrenz ;-)
* Rails ist schon ein sehr mächtiges Werkzeug
* Als Rails-Entwickler kann man sich gut von Padrino inspirieren lassen
* Basti ist beeindruckt vom Merb-Rails Merge (http://rubyonrails.org/merb)
### Software Engineering
* Bezug "How do we stop our Rails apps from being so horrible when they grow up?" (http://bit.ly/VFtzUI)
* Alles unter dem Controller ist für Dirk immer noch ein sehr schwieriges Thema
* Kann Padrino da unterstützen? Durch Aufklärung?
* Bei Padrino ist der Tipp: Schnell raus aus dem Controller
* Ein Webframework sollte vor allem den Web-Teil richtig machen
* Bei allem danach hört die Unterstützung schnell auf
* DCI (Data, context and interaction)
* Flo arbeitet gerade einem Projekt mit Delegates ähnlich wie in Objective-C: Funktioniert super.
* Dependency Injection ist eigentlich nur die richtigen Objekte an die richtige Stelle schieben
* DI muss nicht Spring mit XML sein
* Geht in Ruby viel einfacher
* Geht auch in Java viel einfacher: Google Guice (https://code.google.com/p/google-guice/)
* "Am Ende trennt sich bei diesen Themen einfach die Spreu vom Weizen"
* ActiveRecord führt einen aber vielleicht zu weit in einen falsche Richtung
* Allerdings: Nie wieder ohne ORM
* Anemic Domain Model von Martin Fowler (http://martinfowler.com/bliki/AnemicDomainModel.html)
* Ist ein Anti-Pattern
* Sieht aus wie ein Domain-Model, aber:
* Models halten nur Daten
* Verhalten lebt in einem prozeduralen Service-Layer
* Lösung sind dann "richtige" Domain-Models (http://martinfowler.com/eaaCatalog/domainModel.html) und
"richtige" Service-Layer (http://martinfowler.com/eaaCatalog/serviceLayer.html)
* Basti hat bisher noch nie davon gehört
* Flo hat P of EAA nur überflogen aber Refactoring gefressen
* Wichtigste Erkenntnis: Feature Hut ODER Refactoring Hut NIEMALS beides!
* Die Zwei Stacks von Rails (http://words.steveklabnik.com/rails-has-two-default-stacks)
* Omakase (http://en.wikipedia.org/wiki/Omakase) vs. Prime (http://en.wikipedia.org/wiki/Prime_(symbol)#Use_in_mathematics.2C_statistics.2C_and_science)
* Omakase: ERB, MySQL, minitest, Fat Models, Skinny Controllers
* Prima: HAML, PostgreSQL, RSpec & Cucumber, Fat Models, Skinny
Controllers, Service Layer
* Für Rails ist DHH der Sushi-Chef: http://david.heinemeierhansson.com/2012/rails-is-omakase.html
* Es geht nicht um besser oder schlechter
* Wie kommen Anfänger klar?
* Eigentlich muss man sich gar nicht aktiv entscheiden, wie kommt man überhaupt auf den anderen Stack
* PostgreSQL ist die Profi-Alernative zu MySQL
* Mehr Aufwand in der Wartung verhält sich aber viel wartbarer
* MySQL lässt sich trotzdem sehr gut betreiben
* Flo steht auf rustikale Software
* Man entdeckt Tablespaces (http://www.postgresql.org/docs/8.3/static/manage-ag-tablespaces.html)
* Basti mag eher RSpec aber nimmt sonst eher den Omakase Stack
* Flo mag mehr ERb nimmt aber Postgres
* Eigentlich passt der Name eh nicht, weil ein guter Chef setzt einem nicht zweimal das gleiche Essen vor
* Idee: Stack-Randomizer im Projektgenerator
* Flo kennt das Rubyworks-Ökosystem
* Wir haben das maßlos unterschätzt
* Ist Thomas Sawyer (http://rubyworks.github.com/)
* Ruby Q.E.D.: Cucumber auf Steroiden (https://github.com/rubyworks/qed)
* Verwendet AE als Test-Lib (http://rubyworks.github.com/ae/) auch von ihm
* Es lassen sich damit Blog-Posts testen
* Semantic-Versioning at its best: https://github.com/sunaku/tork
* Mit viel Liebe und Mühe sehr gute Libraries und die Masse verwendet es noch nichtmal
* https://github.com/sunaku/inochi
* RSpec's Doku ist in Cucumber (https://www.relishapp.com/)
* Dokumentation ist nicht trivial
* Zed Shaw hat einmal gesagt, dass das Problem darin besteht, dass wir den Leuten beibringen müssen wie sie es entwicklen
* Die Technik ist da, das Lernen ist das Problem
* Code-Review ist dafür gut
* In guten Teams geht nichts einfach durch
* Es geht dabei um Code, nicht um Kritik an der Person
### Tools
* JSON
* JSON Pretty Print: https://github.com/jmhodges/jsonpp
* jq: http://stedolan.github.com/jq/
* JSON Path ist Kindergarten
* httpie statt curl: https://github.com/jkbr/httpie
* CodeRay hat einen Terminal Highlighter (http://coderay.rubychan.de/)
* Sehr genau, weniger Sprachen als Pygments (http://pygments.org/)
* Hosting Static Pages:
* GitHub Pages (http://pages.github.com/)
* Muss nicht nur Jekyll sein…
* http://neilmiddleton.com/the-composability-of-buildpacks/
* http://middlemanapp.com/ -> Heroku
* Auch gut für Bloggen im Zug
* Empfehlung: Syntax-Sonntag bei Ruby-Mine (http://www.ruby-mine.de/)
* Sehr gute Einführung in Oniguruma (http://www.ruby-mine.de/wonado)
* Gutes deutsches Ruby-Wiki: http://wiki.ruby-portal.de/Hauptseite
* Open-Source Nachbau des RPG-Makers (http://www.rpgmakerweb.com/) in Ruby (http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards)
* Ruby-Forum ist immer noch in PHP :-)
* Foren sind irgendwie nicht mehr aktuell, wird aber noch nachgefragt
### Events
* Insider-Infos zur SIGINT (Nachtrag):
* Mehr Technik-Bezug incoming!
* CFP soll ganz bald starten
* eurucamp findet auch wieder 2013 statt: http://eurucamp.org/ (16. - 18. August 2013)]]></itunes:summary>
<description><![CDATA[<p>Heute wieder mit Gast: Florian Gilcher (<a href="https://twitter.com/Argorak">@Argorak</a>, <a href="http://asquera.de/blog">http://asquera.de/blog</a>)</p>
<h3>Errata</h3>
<ul>
<li>Auf Grund der kurzen Zeit zwischen den Aufnahmen qausi ausgefallen. Oder einfach keine Fehler gemacht ;-)</li>
</ul>
<h3>Unser Gast</h3>
<ul>
<li>Florian aus Berlin
<ul>
<li>Hat dort seine eigene Firma</li>
<li>Ist vor allem Backend-Entwickler \o/</li>
<li>Padrino.rb Core-Entwickler (Sinatra-basiertes Webframework: <a href="http://www.padrinorb.com">http://www.padrinorb.com</a>)</li>
<li>Sehr aktiv im deutschen Ruby-Forum aktiv: <a href="http://forum.ruby-portal.de/">http://forum.ruby-portal.de/</a></li>
<li>Hat letztes Jahr das eurucamp mitorganisiert: <a href="http://2012.eurucamp.org/">http://2012.eurucamp.org/</a></li>
<li>Und ist auch sonst sehr stark in der Community aktiv: &quot;Community macht Spaß&quot;</li>
</ul></li>
</ul>
<h3>Padrino</h3>
<ul>
<li>Entstanden aus Sinatra-Plugins</li>
<li>Auch heute ist eine Padrino-App &quot;nur&quot; eine Ansammlung von Sinatra-Apps</li>
<li>Padrino ist viel expliziter als Rails</li>
<li>Padrino &quot;zwingt&quot; den Entwickler sich mit vielen (allen) Entscheidungen selbst zu beschäftigen</li>
<li>Rails Pain #1: Initializer-Reihenfolge (auch von Engines), Paadrino kümmert sich nicht
<ul>
<li>Ladereihenfolge, Config etc muss man selbst machen</li>
</ul></li>
<li>Rails Pain #2: Logger austauschen
<ul>
<li>Dirk empfiehlt das <code>logging</code> Gem <a href="https://github.com/TwP/logging">https://github.com/TwP/logging</a></li>
<li>Basti und Dirk haben sonst wenig Probleme mit Logging</li>
</ul></li>
<li>Eignet sich Padrino gut für Einsteiger?
<ul>
<li>Der Grund Aufwand ist nach Flo schon höher</li>
<li>Aber der Zusammenhang zwischen den Komponenten wird klarer</li>
<li>Padrino behandelt Padrino Erweiterungen (Engines) expliziter</li>
<li>Philosophie bei Padrino: Setzt euch mit den Dingen auseinander!</li>
</ul></li>
<li>Rails und Einsteiger? Auch nicht mehr ganz so einfach…
<ul>
<li>Yehuda Katz baut deswegen Tokaido (<a href="https://github.com/tokaido/tokaidoapp">https://github.com/tokaido/tokaidoapp</a>)</li>
<li>Steve Klabnik: Rails has Two Default Stacks (<a href="http://words.steveklabnik.com/rails-has-two-default-stacks">http://words.steveklabnik.com/rails-has-two-default-stacks</a>)</li>
</ul></li>
<li>Padrino Getting Started
<ul>
<li>Es gibt auch Generatoren</li>
<li>Schritt Eins: HTTP-Stack</li>
<li>Komponenten müssen ausgewählt werden
<ul>
<li>Von Test-Framework bis ORM alles auszuwählen</li>
<li>In Ruby passt eigentlich alles gut zusammen ohne viel Aufwand</li>
</ul></li>
<li>Mit Rack (<a href="http://rack.github.com/">http://rack.github.com/</a>) ist alles besser geworden</li>
</ul></li>
<li>Es gibt auch noch Ramaze: The Web Framework for Rubyists (<a href="http://ramaze.net/">http://ramaze.net/</a>)</li>
<li>Flo träumt von Jeremy Evans sequel (<a href="https://github.com/jeremyevans/sequel">https://github.com/jeremyevans/sequel</a>)</li>
<li>PostgreSQL hstore (<a href="http://www.postgresql.org/docs/9.0/static/hstore.html">http://www.postgresql.org/docs/9.0/static/hstore.html</a>)
<ul>
<li>ActiveRecord hat mittlerweile auch eine Unterstützung</li>
</ul></li>
<li>ORM tauschen ist mit Padrino genauso schwer wie bei Rails
<ul>
<li>Bei echten Projekten tauscht man nicht einfach mal so das DB-Backend, ORM hin oder her</li>
<li>Padrino macht es auch nicht einfacher, gibt einem aber von Anfang die Info, dass es mehr
als ein gibt</li>
</ul></li>
<li>Doku bei Rails sehr monolitisch, bei Padrino für jede Komponente eine eigene, unabhängige Doku</li>
<li>Der Austausch von ActiveRecord ist wegen ActiveModel sehr leicht geworden
<ul>
<li>Sehr viele ORMs und Form-Helper nutzen sehr viel ActiveModel</li>
</ul></li>
<li>Padrino benutzt ActiveSupport
<ul>
<li>Allerdings sehr wenig by default</li>
</ul></li>
<li>Zwischenfazit: Der Entwickler wird bei Padrino eher gezwungen sich mit Komponenten und Entscheidungen
kritisch zu beschäftigen</li>
<li>Padrino bietet besser dokumentierte APIs um Komponenten einzuschieben
<ul>
<li>Rails 2 Zeiten - reden wir nicht drüber</li>
<li>Immer noch Altlasten, z.B.: viele Möglichkeiten aus dem Controller zu rendern</li>
<li>Rails ist einfach gute Konkurrenz ;-)</li>
<li>Rails ist schon ein sehr mächtiges Werkzeug</li>
</ul></li>
<li>Als Rails-Entwickler kann man sich gut von Padrino inspirieren lassen</li>
<li>Basti ist beeindruckt vom Merb-Rails Merge (<a href="http://rubyonrails.org/merb">http://rubyonrails.org/merb</a>)</li>
</ul>
<h3>Software Engineering</h3>
<ul>
<li>Bezug &quot;How do we stop our Rails apps from being so horrible when they grow up?&quot; (<a href="http://bit.ly/VFtzUI">http://bit.ly/VFtzUI</a>)
<ul>
<li>Alles unter dem Controller ist für Dirk immer noch ein sehr schwieriges Thema</li>
</ul></li>
<li>Kann Padrino da unterstützen? Durch Aufklärung?
<ul>
<li>Bei Padrino ist der Tipp: Schnell raus aus dem Controller</li>
<li>Ein Webframework sollte vor allem den Web-Teil richtig machen</li>
<li>Bei allem danach hört die Unterstützung schnell auf</li>
</ul></li>
<li>DCI (Data, context and interaction)</li>
<li>Flo arbeitet gerade einem Projekt mit Delegates ähnlich wie in Objective-C: Funktioniert super.</li>
<li>Dependency Injection ist eigentlich nur die richtigen Objekte an die richtige Stelle schieben
<ul>
<li>DI muss nicht Spring mit XML sein</li>
<li>Geht in Ruby viel einfacher</li>
<li>Geht auch in Java viel einfacher: Google Guice (<a href="https://code.google.com/p/google-guice/">https://code.google.com/p/google-guice/</a>)</li>
</ul></li>
<li>&quot;Am Ende trennt sich bei diesen Themen einfach die Spreu vom Weizen&quot;
<ul>
<li>ActiveRecord führt einen aber vielleicht zu weit in einen falsche Richtung</li>
<li>Allerdings: Nie wieder ohne ORM</li>
</ul></li>
<li>Anemic Domain Model von Martin Fowler (<a href="http://martinfowler.com/bliki/AnemicDomainModel.html">http://martinfowler.com/bliki/AnemicDomainModel.html</a>)
<ul>
<li>Ist ein Anti-Pattern</li>
<li>Sieht aus wie ein Domain-Model, aber:
<ul>
<li>Models halten nur Daten</li>
<li>Verhalten lebt in einem prozeduralen Service-Layer</li>
</ul></li>
<li>Lösung sind dann &quot;richtige&quot; Domain-Models (<a href="http://martinfowler.com/eaaCatalog/domainModel.html">http://martinfowler.com/eaaCatalog/domainModel.html</a>) und
&quot;richtige&quot; Service-Layer (<a href="http://martinfowler.com/eaaCatalog/serviceLayer.html">http://martinfowler.com/eaaCatalog/serviceLayer.html</a>)</li>
<li>Basti hat bisher noch nie davon gehört</li>
<li>Flo hat P of EAA nur überflogen aber Refactoring gefressen
<ul>
<li>Wichtigste Erkenntnis: Feature Hut ODER Refactoring Hut NIEMALS beides!</li>
</ul></li>
</ul></li>
<li>Die Zwei Stacks von Rails (<a href="http://words.steveklabnik.com/rails-has-two-default-stacks">http://words.steveklabnik.com/rails-has-two-default-stacks</a>)
<ul>
<li>Omakase (<a href="http://en.wikipedia.org/wiki/Omakase">http://en.wikipedia.org/wiki/Omakase</a>) vs. Prime (<a href="http://en.wikipedia.org/wiki/Prime_(symbol)#Use_in_mathematics.2C_statistics.2C_and_science">http://en.wikipedia.org/wiki/Prime_(symbol)#Use_in_mathematics.2C_statistics.2C_and_science</a>)
<ul>
<li>Omakase: ERB, MySQL, minitest, Fat Models, Skinny Controllers</li>
<li>Prima: HAML, PostgreSQL, RSpec &amp; Cucumber, Fat Models, Skinny
Controllers, Service Layer</li>
</ul></li>
<li>Für Rails ist DHH der Sushi-Chef: <a href="http://david.heinemeierhansson.com/2012/rails-is-omakase.html">http://david.heinemeierhansson.com/2012/rails-is-omakase.html</a></li>
<li>Es geht nicht um besser oder schlechter</li>
<li>Wie kommen Anfänger klar?</li>
<li>Eigentlich muss man sich gar nicht aktiv entscheiden, wie kommt man überhaupt auf den anderen Stack
<ul>
<li>PostgreSQL ist die Profi-Alernative zu MySQL</li>
<li>Mehr Aufwand in der Wartung verhält sich aber viel wartbarer</li>
<li>MySQL lässt sich trotzdem sehr gut betreiben</li>
<li>Flo steht auf rustikale Software</li>
<li>Man entdeckt Tablespaces (<a href="http://www.postgresql.org/docs/8.3/static/manage-ag-tablespaces.html">http://www.postgresql.org/docs/8.3/static/manage-ag-tablespaces.html</a>)</li>
</ul></li>
<li>Basti mag eher RSpec aber nimmt sonst eher den Omakase Stack</li>
<li>Flo mag mehr ERb nimmt aber Postgres</li>
<li>Eigentlich passt der Name eh nicht, weil ein guter Chef setzt einem nicht zweimal das gleiche Essen vor
<ul>
<li>Idee: Stack-Randomizer im Projektgenerator</li>
</ul></li>
</ul></li>
<li>Flo kennt das Rubyworks-Ökosystem
<ul>
<li>Wir haben das maßlos unterschätzt</li>
<li>Ist Thomas Sawyer (<a href="http://rubyworks.github.com/">http://rubyworks.github.com/</a>)</li>
<li>Ruby Q.E.D.: Cucumber auf Steroiden (<a href="https://github.com/rubyworks/qed">https://github.com/rubyworks/qed</a>)</li>
<li>Verwendet AE als Test-Lib (<a href="http://rubyworks.github.com/ae/">http://rubyworks.github.com/ae/</a>) auch von ihm</li>
<li>Es lassen sich damit Blog-Posts testen</li>
</ul></li>
<li>Semantic-Versioning at its best: <a href="https://github.com/sunaku/tork">https://github.com/sunaku/tork</a></li>
<li>Mit viel Liebe und Mühe sehr gute Libraries und die Masse verwendet es noch nichtmal
<ul>
<li><a href="https://github.com/sunaku/inochi">https://github.com/sunaku/inochi</a></li>
</ul></li>
<li>RSpec&#39;s Doku ist in Cucumber (<a href="https://www.relishapp.com/">https://www.relishapp.com/</a>)</li>
<li>Dokumentation ist nicht trivial</li>
<li>Zed Shaw hat einmal gesagt, dass das Problem darin besteht, dass wir den Leuten beibringen müssen wie sie es entwicklen
<ul>
<li>Die Technik ist da, das Lernen ist das Problem</li>
<li>Code-Review ist dafür gut</li>
<li>In guten Teams geht nichts einfach durch</li>
<li>Es geht dabei um Code, nicht um Kritik an der Person</li>
</ul></li>
</ul>
<h3>Tools</h3>
<ul>
<li>JSON
<ul>
<li>JSON Pretty Print: <a href="https://github.com/jmhodges/jsonpp">https://github.com/jmhodges/jsonpp</a></li>
<li>jq: <a href="http://stedolan.github.com/jq/">http://stedolan.github.com/jq/</a>
<ul>
<li>JSON Path ist Kindergarten</li>
</ul></li>
</ul></li>
<li>httpie statt curl: <a href="https://github.com/jkbr/httpie">https://github.com/jkbr/httpie</a></li>
<li>CodeRay hat einen Terminal Highlighter (<a href="http://coderay.rubychan.de/">http://coderay.rubychan.de/</a>)
<ul>
<li>Sehr genau, weniger Sprachen als Pygments (<a href="http://pygments.org/">http://pygments.org/</a>)</li>
</ul></li>
<li>Hosting Static Pages:
<ul>
<li>GitHub Pages (<a href="http://pages.github.com/">http://pages.github.com/</a>)</li>
<li>Muss nicht nur Jekyll sein…</li>
<li><a href="http://neilmiddleton.com/the-composability-of-buildpacks/">http://neilmiddleton.com/the-composability-of-buildpacks/</a></li>
<li><a href="http://middlemanapp.com/">http://middlemanapp.com/</a> -> Heroku</li>
<li>Auch gut für Bloggen im Zug</li>
</ul></li>
<li>Empfehlung: Syntax-Sonntag bei Ruby-Mine (<a href="http://www.ruby-mine.de/">http://www.ruby-mine.de/</a>)
<ul>
<li>Sehr gute Einführung in Oniguruma (<a href="http://www.ruby-mine.de/wonado">http://www.ruby-mine.de/wonado</a>)</li>
</ul></li>
<li>Gutes deutsches Ruby-Wiki: <a href="http://wiki.ruby-portal.de/Hauptseite">http://wiki.ruby-portal.de/Hauptseite</a></li>
<li>Open-Source Nachbau des RPG-Makers (<a href="http://www.rpgmakerweb.com/">http://www.rpgmakerweb.com/</a>) in Ruby (<a href="http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards">http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards</a>)</li>
<li>Ruby-Forum ist immer noch in PHP :-)</li>
<li>Foren sind irgendwie nicht mehr aktuell, wird aber noch nachgefragt</li>
</ul>
<h3>Events</h3>
<ul>
<li>Insider-Infos zur SIGINT (Nachtrag):
<ul>
<li>Mehr Technik-Bezug incoming!</li>
<li>CFP soll ganz bald starten</li>
</ul></li>
<li>eurucamp findet auch wieder 2013 statt: <a href="http://eurucamp.org/">http://eurucamp.org/</a> (16. - 18. August 2013)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST003" />
</item>
<item>
<title>GST004 - Ich dachte C ist fertig</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Frank Celler (@fceller) über mruby</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst004.mp3" length="52196815" type="audio/mpeg"/>
<guid isPermaLink="false">GST004</guid>
<pubDate>Tue, 05 Feb 2013 00:31:37 +0100</pubDate>
<itunes:duration>01:12:18</itunes:duration>
<itunes:summary><![CDATA[Unser Gast ist heute: Frank Celler (@fceller, http://triagens.com)
**Synopsis**: Heute geht es um mruby, C-Hacking und Bytecode-Compiler
### Errata
* Neue RubyWiki Seite zum Open RPG Maker: http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards
(danke @qquintilianus, https://twitter.com/qquintilianus/status/298385311761842176)
### Unser Gast
* Als Errata zu GST001, mruby ;-)
* Frank ist kein Rubyist, sondern C-Hacker
### (M)Ruby
* Steht für Matz Minimal Embedded Ruby
* Um irgendwo embedded zu werden
* Hardware (zB.: Roboter)
* iOS (http://mobiruby.org/)
* Andere Programme (zB: Datenbanken)
* Redis (http://redis.io/) embedded zum Beispiel Lua (http://www.lua.org/)
* Da Lua irgendwie nicht so richtig für Programmierer ist, könnte
mruby hier eine Lücke schließen
* Ruby 1.8 ist nicht dafür entworfen irgendwo eingebettet zu werden
* **mruby in a Nutshell**
* Bytecode-Compiler (ähnlich wie YARV in Ruby 1.9)
* Soll eine sehr, sehr kleine, überall lauffähige VM bieten
(Rite-VM)
* Ein sehr kleiner Satz von Libraries
* Es gibt _kein_ `require`
* Es gibt `mgem` (https://github.com/bovi/mgem)
* **Einschub:** http://mruby.sh/ -> Englische Übersetzung der japanischen News
von Daniel Bovensiepen (http://www.bovensiepen.net/)
* mgems sind quasi C-Libs
* Stdlib ist quasi nicht existent
* Core ist auch stark eingeschränkt (kein Bignum, keine Regexp,
keine Threads)
* Es gibt als mgem eine cURL-Lib (was für eine Datenbank die HTTP
spricht ganz sinnvoll ist)
* mruby ohne Threads macht vor allem für Datenbanken Sinn
* Ruby ist ein Standard: http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579
* Inzwischen gehen auch `attr_accessor` und andere Introspection
Features
* mruby wird magischer ;-)
* Wo hat der Frank mruby überhaupt eingebettet?
* ArangoDB - http://www.arangodb.org/
* Eine Open-Source Dokumentendatenbank
* Wofür bettet man eine Scriptsprache in eine Datenbank ein?
* Filtern von Ausgaben
* Implementierung von Triggern (statt PL/SQL - http://en.wikipedia.org/wiki/PL/SQL)
* Anreichern von Ausgaben
* Welche Scriptsprache nimmt man da:
* PHP trauen wir uns nicht
* JavaScript funktioniert mit V8 (https://code.google.com/p/v8/), wurde dann auch integriert
* Dokumentation ist grausam
* Sehr schnell, in C++
* wenn man einen Fehler sucht, kann man nur aufgeben ;-)
* Arango ist in C/C++ geschrieben
* Haben sehr früh Zugang zum mruby Repo bekommen
* mruby lässt sich sehr leicht einbetten
* Dokumentation ist genauso schlecht wie die von V8
* Man kommt aber noch zu Fuß durch den Code
* Probleme bei V8 war JavaScript-Prototypen in C++ Objekte abzubilden
* mruby wurde mit dem Gedanke entwickelt eingebettet zu werden, daher
sind entsprechende Hooks vorgesehen C-Strukturen in Ruby abzubilden
* V8 verwendet UTF-16, Arango verwendet UTF-8
* mruby verwendet auch UTF-8 -> Overhead fällt weg
* Frank hat mit LLVM rum gespielt und hat aus mruby den Faktor 2-3 raus geholt
* Was noch viel für die Performance tun kann ist Method-Caching
* Momentan ist mruby noch Alpha-Status
* In der homebrew Version ist mruby drin
* Für Linux muss es per Hand gebaut werden
* Bei ArangoDB ist eine Shell für mruby dabei (siehe auch: http://qiezi.me/projects/mruby-web-irb/mruby.html)
* emscripten.org
* Die mruby Shell in ArangoDB ist analog zu der JavaScript Shell in
ArangoDB
* mruby hatte bis vor kurzem keine richtiges Makefile
* Daniel Bovensiepen hat dann ein CMake-File erstellt (http://cmake.org)
* Seit Dezember 2012 gibt es auch ein Rakefile
* War unter Windows vor der totale Krampf
* ArangoDB gibt es seit kurzem auch für Windows
* Probleme mit libev und ICU
* UTF-8 hat zwei Darstellung für Umlaute: den Umlaut und zwei Punkte + Buchstabe
* Basti hatte einmal sehr viel Freude mit case-insensitive und case-sensitive Systemen
* Macht auch Probleme bei Collation
* ICU macht das einfach für einen (http://site.icu-project.org/)
* Die Windows-Version von ArangoDB hat keinen mruby Support
* mruby targeted aber Windows
* Anekdote: Die C-Standards entwickeln sich im Jahrzehnt-Rhytmus
* VisualStudio ist bei ANSI-C Version '89 stehengeblieben
* Frank macht C schon seit 30 Jahren
* Hat für den TRS-80 ein Arcade-Spiel nachprogrammiert (http://en.wikipedia.org/wiki/TRS-80)
* Frank hat das Spiel auf einem TRS-80 Emulator für Linux widergefunden :-)
* "Magic Worm for Model I" (http://fosdem.graph-database.org/news/8,
http://www.retrocomputing.net/parts/r/radio/TRS80_4/docs/on2002.htm)
* Frank erinnert einen C Interpreter
* Wenn C dann lieber Objective-C, meint Frank
* Ist für Rubyisten noch eingängiger, vom mentalen Modell
* Basti hat auf dem letzten DevHouseFriday 'Ruby is Magic - Reflections' gezeigt (https://speakerdeck.com/railsbros_dirk/colognerb-reflections)
* Cocoa ist von oben bis unten voll mit Magic
* ArangoDB im MacApp-Store: https://itunes.apple.com/de/app/arangodb/id564723448?l=en&mt=12
* War letztes Jahr unter den Top-10 für Dev-Tools
* Ohne mruby
* Ähnlich wie damals CouchDBX: http://janl.github.com/couchdbx/
* Die JavaScript-Shell von ArangoDB läuft im Browser
* Die ArangoDB-Shell ist ein eigener Client und spricht mit dem Server über HTTP
* JavaScript-Console für den Browser: http://replit.github.com/jq-console/
* http://stedolan.github.com/jq/
* The JSON Query Language: http://www.jsoniq.org/
* Ähnlich wie das was ArangoDB verwendet (unabhängig)
### Events
* NoSQL Matters: 25. - 27.4.2013 (http://2013.nosql-matters.org/cgn/)
* Early Bird Tickets schon verfügbar
* 25.4. ist Training Day
* Keynote: Martin Fowler
* Im KOMED in Köln
* Mit Hadoop-Track
* Und der Rest der bisher veröffentlichen Speaker ist nicht weniger hochkarätig
BTW: Jan Lehnardt ist jetzt bei 'The Couch Firm' - http://thecouchfirm.com/]]></itunes:summary>
<description><![CDATA[<p>Unser Gast ist heute: Frank Celler (<a href="https://twitter.com/fceller">@fceller</a>, <a href="http://triagens.com">http://triagens.com</a>)</p>
<p><strong>Synopsis</strong>: Heute geht es um mruby, C-Hacking und Bytecode-Compiler</p>
<h3>Errata</h3>
<ul>
<li>Neue RubyWiki Seite zum Open RPG Maker: <a href="http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards">http://devel.pegasus-alpha.eu/projects/openrubyrmk/boards</a>
(danke <a href="https://twitter.com/qquintilianus">@qquintilianus</a>, <a href="https://twitter.com/qquintilianus/status/298385311761842176">https://twitter.com/qquintilianus/status/298385311761842176</a>)</li>
</ul>
<h3>Unser Gast</h3>
<ul>
<li>Als Errata zu GST001, mruby ;-)</li>
<li>Frank ist kein Rubyist, sondern C-Hacker</li>
</ul>
<h3>(M)Ruby</h3>
<ul>
<li>Steht für Matz Minimal Embedded Ruby</li>
<li>Um irgendwo embedded zu werden
<ul>
<li>Hardware (zB.: Roboter)</li>
<li>iOS (<a href="http://mobiruby.org/">http://mobiruby.org/</a>)</li>
<li>Andere Programme (zB: Datenbanken)</li>
</ul></li>
<li>Redis (<a href="http://redis.io/">http://redis.io/</a>) embedded zum Beispiel Lua (<a href="http://www.lua.org/">http://www.lua.org/</a>)
<ul>
<li>Da Lua irgendwie nicht so richtig für Programmierer ist, könnte
mruby hier eine Lücke schließen</li>
</ul></li>
<li>Ruby 1.8 ist nicht dafür entworfen irgendwo eingebettet zu werden</li>
<li><strong>mruby in a Nutshell</strong>
<ul>
<li>Bytecode-Compiler (ähnlich wie YARV in Ruby 1.9)</li>
<li>Soll eine sehr, sehr kleine, überall lauffähige VM bieten
(Rite-VM)</li>
<li>Ein sehr kleiner Satz von Libraries
<ul>
<li>Es gibt <em>kein</em> <code>require</code></li>
<li>Es gibt <code>mgem</code> (<a href="https://github.com/bovi/mgem">https://github.com/bovi/mgem</a>)</li>
<li><strong>Einschub:</strong> <a href="http://mruby.sh/">http://mruby.sh/</a> -> Englische Übersetzung der japanischen News
von Daniel Bovensiepen (<a href="http://www.bovensiepen.net/">http://www.bovensiepen.net/</a>)</li>
<li>mgems sind quasi C-Libs</li>
<li>Stdlib ist quasi nicht existent</li>
<li>Core ist auch stark eingeschränkt (kein Bignum, keine Regexp,
keine Threads)</li>
<li>Es gibt als mgem eine cURL-Lib (was für eine Datenbank die HTTP
spricht ganz sinnvoll ist)</li>
<li>mruby ohne Threads macht vor allem für Datenbanken Sinn</li>
<li>Ruby ist ein Standard: <a href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579">http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=59579</a></li>
<li>Inzwischen gehen auch <code>attr_accessor</code> und andere Introspection
Features</li>
<li>mruby wird magischer ;-)</li>
</ul></li>
</ul></li>
<li>Wo hat der Frank mruby überhaupt eingebettet?
<ul>
<li>ArangoDB - <a href="http://www.arangodb.org/">http://www.arangodb.org/</a></li>
<li>Eine Open-Source Dokumentendatenbank</li>
</ul></li>
<li>Wofür bettet man eine Scriptsprache in eine Datenbank ein?
<ul>
<li>Filtern von Ausgaben</li>
<li>Implementierung von Triggern (statt PL/SQL - <a href="http://en.wikipedia.org/wiki/PL/SQL">http://en.wikipedia.org/wiki/PL/SQL</a>)</li>
<li>Anreichern von Ausgaben</li>
<li>Welche Scriptsprache nimmt man da:
<ul>
<li>PHP trauen wir uns nicht</li>
<li>JavaScript funktioniert mit V8 (<a href="https://code.google.com/p/v8/">https://code.google.com/p/v8/</a>), wurde dann auch integriert</li>
<li>Dokumentation ist grausam</li>
<li>Sehr schnell, in C++</li>
<li>wenn man einen Fehler sucht, kann man nur aufgeben ;-)</li>
</ul></li>
</ul></li>
<li>Arango ist in C/C++ geschrieben
<ul>
<li>Haben sehr früh Zugang zum mruby Repo bekommen</li>
</ul></li>
<li>mruby lässt sich sehr leicht einbetten</li>
<li>Dokumentation ist genauso schlecht wie die von V8
<ul>
<li>Man kommt aber noch zu Fuß durch den Code</li>
</ul></li>
<li>Probleme bei V8 war JavaScript-Prototypen in C++ Objekte abzubilden</li>
<li>mruby wurde mit dem Gedanke entwickelt eingebettet zu werden, daher
sind entsprechende Hooks vorgesehen C-Strukturen in Ruby abzubilden</li>
<li>V8 verwendet UTF-16, Arango verwendet UTF-8</li>
<li>mruby verwendet auch UTF-8 -> Overhead fällt weg</li>
<li>Frank hat mit LLVM rum gespielt und hat aus mruby den Faktor 2-3 raus geholt</li>
<li>Was noch viel für die Performance tun kann ist Method-Caching</li>
<li>Momentan ist mruby noch Alpha-Status
<ul>
<li>In der homebrew Version ist mruby drin</li>
<li>Für Linux muss es per Hand gebaut werden</li>
</ul></li>
<li>Bei ArangoDB ist eine Shell für mruby dabei (siehe auch: <a href="http://qiezi.me/projects/mruby-web-irb/mruby.html">http://qiezi.me/projects/mruby-web-irb/mruby.html</a>)</li>
<li>emscripten.org</li>
<li>Die mruby Shell in ArangoDB ist analog zu der JavaScript Shell in
ArangoDB</li>
<li>mruby hatte bis vor kurzem keine richtiges Makefile
<ul>
<li>Daniel Bovensiepen hat dann ein CMake-File erstellt (<a href="http://cmake.org">http://cmake.org</a>)</li>
<li>Seit Dezember 2012 gibt es auch ein Rakefile</li>
<li>War unter Windows vor der totale Krampf</li>
</ul></li>
<li>ArangoDB gibt es seit kurzem auch für Windows
<ul>
<li>Probleme mit libev und ICU</li>
</ul></li>
<li>UTF-8 hat zwei Darstellung für Umlaute: den Umlaut und zwei Punkte + Buchstabe</li>
<li>Basti hatte einmal sehr viel Freude mit case-insensitive und case-sensitive Systemen</li>
<li>Macht auch Probleme bei Collation</li>
<li>ICU macht das einfach für einen (<a href="http://site.icu-project.org/">http://site.icu-project.org/</a>)</li>
<li>Die Windows-Version von ArangoDB hat keinen mruby Support</li>
<li>mruby targeted aber Windows</li>
<li>Anekdote: Die C-Standards entwickeln sich im Jahrzehnt-Rhytmus</li>
<li>VisualStudio ist bei ANSI-C Version &#39;89 stehengeblieben</li>
<li>Frank macht C schon seit 30 Jahren
<ul>
<li>Hat für den TRS-80 ein Arcade-Spiel nachprogrammiert (<a href="http://en.wikipedia.org/wiki/TRS-80">http://en.wikipedia.org/wiki/TRS-80</a>)</li>
<li>Frank hat das Spiel auf einem TRS-80 Emulator für Linux widergefunden :-)</li>
<li>&quot;Magic Worm for Model I&quot; (<a href="http://fosdem.graph-database.org/news/8">http://fosdem.graph-database.org/news/8</a>,
<a href="http://www.retrocomputing.net/parts/r/radio/TRS80_4/docs/on2002.htm">http://www.retrocomputing.net/parts/r/radio/TRS80_4/docs/on2002.htm</a>)</li>
</ul></li>
<li>Frank erinnert einen C Interpreter</li>
<li>Wenn C dann lieber Objective-C, meint Frank</li>
<li>Ist für Rubyisten noch eingängiger, vom mentalen Modell</li>
<li>Basti hat auf dem letzten DevHouseFriday &#39;Ruby is Magic - Reflections&#39; gezeigt (<a href="https://speakerdeck.com/railsbros_dirk/colognerb-reflections">https://speakerdeck.com/railsbros_dirk/colognerb-reflections</a>)</li>
<li>Cocoa ist von oben bis unten voll mit Magic</li>
<li>ArangoDB im MacApp-Store: <a href="https://itunes.apple.com/de/app/arangodb/id564723448?l=en&amp;mt=12">https://itunes.apple.com/de/app/arangodb/id564723448?l=en&amp;mt=12</a>
<ul>
<li>War letztes Jahr unter den Top-10 für Dev-Tools</li>
<li>Ohne mruby</li>
<li>Ähnlich wie damals CouchDBX: <a href="http://janl.github.com/couchdbx/">http://janl.github.com/couchdbx/</a></li>
</ul></li>
<li>Die JavaScript-Shell von ArangoDB läuft im Browser</li>
<li>Die ArangoDB-Shell ist ein eigener Client und spricht mit dem Server über HTTP
<ul>
<li>JavaScript-Console für den Browser: <a href="http://replit.github.com/jq-console/">http://replit.github.com/jq-console/</a></li>
</ul></li>
<li><a href="http://stedolan.github.com/jq/">http://stedolan.github.com/jq/</a></li>
<li>The JSON Query Language: <a href="http://www.jsoniq.org/">http://www.jsoniq.org/</a>
<ul>
<li>Ähnlich wie das was ArangoDB verwendet (unabhängig)</li>
</ul></li>
</ul>
<h3>Events</h3>
<ul>
<li>NoSQL Matters: 25. - 27.4.2013 (<a href="http://2013.nosql-matters.org/cgn/">http://2013.nosql-matters.org/cgn/</a>)
<ul>
<li>Early Bird Tickets schon verfügbar</li>
<li>25.4. ist Training Day</li>
<li>Keynote: Martin Fowler</li>
<li>Im KOMED in Köln</li>
<li>Mit Hadoop-Track</li>
<li>Und der Rest der bisher veröffentlichen Speaker ist nicht weniger hochkarätig</li>
</ul></li>
</ul>
<p>BTW: Jan Lehnardt ist jetzt bei &#39;The Couch Firm&#39; - <a href="http://thecouchfirm.com/">http://thecouchfirm.com/</a></p>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST004" />
</item>
<item>
<title>GST005 - HistorieLöschenService</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Oliver Jucknath über Architektur, SOA, Continuous Deployment und Testing und die Cloud</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst005.mp3" length="62470391" type="audio/mpeg"/>
<guid isPermaLink="false">GST005</guid>
<pubDate>Thu, 14 Feb 2013 15:07:49 +0100</pubDate>
<itunes:duration>01:26:34</itunes:duration>
<itunes:summary><![CDATA[Unser Gast ist heute: Oliver Jucknath (http://www.jubeco.de/)
**Synopsis**: Heute geht es um (Software) Architektur, Testing, Agile
Entwicklung in großen Teams und SOA. Außerdem bietet unser Gast einige
interessante Einblicke in seine Erfahrung mit Großprojekten.
### Unser Gast
* Oliver ist Entwickler, SOA Evangelist, Architekt und Social Debugger
* Angefangen zu programmieren mit 11, macht aktuell vor allem Java
* lange Zeit Entwickler gewesen
* mittlerweile mehr in Richtung Consulting
* schreibt auch Computerspiele Service-orientiert
### Architektur
* Was ist Architektur? Auswahl von Tooling, Deployment, Performance, ...
* Manchmal ist etwas neu entwickeltes weg werfen und neu machen eine sehr gute Idee
* Explorative Architektur
* Oliver hat einen sehr weiten Blick auf Architektur
* Architektur fängt bei der fachlichen Seite an
* …und endet beim Entwickler
* Oliver hat Konzerne mit Write-only Architekturen erlebt, wo ein
Architekt ein System baut, ohne wirkliches Feedback zu bekommen
* Oliver's kleinstes Projekt: nur er selber das größte 2000 Entwickler
* Erste Grundregel des Consultings: "Arbeite nicht für einen dummen Chef"
* Task Force: Projektarbeit unter extremen Umständen. Weit über Time & Budget. Projektrettung.
* Der Übergang von Architekturaufgaben zum Entwicklungsprozess sind teilweise fließend
### Agile Entwicklung
* Agile Entwicklung zielt darauf ab, immer wieder lauffähige
Zwischenergebnisse zu erzielen
* Lieber eine Woche in die falsche, dann zwei Wochen in die fast
richtige und dann in die richtige Richtung laufen
* Clean HEAD, Dirty HEAD
* Lieber Clean HEAD, nur in Ausnahmesituationen Dirty HEAD
### Continuous Deployment und Testing
* Continuous Deployment ist für viele der heilige Gral
* Continuous Deployment erfordert zwingend kontinuierliches Testen
* Oliver: "Testen ist Teil der Architektur"
* Durch zu vieles (Unit) Testen, kann die Agilität abnehmen (viele
Tests für einen kleinen Change)
* Oliver bevorzugt mittlerweile Application Level Testing (z.B. mit jmeter)
* Entwickler sind häufig keine guten Tester (falsche Perspektive)
* Ab Teams mit sieben Entwicklern, würde Oliver gerne einen Tester dabei haben
* In großen Unternehmen, haben Entwickler keinen Einblick in
Produktionsdaten und können somit nicht immer verstehen, was die
Benutzer brauchen.
* Olivers Debugging Abenteuer: Es gab bei einem großen deutschen Telco mal ein Handy für 87 Fragezeichen
* Testing auf einer pre-Stage Umgebung (siehe Continuous Deployment)
* Optionale Service Parameter und Featureflags (Loose Coupling)
* Continuous Deployment (CD) ist richtig teuer:
* gute Entwickler
* vernünftiges Projektmanagement
* Pre-Stage Hardware
* Wo lohnt sich CD?
* Handelsplattformen, Banken, die sich schnell auf Situationen
einstellen müssen
* Bei kleinen Projekten: CI und CD machbarer
* Man will aber in jedem Fall Metriken haben, das ist (natürlich) auch
ein Thema für die Architektur
### SOA: Service-oriented Architecture
* Oliver: Der Sprung zur SOA ist wie der Sprung zur Objekt-orientierten Programmierung
* Änderungen an einem System über fünf Jahre bei einer großen Telco
* GUI: extrem viele Änderungen, sehr variabel
* Datenbank: ebenfalls nicht sehr stabil
* Services: sind am stabilsten
* Was ist ein Service?
* Ein Service ist eine Schnittstelle zu einer fachlichen (selten
technisch) Funktionalität, die unabhängig von der Implementierung ist
* Service Anti-Pattern: Ein Service, der eine OO-Schnittstelle, exportiert.
* Ein Service muss die Fachlichkeit beschreiben, dass können am besten
Leute aus der Fachseite
* Entwickler passen sich besser an die "komischen" fachlichen Services
an, als die Fachseite an die Services, die Entwickler definieren
würden.
* Services sind NICHT Objekt-orientiert!
* Reusability ist keine gute Idee für Services, mehrfache Verwendung
durch verschiedene Kanäle ist hingegen eine gute Idee
* "Menschen denken nicht Objekt-orientiert"
* Services sind leichtgewichtig, man kann sie einfacher ändern, oder
neue, parallel zu bestehenden einführen
* Noch ein Anti-Pattern: "Do what I mean Service", bestehend aus einem
String "XML in" und Return-Wert "XML out"
* Services sollen wohl definiert sein
* Ein Service-Bus ist ein zentrales Medium, welches benutzt wird, um als
Servicenutzer einen Service aufzurufen.
* Ein Bus kann auf fachlicher Ebene beobachtet werden, denn auf dem
Bus werden Fachliche Dinge versendet
* Vor SOA war EAI (http://en.wikipedia.org/wiki/Enterprise_application_integration)
* SOA Architekturen haben eine bessere Performance als andere Architekturen
* Mit CRUD fährt man SOA mit richtiger Wonne gegen die Wand
* Und CRUD ist der Tot jeder Performance
* Der (nächste) heilige Gral: Modellierung von Prozessen
* Wechsel im Medium sind ein Problem: Anmeldung via Webseite, Support via Telefon
* Was man will: Eine Business Process Engine (im Prinzip eine große State Machine)
* Ein Prozess mit persistiert werden können
* Eine SOA in Kombination mit einer Process Engine erlaubt es sehr
gute Beobachtungen und Aussagen über Systeme und Geschäftsabläufe zu treffen
### Die Cloud
* Die Cloud ist interessant für Architekten
* …hat aber auch eigene Schwierigkeiten: z.B. anvertrauen von Daten
* Cloud ist hervorragend um (hoch) parallel und mit hoher Verfügbarkeit zu arbeiten
* …setzt aber viel Knowhow im Bereich Kryptographie voraus
* Oliver würde User Authentifizierung nicht in der Cloud machen
* Warum will man in die Cloud?
* Geringere Kosten
* Hohe Verfügbarkeit
* Hohe Sicherheit
* Oliver meint, dass hohe Verfügbarkeit ist kein wirkliches Argument
für die Cloud ist, weil heutige Hardware ohnehin sehr gut ist
* 90% der Downtimes sind Security Relevant, der Rest ist meist ein Fehler von Entwicklern
* Daher hauptsächlicher Grund für Downtimes: Security
* Pro Cloud: Anonymous Angriff auf Amazon, gemerkt hat Amazon aber kaum was
### Olivers kleine Geschichte zu Open Source
* Kleine Firma und StartUps: Open Source, yeah!
* Dann wird es ernst und die Firma seriös: Wir können uns Oracle leisten!
* Dann will man aber five-nines Uptime haben… das geht nur noch mit
Open Source, weil man ggf. selber Dinge patchen muss
* Weil: Stecker ziehen ist schlecht für die Uptime
* Unterm Strich will man alle Systeme, die an der Front stehen, in Open
Source haben]]></itunes:summary>
<description><![CDATA[<p>Unser Gast ist heute: Oliver Jucknath (<a href="http://www.jubeco.de/">http://www.jubeco.de/</a>)</p>
<p><strong>Synopsis</strong>: Heute geht es um (Software) Architektur, Testing, Agile
Entwicklung in großen Teams und SOA. Außerdem bietet unser Gast einige
interessante Einblicke in seine Erfahrung mit Großprojekten.</p>
<h3>Unser Gast</h3>
<ul>
<li>Oliver ist Entwickler, SOA Evangelist, Architekt und Social Debugger</li>
<li>Angefangen zu programmieren mit 11, macht aktuell vor allem Java</li>
<li>lange Zeit Entwickler gewesen</li>
<li>mittlerweile mehr in Richtung Consulting</li>
<li>schreibt auch Computerspiele Service-orientiert</li>
</ul>
<h3>Architektur</h3>
<ul>
<li>Was ist Architektur? Auswahl von Tooling, Deployment, Performance, ...</li>
<li>Manchmal ist etwas neu entwickeltes weg werfen und neu machen eine sehr gute Idee</li>
<li>Explorative Architektur</li>
<li>Oliver hat einen sehr weiten Blick auf Architektur
<ul>
<li>Architektur fängt bei der fachlichen Seite an</li>
<li>…und endet beim Entwickler</li>
</ul></li>
<li>Oliver hat Konzerne mit Write-only Architekturen erlebt, wo ein
Architekt ein System baut, ohne wirkliches Feedback zu bekommen</li>
<li>Oliver&#39;s kleinstes Projekt: nur er selber das größte 2000 Entwickler</li>
<li>Erste Grundregel des Consultings: &quot;Arbeite nicht für einen dummen Chef&quot;</li>
<li>Task Force: Projektarbeit unter extremen Umständen. Weit über Time &amp; Budget. Projektrettung.</li>
<li>Der Übergang von Architekturaufgaben zum Entwicklungsprozess sind teilweise fließend</li>
</ul>
<h3>Agile Entwicklung</h3>
<ul>
<li>Agile Entwicklung zielt darauf ab, immer wieder lauffähige
Zwischenergebnisse zu erzielen</li>
<li>Lieber eine Woche in die falsche, dann zwei Wochen in die fast
richtige und dann in die richtige Richtung laufen</li>
<li>Clean HEAD, Dirty HEAD
<ul>
<li>Lieber Clean HEAD, nur in Ausnahmesituationen Dirty HEAD</li>
</ul></li>
</ul>
<h3>Continuous Deployment und Testing</h3>
<ul>
<li>Continuous Deployment ist für viele der heilige Gral</li>
<li>Continuous Deployment erfordert zwingend kontinuierliches Testen</li>
<li>Oliver: &quot;Testen ist Teil der Architektur&quot;</li>
<li>Durch zu vieles (Unit) Testen, kann die Agilität abnehmen (viele
Tests für einen kleinen Change)</li>
<li>Oliver bevorzugt mittlerweile Application Level Testing (z.B. mit jmeter)</li>
<li>Entwickler sind häufig keine guten Tester (falsche Perspektive)</li>
<li>Ab Teams mit sieben Entwicklern, würde Oliver gerne einen Tester dabei haben</li>
<li>In großen Unternehmen, haben Entwickler keinen Einblick in
Produktionsdaten und können somit nicht immer verstehen, was die
Benutzer brauchen.</li>
<li>Olivers Debugging Abenteuer: Es gab bei einem großen deutschen Telco mal ein Handy für 87 Fragezeichen</li>
<li>Testing auf einer pre-Stage Umgebung (siehe Continuous Deployment)</li>
<li>Optionale Service Parameter und Featureflags (Loose Coupling)</li>
<li>Continuous Deployment (CD) ist richtig teuer:
<ul>
<li>gute Entwickler</li>
<li>vernünftiges Projektmanagement</li>
<li>Pre-Stage Hardware</li>
</ul></li>
<li>Wo lohnt sich CD?
<ul>
<li>Handelsplattformen, Banken, die sich schnell auf Situationen
einstellen müssen</li>
</ul></li>
<li>Bei kleinen Projekten: CI und CD machbarer</li>
<li>Man will aber in jedem Fall Metriken haben, das ist (natürlich) auch
ein Thema für die Architektur</li>
</ul>
<h3>SOA: Service-oriented Architecture</h3>
<ul>
<li>Oliver: Der Sprung zur SOA ist wie der Sprung zur Objekt-orientierten Programmierung</li>
<li>Änderungen an einem System über fünf Jahre bei einer großen Telco
<ul>
<li>GUI: extrem viele Änderungen, sehr variabel</li>
<li>Datenbank: ebenfalls nicht sehr stabil</li>
<li>Services: sind am stabilsten</li>
</ul></li>
<li>Was ist ein Service?</li>
<li>Ein Service ist eine Schnittstelle zu einer fachlichen (selten
technisch) Funktionalität, die unabhängig von der Implementierung ist</li>
<li>Service Anti-Pattern: Ein Service, der eine OO-Schnittstelle, exportiert.</li>
<li>Ein Service muss die Fachlichkeit beschreiben, dass können am besten
Leute aus der Fachseite</li>
<li>Entwickler passen sich besser an die &quot;komischen&quot; fachlichen Services
an, als die Fachseite an die Services, die Entwickler definieren
würden.</li>
<li>Services sind NICHT Objekt-orientiert!</li>
<li>Reusability ist keine gute Idee für Services, mehrfache Verwendung
durch verschiedene Kanäle ist hingegen eine gute Idee</li>
<li>&quot;Menschen denken nicht Objekt-orientiert&quot;</li>
<li>Services sind leichtgewichtig, man kann sie einfacher ändern, oder
neue, parallel zu bestehenden einführen</li>
<li>Noch ein Anti-Pattern: &quot;Do what I mean Service&quot;, bestehend aus einem
String &quot;XML in&quot; und Return-Wert &quot;XML out&quot;</li>
<li>Services sollen wohl definiert sein</li>
<li>Ein Service-Bus ist ein zentrales Medium, welches benutzt wird, um als
Servicenutzer einen Service aufzurufen.</li>
<li>Ein Bus kann auf fachlicher Ebene beobachtet werden, denn auf dem
Bus werden Fachliche Dinge versendet</li>
<li>Vor SOA war EAI (<a href="http://en.wikipedia.org/wiki/Enterprise_application_integration">http://en.wikipedia.org/wiki/Enterprise_application_integration</a>)</li>
<li>SOA Architekturen haben eine bessere Performance als andere Architekturen</li>
<li>Mit CRUD fährt man SOA mit richtiger Wonne gegen die Wand</li>
<li>Und CRUD ist der Tot jeder Performance</li>
<li>Der (nächste) heilige Gral: Modellierung von Prozessen</li>
<li>Wechsel im Medium sind ein Problem: Anmeldung via Webseite, Support via Telefon</li>
<li>Was man will: Eine Business Process Engine (im Prinzip eine große State Machine)</li>
<li>Ein Prozess mit persistiert werden können</li>
<li>Eine SOA in Kombination mit einer Process Engine erlaubt es sehr
gute Beobachtungen und Aussagen über Systeme und Geschäftsabläufe zu treffen</li>
</ul>
<h3>Die Cloud</h3>
<ul>
<li>Die Cloud ist interessant für Architekten</li>
<li>…hat aber auch eigene Schwierigkeiten: z.B. anvertrauen von Daten</li>
<li>Cloud ist hervorragend um (hoch) parallel und mit hoher Verfügbarkeit zu arbeiten</li>
<li>…setzt aber viel Knowhow im Bereich Kryptographie voraus</li>
<li>Oliver würde User Authentifizierung nicht in der Cloud machen</li>
<li>Warum will man in die Cloud?
<ul>
<li>Geringere Kosten</li>
<li>Hohe Verfügbarkeit</li>
<li>Hohe Sicherheit</li>
</ul></li>
<li>Oliver meint, dass hohe Verfügbarkeit ist kein wirkliches Argument
für die Cloud ist, weil heutige Hardware ohnehin sehr gut ist</li>
<li>90% der Downtimes sind Security Relevant, der Rest ist meist ein Fehler von Entwicklern</li>
<li>Daher hauptsächlicher Grund für Downtimes: Security</li>
<li>Pro Cloud: Anonymous Angriff auf Amazon, gemerkt hat Amazon aber kaum was</li>
</ul>
<h3>Olivers kleine Geschichte zu Open Source</h3>
<ul>
<li>Kleine Firma und StartUps: Open Source, yeah!</li>
<li>Dann wird es ernst und die Firma seriös: Wir können uns Oracle leisten!</li>
<li>Dann will man aber five-nines Uptime haben… das geht nur noch mit
Open Source, weil man ggf. selber Dinge patchen muss</li>
<li>Weil: Stecker ziehen ist schlecht für die Uptime</li>
<li>Unterm Strich will man alle Systeme, die an der Front stehen, in Open
Source haben</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST005" />
</item>
<item>
<title>GST006 - Heute machen, morgen Legacy</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Lucas Dohmen (@moonbeamlabs) vor allem über ArangoDB</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst006.mp3" length="63590709" type="audio/mpeg"/>
<guid isPermaLink="false">GST006</guid>
<pubDate>Tue, 19 Feb 2013 23:27:37 +0100</pubDate>
<itunes:duration>01:28:07</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Heute geht es um ArangoDB und wie man einen coolen low-level Client für eine Datenbank baut, Mutation Testing,
Ruby/Rails Security und anderen geilen Scheiß.
### Gast (00:00:40)
* Lucas Dohmen (@moonbeamlabs)
* Studiert an der RWTH Aachen
### ArangoDB & Ashikawa (00:01:40)
* Lucas arbeitet an diversen Open Source Projekten rund um ArangoDB
* https://github.com/triAGENS/ashikawa-ar
* https://github.com/triAGENS/ArangoDB
* https://github.com/triAGENS/ashikawa-core
* Zwei Pattern zur Anbindung von Datenbanken: ActiveRecord (http://www.martinfowler.com/eaaCatalog/activeRecord.html) und DataMapper (http://www.martinfowler.com/eaaCatalog/dataMapper.html)
* Ziel von Ashikawa Core:
* Sehr leichtgewichtige Abstraktion über der REST-API von ArangoDB
* “Treiber” von anderen Dokumentendatenbanken liefern nicht nur einen Treiber sondern auch “Framework”
* Aktuell lässt sich das HTTP-Backend noch nicht austauschen, wird aber in Zukunft auf Faraday (https://github.com/lostisland/faraday) aufbauen
* Noch ist Ashikawa **nicht** Thread-safe
* Was baut auf Ashikawa Core auf?
* Implementierung des Active-Record-Patterns: https://github.com/triAGENS/ashikawa-ar
* Lucas verwendet Teile des DataMapper2 Projekts:
* https://github.com/solnic/virtus: Attributes on Steroids
* https://github.com/mbj/aequitas: External Validations
* Beide sind API-kompatibel zu ActiveModel, d.h. sie lassen sich einfach in Rails verwenden
* Contributor sind gerne gesehen!
* Lucas hat sich für die DataMapper2 Bibliotheken entschieden, weil DataMapper2 ArangoDB schon unterstützt (neben Postgres)
* Lucas hat außerdem das Gefühl, dass die Code-Qualität bei DataMapper2 höher ist
### Testing Ruby (00:19:50)
* Seattle.rb (http://ruby.sadi.st/Ruby_Sadist.html NSFW)
* Projekte wie `flog`, `flay`, `heckle`
* Am Anfang war die Code-to-Test-Ratio das Maß aller Dinge
* Dann kam die Code Coverage (http://en.wikipedia.org/wiki/Code_coverage)
* Code Coverage ist seit Ruby 1.9 sehr einfach zu messen
* Wir haben uns darauf geeinigt, dass 100% Code Coverage in Core-Bibliotheken erstrebenswert ist, in Anwendungen nicht mehr
* Beide Metriken sagen aber nichts über die absolute Qualität von Tests aus
* Wenn 100% Code Coverage erreichen sehr schwierig ist, dann ist das ein Code-Smell
* Code Metrics as a Service: Code Climate (https://codeclimate.com/)
* Enter Mutation Testing…
* Nette Einführung in das Thema und in mutant: http://solnic.eu/2013/01/23/mutation-testing-with-mutant.html
* mutant gem: https://github.com/mbj/mutant
* Mutation-Testing ist langsam
* Macht vor allem Sinn bei abgeschlossenen Bibliotheken
* Lucas will auch Mutation Testing in ashikawa-core machen
* mutant läuft am besten unter Rubinius
* https://github.com/burke/zeus
* pre-loaded Rails environment
* ähnlich zu spork, aber intelligenter, wenn es um reloading geht
### Ruby/Rails Security (00:39:00)
* Aaron über YAML, YAML F7U12: http://tenderlovemaking.com/2013/02/06/yaml-f7u12.html
* YAML nicht als User-Input!
* JSON und XML sind für den Austausch besser geeignet
* Padrino ist safe: http://www.padrinorb.com/blog/sleep-well-yaml-vulnerabilites-and-padrino
* Rails Security Issues und Start Ups? http://www.kalzumeus.com/2013/01/31/what-the-rails-security-issue-means-for-your-startup/
* **Were are doomed!1!1!elf**
* Sicherheitslücken gehören dazu (Höre http://geekstammtisch.de/#GST005)
* Wichtig ist wie man damit umgeht (Entwickler wie Maintainer)
* PHP-Code Injection via User-Agent String: http://blog.spiderlabs.com/2013/02/honeypot-alert-user-agent-field-php-injection-attacks.html
### Ruby (00:48:50)
* Ruby auf Python: Topaz (http://docs.topazruby.com/en/latest/blog/announcing-topaz/)
* Basti erinnert ein Projekt für eine True-Ruby-Sandbox: Ruby -> Rubyracer (V8) -> emscripted-ruby -> Ruby (https://github.com/cantino/ruby_on_ruby)
* Yanked Gems sind doof :-) (net-scp, net-ssh-gateway, newrelic)
### Technical Dept (00:55:10)
* Technical Dept: http://tech.groups.yahoo.com/group/scrumdevelopment/message/55626
* Don't do it.
* When we do it, figure out why and stop.
* When we do it, **leave it alone** if it's not in the way.
* If it is in the way, clean up the parts we pass through.
### Erlang on XEN aka geiler Scheiß (01:08:35)
* Erlang on XEN: http://zerg.erlangonxen.org/
* Startet im Kontext eines Requests eine komplette Erlang VM inkl. Applikation
### Tools (01:11:40)
* Record your Terminal: http://ascii.io/
* Boxen: http://boxen.github.com/
* Für Chef: https://github.com/pivotal/pivotal_workstation
* Vim Autocompletion (wenn Lucas schon da ist ^^)
* Aktuell verwenden Lucas und Dirk “YouCompleteMe”: https://github.com/Valloric/YouCompleteMe. Gefällt uns nicht so gut, aber sehr zu empfehlen wenn man C-* programmiert
* Alternative: https://github.com/Shougo/neocomplcache
* Oder einfach ohne extra Plugin ;-)
### Events (01:20:20)
* Railsgirls Rheinland ist in knapp 2 Wochen (http://www.nerdhub.de/events/260-rails-girls-rheinland/dates/1756)
* Railsgirls Followup am Donnerstag bei Intro (http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1571)
* cologne.rb am Mittwoch bei adcloud (http://www.nerdhub.de/events/40-cologne-rb/dates/843)
* cologne.js in der neuen Bottfabrik! (http://www.nerdhub.de/events/3-cologne-js/dates/1597)
### Offtopic (01:25:40)
* Die Nifty Drives (http://theniftyminidrive.com/) von Basti und Dirk sind endlich da
* Das von Dirk leider aber doch nur in Silber (statt Pink)
* XKCD Style Comics in HTML: http://cmx.io/edit/]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Heute geht es um ArangoDB und wie man einen coolen low-level Client für eine Datenbank baut, Mutation Testing,
Ruby/Rails Security und anderen geilen Scheiß.</p>
<h3>Gast (00:00:40)</h3>
<ul>
<li>Lucas Dohmen (<a href="https://twitter.com/moonbeamlabs">@moonbeamlabs</a>)</li>
<li>Studiert an der RWTH Aachen</li>
</ul>
<h3>ArangoDB &amp; Ashikawa (00:01:40)</h3>
<ul>
<li>Lucas arbeitet an diversen Open Source Projekten rund um ArangoDB
<ul>
<li><a href="https://github.com/triAGENS/ashikawa-ar">https://github.com/triAGENS/ashikawa-ar</a></li>
<li><a href="https://github.com/triAGENS/ArangoDB">https://github.com/triAGENS/ArangoDB</a></li>
<li><a href="https://github.com/triAGENS/ashikawa-core">https://github.com/triAGENS/ashikawa-core</a></li>
</ul></li>
<li>Zwei Pattern zur Anbindung von Datenbanken: ActiveRecord (<a href="http://www.martinfowler.com/eaaCatalog/activeRecord.html">http://www.martinfowler.com/eaaCatalog/activeRecord.html</a>) und DataMapper (<a href="http://www.martinfowler.com/eaaCatalog/dataMapper.html">http://www.martinfowler.com/eaaCatalog/dataMapper.html</a>)</li>
<li>Ziel von Ashikawa Core:
<ul>
<li>Sehr leichtgewichtige Abstraktion über der REST-API von ArangoDB</li>
<li>“Treiber” von anderen Dokumentendatenbanken liefern nicht nur einen Treiber sondern auch “Framework”</li>
<li>Aktuell lässt sich das HTTP-Backend noch nicht austauschen, wird aber in Zukunft auf Faraday (<a href="https://github.com/lostisland/faraday">https://github.com/lostisland/faraday</a>) aufbauen</li>
<li>Noch ist Ashikawa <strong>nicht</strong> Thread-safe</li>
</ul></li>
<li>Was baut auf Ashikawa Core auf?
<ul>
<li>Implementierung des Active-Record-Patterns: <a href="https://github.com/triAGENS/ashikawa-ar">https://github.com/triAGENS/ashikawa-ar</a></li>
<li>Lucas verwendet Teile des DataMapper2 Projekts:
<ul>
<li><a href="https://github.com/solnic/virtus:">https://github.com/solnic/virtus:</a> Attributes on Steroids</li>
<li><a href="https://github.com/mbj/aequitas:">https://github.com/mbj/aequitas:</a> External Validations</li>
<li>Beide sind API-kompatibel zu ActiveModel, d.h. sie lassen sich einfach in Rails verwenden</li>
</ul></li>
</ul></li>
<li>Contributor sind gerne gesehen!</li>
<li>Lucas hat sich für die DataMapper2 Bibliotheken entschieden, weil DataMapper2 ArangoDB schon unterstützt (neben Postgres)</li>
<li>Lucas hat außerdem das Gefühl, dass die Code-Qualität bei DataMapper2 höher ist</li>
</ul>
<h3>Testing Ruby (00:19:50)</h3>
<ul>
<li>Seattle.rb (<a href="http://ruby.sadi.st/Ruby_Sadist.html">http://ruby.sadi.st/Ruby_Sadist.html</a> NSFW)
<ul>
<li>Projekte wie <code>flog</code>, <code>flay</code>, <code>heckle</code></li>
</ul></li>
<li>Am Anfang war die Code-to-Test-Ratio das Maß aller Dinge</li>
<li>Dann kam die Code Coverage (<a href="http://en.wikipedia.org/wiki/Code_coverage">http://en.wikipedia.org/wiki/Code_coverage</a>)</li>
<li>Code Coverage ist seit Ruby 1.9 sehr einfach zu messen</li>
<li>Wir haben uns darauf geeinigt, dass 100% Code Coverage in Core-Bibliotheken erstrebenswert ist, in Anwendungen nicht mehr</li>
<li>Beide Metriken sagen aber nichts über die absolute Qualität von Tests aus</li>
<li>Wenn 100% Code Coverage erreichen sehr schwierig ist, dann ist das ein Code-Smell</li>
<li>Code Metrics as a Service: Code Climate (<a href="https://codeclimate.com/">https://codeclimate.com/</a>)</li>
<li>Enter Mutation Testing…
<ul>
<li>Nette Einführung in das Thema und in mutant: <a href="http://solnic.eu/2013/01/23/mutation-testing-with-mutant.html">http://solnic.eu/2013/01/23/mutation-testing-with-mutant.html</a></li>
<li>mutant gem: <a href="https://github.com/mbj/mutant">https://github.com/mbj/mutant</a></li>
<li>Mutation-Testing ist langsam</li>
<li>Macht vor allem Sinn bei abgeschlossenen Bibliotheken</li>
</ul></li>
<li>Lucas will auch Mutation Testing in ashikawa-core machen</li>
<li>mutant läuft am besten unter Rubinius</li>
<li><a href="https://github.com/burke/zeus">https://github.com/burke/zeus</a>
<ul>
<li>pre-loaded Rails environment</li>
<li>ähnlich zu spork, aber intelligenter, wenn es um reloading geht</li>
</ul></li>
</ul>
<h3>Ruby/Rails Security (00:39:00)</h3>
<ul>
<li>Aaron über YAML, YAML F7U12: <a href="http://tenderlovemaking.com/2013/02/06/yaml-f7u12.html">http://tenderlovemaking.com/2013/02/06/yaml-f7u12.html</a>
<ul>
<li>YAML nicht als User-Input!</li>
<li>JSON und XML sind für den Austausch besser geeignet</li>
</ul></li>
<li>Padrino ist safe: <a href="http://www.padrinorb.com/blog/sleep-well-yaml-vulnerabilites-and-padrino">http://www.padrinorb.com/blog/sleep-well-yaml-vulnerabilites-and-padrino</a></li>
<li>Rails Security Issues und Start Ups? <a href="http://www.kalzumeus.com/2013/01/31/what-the-rails-security-issue-means-for-your-startup/">http://www.kalzumeus.com/2013/01/31/what-the-rails-security-issue-means-for-your-startup/</a>
<ul>
<li><strong>Were are doomed!1!1!elf</strong></li>
<li>Sicherheitslücken gehören dazu (Höre <a href="http://geekstammtisch.de/#GST005">http://geekstammtisch.de/#GST005</a>)</li>
<li>Wichtig ist wie man damit umgeht (Entwickler wie Maintainer)</li>
</ul></li>
<li>PHP-Code Injection via User-Agent String: <a href="http://blog.spiderlabs.com/2013/02/honeypot-alert-user-agent-field-php-injection-attacks.html">http://blog.spiderlabs.com/2013/02/honeypot-alert-user-agent-field-php-injection-attacks.html</a></li>
</ul>
<h3>Ruby (00:48:50)</h3>
<ul>
<li>Ruby auf Python: Topaz (<a href="http://docs.topazruby.com/en/latest/blog/announcing-topaz/">http://docs.topazruby.com/en/latest/blog/announcing-topaz/</a>)</li>
<li>Basti erinnert ein Projekt für eine True-Ruby-Sandbox: Ruby -> Rubyracer (V8) -> emscripted-ruby -> Ruby (<a href="https://github.com/cantino/ruby_on_ruby">https://github.com/cantino/ruby_on_ruby</a>)</li>
<li>Yanked Gems sind doof :-) (net-scp, net-ssh-gateway, newrelic)</li>
</ul>
<h3>Technical Dept (00:55:10)</h3>
<ul>
<li>Technical Dept: <a href="http://tech.groups.yahoo.com/group/scrumdevelopment/message/55626">http://tech.groups.yahoo.com/group/scrumdevelopment/message/55626</a>
<ul>
<li>Don&#39;t do it.</li>
<li>When we do it, figure out why and stop.</li>
<li>When we do it, <strong>leave it alone</strong> if it&#39;s not in the way.</li>
<li>If it is in the way, clean up the parts we pass through.</li>
</ul></li>
</ul>
<h3>Erlang on XEN aka geiler Scheiß (01:08:35)</h3>
<ul>
<li>Erlang on XEN: <a href="http://zerg.erlangonxen.org/">http://zerg.erlangonxen.org/</a></li>
<li>Startet im Kontext eines Requests eine komplette Erlang VM inkl. Applikation</li>
</ul>
<h3>Tools (01:11:40)</h3>
<ul>
<li>Record your Terminal: <a href="http://ascii.io/">http://ascii.io/</a></li>
<li>Boxen: <a href="http://boxen.github.com/">http://boxen.github.com/</a>
<ul>
<li>Für Chef: <a href="https://github.com/pivotal/pivotal_workstation">https://github.com/pivotal/pivotal_workstation</a></li>
</ul></li>
<li>Vim Autocompletion (wenn Lucas schon da ist ^^)
<ul>
<li>Aktuell verwenden Lucas und Dirk “YouCompleteMe”: <a href="https://github.com/Valloric/YouCompleteMe">https://github.com/Valloric/YouCompleteMe</a>. Gefällt uns nicht so gut, aber sehr zu empfehlen wenn man C-* programmiert</li>
<li>Alternative: <a href="https://github.com/Shougo/neocomplcache">https://github.com/Shougo/neocomplcache</a></li>
<li>Oder einfach ohne extra Plugin ;-)</li>
</ul></li>
</ul>
<h3>Events (01:20:20)</h3>
<ul>
<li>Railsgirls Rheinland ist in knapp 2 Wochen (<a href="http://www.nerdhub.de/events/260-rails-girls-rheinland/dates/1756">http://www.nerdhub.de/events/260-rails-girls-rheinland/dates/1756</a>)</li>
<li>Railsgirls Followup am Donnerstag bei Intro (<a href="http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1571">http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1571</a>)</li>
<li>cologne.rb am Mittwoch bei adcloud (<a href="http://www.nerdhub.de/events/40-cologne-rb/dates/843">http://www.nerdhub.de/events/40-cologne-rb/dates/843</a>)</li>
<li>cologne.js in der neuen Bottfabrik! (<a href="http://www.nerdhub.de/events/3-cologne-js/dates/1597">http://www.nerdhub.de/events/3-cologne-js/dates/1597</a>)</li>
</ul>
<h3>Offtopic (01:25:40)</h3>
<ul>
<li>Die Nifty Drives (<a href="http://theniftyminidrive.com/">http://theniftyminidrive.com/</a>) von Basti und Dirk sind endlich da
<ul>
<li>Das von Dirk leider aber doch nur in Silber (statt Pink)</li>
</ul></li>
<li>XKCD Style Comics in HTML: <a href="http://cmx.io/edit/">http://cmx.io/edit/</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST006" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:00:40" title="Unser Gast: Lucas" />
<psc:chapter start="00:01:40" title="ArangoDB &amp; Ashikawa" />
<psc:chapter start="00:19:50" title="Testing Ruby" />
<psc:chapter start="00:39:00" title="Ruby/Rails Security" />
<psc:chapter start="00:48:50" title="Ruby Krams" />
<psc:chapter start="00:55:10" title="Technical Dept" />
<psc:chapter start="01:08:35" title="Erlang on XEN aka geiler Scheiß" />
<psc:chapter start="01:11:40" title="Tools" />
<psc:chapter start="01:20:20" title="Events" />
<psc:chapter start="01:25:40" title="Offtopic" />
</psc:chapters>
</item>
<item>
<title>GST007 - Provisionieren mit Bash</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Klaus Zanders (@klaustopher)</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst007.mp3" length="72255059" type="audio/mpeg"/>
<guid isPermaLink="false">GST007</guid>
<pubDate>Sat, 09 Mar 2013 18:40:28 +0100</pubDate>
<itunes:duration>01:40:10</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Heute zu Gast ist Klaus (@klaustopher) und wir reden viel
über Ruby 2.0, die aktuellen Rails Release Candidates, Config-Formate
und Threading in Ruby. Das
ganze wird diesmal abgerundet mit einem Ausflug in die Frontend-Welt und
ein Besuch bei DevOps.
### Unser Gast (00:01:25)
* Klaus Zanders (@klaustopher)
* www.putpat.tv
* Hat bei IBM studiert
* War dann bei Microsoft
* Zwischendurch bei einer Versicherung
* Nun darf er endlich Ruby machen \o/
### In eigener Sache (00:04:35)
* Wir haben Hörer in Polen!! https://shellycloud.com/
* Es gibt Leute, die an gst-kitchen interessiert sind *yeah* :)
* Wir haben jetzt auch Kapitelmarken
* Unsere Webseite hat jetzt den Podlove-Webplayer
* opus ist auf dem Weg
### Ruby 2.0 (00:09:00)
* Ruby 2.0 ist da (ja, schon was länger). Und die Community war mal
wieder super schnell mit Adaption von allem (debugger, rvm)
* Basti hat mit Ruby 2.0 und Dtrace
(http://en.wikipedia.org/wiki/DTrace) rumgespielt
* Ruby 2.0 TracePoints zur Analyse
http://matt.aimonetti.net/posts/2013/03/05/inspecting-rails-4-request-dispatch-using-ruby-2-dot-0
* Ein paar Slides zu den neuen Features von Ruby 2.0:
https://speakerdeck.com/peterc/ruby-2-dot-0-walkthrough-the-best-bits
* Matzs Talk auf der Waza (Heroku):
https://blog.heroku.com/archives/2013/3/6/matz_highlights_ruby_2_0_at_waza
* Ruby 1.8.7 ist ab Juni nicht mehr supported (auch keine Security
Fixes)
### Refinements (00:20:31)
* Wir haben ein wenig über Refinements diskutiert
(http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released#label-9)
### Rails (00:26:57)
* Rails 4.0.rc1:
http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/
* Rails 3.2.13.rc2:
http://weblog.rubyonrails.org/2013/3/7/Rails-3-2-13-rc2-has-been-released/
### TOML, Performance, SOA und Threads (00:28:40)
* @mojombo hat ein neues Config Format erfunden:
http://zerowidth.com/2013/02/24/parsing-toml-in-ruby-with-parslet.html
* @tenderlove zu `class_eval` vs `define_method`:
http://tenderlovemaking.com/2013/03/03/dynamic_method_definitions.html
* SOA mit Rails:
https://developer.uservoice.com/blog/2013/02/27/introducing-mutations-putting-soa-on-rails-for-security-and-maintainability/
* Ruby Threading
* Threads in Ruby:
http://tonyarcieri.com/2012-the-year-rubyists-learned-to-stop-worrying-and-love-the-threads
* Concurrency in jruby:
https://github.com/jruby/jruby/wiki/Concurrency-in-jruby
* Rails 4 ist threadsafe per Default
* C-Extensions lieber mit FFI: https://github.com/ffi/ffi
### RegExp debugging, 1M Connections mit Ruby (00:47:50)
* RegExp debuggen mit http://www.debuggex.com/
* RegExp Bug in gst-kitchen:
https://github.com/tisba/gst-kitchen/issues/4
* Alt, aber immer noch gut: Ruby macht eine Millionen Concurrent
Connections! https://github.com/slivu/1mc2
* Open Source Projekte, die auf Rails basieren:
http://www.opensourcerails.com
* Ruby Game auf Gosu: Panzer programmieren die sich gegenseitig
abschießen https://github.com/awilliams/RTanque
* Gosu: http://en.wikipedia.org/wiki/Gosu
* Fußball-Simulator:
http://sourceforge.net/apps/mediawiki/sserver/index.php?title=Main_Page
### FlatUI, ember.js & The end of Browser Wars? (01:02:00)
* FlatUI Takedown Foo
* http://designmodo.com/flat-free/ (Comments)
* https://github.com/github/dmca/commit/735e17614cca63102b8414ed2846c3effbfe9535
* https://news.layervault.com/stories/1992-layervault-whats-up-with-the-dmca
* https://github.com/github/dmca/blob/master/2013-03-06-LayerVault.md
* https://github.com/github/dmca/blob/master/2013-03-06-LayerVault-counternotice.md
* Ember.js: http://emberjs.com/
* Sehr opinionated, Client-Javascript MVC Framework
* Tavis-CI (https://travis-ci.org/) hat die GUI in Ember.js
* http://www.discourse.org/ ist in Ember.js
* Browser-War zu Ende?
* Opera nun auf Webkit & V8
* Und ja Basti, Firefox gibt es auch noch
### Self-Plug: Homeoffice Cologne (01:18:23)
* Unsere Bürogemeinschaft (und Studio): http://home-office-cologne.de
### DevOps: Chef (01:21:33)
* Chef
* AWS setzt auf Chef mit OpsWorks: https://aws.amazon.com/opsworks/
* kurzes Einführungsvideo:
http://www.youtube.com/watch?v=9NnWJsS4Y2c
* OpsWorks Cookbooks: https://github.com/aws/opsworks-cookbooks
* Facebook managed ihren Web-Tier mit Chef:
http://www.infoq.com/news/2013/02/facebook-chef
* Rack-Stack: unicorn, haproxy & nginx
### Misc (01:32:21)
* iOS Workshop mit Roddi: http://undsoversity.de/ios-entwicklung
* Best Tool for the Job bei Spotify:
http://labs.spotify.com/2013/02/25/in-praise-of-boring-technology/
### Musikkonsum (01:35:30)
* Spotify ja oder nein?
* Musik via Podcast (im elektronischen Bereich jedenfalls)
### Events (01:38:50)
* RailsGirls Follow-Up Meeting am 18.3. in der Bottmühle:
https://www.facebook.com/events/173658956115148/]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Heute zu Gast ist Klaus (<a href="https://twitter.com/klaustopher">@klaustopher</a>) und wir reden viel
über Ruby 2.0, die aktuellen Rails Release Candidates, Config-Formate
und Threading in Ruby. Das
ganze wird diesmal abgerundet mit einem Ausflug in die Frontend-Welt und
ein Besuch bei DevOps.</p>
<h3>Unser Gast (00:01:25)</h3>
<ul>
<li>Klaus Zanders (<a href="https://twitter.com/klaustopher">@klaustopher</a>)</li>
<li><a href="http://www.putpat.tv">www.putpat.tv</a></li>
<li>Hat bei IBM studiert</li>
<li>War dann bei Microsoft</li>
<li>Zwischendurch bei einer Versicherung</li>
<li>Nun darf er endlich Ruby machen \o/</li>
</ul>
<h3>In eigener Sache (00:04:35)</h3>
<ul>
<li>Wir haben Hörer in Polen!! <a href="https://shellycloud.com/">https://shellycloud.com/</a></li>
<li>Es gibt Leute, die an gst-kitchen interessiert sind <em>yeah</em> :)</li>
<li>Wir haben jetzt auch Kapitelmarken</li>
<li>Unsere Webseite hat jetzt den Podlove-Webplayer</li>
<li>opus ist auf dem Weg</li>
</ul>
<h3>Ruby 2.0 (00:09:00)</h3>
<ul>
<li>Ruby 2.0 ist da (ja, schon was länger). Und die Community war mal
wieder super schnell mit Adaption von allem (debugger, rvm)</li>
<li>Basti hat mit Ruby 2.0 und Dtrace
(<a href="http://en.wikipedia.org/wiki/DTrace">http://en.wikipedia.org/wiki/DTrace</a>) rumgespielt</li>
<li>Ruby 2.0 TracePoints zur Analyse
<a href="http://matt.aimonetti.net/posts/2013/03/05/inspecting-rails-4-request-dispatch-using-ruby-2-dot-0">http://matt.aimonetti.net/posts/2013/03/05/inspecting-rails-4-request-dispatch-using-ruby-2-dot-0</a></li>
<li>Ein paar Slides zu den neuen Features von Ruby 2.0:
<a href="https://speakerdeck.com/peterc/ruby-2-dot-0-walkthrough-the-best-bits">https://speakerdeck.com/peterc/ruby-2-dot-0-walkthrough-the-best-bits</a></li>
<li>Matzs Talk auf der Waza (Heroku):
<a href="https://blog.heroku.com/archives/2013/3/6/matz_highlights_ruby_2_0_at_waza">https://blog.heroku.com/archives/2013/3/6/matz_highlights_ruby_2_0_at_waza</a></li>
<li>Ruby 1.8.7 ist ab Juni nicht mehr supported (auch keine Security
Fixes)</li>
</ul>
<h3>Refinements (00:20:31)</h3>
<ul>
<li>Wir haben ein wenig über Refinements diskutiert
(<a href="http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released#label-9">http://www.ruby-lang.org/en/news/2013/02/24/ruby-2-0-0-p0-is-released#label-9</a>)</li>
</ul>
<h3>Rails (00:26:57)</h3>
<ul>
<li>Rails 4.0.rc1:
<a href="http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/">http://weblog.rubyonrails.org/2013/2/25/Rails-4-0-beta1/</a></li>
<li>Rails 3.2.13.rc2:
<a href="http://weblog.rubyonrails.org/2013/3/7/Rails-3-2-13-rc2-has-been-released/">http://weblog.rubyonrails.org/2013/3/7/Rails-3-2-13-rc2-has-been-released/</a></li>
</ul>
<h3>TOML, Performance, SOA und Threads (00:28:40)</h3>
<ul>
<li><a href="https://twitter.com/mojombo">@mojombo</a> hat ein neues Config Format erfunden:
<a href="http://zerowidth.com/2013/02/24/parsing-toml-in-ruby-with-parslet.html">http://zerowidth.com/2013/02/24/parsing-toml-in-ruby-with-parslet.html</a></li>
<li><a href="https://twitter.com/tenderlove">@tenderlove</a> zu <code>class_eval</code> vs <code>define_method</code>:
<a href="http://tenderlovemaking.com/2013/03/03/dynamic_method_definitions.html">http://tenderlovemaking.com/2013/03/03/dynamic_method_definitions.html</a></li>
<li>SOA mit Rails:
<a href="https://developer.uservoice.com/blog/2013/02/27/introducing-mutations-putting-soa-on-rails-for-security-and-maintainability/">https://developer.uservoice.com/blog/2013/02/27/introducing-mutations-putting-soa-on-rails-for-security-and-maintainability/</a></li>
<li>Ruby Threading
<ul>
<li>Threads in Ruby:
<a href="http://tonyarcieri.com/2012-the-year-rubyists-learned-to-stop-worrying-and-love-the-threads">http://tonyarcieri.com/2012-the-year-rubyists-learned-to-stop-worrying-and-love-the-threads</a></li>
<li>Concurrency in jruby:
<a href="https://github.com/jruby/jruby/wiki/Concurrency-in-jruby">https://github.com/jruby/jruby/wiki/Concurrency-in-jruby</a></li>
<li>Rails 4 ist threadsafe per Default</li>
<li>C-Extensions lieber mit FFI: <a href="https://github.com/ffi/ffi">https://github.com/ffi/ffi</a></li>
</ul></li>
</ul>
<h3>RegExp debugging, 1M Connections mit Ruby (00:47:50)</h3>
<ul>
<li>RegExp debuggen mit <a href="http://www.debuggex.com/">http://www.debuggex.com/</a></li>
<li>RegExp Bug in gst-kitchen:
<a href="https://github.com/tisba/gst-kitchen/issues/4">https://github.com/tisba/gst-kitchen/issues/4</a></li>
<li>Alt, aber immer noch gut: Ruby macht eine Millionen Concurrent
Connections! <a href="https://github.com/slivu/1mc2">https://github.com/slivu/1mc2</a></li>
<li>Open Source Projekte, die auf Rails basieren:
<a href="http://www.opensourcerails.com">http://www.opensourcerails.com</a></li>
<li>Ruby Game auf Gosu: Panzer programmieren die sich gegenseitig
abschießen <a href="https://github.com/awilliams/RTanque">https://github.com/awilliams/RTanque</a>
<ul>
<li>Gosu: <a href="http://en.wikipedia.org/wiki/Gosu">http://en.wikipedia.org/wiki/Gosu</a></li>
</ul></li>
<li>Fußball-Simulator:
<a href="http://sourceforge.net/apps/mediawiki/sserver/index.php?title=Main_Page">http://sourceforge.net/apps/mediawiki/sserver/index.php?title=Main_Page</a></li>
</ul>
<h3>FlatUI, ember.js &amp; The end of Browser Wars? (01:02:00)</h3>
<ul>
<li>FlatUI Takedown Foo
<ul>
<li><a href="http://designmodo.com/flat-free/">http://designmodo.com/flat-free/</a> (Comments)</li>
<li><a href="https://github.com/github/dmca/commit/735e17614cca63102b8414ed2846c3effbfe9535">https://github.com/github/dmca/commit/735e17614cca63102b8414ed2846c3effbfe9535</a></li>
<li><a href="https://news.layervault.com/stories/1992-layervault-whats-up-with-the-dmca">https://news.layervault.com/stories/1992-layervault-whats-up-with-the-dmca</a></li>
<li><a href="https://github.com/github/dmca/blob/master/2013-03-06-LayerVault.md">https://github.com/github/dmca/blob/master/2013-03-06-LayerVault.md</a></li>
<li><a href="https://github.com/github/dmca/blob/master/2013-03-06-LayerVault-counternotice.md">https://github.com/github/dmca/blob/master/2013-03-06-LayerVault-counternotice.md</a></li>
</ul></li>
<li>Ember.js: <a href="http://emberjs.com/">http://emberjs.com/</a>
<ul>
<li>Sehr opinionated, Client-Javascript MVC Framework</li>
<li>Tavis-CI (<a href="https://travis-ci.org/">https://travis-ci.org/</a>) hat die GUI in Ember.js</li>
<li><a href="http://www.discourse.org/">http://www.discourse.org/</a> ist in Ember.js</li>
</ul></li>
<li>Browser-War zu Ende?
<ul>
<li>Opera nun auf Webkit &amp; V8</li>
<li>Und ja Basti, Firefox gibt es auch noch</li>
</ul></li>
</ul>
<h3>Self-Plug: Homeoffice Cologne (01:18:23)</h3>
<ul>
<li>Unsere Bürogemeinschaft (und Studio): <a href="http://home-office-cologne.de">http://home-office-cologne.de</a></li>
</ul>
<h3>DevOps: Chef (01:21:33)</h3>
<ul>
<li>Chef
<ul>
<li>AWS setzt auf Chef mit OpsWorks: <a href="https://aws.amazon.com/opsworks/">https://aws.amazon.com/opsworks/</a></li>
<li>kurzes Einführungsvideo:
<a href="http://www.youtube.com/watch?v=9NnWJsS4Y2c">http://www.youtube.com/watch?v=9NnWJsS4Y2c</a></li>
<li>OpsWorks Cookbooks: <a href="https://github.com/aws/opsworks-cookbooks">https://github.com/aws/opsworks-cookbooks</a></li>
<li>Facebook managed ihren Web-Tier mit Chef:
<a href="http://www.infoq.com/news/2013/02/facebook-chef">http://www.infoq.com/news/2013/02/facebook-chef</a></li>
</ul></li>
<li>Rack-Stack: unicorn, haproxy &amp; nginx</li>
</ul>
<h3>Misc (01:32:21)</h3>
<ul>
<li>iOS Workshop mit Roddi: <a href="http://undsoversity.de/ios-entwicklung">http://undsoversity.de/ios-entwicklung</a></li>
<li>Best Tool for the Job bei Spotify:
<a href="http://labs.spotify.com/2013/02/25/in-praise-of-boring-technology/">http://labs.spotify.com/2013/02/25/in-praise-of-boring-technology/</a></li>
</ul>
<h3>Musikkonsum (01:35:30)</h3>
<ul>
<li>Spotify ja oder nein?</li>
<li>Musik via Podcast (im elektronischen Bereich jedenfalls)</li>
</ul>
<h3>Events (01:38:50)</h3>
<ul>
<li>RailsGirls Follow-Up Meeting am 18.3. in der Bottmühle:
<a href="https://www.facebook.com/events/173658956115148/">https://www.facebook.com/events/173658956115148/</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST007" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:01:25" title="Unser Gast" />
<psc:chapter start="00:04:35" title="In eigener Sache" />
<psc:chapter start="00:09:00" title="Ruby 2.0" />
<psc:chapter start="00:20:31" title="Refinements" />
<psc:chapter start="00:26:57" title="Rails" />
<psc:chapter start="00:28:40" title="TOML, Performance, SOA und Threads" />
<psc:chapter start="00:47:50" title="RegExp debugging, 1M Connections mit Ruby" />
<psc:chapter start="01:02:00" title="FlatUI, ember.js &amp; The end of Browser Wars?" />
<psc:chapter start="01:18:23" title="Self-Plug: Homeoffice Cologne" />
<psc:chapter start="01:21:33" title="DevOps: Chef" />
<psc:chapter start="01:32:21" title="Misc" />
<psc:chapter start="01:35:30" title="Musikkonsum" />
<psc:chapter start="01:38:50" title="Events" />
</psc:chapters>
</item>
<item>
<title>GST008 - Rake auf Drogen</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Lucas Dohmen (@moonbeamlabs) über Ruby, JRuby, DevOps und anderen spannenden Dingen</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst008.mp3" length="65310340" type="audio/mpeg"/>
<guid isPermaLink="false">GST008</guid>
<pubDate>Wed, 20 Mar 2013 17:49:40 +0100</pubDate>
<itunes:duration>01:30:32</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Heute ist der Lucas (@moonbeamlabs) mal wieder zu Besuch und wir haben über Serialisierung in Ruby, Thor und JRuby gesprochen. Es gibt auch mal wieder was aus der DevOps-Ecke, namentlich Vagrant und VMware und Gem-Hosting. Natürlich haben wir uns auch nicht nehmen lassen, über das Ende von Google Reader zu philosophieren und den GitHub Enterprise Faux Pa zu erwähnen. Zum Ende erzählt Lucas noch etwas zu seinem Dotfiles Installationsskript.
### Intro / Errata (00:00:00)
* Ruby 1.8.7 depricated seit Juni 2012 (http://www.ruby-lang.org/en/news/2011/10/06/plans-for-1-8-7/)
* Ruby 2.0 Walkthrough war damals nur für die Kickstarter Backer verfügbar: http://www.kickstarter.com/projects/1225193080/the-ruby-20-walkthrough/posts
* irb für mehrere Rubies von Peter Cooper: https://gist.github.com/peterc/1226588
### Ruby (00:06:27)
* Rails-API Projekt: https://github.com/rails-api/rails-api
* https://github.com/rails-api/active_model_serializers
* http://railscasts.com/episodes/409-active-model-serializers
* http://railscasts.com/episodes/320-jbuilder
* http://railscasts.com/episodes/322-rabl
* https://github.com/apotonick/roar
* Thor - “Rake auf Drogen” (http://whatisthor.com/)
* Leider sehr dürftig dokumentiert
* Erlaubt sehr effizient und strukturiert CLI Tools zu schreiben
* RedCarpet (https://github.com/vmg/redcarpet)
* Sucht neuen Maintainer (https://github.com/vmg/redcarpet/issues/212)
* Ist kramdown die Zukunft? (https://github.com/gettalong/kramdown)
### JRuby (00:28:06)
* https://github.com/trinidad/trinidad
* http://torquebox.org
* https://github.com/jruby/jruby/wiki/Servers
* Torquebox wird von RedHat gesponsered und ist daher vielleicht die bessere Alternative. Man muss ja nicht alle Features verwenden.
### DevOps (00:43:10)
* Vagrant Provider für VMware Fusion ist fertig, kostet 79 USD: http://www.vagrantup.com/vmware
* Mitchell Hashimoto / HashiCorp: http://www.hashicorp.com/
* AWS Provider: http://www.hashicorp.com/blog/preview-vagrant-aws.html
* Private Gems hosten
* Gem in a Box: https://github.com/cwninja/geminabox
* http://www.gemfury.com/l/gem-server
### Netzklatsch (00:58:04)
* Google Reader
* Reeder App (http://reederapp.com) ohne Google Reader? Hoffentlich! https://twitter.com/reederapp/status/311995748482945025
* Alternativen zu Google Reader
* http://www.feedafever.com/ (Reeder supported Fever, aber bisher nur auf dem iPhone)
* http://www.feedly.com/
* Prismatic: http://getprismatic.com/news/home
* Github Leak: Liste der GHE Kunden https://news.ycombinator.com/item?id=5400986
### Cool Stuff (01:17:50)
* Play by Play mit Aaron Patterson: https://peepcode.com/products/play-by-play-tenderlove-ruby-on-rails
* Play by Play mit Aaron Patterson und Corey Haines: https://peepcode.com/products/play-by-play-aaroncorey
* http://idevelop.github.com/ascii-camera/
* Alternative zu Lynx: http://elinks.or.cz/
* Dotfiles
* Lucas hat Exogenesis gebaut: https://github.com/moonglum/exogenesis
* Dirks Suche nach nicht bedruckten Tastaturen: http://www.colorware.com/p-201-apple-wireless-keyboard.aspx (weiterhin erfolglos)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Heute ist der Lucas (<a href="https://twitter.com/moonbeamlabs">@moonbeamlabs</a>) mal wieder zu Besuch und wir haben über Serialisierung in Ruby, Thor und JRuby gesprochen. Es gibt auch mal wieder was aus der DevOps-Ecke, namentlich Vagrant und VMware und Gem-Hosting. Natürlich haben wir uns auch nicht nehmen lassen, über das Ende von Google Reader zu philosophieren und den GitHub Enterprise Faux Pa zu erwähnen. Zum Ende erzählt Lucas noch etwas zu seinem Dotfiles Installationsskript.</p>
<h3>Intro / Errata (00:00:00)</h3>
<ul>
<li>Ruby 1.8.7 depricated seit Juni 2012 (<a href="http://www.ruby-lang.org/en/news/2011/10/06/plans-for-1-8-7/">http://www.ruby-lang.org/en/news/2011/10/06/plans-for-1-8-7/</a>)</li>
<li>Ruby 2.0 Walkthrough war damals nur für die Kickstarter Backer verfügbar: <a href="http://www.kickstarter.com/projects/1225193080/the-ruby-20-walkthrough/posts">http://www.kickstarter.com/projects/1225193080/the-ruby-20-walkthrough/posts</a></li>
<li>irb für mehrere Rubies von Peter Cooper: <a href="https://gist.github.com/peterc/1226588">https://gist.github.com/peterc/1226588</a></li>
</ul>
<h3>Ruby (00:06:27)</h3>
<ul>
<li>Rails-API Projekt: <a href="https://github.com/rails-api/rails-api">https://github.com/rails-api/rails-api</a>
<ul>
<li><a href="https://github.com/rails-api/active_model_serializers">https://github.com/rails-api/active_model_serializers</a></li>
<li><a href="http://railscasts.com/episodes/409-active-model-serializers">http://railscasts.com/episodes/409-active-model-serializers</a></li>
<li><a href="http://railscasts.com/episodes/320-jbuilder">http://railscasts.com/episodes/320-jbuilder</a></li>
<li><a href="http://railscasts.com/episodes/322-rabl">http://railscasts.com/episodes/322-rabl</a></li>
<li><a href="https://github.com/apotonick/roar">https://github.com/apotonick/roar</a></li>
</ul></li>
<li>Thor - “Rake auf Drogen” (<a href="http://whatisthor.com/">http://whatisthor.com/</a>)
<ul>
<li>Leider sehr dürftig dokumentiert</li>
<li>Erlaubt sehr effizient und strukturiert CLI Tools zu schreiben</li>
</ul></li>
<li>RedCarpet (<a href="https://github.com/vmg/redcarpet">https://github.com/vmg/redcarpet</a>)
<ul>
<li>Sucht neuen Maintainer (<a href="https://github.com/vmg/redcarpet/issues/212">https://github.com/vmg/redcarpet/issues/212</a>)</li>
<li>Ist kramdown die Zukunft? (<a href="https://github.com/gettalong/kramdown">https://github.com/gettalong/kramdown</a>)</li>
</ul></li>
</ul>
<h3>JRuby (00:28:06)</h3>
<ul>
<li><a href="https://github.com/trinidad/trinidad">https://github.com/trinidad/trinidad</a></li>
<li><a href="http://torquebox.org">http://torquebox.org</a></li>
<li><a href="https://github.com/jruby/jruby/wiki/Servers">https://github.com/jruby/jruby/wiki/Servers</a></li>
<li>Torquebox wird von RedHat gesponsered und ist daher vielleicht die bessere Alternative. Man muss ja nicht alle Features verwenden.</li>
</ul>
<h3>DevOps (00:43:10)</h3>
<ul>
<li>Vagrant Provider für VMware Fusion ist fertig, kostet 79 USD: <a href="http://www.vagrantup.com/vmware">http://www.vagrantup.com/vmware</a>
<ul>
<li>Mitchell Hashimoto / HashiCorp: <a href="http://www.hashicorp.com/">http://www.hashicorp.com/</a> </li>
<li>AWS Provider: <a href="http://www.hashicorp.com/blog/preview-vagrant-aws.html">http://www.hashicorp.com/blog/preview-vagrant-aws.html</a></li>
</ul></li>
<li>Private Gems hosten
<ul>
<li>Gem in a Box: <a href="https://github.com/cwninja/geminabox">https://github.com/cwninja/geminabox</a></li>
<li><a href="http://www.gemfury.com/l/gem-server">http://www.gemfury.com/l/gem-server</a></li>
</ul></li>
</ul>
<h3>Netzklatsch (00:58:04)</h3>
<ul>
<li>Google Reader</li>
<li>Reeder App (<a href="http://reederapp.com">http://reederapp.com</a>) ohne Google Reader? Hoffentlich! <a href="https://twitter.com/reederapp/status/311995748482945025">https://twitter.com/reederapp/status/311995748482945025</a></li>
<li>Alternativen zu Google Reader
<ul>
<li><a href="http://www.feedafever.com/">http://www.feedafever.com/</a> (Reeder supported Fever, aber bisher nur auf dem iPhone)</li>
<li><a href="http://www.feedly.com/">http://www.feedly.com/</a></li>
</ul></li>
<li>Prismatic: <a href="http://getprismatic.com/news/home">http://getprismatic.com/news/home</a></li>
<li>Github Leak: Liste der GHE Kunden <a href="https://news.ycombinator.com/item?id=5400986">https://news.ycombinator.com/item?id=5400986</a></li>
</ul>
<h3>Cool Stuff (01:17:50)</h3>
<ul>
<li>Play by Play mit Aaron Patterson: <a href="https://peepcode.com/products/play-by-play-tenderlove-ruby-on-rails">https://peepcode.com/products/play-by-play-tenderlove-ruby-on-rails</a></li>
<li>Play by Play mit Aaron Patterson und Corey Haines: <a href="https://peepcode.com/products/play-by-play-aaroncorey">https://peepcode.com/products/play-by-play-aaroncorey</a></li>
<li><a href="http://idevelop.github.com/ascii-camera/">http://idevelop.github.com/ascii-camera/</a></li>
<li>Alternative zu Lynx: <a href="http://elinks.or.cz/">http://elinks.or.cz/</a></li>
<li>Dotfiles
<ul>
<li>Lucas hat Exogenesis gebaut: <a href="https://github.com/moonglum/exogenesis">https://github.com/moonglum/exogenesis</a></li>
</ul></li>
<li>Dirks Suche nach nicht bedruckten Tastaturen: <a href="http://www.colorware.com/p-201-apple-wireless-keyboard.aspx">http://www.colorware.com/p-201-apple-wireless-keyboard.aspx</a> (weiterhin erfolglos)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST008" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro / Errata" />
<psc:chapter start="00:06:27" title="Ruby" />
<psc:chapter start="00:28:06" title="JRuby" />
<psc:chapter start="00:43:10" title="DevOps" />
<psc:chapter start="00:58:04" title="Netzklatsch" />
<psc:chapter start="01:17:50" title="Cool Stuff" />
</psc:chapters>
</item>
<item>
<title>GST009 - Zweites Rack rechts</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit @bascht und sehr DevOps lastig: Deployment Strategien, Chef und VPNs</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst009.mp3" length="57587809" type="audio/mpeg"/>
<guid isPermaLink="false">GST009</guid>
<pubDate>Tue, 26 Mar 2013 13:50:35 +0100</pubDate>
<itunes:duration>01:19:48</itunes:duration>
<itunes:summary><![CDATA[Synopsis: Zur 9ten Ausgabe hat sich der gute @bascht wieder zu uns auf
das Sofa gesetzt. Wie sollte es anders sein, reden wir relativ viel über
DevOps Themen. Neben Deploymentstrategien geht es dabei um Best
Practices mit Chef und VPNs. Zum Ende gibt es wieder neues aus der
Rubrik Cool Stuff™. Auf Grund knapper Vorbereitung ist die Folge diesmal
wieder etwas kürzer geraten.
### Intro (00:00:00)
* Ruby 2.0 Walkthrough von Peter Cooper fertig. Backer haben schon
Zugriff, wird also wohl demnächst kommen.
### Rails (00:01:46)
* Rails 3.2.13, 3.1.12 und 2.3.18:
http://weblog.rubyonrails.org/2013/3/18/SEC-ANN-Rails-3-2-13-3-1-12-and-2-3-18-have-been-released
* Zusammenhang mit dem GitHub Email Leak von letzter Woche:
https://github.com/blog/1440-today-s-email-incident
* Regression in Rails:
https://github.com/rails/rails/commit/f980289fd2c1b9073a94b5d49b780a49f5e2933c#L1L23
* Issue dazu: https://github.com/rails/rails/issues/9813
* Noch mehr Regressions:
http://blog.bugsnag.com/2013/03/20/rails-3-2-13-performance-regressions-major-bugs
### Deployment-Strategien (00:06:52)
* Wie wollen wir deployen?
* Parallel vs. Seriell
* @bascht benutzt zur Zeit Deployment mit Puppet
(https://puppetlabs.com/) und Jenkins (http://jenkins-ci.org/)
* Migrationen (zumindest aufwändigere) machen die Sache schnell
aufwändig und komplex
* Chef-Capistrano: https://github.com/cramerdev/capistrano-chef
### Arbeiten mit Chef (00:24:15)
* Bundler für Chef: http://berkshelf.com/ (Alternative:
https://github.com/applicationsonline/librarian-chef)
* Überhaupt interessanter GitHub Account: https://github.com/RiotGames
(League of Legends)
* Vagrant Intregration für Librarian (von Felix)
https://github.com/thegcat/vagrant-librarian
* Abstruser Bug in Chef (10.x) beim iterieren über Attribute:
https://tickets.opscode.com/browse/CHEF-1804
* Für Chef contributen ist anstrengend:
https://github.com/railsbros-dirk/rsyslog/blob/master/CONTRIBUTING.md
* Daher Wrapper Cookbook, Gem was dabei unterstützen soll, hab ich
aber nicht ausprobiert: https://github.com/bryanwb/chef-rewind
* Gefunden bei
http://dougireton.com/blog/2013/02/16/chef-cookbook-anti-patterns/
(auch gute Artikel über Vim)
### VPN (00:42:26)
* Basti ist auf der Suche nach einem VPN
* Fragewürdige Seite: 'BESTVPNZ'
* VPN-Vergleich-Liste
http://torrentfreak.com/vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/
* Warum? -> Wenn man mal irgendwo ist wo es man nicht weiß was man für
Internet bekommt.
* Aktueller Favorit ist BlackVPN: https://www.blackvpn.com/services/
* Einwurf: 30C3 Sneak Preview: https://alpha.app.net/evelyn/post/4178558
### Cool Stuff™ (00:55:30)
* CSS-style JSON Selektoren: http://jsonselect.org/
* http://goessner.net/articles/JsonPath/
* Window Manager für OS X: https://github.com/jigish/slate
* Window Manager für Linux (in Ruby gebaut): http://subforge.org/projects/subtle
* https://github.com/aziz/tmuxinator (gefunden über Lucas dotfiles)
### Vermischtes (01:14:31)
* http://flattr.kejsarmakten.se/github/ -> Flattr Button bei GitHub
* https://www.gittip.com/
* Sublime statt Vim:
http://delvarworld.github.com/blog/2013/03/16/just-use-sublime-text/
* Haben uns sagen lassen, dass RubyMine total geil sein soll
(zumindest als Editor / Browser): http://www.jetbrains.com/ruby/]]></itunes:summary>
<description><![CDATA[<p>Synopsis: Zur 9ten Ausgabe hat sich der gute <a href="https://twitter.com/bascht">@bascht</a> wieder zu uns auf
das Sofa gesetzt. Wie sollte es anders sein, reden wir relativ viel über
DevOps Themen. Neben Deploymentstrategien geht es dabei um Best
Practices mit Chef und VPNs. Zum Ende gibt es wieder neues aus der
Rubrik Cool Stuff™. Auf Grund knapper Vorbereitung ist die Folge diesmal
wieder etwas kürzer geraten. </p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Ruby 2.0 Walkthrough von Peter Cooper fertig. Backer haben schon
Zugriff, wird also wohl demnächst kommen.</li>
</ul>
<h3>Rails (00:01:46)</h3>
<ul>
<li>Rails 3.2.13, 3.1.12 und 2.3.18:
<a href="http://weblog.rubyonrails.org/2013/3/18/SEC-ANN-Rails-3-2-13-3-1-12-and-2-3-18-have-been-released">http://weblog.rubyonrails.org/2013/3/18/SEC-ANN-Rails-3-2-13-3-1-12-and-2-3-18-have-been-released</a></li>
<li>Zusammenhang mit dem GitHub Email Leak von letzter Woche:
<a href="https://github.com/blog/1440-today-s-email-incident">https://github.com/blog/1440-today-s-email-incident</a>
<ul>
<li>Regression in Rails:
<a href="https://github.com/rails/rails/commit/f980289fd2c1b9073a94b5d49b780a49f5e2933c#L1L23">https://github.com/rails/rails/commit/f980289fd2c1b9073a94b5d49b780a49f5e2933c#L1L23</a></li>
<li>Issue dazu: <a href="https://github.com/rails/rails/issues/9813">https://github.com/rails/rails/issues/9813</a></li>
<li>Noch mehr Regressions:
<a href="http://blog.bugsnag.com/2013/03/20/rails-3-2-13-performance-regressions-major-bugs">http://blog.bugsnag.com/2013/03/20/rails-3-2-13-performance-regressions-major-bugs</a></li>
</ul></li>
</ul>
<h3>Deployment-Strategien (00:06:52)</h3>
<ul>
<li>Wie wollen wir deployen?</li>
<li>Parallel vs. Seriell</li>
<li><a href="https://twitter.com/bascht">@bascht</a> benutzt zur Zeit Deployment mit Puppet
(<a href="https://puppetlabs.com/">https://puppetlabs.com/</a>) und Jenkins (<a href="http://jenkins-ci.org/">http://jenkins-ci.org/</a>)</li>
<li>Migrationen (zumindest aufwändigere) machen die Sache schnell
aufwändig und komplex</li>
<li>Chef-Capistrano: <a href="https://github.com/cramerdev/capistrano-chef">https://github.com/cramerdev/capistrano-chef</a></li>
</ul>
<h3>Arbeiten mit Chef (00:24:15)</h3>
<ul>
<li>Bundler für Chef: <a href="http://berkshelf.com/">http://berkshelf.com/</a> (Alternative:
<a href="https://github.com/applicationsonline/librarian-chef">https://github.com/applicationsonline/librarian-chef</a>)</li>
<li>Überhaupt interessanter GitHub Account: <a href="https://github.com/RiotGames">https://github.com/RiotGames</a>
(League of Legends)</li>
<li>Vagrant Intregration für Librarian (von Felix)
<a href="https://github.com/thegcat/vagrant-librarian">https://github.com/thegcat/vagrant-librarian</a></li>
<li>Abstruser Bug in Chef (10.x) beim iterieren über Attribute:
<a href="https://tickets.opscode.com/browse/CHEF-1804">https://tickets.opscode.com/browse/CHEF-1804</a></li>
<li>Für Chef contributen ist anstrengend:
<a href="https://github.com/railsbros-dirk/rsyslog/blob/master/CONTRIBUTING.md">https://github.com/railsbros-dirk/rsyslog/blob/master/CONTRIBUTING.md</a>
<ul>
<li>Daher Wrapper Cookbook, Gem was dabei unterstützen soll, hab ich
aber nicht ausprobiert: <a href="https://github.com/bryanwb/chef-rewind">https://github.com/bryanwb/chef-rewind</a></li>
<li>Gefunden bei
<a href="http://dougireton.com/blog/2013/02/16/chef-cookbook-anti-patterns/">http://dougireton.com/blog/2013/02/16/chef-cookbook-anti-patterns/</a>
(auch gute Artikel über Vim)</li>
</ul></li>
</ul>
<h3>VPN (00:42:26)</h3>
<ul>
<li>Basti ist auf der Suche nach einem VPN</li>
<li>Fragewürdige Seite: &#39;BESTVPNZ&#39;</li>
<li>VPN-Vergleich-Liste
<a href="http://torrentfreak.com/vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/">http://torrentfreak.com/vpn-services-that-take-your-anonymity-seriously-2013-edition-130302/</a></li>
<li>Warum? -> Wenn man mal irgendwo ist wo es man nicht weiß was man für
Internet bekommt.</li>
<li>Aktueller Favorit ist BlackVPN: <a href="https://www.blackvpn.com/services/">https://www.blackvpn.com/services/</a></li>
<li>Einwurf: 30C3 Sneak Preview: <a href="https://alpha.app.net/evelyn/post/4178558">https://alpha.app.net/evelyn/post/4178558</a></li>
</ul>
<h3>Cool Stuff™ (00:55:30)</h3>
<ul>
<li>CSS-style JSON Selektoren: <a href="http://jsonselect.org/">http://jsonselect.org/</a></li>
<li><a href="http://goessner.net/articles/JsonPath/">http://goessner.net/articles/JsonPath/</a></li>
<li>Window Manager für OS X: <a href="https://github.com/jigish/slate">https://github.com/jigish/slate</a></li>
<li>Window Manager für Linux (in Ruby gebaut): <a href="http://subforge.org/projects/subtle">http://subforge.org/projects/subtle</a></li>
<li><a href="https://github.com/aziz/tmuxinator">https://github.com/aziz/tmuxinator</a> (gefunden über Lucas dotfiles)</li>
</ul>
<h3>Vermischtes (01:14:31)</h3>
<ul>
<li><a href="http://flattr.kejsarmakten.se/github/">http://flattr.kejsarmakten.se/github/</a> -> Flattr Button bei GitHub</li>
<li><a href="https://www.gittip.com/">https://www.gittip.com/</a></li>
<li>Sublime statt Vim:
<a href="http://delvarworld.github.com/blog/2013/03/16/just-use-sublime-text/">http://delvarworld.github.com/blog/2013/03/16/just-use-sublime-text/</a></li>
<li>Haben uns sagen lassen, dass RubyMine total geil sein soll
(zumindest als Editor / Browser): <a href="http://www.jetbrains.com/ruby/">http://www.jetbrains.com/ruby/</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST009" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:01:46" title="Rails" />
<psc:chapter start="00:06:52" title="Deployment-Strategien" />
<psc:chapter start="00:24:15" title="Arbeiten mit Chef" />
<psc:chapter start="00:42:26" title="VPN" />
<psc:chapter start="00:55:30" title="Cool Stuff™" />
<psc:chapter start="01:14:31" title="Vermischtes" />
</psc:chapters>
</item>
<item>
<title>GST010 - Dackelklub</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Liane Thönnes (liane_thoennes) über das Leben und Arbeiten einer Designerin unter Entwicklern</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst010.mp3" length="48848034" type="audio/mpeg"/>
<guid isPermaLink="false">GST010</guid>
<pubDate>Tue, 02 Apr 2013 22:01:30 +0200</pubDate>
<itunes:duration>01:07:40</itunes:duration>
<itunes:summary><![CDATA[Synopsis: Wir sprechen zur 10. Sendung mit Liane (@liane_thoennes) über
das Leben und Arbeiten einer Designerin unter Entwicklern. Wir reden
über Werkzeuge, Prozesse und das allgemeine Miteinander. CoolStuff™ darf
natürlich auch nicht fehlen.
### Intro & Gast (00:00:00)
* Liane Thönnes @liane_thoennes / http://liane-thoennes.de
* Organisiert Rails Girls Cologne/Rheinland
* Liane ist Designerin bei Railslove (http://railslove.com/)
* Interessiert sich dafür, wie man die Zusammenarbeit von Designern und Entwicklern verbessern kann
### (Web-)Design (00:02:59)
* Kommunikation ist alles
* Icon Font Generator: http://fontello.com/
* WYSIWYG-Tool für Typographie im Web: http://typecast.com/
* Liane schwebt ein Design-Workshop für Entwickler vor
* Erste Skizzen auf Papier
* Dann Mockups gerne auch auf Papier, oder z.B. mit balsamiq: http://www.balsamiq.com/products/mockups
* Konkretisierung von Farben, Fonts, Abständen, etc.
* Play by Play mit Ryan Singer
* UX Sketching: https://peepcode.com/products/ryan-singer-ux
* UI Prototyping: https://peepcode.com/products/ryan-singer-ii
* Liane wünscht sich etwas mehr Liebe zum Detail von Entwicklern
* So fühlt sich Basti beim frontendlen: http://i.imgur.com/Q3cUg29.gif
* Leute, der Typ heißt PETER!
* Designer als ganz normaler Bestandteil eines agilen Entwicklungsprozesses
* An easy to follow design course for hackers who do amazing things: http://hackdesign.org
### Coworking (00:43:15)
* Liane erzählt etwas zum Gasmotorenfabrik e.V.
* Es herrscht Uneinigkeit, was den Namen anbelangt
* Neue Location des Cowoco: An der Bottmühle 5, 50678 Köln
* Der Name ist noch so ein Problem :)
### CoolStuff™ (00:52:56)
* Alternative zu tmuxinator: https://github.com/treyhunner/tmuxstart
* Kuchi-Paku DIE Freisprecheinrichtung: http://www.youtube.com/watch?v=Y86A2_pYSYU
* PonyOS A Hobby Operating System for Everypony! http://www.ponyos.org
### Verschiedenes (00:57:15)
* Technische Validierung von iOS Apps für den Review Prozess:
http://jury.me/blog/2013/3/19/deploymate
* Bootstrap jetzt endlich in schön
http://divshot.github.com/geo-bootstrap/
* “Interface Builder for the Web”: http://www.divshot.com/
* Benchmark anyone?:
http://www.techempower.com/blog/2013/03/28/framework-benchmarks/
* How to become a designer:
http://blog.mariusz.cc/post/46946707199/how-to-become-a-better-designer
* Chef, Überschreiben von Templates in Community-Cookbooks:
https://gist.github.com/fujin/1713157
* Railsgirls Followup - 22.4.2013 im Colabor:
http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998]]></itunes:summary>
<description><![CDATA[<p>Synopsis: Wir sprechen zur 10. Sendung mit Liane (<a href="https://twitter.com/liane_thoennes">@liane_thoennes</a>) über
das Leben und Arbeiten einer Designerin unter Entwicklern. Wir reden
über Werkzeuge, Prozesse und das allgemeine Miteinander. CoolStuff™ darf
natürlich auch nicht fehlen.</p>
<h3>Intro &amp; Gast (00:00:00)</h3>
<ul>
<li>Liane Thönnes <a href="https://twitter.com/liane_thoennes">@liane_thoennes</a> / <a href="http://liane-thoennes.de">http://liane-thoennes.de</a></li>
<li>Organisiert Rails Girls Cologne/Rheinland</li>
<li>Liane ist Designerin bei Railslove (<a href="http://railslove.com/">http://railslove.com/</a>)</li>
<li>Interessiert sich dafür, wie man die Zusammenarbeit von Designern und Entwicklern verbessern kann</li>
</ul>
<h3>(Web-)Design (00:02:59)</h3>
<ul>
<li>Kommunikation ist alles</li>
<li>Icon Font Generator: <a href="http://fontello.com/">http://fontello.com/</a></li>
<li>WYSIWYG-Tool für Typographie im Web: <a href="http://typecast.com/">http://typecast.com/</a></li>
<li>Liane schwebt ein Design-Workshop für Entwickler vor</li>
<li>Erste Skizzen auf Papier</li>
<li>Dann Mockups gerne auch auf Papier, oder z.B. mit balsamiq: <a href="http://www.balsamiq.com/products/mockups">http://www.balsamiq.com/products/mockups</a></li>
<li>Konkretisierung von Farben, Fonts, Abständen, etc.</li>
<li>Play by Play mit Ryan Singer
<ul>
<li>UX Sketching: <a href="https://peepcode.com/products/ryan-singer-ux">https://peepcode.com/products/ryan-singer-ux</a></li>
<li>UI Prototyping: <a href="https://peepcode.com/products/ryan-singer-ii">https://peepcode.com/products/ryan-singer-ii</a></li>
</ul></li>
<li>Liane wünscht sich etwas mehr Liebe zum Detail von Entwicklern</li>
<li>So fühlt sich Basti beim frontendlen: <a href="http://i.imgur.com/Q3cUg29.gif">http://i.imgur.com/Q3cUg29.gif</a>
<ul>
<li>Leute, der Typ heißt PETER!</li>
</ul></li>
<li>Designer als ganz normaler Bestandteil eines agilen Entwicklungsprozesses</li>
<li>An easy to follow design course for hackers who do amazing things: <a href="http://hackdesign.org">http://hackdesign.org</a></li>
</ul>
<h3>Coworking (00:43:15)</h3>
<ul>
<li>Liane erzählt etwas zum Gasmotorenfabrik e.V.</li>
<li>Es herrscht Uneinigkeit, was den Namen anbelangt</li>
<li>Neue Location des Cowoco: An der Bottmühle 5, 50678 Köln</li>
<li>Der Name ist noch so ein Problem :)</li>
</ul>
<h3>CoolStuff™ (00:52:56)</h3>
<ul>
<li>Alternative zu tmuxinator: <a href="https://github.com/treyhunner/tmuxstart">https://github.com/treyhunner/tmuxstart</a></li>
<li>Kuchi-Paku DIE Freisprecheinrichtung: <a href="http://www.youtube.com/watch?v=Y86A2_pYSYU">http://www.youtube.com/watch?v=Y86A2_pYSYU</a></li>
<li>PonyOS A Hobby Operating System for Everypony! <a href="http://www.ponyos.org">http://www.ponyos.org</a></li>
</ul>
<h3>Verschiedenes (00:57:15)</h3>
<ul>
<li>Technische Validierung von iOS Apps für den Review Prozess:
<a href="http://jury.me/blog/2013/3/19/deploymate">http://jury.me/blog/2013/3/19/deploymate</a></li>
<li>Bootstrap jetzt endlich in schön
<a href="http://divshot.github.com/geo-bootstrap/">http://divshot.github.com/geo-bootstrap/</a></li>
<li>“Interface Builder for the Web”: <a href="http://www.divshot.com/">http://www.divshot.com/</a></li>
<li>Benchmark anyone?:
<a href="http://www.techempower.com/blog/2013/03/28/framework-benchmarks/">http://www.techempower.com/blog/2013/03/28/framework-benchmarks/</a></li>
<li>How to become a designer:
<a href="http://blog.mariusz.cc/post/46946707199/how-to-become-a-better-designer">http://blog.mariusz.cc/post/46946707199/how-to-become-a-better-designer</a></li>
<li>Chef, Überschreiben von Templates in Community-Cookbooks:
<a href="https://gist.github.com/fujin/1713157">https://gist.github.com/fujin/1713157</a></li>
<li>Railsgirls Followup - 22.4.2013 im Colabor:
<a href="http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998">http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST010" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro &amp; Gast" />
<psc:chapter start="00:02:59" title="(Web-)Design" />
<psc:chapter start="00:43:15" title="Coworking" />
<psc:chapter start="00:52:56" title="CoolStuff™" />
<psc:chapter start="00:57:15" title="Verschiedenes" />
</psc:chapters>
</item>
<item>
<title>GST011 - Unsatisfied Computers</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Ein Geekstammtisch Classic, mit ohne Gast über OO Design, Code Metriken und und und…</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst011.mp3" length="59553867" type="audio/mpeg"/>
<guid isPermaLink="false">GST011</guid>
<pubDate>Mon, 15 Apr 2013 10:42:36 +0200</pubDate>
<itunes:duration>01:22:32</itunes:duration>
<itunes:summary><![CDATA[Synopsis: Heute ein Geekstammtisch Classic, mit ohne Gast. Wir reden
über Regeln für gutes OO-Design, Code Metriken, schlechte Angewohnheiten
von Entwicklern, Cool Stuff und etwas über git. Zur Auflockerung
philosophieren wir gegen Ende noch etwas über den PC Markt.
### Errata (00:00:45)
* Liane organisiert natürlich Railsgirls und arbeitet für Railslove. Da kommt man schon mal durcheinander :)
* Matthias @luebken machte uns aufmerksam auf “Lean UX”: https://twitter.com/luebken/status/321933241936384000
* Kuchi Paku Freisprecheinrichtung funktioniert nicht wie im Video, trotzdem lustig
### Podcasting (00:04:35)
* Geekstammtisch nun mit flattr!
* Wir sind bei der Hörsuppe gefeaturet worden: hoersuppe.de
* Neues Produkt aus dem Kölner Podcasting Cluster: nerdkun.de mit @bitboxer, @klaustoper, @moonbeamlabs und @l_ama (produziert im HOC und mit gst-kitchen)
### Ruby (00:08:23)
* Regeln für gutes OO-Design: https://gist.github.com/henrik/4509394#file-rules-md
* ursprünglich aus der Ruby Rogues Nummer 87: http://rubyrogues.com/087-rr-book-clubpractical-object-oriented-design-in-ruby-with-sandi-metz/
* http://gist.io/4567190
* https://github.com/codegram/pelusa
* Code Metriken: https://github.com/square/cane
* Style Checker (Trailing Whitespace, Line Length, Check for Tabs)
* ABC Metrik: Assignment, Branch, Condition
* Doc Check
* Weitere Checks recht einfach möglich
* Matrix Lib http://rubylearning.com/blog/2013/04/04/ruby-matrix-the-forgotten-library
* 7 Bad Programmer Habits: http://www.javacodegeeks.com/2012/05/top-7-programmers-bad-habits.html
### Gems (00:32:15)
* Git-Like Interface Command Line Parser: https://github.com/davetron5000/gli
* Weniger umfangreiche Variante: https://github.com/davetron5000/methadone
* CSSCSS: A CSS redundancy analyzer that analyzes redundancy http://zmoazeni.github.io/csscss/
### CoolStuff™ (00:37:31)
* GitHub.io: https://github.com/blog/1466-yummy-cookies-across-domains
* Boundary - “A New Approach to Application Performance Monitoring”: http://boundary.com/product/
* Pushpin: HTTP reverse proxy that supports streaming and long-polling https://github.com/fanout/pushpin
* http://starlogs.net/
* Vim Script lernen: http://learnvimscriptthehardway.stevelosh.com/
### Verschiedenes: iOS, git, Google blink (00:49:25)
* Wie viel wird wo geflucht: http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/
* Blink, Chromiums neue Engine: http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html, http://www.chromium.org/blink
* iOS Performance Tips: http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks (via: @denis2342)
* git Diskussion auf Twitter (@steveklabnik):
* https://twitter.com/steveklabnik/status/321332245086498816,
* https://twitter.com/steveklabnik/status/321335216595689473,
* https://twitter.com/garybernhardt/status/321339229009502208
* Conversation-Tracking in Twitter ist doof ^^
### Meta(ebene) (01:00:20)
* Blog zu ADN Kram: http://bupk.es/
* Shodan: Eine beängstigende Suchmaschine:
* http://www.neunetz.com/2013/04/09/shodan-eine-beangstigende-suchmaschine/
* http://money.cnn.com/2013/04/08/technology/security/shodan/
* PC Markt?!: http://www.handelsblatt.com/unternehmen/it-medien/marktforscher-windows-8-hat-versagt/8048772.html
* Chad Fowler beschreibt seinen Traummitarbeiter: http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/
### Events (01:14:40)
* NoSQL Matters Cologne (26. und 27.4. im KOMED): http://2013.nosql-matters.org/cgn/
* cologne.rb (17.4. bei triAGENS) http://www.nerdhub.de/events/40-cologne-rb/dates/845
* DevHouseFriday (19.4. bei wer-kennt-wen) http://www.nerdhub.de/events/9-devhouse-friday/dates/1878
* Railsgirls FollowUp (22.4. bei Colabor) http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998
* JAX (22. bis 26.4. in Mainz): http://jax.de/2013/
* Vielleicht nicht so unsere Zielgruppe, aber wir haben einen Talk schon vorab gehört ;-)
* http://jax.de/2013/sessions/?tid=2884#session-24955]]></itunes:summary>
<description><![CDATA[<p>Synopsis: Heute ein Geekstammtisch Classic, mit ohne Gast. Wir reden
über Regeln für gutes OO-Design, Code Metriken, schlechte Angewohnheiten
von Entwicklern, Cool Stuff und etwas über git. Zur Auflockerung
philosophieren wir gegen Ende noch etwas über den PC Markt.</p>
<h3>Errata (00:00:45)</h3>
<ul>
<li>Liane organisiert natürlich Railsgirls und arbeitet für Railslove. Da kommt man schon mal durcheinander :)</li>
<li>Matthias <a href="https://twitter.com/luebken">@luebken</a> machte uns aufmerksam auf “Lean UX”: <a href="https://twitter.com/luebken/status/321933241936384000">https://twitter.com/luebken/status/321933241936384000</a></li>
<li>Kuchi Paku Freisprecheinrichtung funktioniert nicht wie im Video, trotzdem lustig</li>
</ul>
<h3>Podcasting (00:04:35)</h3>
<ul>
<li>Geekstammtisch nun mit flattr!</li>
<li>Wir sind bei der Hörsuppe gefeaturet worden: hoersuppe.de</li>
<li>Neues Produkt aus dem Kölner Podcasting Cluster: nerdkun.de mit <a href="https://twitter.com/bitboxer">@bitboxer</a>, <a href="https://twitter.com/klaustoper">@klaustoper</a>, <a href="https://twitter.com/moonbeamlabs">@moonbeamlabs</a> und <a href="https://twitter.com/l_ama">@l_ama</a> (produziert im HOC und mit gst-kitchen)</li>
</ul>
<h3>Ruby (00:08:23)</h3>
<ul>
<li>Regeln für gutes OO-Design: <a href="https://gist.github.com/henrik/4509394#file-rules-md">https://gist.github.com/henrik/4509394#file-rules-md</a>
<ul>
<li>ursprünglich aus der Ruby Rogues Nummer 87: <a href="http://rubyrogues.com/087-rr-book-clubpractical-object-oriented-design-in-ruby-with-sandi-metz/">http://rubyrogues.com/087-rr-book-clubpractical-object-oriented-design-in-ruby-with-sandi-metz/</a></li>
<li><a href="http://gist.io/4567190">http://gist.io/4567190</a></li>
<li><a href="https://github.com/codegram/pelusa">https://github.com/codegram/pelusa</a></li>
</ul></li>
<li>Code Metriken: <a href="https://github.com/square/cane">https://github.com/square/cane</a>
<ul>
<li>Style Checker (Trailing Whitespace, Line Length, Check for Tabs)</li>
<li>ABC Metrik: Assignment, Branch, Condition</li>
<li>Doc Check</li>
<li>Weitere Checks recht einfach möglich</li>
</ul></li>
<li>Matrix Lib <a href="http://rubylearning.com/blog/2013/04/04/ruby-matrix-the-forgotten-library">http://rubylearning.com/blog/2013/04/04/ruby-matrix-the-forgotten-library</a></li>
<li>7 Bad Programmer Habits: <a href="http://www.javacodegeeks.com/2012/05/top-7-programmers-bad-habits.html">http://www.javacodegeeks.com/2012/05/top-7-programmers-bad-habits.html</a></li>
</ul>
<h3>Gems (00:32:15)</h3>
<ul>
<li>Git-Like Interface Command Line Parser: <a href="https://github.com/davetron5000/gli">https://github.com/davetron5000/gli</a></li>
<li>Weniger umfangreiche Variante: <a href="https://github.com/davetron5000/methadone">https://github.com/davetron5000/methadone</a></li>
<li>CSSCSS: A CSS redundancy analyzer that analyzes redundancy <a href="http://zmoazeni.github.io/csscss/">http://zmoazeni.github.io/csscss/</a></li>
</ul>
<h3>CoolStuff™ (00:37:31)</h3>
<ul>
<li>GitHub.io: <a href="https://github.com/blog/1466-yummy-cookies-across-domains">https://github.com/blog/1466-yummy-cookies-across-domains</a></li>
<li>Boundary - “A New Approach to Application Performance Monitoring”: <a href="http://boundary.com/product/">http://boundary.com/product/</a></li>
<li>Pushpin: HTTP reverse proxy that supports streaming and long-polling <a href="https://github.com/fanout/pushpin">https://github.com/fanout/pushpin</a></li>
<li><a href="http://starlogs.net/">http://starlogs.net/</a></li>
<li>Vim Script lernen: <a href="http://learnvimscriptthehardway.stevelosh.com/">http://learnvimscriptthehardway.stevelosh.com/</a></li>
</ul>
<h3>Verschiedenes: iOS, git, Google blink (00:49:25)</h3>
<ul>
<li>Wie viel wird wo geflucht: <a href="http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/">http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/</a></li>
<li>Blink, Chromiums neue Engine: <a href="http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html">http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html</a>, <a href="http://www.chromium.org/blink">http://www.chromium.org/blink</a></li>
<li>iOS Performance Tips: <a href="http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks">http://www.raywenderlich.com/31166/25-ios-app-performance-tips-tricks</a> (via: <a href="https://twitter.com/denis2342">@denis2342</a>)</li>
<li>git Diskussion auf Twitter (<a href="https://twitter.com/steveklabnik">@steveklabnik</a>):
<ul>
<li><a href="https://twitter.com/steveklabnik/status/321332245086498816">https://twitter.com/steveklabnik/status/321332245086498816</a>,</li>
<li><a href="https://twitter.com/steveklabnik/status/321335216595689473">https://twitter.com/steveklabnik/status/321335216595689473</a>,</li>
<li><a href="https://twitter.com/garybernhardt/status/321339229009502208">https://twitter.com/garybernhardt/status/321339229009502208</a></li>
<li>Conversation-Tracking in Twitter ist doof ^^</li>
</ul></li>
</ul>
<h3>Meta(ebene) (01:00:20)</h3>
<ul>
<li>Blog zu ADN Kram: <a href="http://bupk.es/">http://bupk.es/</a></li>
<li>Shodan: Eine beängstigende Suchmaschine:
<ul>
<li><a href="http://www.neunetz.com/2013/04/09/shodan-eine-beangstigende-suchmaschine/">http://www.neunetz.com/2013/04/09/shodan-eine-beangstigende-suchmaschine/</a></li>
<li><a href="http://money.cnn.com/2013/04/08/technology/security/shodan/">http://money.cnn.com/2013/04/08/technology/security/shodan/</a></li>
</ul></li>
<li>PC Markt?!: <a href="http://www.handelsblatt.com/unternehmen/it-medien/marktforscher-windows-8-hat-versagt/8048772.html">http://www.handelsblatt.com/unternehmen/it-medien/marktforscher-windows-8-hat-versagt/8048772.html</a></li>
<li>Chad Fowler beschreibt seinen Traummitarbeiter: <a href="http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/">http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/</a></li>
</ul>
<h3>Events (01:14:40)</h3>
<ul>
<li>NoSQL Matters Cologne (26. und 27.4. im KOMED): <a href="http://2013.nosql-matters.org/cgn/">http://2013.nosql-matters.org/cgn/</a></li>
<li>cologne.rb (17.4. bei triAGENS) <a href="http://www.nerdhub.de/events/40-cologne-rb/dates/845">http://www.nerdhub.de/events/40-cologne-rb/dates/845</a></li>
<li>DevHouseFriday (19.4. bei wer-kennt-wen) <a href="http://www.nerdhub.de/events/9-devhouse-friday/dates/1878">http://www.nerdhub.de/events/9-devhouse-friday/dates/1878</a></li>
<li>Railsgirls FollowUp (22.4. bei Colabor) <a href="http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998">http://www.nerdhub.de/events/115-rails-girls-cologne/dates/1998</a></li>
<li>JAX (22. bis 26.4. in Mainz): <a href="http://jax.de/2013/">http://jax.de/2013/</a>
<ul>
<li>Vielleicht nicht so unsere Zielgruppe, aber wir haben einen Talk schon vorab gehört ;-)</li>
<li><a href="http://jax.de/2013/sessions/?tid=2884#session-24955">http://jax.de/2013/sessions/?tid=2884#session-24955</a></li>
</ul></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST011" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:00:45" title="Errata" />
<psc:chapter start="00:04:35" title="Podcasting" />
<psc:chapter start="00:08:23" title="Ruby" />
<psc:chapter start="00:32:15" title="Gems" />
<psc:chapter start="00:37:31" title="CoolStuff™" />
<psc:chapter start="00:49:25" title="Verschiedenes: iOS, git, Google blink" />
<psc:chapter start="01:00:20" title="Meta(ebene)" />
<psc:chapter start="01:14:40" title="Events" />
</psc:chapters>
</item>
<item>
<title>GST013 - NoSQL Matters 2013</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Berichterstattung von der NoSQL Matters 2013</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst013.mp3" length="71288332" type="audio/mpeg"/>
<guid isPermaLink="false">GST013</guid>
<pubDate>Wed, 01 May 2013 20:40:24 +0200</pubDate>
<itunes:duration>01:38:47</itunes:duration>
<itunes:summary><![CDATA[Synopsis: Wir waren auf der NoSQL Matters 2013 in Köln (@nosqlmatters). Das ist jedoch keine Retrospektive in unserem Studio, sondern wir haben unser Equipment in den Mediapark Köln getragen und mit Teilnehmern und Speakern direkt vor Ort kurze Gespräche über die Konferenz, NoSQL und was sie technologisch bewegt geführt. Ergebnis ist die vorliegende Ausgabe vom Geekstammtisch. Wir hoffen euch gefällt dieses Experiment und ihr stört euch nicht zu sehr an der eingeschränkten Audioqualität.
### Gesprächspartner
* Martin Otten, adcloud (@Mobbit)
* Lucas Dohmen, ArangoDB/triAGENS (@moonbeamlabs)
* Sebastian Röbke (@boosty) und Stefan Kaes (@stkaes), Xing
* Frank Celler (@fceller) und Martin Schönert (@mschoenert), ArangoDB/triAGENS
* Simon Willnauer, Elasticsearch Inc. (@s1m0nw)
* Roland Gude, YOOCHOOSE (@rjtg_)
* Waldemar Schwan, adcloud (@Velrok)
* Sean Cribbs, Basho (@seancribbs)
* Gereon Steffens, Finanzen100 (@gereons)
### Begrüßung (00:00:00)
* Wir erklären worum es bei der Ausgabe geht und schwärmen von Martin Fowlers (http://martinfowler.com) Keynote ;-)
* Hat ein Buch zu dem Thema: http://martinfowler.com/books/nosql.html
* 'NoSQL' hat eigentlich keine Bedeutung und war nur ein Twitter-Hashtag
* _Polyglot-Persistence_ als zentrales Stichwort: "Weg von der einen großen Datenbank"
* Zwei treibende Faktoren hinter der Entscheidung für NoSQL:
* Entwicklungsgeschwindigkeit
* "Big Data"
* Durch das Aufkommen von SOA fällt die Datenbank als Integrationspunkt weg
* Definitive Aufforderung sich die Videos zu den Talks anzusehen ;-)
### Martin Otten von Adcloud (00:10:34)
* Martin (@Mobbit) arbeitet bei Adcloud in Köln
* Verwendung von unterschiedlichen Datenbanksystemen
* Martin würde auch S3 als "Datenbank" bezeichnen
* CouchDB ist super leicht an den Start zu bringen
* Basti weißt darauf hin, dass man grundsätzlich das System so einsetzen soll, dass es seine Stärken ausspielen kann
* Relationale Datenbanken sind auch dort noch nicht raus
### Lucas Dohmen von triAGENS (00:16:01)
* @moonbeamlabs war Teil der Orga und ist Teil des ArangoDB Core-Teams
* Talks werden als Videos bereitgestellt
* Die meisten Leute auf der Konferenz nutzen NoSQL Datenbanken und Gespräche werden über konkrete Probleme im Einsatz geführt
* Lucas hat auch einen Talk über ArangoDB Foxx gehalten (http://www.arangodb.org/2013/03/29/foxx-a-lightweight-javascript-application-framework-for-arangodb)
* Foxx bietet die Möglichkeit auf ArangoDB direkt eine REST-API zu definieren
* Ähnlich zu dem CouchApp-Projekt (http://couchapp.org/page/index)
* Lucas geht viel auf Konferenzen, weil sie machen Spaß und die Gespräche sind gut
* Lucas hat den Eindruck, dass die meisten bereits NoSQL Datenbanken einsetzen
* Viele setzen wohl viele Datenbanken ein, dass macht es zwar komplexer, aber bei großen Datenmengen hat man eh komplexe Systeme
* ArangoDB als allgemeine Datenbank vereint dokumentenbasierte wie graphbasierte Konzepte, was die Komplexität wieder reduzieren kann
### Sebastian Röbke und Stefan Kaes von Xing (00:25:04)
* Sebastian (@boosty) und Stefan sind im Architektur-Team von Xing tätig
* Evaluieren neue Technologie, entwickeln Prototypen und beraten die übrigen Teams
* Setzen unterschiedliche Datenbanken wie RabbitMQ, Riak und Redis ein
* Xing hat etwa 150 Engineers inkl. QA
* Inhalt des Talks
* Migration von SQL zu einem Riak-basierten System
* Fokus auf die Migration
* Weitere Technologien im Einsatz:
* Memcache, Redis, MongoDB, Neo4J, elasticsearch
* Für die Zukunft liegt der Fokus auf Optimierung der eingesetzen Technologien. Dabei werden Anwendungen auch schon mal wieder zurück auf MySQL geschoben
* Ziel ist die optimale Lösung für ein Problem zu finden
### Frank Celler und Martin Schönert von triAGENS (00:31:25)
* Martin (@mschoenert) arbeitet derzeit vor allem als Software-Architekt bei triAGENS
* Frank (@fceller) ist vor allem als Orga hier und kommt so langsam zur Ruhe :-)
* Martin hält einen Talk über das CAP-Theorem (http://en.wikipedia.org/wiki/CAP_theorem) und dessen Einfluss vor allem auf große Systeme
* Der Talk ist dabei unabhängig von konkreten Datenbankimplementationen
* Für Frank ist das ganze eher eine Bewegung mit fast ausschließlich Open Source Vertretern
* Es wird nicht der eine Produktkatalog abgearbeitet, sondern vielmehr findet ein reger Austausch über die unterschiedlichen Einsatzgebiete von Systemen statt
* Für Martin geht es bei der Konferenz vor allem um den Austausch von Erfahrungen bei der Auswahl von Systemen
* NoSQL werden aus Martins Sicht viel stärker als Bausteine gesehen um spezielle Probleme lösen zu können
* Weg von monolithischen zu komponentenbasierten Systemen
* Frank freut sich, dass wir da sind :-)
### Simon Willnauer von elasticsearch (00:39:11)
* Simon (@s1m0nw) ist seit 2006 am Apache Lucene Projekt beteiligt (http://lucene.apache.org/core/)
* Mit-Gründer von Elasticsearch Inc. (http://www.elasticsearch.com/) der Firma hinter elasticsearch
* Organisiert die Berlin Buzzwords Konferenz (http://berlinbuzzwords.de/)
* Er ist wirklich beeindruckt von der Konferenz und der Organisation
* Simons Talk war ein Einsteiger-Talk _ohne_ Slides (https://github.com/s1monw/hammertime)
* Demo, die in Echtzeit alle wesentlichen Eigenschaften von elasticsearch zeigt
* Wir sind uns alle einig, dass Live-Demos immer eine gute Alternative sind und vor allem authentisch rüberkommen
* Was hat eigentlich mit elasticsearch mit NoSQL zu tun?
* "Everything is a search"
* Simon macht mit Lucene NoSQL seit 2001
* Neo4J verwendet Lucene unter der Haube
* Lucene ist ein sehr performanter Key-Value-Store
* "Ich brauche keine Volltextsuche, ich brauch kein elasticsearch" -> Die Anwendungsbereiche sind sehr viel größer (z.B. Lucene als sehr schnelle Hashmap zu nutzen)
* elasticsearch ist durch sein append-only Ansatz extrem auf schnelles Schreiben optimiert und begünstigt zudem den Einsatz von SSDs
* Lucene 4 ist seit Oktober 2012 draußen mit massiven Verbesserungen bei der Performance und den Datenstrukturen
### Roland Gude von YOOCHOOSE (00:51:10)
* Roland (@rjtg_) arbeitet bei YOOCHOOSE in Köln (http://http://www.yoochoose.com/)
* Baut ein Empfehlungssystem (z.B. für Shops)
* Beschäftigt sich dabei vor allem mit den Fragen rund um "Big Data" (Was? Wie?)
* Eingesetzt wird Cassandra (http://cassandra.apache.org/), Hadoop (für Research), Spark (http://spark-project.org/)
* Roland fand Seans Vortrag zu konvergierenden Datenstrukturen sehr gut: http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs
* Ebenfalls der Vortrag von Mahesh Paolini-Subramanya (@dieswaytoofast) http://2013.nosql-matters.org/cgn/abstracts/#abstract_mahesh_paolini-subramanya
* Bei der Frage, "Ease of Development oder Big Data" findet Roland, dass die Einfachheit der Entwicklung keine große Rolle spielt. Er sieht eher den Vorteil beim Betrieb von NoSQL Datenbanken.
* YOOCHOOSE verwendet Asgard, das AWS Deployment und Management Tool von Netflix https://github.com/Netflix/asgard
* Cassandra ist bei YOOCHOOSE ist noch nicht vollständig automatisiert, was den Betrieb angeht. Es wird aber dran gearbeitet.
### Waldemar Schwan von Adcloud (01:04:59)
* Waldemar (@Velrok) arbeitet bei Adcloud
* Im Moment arbeitet er an seiner Masterarbeit zum Thema Empfehlungssysteme
* Beschäftigt sich mit Hadoop und kümmert u.a. sich um Hive
* Fand, wie jeder bisher, die Keynote sehr gut
* Sehr spannend fand er auch den Vortrag von Michael Hausenblas (@mhausenblas) zu Apache Drill (http://incubator.apache.org/drill/): http://2013.nosql-matters.org/cgn/abstracts/#abstract_michael_hausenblas
* Gekocht wird mit (heißem?) Wasser
* Waldemar wird einen Clojure Workshop am 22.05.2013 ab 16:30 bei adcloud geben: http://dev.adcloud.com/blog/2013/04/19/clojure-introduction-workshop/
### Sean Cribbs von basho (01:15:18)
* Weltpremiere beim Geekstammtisch: Englisch :)
* Sean (@seancribbs) ist Entwickler bei @basho ("Makers of Riak")
* Basho ist ein verteiltes Unternehmen und Sean verrät ein paar Geheimnisse, warum das so gut funktioniert und worauf man achten muss
* Vertrauen in Mitarbeiter
* Hochmotivierte Mitarbeiter
* Verschiedene Kommunikationskanäle (z.B. HipChat, Skype, mumble, gotomeeting.com, E-Mail, yammer, ...)
* man muss **viel** kommunikativer sein, wenn man verteilt arbeitet
* Insgesamt bleibt zu sagen die Kultur eines Unternehmens bestimmt die Technologie
* An der NoSQL Matters gefällt Sean vor allem, dass so viele verschiedene Sichtweisen zusammenkommen und wie Leute NoSQL Systeme konkret einsetzen für ihre Produkte
* Er sieht einen beginnenden Reifeprozess im Bereich der NoSQL Datenbanken
* Es gibt weniger Angst bei Unternehmen vor NoSQL Systemen und die Akzeptanz steigt
* Sean interessiert sich sehr
* Probleme von verteilten Systemen
* eine "strongly consistent" Alternative zu Riak
* In seinem Vortrag (http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs) spricht er über konvergierende Datenstrukturen
* Es gibt eine gewisse Angst vor eventual consistency aus Unverständnis
* Wir reden über Fehlannahmen, was Konsistenzverhalten verschiedene Systeme anbelangt
### Gereon Steffens von Finanzen100 (01:25:03)
* Gereon (@gereons) arbeitet Finanzen100, die Finanzinformationssysteme herstellen
* NoSQL spielt noch keine richtig große Rolle bei Finanzen100
* Erste Gehversuche mit Redis (inspiriert durch http://tisba.de/2012/06/28/nosql-not-only-a-fairy-tale/)
* Riak hat Gereon auch auf dem Radar und nutzt die Gelegenheit auf der Konferenz sich auszutauschen
* Redis wurde als Spielprojekt eingesetzt um einen URL Shortner zu bauen
* Und demnächst dann zum Aufbau von Watchlisten
* Angeschaut hat sich recht viel :)
* Der Trend bei Finanzen100 geht weg von Web und hin zu Apps
* Wir schweifen etwas ab und Reden über iOS Apps, iAd und Vor- und Nachteile von nativen und nicht-nativen Apps
* Weiterhin reden wir über Finanzen100s Transition von Webanwendung hin zu nativen Apps]]></itunes:summary>
<description><![CDATA[<p>Synopsis: Wir waren auf der NoSQL Matters 2013 in Köln (<a href="https://twitter.com/nosqlmatters">@nosqlmatters</a>). Das ist jedoch keine Retrospektive in unserem Studio, sondern wir haben unser Equipment in den Mediapark Köln getragen und mit Teilnehmern und Speakern direkt vor Ort kurze Gespräche über die Konferenz, NoSQL und was sie technologisch bewegt geführt. Ergebnis ist die vorliegende Ausgabe vom Geekstammtisch. Wir hoffen euch gefällt dieses Experiment und ihr stört euch nicht zu sehr an der eingeschränkten Audioqualität.</p>
<h3>Gesprächspartner</h3>
<ul>
<li>Martin Otten, adcloud (<a href="https://twitter.com/Mobbit">@Mobbit</a>)</li>
<li>Lucas Dohmen, ArangoDB/triAGENS (<a href="https://twitter.com/moonbeamlabs">@moonbeamlabs</a>)</li>
<li>Sebastian Röbke (<a href="https://twitter.com/boosty">@boosty</a>) und Stefan Kaes (<a href="https://twitter.com/stkaes">@stkaes</a>), Xing</li>
<li>Frank Celler (<a href="https://twitter.com/fceller">@fceller</a>) und Martin Schönert (<a href="https://twitter.com/mschoenert">@mschoenert</a>), ArangoDB/triAGENS</li>
<li>Simon Willnauer, Elasticsearch Inc. (<a href="https://twitter.com/s1m0nw">@s1m0nw</a>)</li>
<li>Roland Gude, YOOCHOOSE (<a href="https://twitter.com/rjtg_">@rjtg_</a>)</li>
<li>Waldemar Schwan, adcloud (<a href="https://twitter.com/Velrok">@Velrok</a>)</li>
<li>Sean Cribbs, Basho (<a href="https://twitter.com/seancribbs">@seancribbs</a>)</li>
<li>Gereon Steffens, Finanzen100 (<a href="https://twitter.com/gereons">@gereons</a>)</li>
</ul>
<h3>Begrüßung (00:00:00)</h3>
<ul>
<li>Wir erklären worum es bei der Ausgabe geht und schwärmen von Martin Fowlers (<a href="http://martinfowler.com">http://martinfowler.com</a>) Keynote ;-)
<ul>
<li>Hat ein Buch zu dem Thema: <a href="http://martinfowler.com/books/nosql.html">http://martinfowler.com/books/nosql.html</a></li>
<li>&#39;NoSQL&#39; hat eigentlich keine Bedeutung und war nur ein Twitter-Hashtag</li>
<li><em>Polyglot-Persistence</em> als zentrales Stichwort: &quot;Weg von der einen großen Datenbank&quot;</li>
<li>Zwei treibende Faktoren hinter der Entscheidung für NoSQL:
<ul>
<li>Entwicklungsgeschwindigkeit</li>
<li>&quot;Big Data&quot;</li>
</ul></li>
<li>Durch das Aufkommen von SOA fällt die Datenbank als Integrationspunkt weg</li>
</ul></li>
<li>Definitive Aufforderung sich die Videos zu den Talks anzusehen ;-)</li>
</ul>
<h3>Martin Otten von Adcloud (00:10:34)</h3>
<ul>
<li>Martin (<a href="https://twitter.com/Mobbit">@Mobbit</a>) arbeitet bei Adcloud in Köln</li>
<li>Verwendung von unterschiedlichen Datenbanksystemen</li>
<li>Martin würde auch S3 als &quot;Datenbank&quot; bezeichnen</li>
<li>CouchDB ist super leicht an den Start zu bringen</li>
<li>Basti weißt darauf hin, dass man grundsätzlich das System so einsetzen soll, dass es seine Stärken ausspielen kann</li>
<li>Relationale Datenbanken sind auch dort noch nicht raus</li>
</ul>
<h3>Lucas Dohmen von triAGENS (00:16:01)</h3>
<ul>
<li><a href="https://twitter.com/moonbeamlabs">@moonbeamlabs</a> war Teil der Orga und ist Teil des ArangoDB Core-Teams</li>
<li>Talks werden als Videos bereitgestellt</li>
<li>Die meisten Leute auf der Konferenz nutzen NoSQL Datenbanken und Gespräche werden über konkrete Probleme im Einsatz geführt</li>
<li>Lucas hat auch einen Talk über ArangoDB Foxx gehalten (<a href="http://www.arangodb.org/2013/03/29/foxx-a-lightweight-javascript-application-framework-for-arangodb">http://www.arangodb.org/2013/03/29/foxx-a-lightweight-javascript-application-framework-for-arangodb</a>)
<ul>
<li>Foxx bietet die Möglichkeit auf ArangoDB direkt eine REST-API zu definieren</li>
<li>Ähnlich zu dem CouchApp-Projekt (<a href="http://couchapp.org/page/index">http://couchapp.org/page/index</a>)</li>
</ul></li>
<li>Lucas geht viel auf Konferenzen, weil sie machen Spaß und die Gespräche sind gut</li>
<li>Lucas hat den Eindruck, dass die meisten bereits NoSQL Datenbanken einsetzen</li>
<li>Viele setzen wohl viele Datenbanken ein, dass macht es zwar komplexer, aber bei großen Datenmengen hat man eh komplexe Systeme</li>
<li>ArangoDB als allgemeine Datenbank vereint dokumentenbasierte wie graphbasierte Konzepte, was die Komplexität wieder reduzieren kann</li>
</ul>
<h3>Sebastian Röbke und Stefan Kaes von Xing (00:25:04)</h3>
<ul>
<li>Sebastian (<a href="https://twitter.com/boosty">@boosty</a>) und Stefan sind im Architektur-Team von Xing tätig</li>
<li>Evaluieren neue Technologie, entwickeln Prototypen und beraten die übrigen Teams</li>
<li>Setzen unterschiedliche Datenbanken wie RabbitMQ, Riak und Redis ein</li>
<li>Xing hat etwa 150 Engineers inkl. QA</li>
<li>Inhalt des Talks
<ul>
<li>Migration von SQL zu einem Riak-basierten System</li>
<li>Fokus auf die Migration</li>
</ul></li>
<li>Weitere Technologien im Einsatz:
<ul>
<li>Memcache, Redis, MongoDB, Neo4J, elasticsearch</li>
</ul></li>
<li>Für die Zukunft liegt der Fokus auf Optimierung der eingesetzen Technologien. Dabei werden Anwendungen auch schon mal wieder zurück auf MySQL geschoben</li>
<li>Ziel ist die optimale Lösung für ein Problem zu finden</li>
</ul>
<h3>Frank Celler und Martin Schönert von triAGENS (00:31:25)</h3>
<ul>
<li>Martin (<a href="https://twitter.com/mschoenert">@mschoenert</a>) arbeitet derzeit vor allem als Software-Architekt bei triAGENS</li>
<li>Frank (<a href="https://twitter.com/fceller">@fceller</a>) ist vor allem als Orga hier und kommt so langsam zur Ruhe :-)</li>
<li>Martin hält einen Talk über das CAP-Theorem (<a href="http://en.wikipedia.org/wiki/CAP_theorem">http://en.wikipedia.org/wiki/CAP_theorem</a>) und dessen Einfluss vor allem auf große Systeme</li>
<li>Der Talk ist dabei unabhängig von konkreten Datenbankimplementationen</li>
<li>Für Frank ist das ganze eher eine Bewegung mit fast ausschließlich Open Source Vertretern</li>
<li>Es wird nicht der eine Produktkatalog abgearbeitet, sondern vielmehr findet ein reger Austausch über die unterschiedlichen Einsatzgebiete von Systemen statt</li>
<li>Für Martin geht es bei der Konferenz vor allem um den Austausch von Erfahrungen bei der Auswahl von Systemen</li>
<li>NoSQL werden aus Martins Sicht viel stärker als Bausteine gesehen um spezielle Probleme lösen zu können</li>
<li>Weg von monolithischen zu komponentenbasierten Systemen</li>
<li>Frank freut sich, dass wir da sind :-)</li>
</ul>
<h3>Simon Willnauer von elasticsearch (00:39:11)</h3>
<ul>
<li>Simon (<a href="https://twitter.com/s1m0nw">@s1m0nw</a>) ist seit 2006 am Apache Lucene Projekt beteiligt (<a href="http://lucene.apache.org/core/">http://lucene.apache.org/core/</a>)</li>
<li>Mit-Gründer von Elasticsearch Inc. (<a href="http://www.elasticsearch.com/">http://www.elasticsearch.com/</a>) der Firma hinter elasticsearch</li>
<li>Organisiert die Berlin Buzzwords Konferenz (<a href="http://berlinbuzzwords.de/">http://berlinbuzzwords.de/</a>)</li>
<li>Er ist wirklich beeindruckt von der Konferenz und der Organisation</li>
<li>Simons Talk war ein Einsteiger-Talk <em>ohne</em> Slides (<a href="https://github.com/s1monw/hammertime">https://github.com/s1monw/hammertime</a>)</li>
<li>Demo, die in Echtzeit alle wesentlichen Eigenschaften von elasticsearch zeigt</li>
<li>Wir sind uns alle einig, dass Live-Demos immer eine gute Alternative sind und vor allem authentisch rüberkommen</li>
<li>Was hat eigentlich mit elasticsearch mit NoSQL zu tun?
<ul>
<li>&quot;Everything is a search&quot;</li>
<li>Simon macht mit Lucene NoSQL seit 2001</li>
<li>Neo4J verwendet Lucene unter der Haube</li>
<li>Lucene ist ein sehr performanter Key-Value-Store</li>
<li>&quot;Ich brauche keine Volltextsuche, ich brauch kein elasticsearch&quot; -> Die Anwendungsbereiche sind sehr viel größer (z.B. Lucene als sehr schnelle Hashmap zu nutzen)</li>
</ul></li>
<li>elasticsearch ist durch sein append-only Ansatz extrem auf schnelles Schreiben optimiert und begünstigt zudem den Einsatz von SSDs</li>
<li>Lucene 4 ist seit Oktober 2012 draußen mit massiven Verbesserungen bei der Performance und den Datenstrukturen</li>
</ul>
<h3>Roland Gude von YOOCHOOSE (00:51:10)</h3>
<ul>
<li>Roland (<a href="https://twitter.com/rjtg_">@rjtg_</a>) arbeitet bei YOOCHOOSE in Köln (<a href="http://http://www.yoochoose.com/">http://http://www.yoochoose.com/</a>)</li>
<li>Baut ein Empfehlungssystem (z.B. für Shops)</li>
<li>Beschäftigt sich dabei vor allem mit den Fragen rund um &quot;Big Data&quot; (Was? Wie?)</li>
<li>Eingesetzt wird Cassandra (<a href="http://cassandra.apache.org/">http://cassandra.apache.org/</a>), Hadoop (für Research), Spark (<a href="http://spark-project.org/">http://spark-project.org/</a>)</li>
<li>Roland fand Seans Vortrag zu konvergierenden Datenstrukturen sehr gut: <a href="http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs">http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs</a></li>
<li>Ebenfalls der Vortrag von Mahesh Paolini-Subramanya (<a href="https://twitter.com/dieswaytoofast">@dieswaytoofast</a>) <a href="http://2013.nosql-matters.org/cgn/abstracts/#abstract_mahesh_paolini-subramanya">http://2013.nosql-matters.org/cgn/abstracts/#abstract_mahesh_paolini-subramanya</a></li>
<li>Bei der Frage, &quot;Ease of Development oder Big Data&quot; findet Roland, dass die Einfachheit der Entwicklung keine große Rolle spielt. Er sieht eher den Vorteil beim Betrieb von NoSQL Datenbanken.</li>
<li>YOOCHOOSE verwendet Asgard, das AWS Deployment und Management Tool von Netflix <a href="https://github.com/Netflix/asgard">https://github.com/Netflix/asgard</a></li>
<li>Cassandra ist bei YOOCHOOSE ist noch nicht vollständig automatisiert, was den Betrieb angeht. Es wird aber dran gearbeitet.</li>
</ul>
<h3>Waldemar Schwan von Adcloud (01:04:59)</h3>
<ul>
<li>Waldemar (<a href="https://twitter.com/Velrok">@Velrok</a>) arbeitet bei Adcloud</li>
<li>Im Moment arbeitet er an seiner Masterarbeit zum Thema Empfehlungssysteme</li>
<li>Beschäftigt sich mit Hadoop und kümmert u.a. sich um Hive</li>
<li>Fand, wie jeder bisher, die Keynote sehr gut</li>
<li>Sehr spannend fand er auch den Vortrag von Michael Hausenblas (<a href="https://twitter.com/mhausenblas">@mhausenblas</a>) zu Apache Drill (<a href="http://incubator.apache.org/drill/):">http://incubator.apache.org/drill/):</a> <a href="http://2013.nosql-matters.org/cgn/abstracts/#abstract_michael_hausenblas">http://2013.nosql-matters.org/cgn/abstracts/#abstract_michael_hausenblas</a></li>
<li>Gekocht wird mit (heißem?) Wasser</li>
<li>Waldemar wird einen Clojure Workshop am 22.05.2013 ab 16:30 bei adcloud geben: <a href="http://dev.adcloud.com/blog/2013/04/19/clojure-introduction-workshop/">http://dev.adcloud.com/blog/2013/04/19/clojure-introduction-workshop/</a></li>
</ul>
<h3>Sean Cribbs von basho (01:15:18)</h3>
<ul>
<li>Weltpremiere beim Geekstammtisch: Englisch :)</li>
<li>Sean (<a href="https://twitter.com/seancribbs">@seancribbs</a>) ist Entwickler bei <a href="https://twitter.com/basho">@basho</a> (&quot;Makers of Riak&quot;)</li>
<li>Basho ist ein verteiltes Unternehmen und Sean verrät ein paar Geheimnisse, warum das so gut funktioniert und worauf man achten muss
<ul>
<li>Vertrauen in Mitarbeiter</li>
<li>Hochmotivierte Mitarbeiter</li>
<li>Verschiedene Kommunikationskanäle (z.B. HipChat, Skype, mumble, gotomeeting.com, E-Mail, yammer, ...)</li>
<li>man muss <strong>viel</strong> kommunikativer sein, wenn man verteilt arbeitet</li>
</ul></li>
<li>Insgesamt bleibt zu sagen die Kultur eines Unternehmens bestimmt die Technologie</li>
<li>An der NoSQL Matters gefällt Sean vor allem, dass so viele verschiedene Sichtweisen zusammenkommen und wie Leute NoSQL Systeme konkret einsetzen für ihre Produkte</li>
<li>Er sieht einen beginnenden Reifeprozess im Bereich der NoSQL Datenbanken</li>
<li>Es gibt weniger Angst bei Unternehmen vor NoSQL Systemen und die Akzeptanz steigt</li>
<li>Sean interessiert sich sehr
<ul>
<li>Probleme von verteilten Systemen</li>
<li>eine &quot;strongly consistent&quot; Alternative zu Riak</li>
</ul></li>
<li>In seinem Vortrag (<a href="http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs">http://2013.nosql-matters.org/cgn/abstracts/#abstract_sean_cribbs</a>) spricht er über konvergierende Datenstrukturen</li>
<li>Es gibt eine gewisse Angst vor eventual consistency aus Unverständnis</li>
<li>Wir reden über Fehlannahmen, was Konsistenzverhalten verschiedene Systeme anbelangt</li>
</ul>
<h3>Gereon Steffens von Finanzen100 (01:25:03)</h3>
<ul>
<li>Gereon (<a href="https://twitter.com/gereons">@gereons</a>) arbeitet Finanzen100, die Finanzinformationssysteme herstellen</li>
<li>NoSQL spielt noch keine richtig große Rolle bei Finanzen100</li>
<li>Erste Gehversuche mit Redis (inspiriert durch <a href="http://tisba.de/2012/06/28/nosql-not-only-a-fairy-tale/">http://tisba.de/2012/06/28/nosql-not-only-a-fairy-tale/</a>)</li>
<li>Riak hat Gereon auch auf dem Radar und nutzt die Gelegenheit auf der Konferenz sich auszutauschen</li>
<li>Redis wurde als Spielprojekt eingesetzt um einen URL Shortner zu bauen</li>
<li>Und demnächst dann zum Aufbau von Watchlisten</li>
<li>Angeschaut hat sich recht viel :)</li>
<li>Der Trend bei Finanzen100 geht weg von Web und hin zu Apps</li>
<li>Wir schweifen etwas ab und Reden über iOS Apps, iAd und Vor- und Nachteile von nativen und nicht-nativen Apps</li>
<li>Weiterhin reden wir über Finanzen100s Transition von Webanwendung hin zu nativen Apps</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST013" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Eröffnung" />
<psc:chapter start="00:10:34.130" title="Martin Otten (Adcloud)" />
<psc:chapter start="00:16:01.070" title="Lucas Dohmen (triAGENS)" />
<psc:chapter start="00:25:04.200" title="Sebastian Röbke und Stefan Kaes (Xing)" />
<psc:chapter start="00:31:25.160" title="Frank Celler und Martin Schönert (triAGENS)" />
<psc:chapter start="00:39:11.220" title="Simon Willnauer (Elasticsearch)" />
<psc:chapter start="00:51:10.160" title="Roland Gude (yoochoose)" />
<psc:chapter start="01:04:59.010" title="Waldemar Schwan (Adcloud)" />
<psc:chapter start="01:15:18.090" title="Sean Cribbs (basho)" />
<psc:chapter start="01:25:03.030" title="Gereon Steffens (Finanzen100)" />
</psc:chapters>
</item>
<item>
<title>GST014 - Business Kasper UG</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Matthias @luebken über den leidenschaftlichen Entwickler und agile Softwareentwicklung</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst014.mp3" length="75384721" type="audio/mpeg"/>
<guid isPermaLink="false">GST014</guid>
<pubDate>Mon, 20 May 2013 17:18:16 +0200</pubDate>
<itunes:duration>01:44:21</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Wir haben uns mit Matthias @luebken hingesetzt und einen
Geekstammtisch abgehalten. Gesprochen haben darüber, was einen guten,
leidenschaftlichen Softwareentwickler ausmacht und warum wir alle agile
Softwareentwicklung machen (wollen). Wie immer schweifen wir in alle
mögliche Richtungen ab und danken @larsvegas für das Bringen neuen
Bieres!
### Intro & Gast (00:00:00)
* Matthias trinkt Leffe Ruby: http://www.leffe.com/en/beer/leffe-ruby
* Macht was mit Softwareentwicklung
* Director Software Development bei Adcloud
* Matthias <3 Agile Softwareentwicklung
* Programmiert zwar gerne, sein Steckenpferd ist aber eher der Enabler zu sein für Entwicklung
### Der ideale Entwickler (00:04:45)
* Die Basis sind wirklich gute Entwickler
* Wir sind uns einig, dass “gut” nicht wirklich scharf zu definieren ist
* Leidenschaft für die Sache scheint ein wichtiger Punkt zu sein
* Braucht man “Coding Monkeys”?
* Extreme Programming: http://en.wikipedia.org/wiki/Extreme_programming
* Sustainable Pace: http://en.wikipedia.org/wiki/Extreme_programming_practices#Sustainable_pace
* (Aus GST011) Chad Fowler beschreibt seinen Traummitarbeiter: http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/
* Matthias will "Generalizing Specialists": http://www.agilemodeling.com/essays/generalizingSpecialists.htm (von Scott W. Ambler)
* T-Shaped People
* ein Spezialgebiet
* aber trotzdem eine gewisse Weitsicht
### Einschub: Post-it! (00:26:16)
* Matthias liebt Post-it! Er arbeitet viel mit kleinen Zetteln in verschiedenen Bereichen der Produkt- und Softwareentwicklung bei Adcloud
* Matthias bietet Schulungen an, wie man Post-its richtig abzieht :)
* Präsentationen mit Post-it!s?
* Visual Facilitation kann man lernen, selbst als Nerd: http://de.wikipedia.org/wiki/Visual_Facilitation
### Prozesse zur Softwareentwicklung & Arbeitsmodelle (00:35:00)
* Wasserfall: http://en.wikipedia.org/wiki/Waterfall_model
* Man kann aus zwei verschiedenen Richtungen zur agilen Softwareentwicklung kommen
* man möchte “weniger” oder andere Strukturen (von Wasserfall her kommend)
* man möchte mehr Struktur, weil es vorher gar keine gab (kein Prozess)
* Das agile Manifest (Manifesto for Agile Software Development): http://agilemanifesto.org/
* Principles behind the Agile Manifesto: http://agilemanifesto.org/principles.html
* Matthias findet Face-to-Face Kommunikation sehr wichtig und wir fragen uns, wie sich das in Einklang bringen kann mit verteilten Arbeiten, Homeoffice usw.
* Wie bringt man für agile Entwicklung Leute zusammen, die nicht die selbe Sprache als Muttersprache haben? Oder nicht alle vor Ort sind?
* Matthias würde immer nicht-verteilt arbeiten, wenn es möglich ist
* …andere versuchen genau das Gegenteil
* Marissa Mayer von Yahoo ruft die Homeoffice-Arbeiter zurück: http://www.nytimes.com/2013/02/26/technology/yahoo-orders-home-workers-back-to-the-office.html?pagewanted=all
* The Values of Extreme Programming: Simplicity, Communication, Feedback, Respect and Courage (http://www.extremeprogramming.org/values.html)
* Einführung von (agilen) Entwicklungsprozessen: Langsam und vorsichtig, oder ganz oder gar nicht
* Kanban (http://en.wikipedia.org/wiki/Kanban) als minimaler Prozess
* Dirk hat bei pkw.de gute Erfahrung damit gemacht, den “ganz oder gar nicht”-Ansatz zu verfolgen und sich einen externen Scrum Master zu besorgen
* Wir sind uns einig, dass Retrospektiven, das zentrale und entscheidene Mittel in guten Entwicklungsprozessen ist.
* Ein agiler Ansatz hat Auswirkungen auf das ganze Unternehmen: Agile Softwareentwicklung => Agiles Unternehmen
* Wir stellen fest, dass die ganze agile Bewegung schon recht alt ist (z.B. Lean Manufacturing: http://en.wikipedia.org/wiki/Lean_manufacturing)
* Embrace the Change, Veränderung ist Teil des Systems, und kein Fehler.
### Das Wort zum Sonntag (01:35:42)
* Matthias empfielt alles von Henrik Kniberg (@henrikkniberg, http://www.crisp.se/konsulter/henrik-kniberg), z.B. http://blog.crisp.se/2012/11/14/henrikkniberg/scaling-agile-at-spotify)
* Kommt zu User Groups, tauscht euch aus!
* Hört Podcasts! :)
* Matthias ruft auf zur NoDev User Group in Köln, analog zu NoSQL, Not-Only Dev!
* aka "Business Kasper UG"
* #nodev
* Business Kasper (http://vimeo.com/4560687)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Wir haben uns mit Matthias <a href="https://twitter.com/luebken">@luebken</a> hingesetzt und einen
Geekstammtisch abgehalten. Gesprochen haben darüber, was einen guten,
leidenschaftlichen Softwareentwickler ausmacht und warum wir alle agile
Softwareentwicklung machen (wollen). Wie immer schweifen wir in alle
mögliche Richtungen ab und danken <a href="https://twitter.com/larsvegas">@larsvegas</a> für das Bringen neuen
Bieres!</p>
<h3>Intro &amp; Gast (00:00:00)</h3>
<ul>
<li>Matthias trinkt Leffe Ruby: <a href="http://www.leffe.com/en/beer/leffe-ruby">http://www.leffe.com/en/beer/leffe-ruby</a></li>
<li>Macht was mit Softwareentwicklung</li>
<li>Director Software Development bei Adcloud</li>
<li>Matthias &lt;3 Agile Softwareentwicklung</li>
<li>Programmiert zwar gerne, sein Steckenpferd ist aber eher der Enabler zu sein für Entwicklung</li>
</ul>
<h3>Der ideale Entwickler (00:04:45)</h3>
<ul>
<li>Die Basis sind wirklich gute Entwickler
<ul>
<li>Wir sind uns einig, dass “gut” nicht wirklich scharf zu definieren ist</li>
<li>Leidenschaft für die Sache scheint ein wichtiger Punkt zu sein</li>
</ul></li>
<li>Braucht man “Coding Monkeys”?</li>
<li>Extreme Programming: <a href="http://en.wikipedia.org/wiki/Extreme_programming">http://en.wikipedia.org/wiki/Extreme_programming</a>
<ul>
<li>Sustainable Pace: <a href="http://en.wikipedia.org/wiki/Extreme_programming_practices#Sustainable_pace">http://en.wikipedia.org/wiki/Extreme_programming_practices#Sustainable_pace</a></li>
</ul></li>
<li>(Aus GST011) Chad Fowler beschreibt seinen Traummitarbeiter: <a href="http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/">http://chadfowler.com/blog/2013/04/09/who-i-want-to-hire/</a></li>
<li>Matthias will &quot;Generalizing Specialists&quot;: <a href="http://www.agilemodeling.com/essays/generalizingSpecialists.htm">http://www.agilemodeling.com/essays/generalizingSpecialists.htm</a> (von Scott W. Ambler)</li>
<li>T-Shaped People
<ul>
<li>ein Spezialgebiet</li>
<li>aber trotzdem eine gewisse Weitsicht</li>
</ul></li>
</ul>
<h3>Einschub: Post-it! (00:26:16)</h3>
<ul>
<li>Matthias liebt Post-it! Er arbeitet viel mit kleinen Zetteln in verschiedenen Bereichen der Produkt- und Softwareentwicklung bei Adcloud</li>
<li>Matthias bietet Schulungen an, wie man Post-its richtig abzieht :)</li>
<li>Präsentationen mit Post-it!s?</li>
<li>Visual Facilitation kann man lernen, selbst als Nerd: <a href="http://de.wikipedia.org/wiki/Visual_Facilitation">http://de.wikipedia.org/wiki/Visual_Facilitation</a></li>
</ul>
<h3>Prozesse zur Softwareentwicklung &amp; Arbeitsmodelle (00:35:00)</h3>
<ul>
<li>Wasserfall: <a href="http://en.wikipedia.org/wiki/Waterfall_model">http://en.wikipedia.org/wiki/Waterfall_model</a></li>
<li>Man kann aus zwei verschiedenen Richtungen zur agilen Softwareentwicklung kommen
<ul>
<li>man möchte “weniger” oder andere Strukturen (von Wasserfall her kommend)</li>
<li>man möchte mehr Struktur, weil es vorher gar keine gab (kein Prozess)</li>
</ul></li>
<li>Das agile Manifest (Manifesto for Agile Software Development): <a href="http://agilemanifesto.org/">http://agilemanifesto.org/</a></li>
<li>Principles behind the Agile Manifesto: <a href="http://agilemanifesto.org/principles.html">http://agilemanifesto.org/principles.html</a></li>
<li>Matthias findet Face-to-Face Kommunikation sehr wichtig und wir fragen uns, wie sich das in Einklang bringen kann mit verteilten Arbeiten, Homeoffice usw.</li>
<li>Wie bringt man für agile Entwicklung Leute zusammen, die nicht die selbe Sprache als Muttersprache haben? Oder nicht alle vor Ort sind?</li>
<li>Matthias würde immer nicht-verteilt arbeiten, wenn es möglich ist
<ul>
<li>…andere versuchen genau das Gegenteil</li>
</ul></li>
<li>Marissa Mayer von Yahoo ruft die Homeoffice-Arbeiter zurück: <a href="http://www.nytimes.com/2013/02/26/technology/yahoo-orders-home-workers-back-to-the-office.html?pagewanted=all">http://www.nytimes.com/2013/02/26/technology/yahoo-orders-home-workers-back-to-the-office.html?pagewanted=all</a></li>
<li>The Values of Extreme Programming: Simplicity, Communication, Feedback, Respect and Courage (<a href="http://www.extremeprogramming.org/values.html">http://www.extremeprogramming.org/values.html</a>)
<ul>
<li>Einführung von (agilen) Entwicklungsprozessen: Langsam und vorsichtig, oder ganz oder gar nicht</li>
<li>Kanban (<a href="http://en.wikipedia.org/wiki/Kanban">http://en.wikipedia.org/wiki/Kanban</a>) als minimaler Prozess</li>
</ul></li>
<li>Dirk hat bei pkw.de gute Erfahrung damit gemacht, den “ganz oder gar nicht”-Ansatz zu verfolgen und sich einen externen Scrum Master zu besorgen</li>
<li>Wir sind uns einig, dass Retrospektiven, das zentrale und entscheidene Mittel in guten Entwicklungsprozessen ist.</li>
<li>Ein agiler Ansatz hat Auswirkungen auf das ganze Unternehmen: Agile Softwareentwicklung =&gt; Agiles Unternehmen</li>
<li>Wir stellen fest, dass die ganze agile Bewegung schon recht alt ist (z.B. Lean Manufacturing: <a href="http://en.wikipedia.org/wiki/Lean_manufacturing">http://en.wikipedia.org/wiki/Lean_manufacturing</a>)</li>
<li>Embrace the Change, Veränderung ist Teil des Systems, und kein Fehler.</li>
</ul>
<h3>Das Wort zum Sonntag (01:35:42)</h3>
<ul>
<li>Matthias empfielt alles von Henrik Kniberg (<a href="https://twitter.com/henrikkniberg">@henrikkniberg</a>, <a href="http://www.crisp.se/konsulter/henrik-kniberg">http://www.crisp.se/konsulter/henrik-kniberg</a>), z.B. <a href="http://blog.crisp.se/2012/11/14/henrikkniberg/scaling-agile-at-spotify">http://blog.crisp.se/2012/11/14/henrikkniberg/scaling-agile-at-spotify</a>)</li>
<li>Kommt zu User Groups, tauscht euch aus!</li>
<li>Hört Podcasts! :)</li>
<li>Matthias ruft auf zur NoDev User Group in Köln, analog zu NoSQL, Not-Only Dev!
<ul>
<li>aka &quot;Business Kasper UG&quot;</li>
<li>#nodev</li>
<li>Business Kasper (<a href="http://vimeo.com/4560687">http://vimeo.com/4560687</a>)</li>
</ul></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST014" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro &amp; Gast" />
<psc:chapter start="00:04:45" title="Der ideale Entwickler" />
<psc:chapter start="00:26:16" title="Einschub: Post-it!" />
<psc:chapter start="00:35:00" title="Prozesse zur Softwareentwicklung &amp; Arbeitsmodelle" />
<psc:chapter start="01:35:42" title="Das Wort zum Sonntag" />
</psc:chapters>
</item>
<item>
<title>GST015 - Geschäftsvorfall als Ereignis</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Michael Bumann (@bumi) über AMQP und Legacy-Systeme, Cloud-Hosting und und und…</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst015.mp3" length="81345536" type="audio/mpeg"/>
<guid isPermaLink="false">GST015</guid>
<pubDate>Sun, 09 Jun 2013 17:58:55 +0200</pubDate>
<itunes:duration>01:52:37</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Diesmal ist es wieder technischer, aber nicht weniger nerdig. Wir hatten @bumi von @railslove zu Gast. Mit ihm haben wir über gute Zusammenarbeit von Kunde und Auftraggeber gesprochen. Weiterhin war AMQP zur Anbindung von Legacy-Systemen und das Betreiben von Software in der Cloud das Thema. Es gab dann noch einiges über Ruby und Frontendentwicklung zu erzählen. Und zum Schluss gibt es dann, wie immer, dann noch ein paar Hinweise auf interessante Events in nächster Zeit.
### Unser Gast (00:00:00)
* Michael Bumann (@bumi, http://michaelbumann.com) hat Railslove gegründet und arbeitet da
* Arbeitet gerade an einer Merchant Portal für einen Payment Service Provider
* Bumi trinkt Tegernseer Hell
* Basti trinkt Augustiner Edelstoff
* Coworking in Köln: https://www.facebook.com/cowoco
* Basti erinnert sich an das Wikipedia Assoziationsspiel: http://www.re-publica.de/sessions/six-degrees-wikipedia
(gehört bei http://not-safe-for-work.de/nsfw070/)
### Software Engineering (00:06:35)
* PSP: Payment-Service-Provide (http://en.wikipedia.org/wiki/Payment_service_provider)
* Bankenumfeld bedeutet immer auch Legacy-Systeme anbinden
* Message-basierte Kommunikation auf Basis von AMQP (http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol)
mit RabbitMQ (http://www.rabbitmq.com/)
* Entkopplung von Systemen durch Messaging
* Railslove macht nicht nur "einfache" Entwicklung, sondern arbeitet
in einem ganzheitlichen Ansatz: Anforderungen ermitteln, Technologie
auswählen, Implementierung bis hin zu UI-Unterstützung
* AMQP scheint im Bankensektor sehr verbreitet
* In Ruby verwendet man das amqp-gem (https://github.com/ruby-amqp/amqp/)
* Fehlerbehandlung ist nicht trivial
* Testing von asynchronem Code ist immer schwierig
* Fokus auf Unit-Testing
* Callbacks testbar machen: Der Anwendungsfall™ für die
`method`-Methode
* Failover-Testing ist auch hart…
### Monitoring (00:29:36)
* Monitoring to the rescue
* RabbitMQ hat ein hervorragendes Monitoring Plugin: http://www.rabbitmq.com/management.html
* Unabhängig von RabbitMQ Events erzeugen, um sich ein Dashboard
zusammenbauen zu können
* Welche Möglichkeiten gibt es:
* Hosted Graphite, z.B. https://www.hostedgraphite.com/
* `ActiveSupport::Notifications`
* Custom Events bei NewRelic: https://newrelic.com/docs/instrumentation/custom-metric-collection
* Spannend ist es wenn es nicht nur ums Anzeigen geht, sondern wenn
man darauf Alerts definiert
* Es gibt eine Vielzahl von gehosteten Lösungen, die preislich alle
irgendwann nicht mehr skalieren.
* Events über Logging
* Papertrail (https://papertrailapp.com/)
* Splunkstorm (https://www.splunkstorm.com/)
### Ops (00:39:10)
* http://www.baremetalcloud.com/index.php/en/
* Amazon EC2 Instance Pricing Calculator: http://promptcloud.com/ec2-ondemand-vs-reserved-instance-pricing.php
* Why I Dislike EC2 (Karl Seguin): http://openmymind.net/Why-I-Dislike-ec2/
* Die Cloud macht erst dann wirklich Sinn, wenn man sehr viele der angebotenen Dienste auch nutzt
* Railslove benutzt viel Brightbox (http://brightbox.com/)
* Brightbox Ruby PPA: http://tech.brightbox.com/posts/2013-05-31-passenger-and-ruby-ubuntu-updates/
* New Relic von Tilde, Inc.: https://github.com/tokaido/tokaidoapp#readme)
### Ruby (00:53:15)
* Fahrplan für Ruby 2.1: http://rvm.jp/t.pdf
* Ruby Lang (inkl. Doku) auf GitHub: https://github.com/ruby/www.ruby-lang.org
* DTrace: http://crypt.codemancers.com/posts/2013-05-04-profile-ruby-2-dot-0-apps-using-dtrace-part-2
* Octokit, das neue Gem für Github/GHE: https://github.com/octokit/octokit.rb
* Futures für ActiveRecord: "Specify queries to be sent all at once to the database. Save round trips!"
https://github.com/leoasis/activerecord-futures
* Gem Dependencies: https://www.gemlou.pe
* Gem Hosting
* http://www.gemfury.com/
* https://github.com/cwninja/geminabox
### Rails (01:11:52)
* RailsConf 2013 Videos online: http://confreaks.com/events/railsconf2013
* Watchlater playlist: http://watchlaterapp.com/folders/4fa7b7866ba60a0d58000023) (ask for invites)
* Worst Ideas Ever: http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever
* “Native” UUIDs in Rails 4 <3 Aaron!: https://github.com/rails/rails/commit/bc8ebefe9825dbff2cffa29ff015a1e7a31f9812
### Tools (01:20:46)
* zsh-lovers - tips, tricks and examples for the Z shell: http://grml.org/zsh/zsh-lovers.html
### Geiler Scheiß (01:24:31)
* The Open Source Report Card: http://osrc.dfm.io/
* The Sketchnote Handbook: http://rohdesign.com/book
* http://popapp.in/
### Geiler Frontend Scheiß (01:30:30)
* Cross-Browser Testing
* Browserling: https://browserling.com/
* Browserstack: http://www.browserstack.com/
* CrossBrowserTesting: http://crossbrowsertesting.com/
* modern.IE: http://www.modern.ie/en-us
* Processing RAW Images mit JavaScript: http://blog.bitops.com/blog/2013/06/04/webraw-asmjs/
### Events (01:40:06)
* Rails Girls - Summer of Code: http://railsgirlssummerofcode.org/
* Railscamp Germany, 27. + 28. Juli: http://railscamp.github.io/railscamp-germany-2013/
* Interactive Cologne, 17.-23. Juni: http://interactive-cologne.com/
* SIGINT in Köln, 5.-7. Juli
* Unser Talks auf der SIGINT: https://frab.cccv.de/export/sigint13/events/5065.html
* https://register.dpma.de/DPMAregister/marke/register/3020120063403/DE]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Diesmal ist es wieder technischer, aber nicht weniger nerdig. Wir hatten <a href="https://twitter.com/bumi">@bumi</a> von <a href="https://twitter.com/railslove">@railslove</a> zu Gast. Mit ihm haben wir über gute Zusammenarbeit von Kunde und Auftraggeber gesprochen. Weiterhin war AMQP zur Anbindung von Legacy-Systemen und das Betreiben von Software in der Cloud das Thema. Es gab dann noch einiges über Ruby und Frontendentwicklung zu erzählen. Und zum Schluss gibt es dann, wie immer, dann noch ein paar Hinweise auf interessante Events in nächster Zeit.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Michael Bumann (<a href="https://twitter.com/bumi">@bumi</a>, <a href="http://michaelbumann.com">http://michaelbumann.com</a>) hat Railslove gegründet und arbeitet da</li>
<li>Arbeitet gerade an einer Merchant Portal für einen Payment Service Provider</li>
<li>Bumi trinkt Tegernseer Hell</li>
<li>Basti trinkt Augustiner Edelstoff</li>
<li>Coworking in Köln: <a href="https://www.facebook.com/cowoco">https://www.facebook.com/cowoco</a></li>
<li>Basti erinnert sich an das Wikipedia Assoziationsspiel: <a href="http://www.re-publica.de/sessions/six-degrees-wikipedia">http://www.re-publica.de/sessions/six-degrees-wikipedia</a>
(gehört bei <a href="http://not-safe-for-work.de/nsfw070/">http://not-safe-for-work.de/nsfw070/</a>)</li>
</ul>
<h3>Software Engineering (00:06:35)</h3>
<ul>
<li>PSP: Payment-Service-Provide (<a href="http://en.wikipedia.org/wiki/Payment_service_provider">http://en.wikipedia.org/wiki/Payment_service_provider</a>)</li>
<li>Bankenumfeld bedeutet immer auch Legacy-Systeme anbinden</li>
<li>Message-basierte Kommunikation auf Basis von AMQP (<a href="http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol">http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol</a>)
mit RabbitMQ (<a href="http://www.rabbitmq.com/">http://www.rabbitmq.com/</a>)</li>
<li>Entkopplung von Systemen durch Messaging</li>
<li>Railslove macht nicht nur &quot;einfache&quot; Entwicklung, sondern arbeitet
in einem ganzheitlichen Ansatz: Anforderungen ermitteln, Technologie
auswählen, Implementierung bis hin zu UI-Unterstützung</li>
<li>AMQP scheint im Bankensektor sehr verbreitet</li>
<li>In Ruby verwendet man das amqp-gem (<a href="https://github.com/ruby-amqp/amqp/">https://github.com/ruby-amqp/amqp/</a>)</li>
<li>Fehlerbehandlung ist nicht trivial</li>
<li>Testing von asynchronem Code ist immer schwierig
<ul>
<li>Fokus auf Unit-Testing</li>
<li>Callbacks testbar machen: Der Anwendungsfall™ für die
<code>method</code>-Methode</li>
</ul></li>
<li>Failover-Testing ist auch hart…</li>
</ul>
<h3>Monitoring (00:29:36)</h3>
<ul>
<li>Monitoring to the rescue
<ul>
<li>RabbitMQ hat ein hervorragendes Monitoring Plugin: <a href="http://www.rabbitmq.com/management.html">http://www.rabbitmq.com/management.html</a></li>
<li>Unabhängig von RabbitMQ Events erzeugen, um sich ein Dashboard
zusammenbauen zu können</li>
</ul></li>
<li>Welche Möglichkeiten gibt es:
<ul>
<li>Hosted Graphite, z.B. <a href="https://www.hostedgraphite.com/">https://www.hostedgraphite.com/</a></li>
<li><code>ActiveSupport::Notifications</code></li>
<li>Custom Events bei NewRelic: <a href="https://newrelic.com/docs/instrumentation/custom-metric-collection">https://newrelic.com/docs/instrumentation/custom-metric-collection</a></li>
</ul></li>
<li>Spannend ist es wenn es nicht nur ums Anzeigen geht, sondern wenn
man darauf Alerts definiert</li>
<li>Es gibt eine Vielzahl von gehosteten Lösungen, die preislich alle
irgendwann nicht mehr skalieren.</li>
<li>Events über Logging
<ul>
<li>Papertrail (<a href="https://papertrailapp.com/">https://papertrailapp.com/</a>)</li>
<li>Splunkstorm (<a href="https://www.splunkstorm.com/">https://www.splunkstorm.com/</a>)</li>
</ul></li>
</ul>
<h3>Ops (00:39:10)</h3>
<ul>
<li><a href="http://www.baremetalcloud.com/index.php/en/">http://www.baremetalcloud.com/index.php/en/</a></li>
<li>Amazon EC2 Instance Pricing Calculator: <a href="http://promptcloud.com/ec2-ondemand-vs-reserved-instance-pricing.php">http://promptcloud.com/ec2-ondemand-vs-reserved-instance-pricing.php</a></li>
<li>Why I Dislike EC2 (Karl Seguin): <a href="http://openmymind.net/Why-I-Dislike-ec2/">http://openmymind.net/Why-I-Dislike-ec2/</a></li>
<li>Die Cloud macht erst dann wirklich Sinn, wenn man sehr viele der angebotenen Dienste auch nutzt</li>
<li>Railslove benutzt viel Brightbox (<a href="http://brightbox.com/">http://brightbox.com/</a>)</li>
<li>Brightbox Ruby PPA: <a href="http://tech.brightbox.com/posts/2013-05-31-passenger-and-ruby-ubuntu-updates/">http://tech.brightbox.com/posts/2013-05-31-passenger-and-ruby-ubuntu-updates/</a></li>
<li>New Relic von Tilde, Inc.: <a href="https://github.com/tokaido/tokaidoapp#readme">https://github.com/tokaido/tokaidoapp#readme</a>)</li>
</ul>
<h3>Ruby (00:53:15)</h3>
<ul>
<li>Fahrplan für Ruby 2.1: <a href="http://rvm.jp/t.pdf">http://rvm.jp/t.pdf</a></li>
<li>Ruby Lang (inkl. Doku) auf GitHub: <a href="https://github.com/ruby/www.ruby-lang.org">https://github.com/ruby/www.ruby-lang.org</a></li>
<li>DTrace: <a href="http://crypt.codemancers.com/posts/2013-05-04-profile-ruby-2-dot-0-apps-using-dtrace-part-2">http://crypt.codemancers.com/posts/2013-05-04-profile-ruby-2-dot-0-apps-using-dtrace-part-2</a></li>
<li>Octokit, das neue Gem für Github/GHE: <a href="https://github.com/octokit/octokit.rb">https://github.com/octokit/octokit.rb</a></li>
<li>Futures für ActiveRecord: &quot;Specify queries to be sent all at once to the database. Save round trips!&quot;
<a href="https://github.com/leoasis/activerecord-futures">https://github.com/leoasis/activerecord-futures</a></li>
<li>Gem Dependencies: <a href="https://www.gemlou.pe">https://www.gemlou.pe</a></li>
<li>Gem Hosting
<ul>
<li><a href="http://www.gemfury.com/">http://www.gemfury.com/</a></li>
<li><a href="https://github.com/cwninja/geminabox">https://github.com/cwninja/geminabox</a></li>
</ul></li>
</ul>
<h3>Rails (01:11:52)</h3>
<ul>
<li>RailsConf 2013 Videos online: <a href="http://confreaks.com/events/railsconf2013">http://confreaks.com/events/railsconf2013</a></li>
<li>Watchlater playlist: <a href="http://watchlaterapp.com/folders/4fa7b7866ba60a0d58000023">http://watchlaterapp.com/folders/4fa7b7866ba60a0d58000023</a>) (ask for invites)</li>
<li>Worst Ideas Ever: <a href="http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever">http://www.confreaks.com/videos/198-rubyconf2009-worst-ideas-ever</a></li>
<li>“Native” UUIDs in Rails 4 &lt;3 Aaron!: <a href="https://github.com/rails/rails/commit/bc8ebefe9825dbff2cffa29ff015a1e7a31f9812">https://github.com/rails/rails/commit/bc8ebefe9825dbff2cffa29ff015a1e7a31f9812</a></li>
</ul>
<h3>Tools (01:20:46)</h3>
<ul>
<li>zsh-lovers - tips, tricks and examples for the Z shell: <a href="http://grml.org/zsh/zsh-lovers.html">http://grml.org/zsh/zsh-lovers.html</a></li>
</ul>
<h3>Geiler Scheiß (01:24:31)</h3>
<ul>
<li>The Open Source Report Card: <a href="http://osrc.dfm.io/">http://osrc.dfm.io/</a></li>
<li>The Sketchnote Handbook: <a href="http://rohdesign.com/book">http://rohdesign.com/book</a></li>
<li><a href="http://popapp.in/">http://popapp.in/</a></li>
</ul>
<h3>Geiler Frontend Scheiß (01:30:30)</h3>
<ul>
<li>Cross-Browser Testing
<ul>
<li>Browserling: <a href="https://browserling.com/">https://browserling.com/</a></li>
<li>Browserstack: <a href="http://www.browserstack.com/">http://www.browserstack.com/</a></li>
<li>CrossBrowserTesting: <a href="http://crossbrowsertesting.com/">http://crossbrowsertesting.com/</a></li>
<li>modern.IE: <a href="http://www.modern.ie/en-us">http://www.modern.ie/en-us</a></li>
</ul></li>
<li>Processing RAW Images mit JavaScript: <a href="http://blog.bitops.com/blog/2013/06/04/webraw-asmjs/">http://blog.bitops.com/blog/2013/06/04/webraw-asmjs/</a></li>
</ul>
<h3>Events (01:40:06)</h3>
<ul>
<li>Rails Girls - Summer of Code: <a href="http://railsgirlssummerofcode.org/">http://railsgirlssummerofcode.org/</a></li>
<li>Railscamp Germany, 27. + 28. Juli: <a href="http://railscamp.github.io/railscamp-germany-2013/">http://railscamp.github.io/railscamp-germany-2013/</a></li>
<li>Interactive Cologne, 17.-23. Juni: <a href="http://interactive-cologne.com/">http://interactive-cologne.com/</a></li>
<li>SIGINT in Köln, 5.-7. Juli
<ul>
<li>Unser Talks auf der SIGINT: <a href="https://frab.cccv.de/export/sigint13/events/5065.html">https://frab.cccv.de/export/sigint13/events/5065.html</a></li>
</ul></li>
<li><a href="https://register.dpma.de/DPMAregister/marke/register/3020120063403/DE">https://register.dpma.de/DPMAregister/marke/register/3020120063403/DE</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST015" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:06:35" title="Software Engineering" />
<psc:chapter start="00:29:36" title="Monitoring" />
<psc:chapter start="00:39:10" title="Ops" />
<psc:chapter start="00:53:15" title="Ruby" />
<psc:chapter start="01:11:52" title="Rails" />
<psc:chapter start="01:20:46" title="Tools" />
<psc:chapter start="01:24:31" title="Geiler Scheiß" />
<psc:chapter start="01:30:30" title="Geiler Frontend Scheiß" />
<psc:chapter start="01:40:06" title="Events" />
</psc:chapters>
</item>
<item>
<title>GST016 - WWDC 2013 - Surfin USA</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Wir kommentieren die WWDC 2013 Keynote</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst016.mp3" length="30029755" type="audio/mpeg"/>
<guid isPermaLink="false">GST016</guid>
<pubDate>Tue, 11 Jun 2013 21:14:00 +0200</pubDate>
<itunes:duration>00:41:22</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Anlässlich der diesjährigen Apple Entwickler Konferenz und
der Tatsache, dass es endlich mal wieder einen Live-Stream gab, wollen
wir uns einen Kommentar nicht nehmen lassen. Wir halten uns diesmal
bewusst kurz, schneiden aber trotzdem alle Punkte zumindest an.
Beeindruckt hat uns der neue Mac Pro, bei iOS 7 sind wir uns noch nicht
sicher und OS X 10.9 macht vor allem den Eindruck, dass aufgeräumt wird.
### Intro (00:00:00)
* Heute der Kommentar zur WWDC 2013 mit Basti und Dirk
### Neues OS X: Mavericks (00:03:22)
* http://appleinsider.com/articles/13/06/10/apple-announces-os-x-mavericks-with-finder-tabs -tags-multiple-displays
* Ruby 2.0 ist Default in 10.9: https://twitter.com/y8/status/344430545113075712
* Tabs im Finder
* Tags! (Umgesetzt wahrscheinlich via Spotlight Keywords)
* Native Maps Anwendung und neuer Kalender
* Endlich ein brauchbarer Multi-Screen Support (und erweiterter Desktop auf Apple-TV)
* Viel unter der Haube passiert (Timer Coalescing und Compressed Memory)
* Neue Safari Version
* iCloud-Keychain
### Hardware (00:20:14)
* MacBook Air Update (12 Stunden Akkulaufzeit)
* Mac Pro
* http://appleinsider.com/articles/13/06/10/apple-offers-sneak-peek-at-new-cylindrical-mac-pro-assembled-in-the-usa
* http://www.crackajack.de/2013/06/11/darth-pro/
* Apples Produktseite: http://www.apple.com/mac-pro/
* Neue AirPort Extreme (mit 802.11ac Support, IPv6 über PPPoE unklar)
* Neue AirPort Time Capsule (wie Extreme nur mit HDD; in 2 und 3 TB)
### iOS 7 (00:27:01)
* http://appleinsider.com/articles/13/06/10/apple-reveals-overhauled-ios-7-with-flatter-more-colorful-design
* Vollständig überarbeitete GUI
* Besseres Siri
* Besseres Multitasking
* AirDrop und Control Center
* Find My iPhone Activation Lock für mehr Sicherheit gegen Diebstahl
* iTunes Radio
### Sonstiges (00:37:40)
* Ende des Jahres wohl auch endlich mal ein neues iWork und zum Glück endlich iWork via iCloud
* Im (deutschen) Apple Store Zahlung via PayPal möglich: http://store.apple.com/de/help/payments#payments
* Gerade Apple Geld für 20% weniger: www.rewe.de/besser-einkaufen/services-im-markt/itunes-geschenkkarte.html]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Anlässlich der diesjährigen Apple Entwickler Konferenz und
der Tatsache, dass es endlich mal wieder einen Live-Stream gab, wollen
wir uns einen Kommentar nicht nehmen lassen. Wir halten uns diesmal
bewusst kurz, schneiden aber trotzdem alle Punkte zumindest an.
Beeindruckt hat uns der neue Mac Pro, bei iOS 7 sind wir uns noch nicht
sicher und OS X 10.9 macht vor allem den Eindruck, dass aufgeräumt wird.</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Heute der Kommentar zur WWDC 2013 mit Basti und Dirk</li>
</ul>
<h3>Neues OS X: Mavericks (00:03:22)</h3>
<ul>
<li><a href="http://appleinsider.com/articles/13/06/10/apple-announces-os-x-mavericks-with-finder-tabs">http://appleinsider.com/articles/13/06/10/apple-announces-os-x-mavericks-with-finder-tabs</a> -tags-multiple-displays</li>
<li>Ruby 2.0 ist Default in 10.9: <a href="https://twitter.com/y8/status/344430545113075712">https://twitter.com/y8/status/344430545113075712</a></li>
<li>Tabs im Finder</li>
<li>Tags! (Umgesetzt wahrscheinlich via Spotlight Keywords)</li>
<li>Native Maps Anwendung und neuer Kalender</li>
<li>Endlich ein brauchbarer Multi-Screen Support (und erweiterter Desktop auf Apple-TV)</li>
<li>Viel unter der Haube passiert (Timer Coalescing und Compressed Memory)</li>
<li>Neue Safari Version</li>
<li>iCloud-Keychain</li>
</ul>
<h3>Hardware (00:20:14)</h3>
<ul>
<li>MacBook Air Update (12 Stunden Akkulaufzeit)</li>
<li>Mac Pro
<ul>
<li><a href="http://appleinsider.com/articles/13/06/10/apple-offers-sneak-peek-at-new-cylindrical-mac-pro-assembled-in-the-usa">http://appleinsider.com/articles/13/06/10/apple-offers-sneak-peek-at-new-cylindrical-mac-pro-assembled-in-the-usa</a></li>
<li><a href="http://www.crackajack.de/2013/06/11/darth-pro/">http://www.crackajack.de/2013/06/11/darth-pro/</a></li>
<li>Apples Produktseite: <a href="http://www.apple.com/mac-pro/">http://www.apple.com/mac-pro/</a></li>
</ul></li>
<li>Neue AirPort Extreme (mit 802.11ac Support, IPv6 über PPPoE unklar)</li>
<li>Neue AirPort Time Capsule (wie Extreme nur mit HDD; in 2 und 3 TB)</li>
</ul>
<h3>iOS 7 (00:27:01)</h3>
<ul>
<li><a href="http://appleinsider.com/articles/13/06/10/apple-reveals-overhauled-ios-7-with-flatter-more-colorful-design">http://appleinsider.com/articles/13/06/10/apple-reveals-overhauled-ios-7-with-flatter-more-colorful-design</a></li>
<li>Vollständig überarbeitete GUI</li>
<li>Besseres Siri</li>
<li>Besseres Multitasking</li>
<li>AirDrop und Control Center</li>
<li>Find My iPhone Activation Lock für mehr Sicherheit gegen Diebstahl</li>
<li>iTunes Radio</li>
</ul>
<h3>Sonstiges (00:37:40)</h3>
<ul>
<li>Ende des Jahres wohl auch endlich mal ein neues iWork und zum Glück endlich iWork via iCloud</li>
<li>Im (deutschen) Apple Store Zahlung via PayPal möglich: <a href="http://store.apple.com/de/help/payments#payments">http://store.apple.com/de/help/payments#payments</a></li>
<li>Gerade Apple Geld für 20% weniger: <a href="http://www.rewe.de/besser-einkaufen/services-im-markt/itunes-geschenkkarte.html">www.rewe.de/besser-einkaufen/services-im-markt/itunes-geschenkkarte.html</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST016" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:03:22" title="Neues OS X: Mavericks" />
<psc:chapter start="00:20:14" title="Hardware" />
<psc:chapter start="00:27:01" title="iOS 7" />
<psc:chapter start="00:37:40" title="Sonstiges" />
</psc:chapters>
</item>
<item>
<title>GST017 - developer-whisperer.DLL</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Oliver Thylmann (@othylmann) über Gründung (in Köln), Start-Ups und die Firma der Zukunft</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst017.mp3" length="50891453" type="audio/mpeg"/>
<guid isPermaLink="false">GST017</guid>
<pubDate>Sun, 23 Jun 2013 16:41:14 +0200</pubDate>
<itunes:duration>01:10:19</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Wir sprechen mit Oliver Thylmann über Köln als
Gründerstadt, Gründungen im Allgemeinen, die Firma der Zukunft und und
und. Dabei schweifen wir (also Oli) immer wieder mal ab, haben uns dann
aber doch ganz gut im Zaum gehalten und ein gutes zeitiges Ende
gefunden. Vielen Dank an @luebken für die Shownotes!
### Unser Gast (00:00:00)
* Oliver Thylmann (@othylmann), Kölner Serial Entrepreneur
* Search Engine Spamming in der Jugend
* …, Ligatus, Ormigo, Adcloud, …
* Jetzt: Wieder was neues mit Henning in Köln
### Köln als Gründungsstadt (00:04:52)
* Berlin ist weniger “kompakt” als z.B. Köln
* Oli: “Der noch nicht eröffnete Berliner Flughafen kostet so viel im Jahr, wie in deutsche Startups investiert wird”
* Köln hat eine gute Lage und ist gut angebunden
* Köln wird mehr und mehr besser vernetzt und es beginnt sich zu clustern
* Wir brauchen noch ein Oberholz (http://www.sanktoberholz.de/). Ein
Kaffee wie in Berlin wo alle Leute sich so treffen. Im Moment muss
so was wie der Startplatz herhalten.
* Virtuelle Firma: 150 km auseinander. Man trifft 2-3 Tage die Woche in einem Kaffee. Und es gibt Meetingräume.
* Oli sieht Köln als Gründerstadt. Wir haben recht viel. Nur es ist nicht so “laut”.
* Ein paar alte Beispiele: QSC, Sedo, Onvista, Is. Teledata
* Es fängt langsam an das sich Leute lose treffen. z.B. im Startplatz
* Klarstellung: Das Homeoffice ist **nicht** in der Südstadt!
* Vom Gefühl ist der Spot in der Ecke Mediapark, Friesenplatz, Brüssler Platz.
* Die Leute gehen nach Berlin und kommen teilweise wieder zurück.
* z.B.: Ich baue ein Mobile Startup. Warum muss ich nach Berlin, wenn Vodafone etc. hier sind?
### Virtuelles Unternehmen, Remote Arbeiten (00:17:03)
* Was funktioniert als “virtuelles” Unternehmen gut? z.B. Wordpress, Github funktionieren gut. Das sind Produktfirmen.
* Wenn es nicht aus den Leuten raus kommt, dann brauchst Du wieder einen Produktmensch.
* Gerne virtuell. Aber ab und zu muss man sich treffen.
* Erste Gehversuche mit einem Remote-Entwickler: Ständiger Google-Hangout.
* “Es geht nicht darum was Du vorne in die Leitung rein pummst, sondern das was hinten raus kommt.” (Dee Hock, http://en.wikipedia.org/wiki/Dee_Hock)
### Die Firma der Zukunft (00:20:09)
* Wie setze ich eine Firma auf? Warum arbeiten die Leute in einer Firma?
* Was sind die Probleme die wir heute lösen?
* Gary Hammel: Future of Management (http://www.youtube.com/watch?v=K3-_IY66tpI)
* Arbeiten und Management im Wandel: Aber was ist das “andere” Management Prinzip?
* Firmen müssen innovativ am Kunden arbeiten. Der “klassische” Manager ist nicht beim Kunden! Wie kann man den Leuten am Kunden Entscheidungsmacht geben?
* In einem Hotel: Jeder Mitarbeiter hat 2000 USD um Probleme von Kunden zu lösen.
* Whole Foods (www.wholefoodsmarket.com) - Stacked Ranking.
* Valve (www.valvesoftware.com) - Es gibt keine Chef, sondern ein Handbuch: http://assets.sbnation.com/assets/1074301/Valve_Handbook_LowRes.pdf
* Valve hat aber auch Stacked Ranking. Es werden zwar nicht die unteren 5% gefeuert, trotzdem gibt es direktes Feedback.
* Oli Fragt sich: Wie würde die Firma aussehen wo die sehr guten Leuten arbeiten wenn es denen erstmal nicht mehr um Geld geht.
* Oli: “Die guten Leute sind besser besser, als sie teurer sind”; überproportional war das Wort, was Oli suchte :)
* Nettes Buch: Antifragile: Things That Gain from Disorder von Nassim Nicholas Taleb (http://www.amazon.de/Antifragile-Things-That-Gain-Disorder/dp/1400067820)
* Wie baue ich etwas auf, so dass ich ein Grundrauschen habe um nicht zu sterben und dann irgendwann die richtige Idee zu haben.
* Jeff Bezos: “Du musst viele Sachen ausprobieren, um Innovation zu haben”
* Welche Freiheiten muss ich den Leuten geben?
### Developer Loveland (00:27:30)
* Aktuelle Idee von Oli: Developer Loveland, kurz DLL ^^
* Gesucht: Gute Entwickler? Innovation? Grundrauschen?
* Leuten die Möglichkeit geben, Ideen auszuprobieren; 10-20% der Sachen werden funktionieren und der Rest wird auch irgendwie nutzbar sein
* Wenn man das macht braucht man als erstes Menschen die Prototypen bauen können.
* DLL könnte ein Safety Net sein und man bekommst so die guten Leute die nicht den Sprung zur Gründung wagen.
* Wir überlegen, wie groß das ganze sein müsste und Oli kommt zum Schluß, dass es gerade in groß richtig Sinn macht.
### Wert von Ideen, Jobs, SaaS Pricing (00:37:50)
* NDAs sind Quatsch. Jeder VC lehnt es ab und sagt “dann erzähl es mir halt nicht”.
* Umsetzung/Ausführung ist alles bei einer Idee
* Oli: Man kann über die Samwers sagen was man will, aber Execution können die.
* Ripple-Network (https://ripple.com/) - Bitcoin Richtung, Remittance Market; Größter Player in Indien. Aktuell: 5,8 Millarden USD Gebühren der Banken damit Inder weltweit Geld nach Hause schicken können.
* Quantified Self: Es gibt einen BH der den Blutfluss misst und Brustkrebs erkennt.
* “Andere Seite Flachbildschirm Jobs”
* Dirk erzählt vom wenigen Spielraum, die Autohändler beim Leasing am Interface haben
* SaaS und Enterprise Markt: Entscheidungen kommen immer mehr von unten
* Oli prangert das Preismodel von Github Enterprise an!
### Glückliche Kunden (00:49:44)
* Net Promoter Score: Würdest Du uns weiter empfehlen? 0-10. http://en.wikipedia.org/wiki/Net_Promoter
* Call-Center: Da wird nichts weitergeleitet, sondern wenn man sich einem Problem angenommen hat löst man es auch.
* “Glückliche Kunden erzählen es 10 Leuten, unglückliche erzählen es 1000”
* Dirk erzählt von dänischen Ferienhäusern, deren Vermittlung und Sommerfesten
* Was gibt es noch? Das einzige was es noch gibt? Innovation am Kunden!
* “Wer ist denn heutzutage noch intelligenter als ein 30 Minuten Gesurfter?”
* Agilgedöns, “der ganze agile Scheiß.”
* “If you dont like change. You like irrelevancy even less.”
* Was ist ein Manager in der Zukunft: Jemand mit Marktverständnis und der ein Netzwerk hat.
* Erfahrung ist unmenschlich wichtig. z.B. von Klaus Hommels.
### Zum Abschluß (01:01:03)
* Interactive Cologne: Die Kölner SXSW (South By South West) - http://interactive-cologne.com
* Hack on Startup in der Trinitatis Kirche in Köln. Ist wirklich gut geworden. Gute Pitches. Gute VCs. Gute Hacker.
* Man trifft die Kölner Szene.
* Warum der Startplatz: "Es gibt Menschen die sich um die Spülmaschine kümmern."
* Unperfekt Haus (http://www.unperfekthaus.de/). Geben nur 10 € aus für eine Putzfrau. Er nimmt Eintritt für nicht Künstler die durch das Haus gehen.
* Oli hat jede Geekstammtisch Folge gehört! \o/]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Wir sprechen mit Oliver Thylmann über Köln als
Gründerstadt, Gründungen im Allgemeinen, die Firma der Zukunft und und
und. Dabei schweifen wir (also Oli) immer wieder mal ab, haben uns dann
aber doch ganz gut im Zaum gehalten und ein gutes zeitiges Ende
gefunden. Vielen Dank an <a href="https://twitter.com/luebken">@luebken</a> für die Shownotes!</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Oliver Thylmann (<a href="https://twitter.com/othylmann">@othylmann</a>), Kölner Serial Entrepreneur</li>
<li>Search Engine Spamming in der Jugend</li>
<li>…, Ligatus, Ormigo, Adcloud, …</li>
<li>Jetzt: Wieder was neues mit Henning in Köln</li>
</ul>
<h3>Köln als Gründungsstadt (00:04:52)</h3>
<ul>
<li>Berlin ist weniger “kompakt” als z.B. Köln</li>
<li>Oli: “Der noch nicht eröffnete Berliner Flughafen kostet so viel im Jahr, wie in deutsche Startups investiert wird”</li>
<li>Köln hat eine gute Lage und ist gut angebunden</li>
<li>Köln wird mehr und mehr besser vernetzt und es beginnt sich zu clustern</li>
<li>Wir brauchen noch ein Oberholz (<a href="http://www.sanktoberholz.de/">http://www.sanktoberholz.de/</a>). Ein
Kaffee wie in Berlin wo alle Leute sich so treffen. Im Moment muss
so was wie der Startplatz herhalten.</li>
<li>Virtuelle Firma: 150 km auseinander. Man trifft 2-3 Tage die Woche in einem Kaffee. Und es gibt Meetingräume.</li>
<li>Oli sieht Köln als Gründerstadt. Wir haben recht viel. Nur es ist nicht so “laut”.
<ul>
<li>Ein paar alte Beispiele: QSC, Sedo, Onvista, Is. Teledata</li>
</ul></li>
<li>Es fängt langsam an das sich Leute lose treffen. z.B. im Startplatz</li>
<li>Klarstellung: Das Homeoffice ist <strong>nicht</strong> in der Südstadt!</li>
<li>Vom Gefühl ist der Spot in der Ecke Mediapark, Friesenplatz, Brüssler Platz.</li>
<li>Die Leute gehen nach Berlin und kommen teilweise wieder zurück.
<ul>
<li>z.B.: Ich baue ein Mobile Startup. Warum muss ich nach Berlin, wenn Vodafone etc. hier sind?</li>
</ul></li>
</ul>
<h3>Virtuelles Unternehmen, Remote Arbeiten (00:17:03)</h3>
<ul>
<li>Was funktioniert als “virtuelles” Unternehmen gut? z.B. Wordpress, Github funktionieren gut. Das sind Produktfirmen.</li>
<li>Wenn es nicht aus den Leuten raus kommt, dann brauchst Du wieder einen Produktmensch.</li>
<li>Gerne virtuell. Aber ab und zu muss man sich treffen.</li>
<li>Erste Gehversuche mit einem Remote-Entwickler: Ständiger Google-Hangout.</li>
<li>“Es geht nicht darum was Du vorne in die Leitung rein pummst, sondern das was hinten raus kommt.” (Dee Hock, <a href="http://en.wikipedia.org/wiki/Dee_Hock">http://en.wikipedia.org/wiki/Dee_Hock</a>)</li>
</ul>
<h3>Die Firma der Zukunft (00:20:09)</h3>
<ul>
<li>Wie setze ich eine Firma auf? Warum arbeiten die Leute in einer Firma?</li>
<li>Was sind die Probleme die wir heute lösen?</li>
<li>Gary Hammel: Future of Management (<a href="http://www.youtube.com/watch?v=K3-_IY66tpI">http://www.youtube.com/watch?v=K3-_IY66tpI</a>)</li>
<li>Arbeiten und Management im Wandel: Aber was ist das “andere” Management Prinzip?</li>
<li>Firmen müssen innovativ am Kunden arbeiten. Der “klassische” Manager ist nicht beim Kunden! Wie kann man den Leuten am Kunden Entscheidungsmacht geben?
<ul>
<li>In einem Hotel: Jeder Mitarbeiter hat 2000 USD um Probleme von Kunden zu lösen.</li>
<li>Whole Foods (<a href="http://www.wholefoodsmarket.com">www.wholefoodsmarket.com</a>) - Stacked Ranking.</li>
<li>Valve (<a href="http://www.valvesoftware.com">www.valvesoftware.com</a>) - Es gibt keine Chef, sondern ein Handbuch: <a href="http://assets.sbnation.com/assets/1074301/Valve_Handbook_LowRes.pdf">http://assets.sbnation.com/assets/1074301/Valve_Handbook_LowRes.pdf</a></li>
</ul></li>
<li>Valve hat aber auch Stacked Ranking. Es werden zwar nicht die unteren 5% gefeuert, trotzdem gibt es direktes Feedback.</li>
<li>Oli Fragt sich: Wie würde die Firma aussehen wo die sehr guten Leuten arbeiten wenn es denen erstmal nicht mehr um Geld geht.</li>
<li>Oli: “Die guten Leute sind besser besser, als sie teurer sind”; überproportional war das Wort, was Oli suchte :)</li>
<li>Nettes Buch: Antifragile: Things That Gain from Disorder von Nassim Nicholas Taleb (<a href="http://www.amazon.de/Antifragile-Things-That-Gain-Disorder/dp/1400067820">http://www.amazon.de/Antifragile-Things-That-Gain-Disorder/dp/1400067820</a>)
<ul>
<li>Wie baue ich etwas auf, so dass ich ein Grundrauschen habe um nicht zu sterben und dann irgendwann die richtige Idee zu haben.</li>
</ul></li>
<li>Jeff Bezos: “Du musst viele Sachen ausprobieren, um Innovation zu haben”</li>
<li>Welche Freiheiten muss ich den Leuten geben?</li>
</ul>
<h3>Developer Loveland (00:27:30)</h3>
<ul>
<li>Aktuelle Idee von Oli: Developer Loveland, kurz DLL ^^</li>
<li>Gesucht: Gute Entwickler? Innovation? Grundrauschen?</li>
<li>Leuten die Möglichkeit geben, Ideen auszuprobieren; 10-20% der Sachen werden funktionieren und der Rest wird auch irgendwie nutzbar sein</li>
<li>Wenn man das macht braucht man als erstes Menschen die Prototypen bauen können.</li>
<li>DLL könnte ein Safety Net sein und man bekommst so die guten Leute die nicht den Sprung zur Gründung wagen.</li>
<li>Wir überlegen, wie groß das ganze sein müsste und Oli kommt zum Schluß, dass es gerade in groß richtig Sinn macht.</li>
</ul>
<h3>Wert von Ideen, Jobs, SaaS Pricing (00:37:50)</h3>
<ul>
<li>NDAs sind Quatsch. Jeder VC lehnt es ab und sagt “dann erzähl es mir halt nicht”.</li>
<li>Umsetzung/Ausführung ist alles bei einer Idee
<ul>
<li>Oli: Man kann über die Samwers sagen was man will, aber Execution können die.</li>
<li>Ripple-Network (<a href="https://ripple.com/">https://ripple.com/</a>) - Bitcoin Richtung, Remittance Market; Größter Player in Indien. Aktuell: 5,8 Millarden USD Gebühren der Banken damit Inder weltweit Geld nach Hause schicken können.</li>
</ul></li>
<li>Quantified Self: Es gibt einen BH der den Blutfluss misst und Brustkrebs erkennt.</li>
<li>“Andere Seite Flachbildschirm Jobs”</li>
<li>Dirk erzählt vom wenigen Spielraum, die Autohändler beim Leasing am Interface haben</li>
<li>SaaS und Enterprise Markt: Entscheidungen kommen immer mehr von unten</li>
<li>Oli prangert das Preismodel von Github Enterprise an!</li>
</ul>
<h3>Glückliche Kunden (00:49:44)</h3>
<ul>
<li>Net Promoter Score: Würdest Du uns weiter empfehlen? 0-10. <a href="http://en.wikipedia.org/wiki/Net_Promoter">http://en.wikipedia.org/wiki/Net_Promoter</a></li>
<li>Call-Center: Da wird nichts weitergeleitet, sondern wenn man sich einem Problem angenommen hat löst man es auch.</li>
<li>“Glückliche Kunden erzählen es 10 Leuten, unglückliche erzählen es 1000”</li>
<li>Dirk erzählt von dänischen Ferienhäusern, deren Vermittlung und Sommerfesten</li>
<li>Was gibt es noch? Das einzige was es noch gibt? Innovation am Kunden!</li>
<li>“Wer ist denn heutzutage noch intelligenter als ein 30 Minuten Gesurfter?”</li>
<li>Agilgedöns, “der ganze agile Scheiß.”</li>
<li>“If you dont like change. You like irrelevancy even less.”</li>
<li>Was ist ein Manager in der Zukunft: Jemand mit Marktverständnis und der ein Netzwerk hat.</li>
<li>Erfahrung ist unmenschlich wichtig. z.B. von Klaus Hommels.</li>
</ul>
<h3>Zum Abschluß (01:01:03)</h3>
<ul>
<li>Interactive Cologne: Die Kölner SXSW (South By South West) - <a href="http://interactive-cologne.com">http://interactive-cologne.com</a></li>
<li>Hack on Startup in der Trinitatis Kirche in Köln. Ist wirklich gut geworden. Gute Pitches. Gute VCs. Gute Hacker.</li>
<li>Man trifft die Kölner Szene.</li>
<li>Warum der Startplatz: &quot;Es gibt Menschen die sich um die Spülmaschine kümmern.&quot;</li>
<li>Unperfekt Haus (<a href="http://www.unperfekthaus.de/">http://www.unperfekthaus.de/</a>). Geben nur 10 € aus für eine Putzfrau. Er nimmt Eintritt für nicht Künstler die durch das Haus gehen.</li>
<li>Oli hat jede Geekstammtisch Folge gehört! \o/</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST017" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:04:52" title="Köln als Gründungsstadt" />
<psc:chapter start="00:17:03" title="Virtuelles Unternehmen, Remote Arbeiten" />
<psc:chapter start="00:20:09" title="Die Firma der Zukunft" />
<psc:chapter start="00:27:30" title="Developer Loveland" />
<psc:chapter start="00:37:50" title="Wert von Ideen, Jobs, SaaS Pricing" />
<psc:chapter start="00:49:44" title="Glückliche Kunden" />
<psc:chapter start="01:01:03" title="Zum Abschluß" />
</psc:chapters>
</item>
<item>
<title>GST018 - Runde Ecken</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Sebastian Kippe (@skddc) über 5Apps, Arbeiten beim W3C, HTTP 2.0, DevOps und mehr…</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst018.mp3" length="62081670" type="audio/mpeg"/>
<guid isPermaLink="false">GST018</guid>
<pubDate>Fri, 28 Jun 2013 18:09:55 +0200</pubDate>
<itunes:duration>01:25:51</itunes:duration>
<itunes:summary><![CDATA[### Synopsis
Der Geekstammtisch wird volljährig! Dieses mal sprachen wir mit Sebastian Kippe (@skddc) und sprechen über Hacking Trips, sein Startup 5Apps, das Arbeiten beim W3C, HTTP 2.0, IPv6, SSL, DevOps. Zum Abschluss noch ein ganz besonderes Thema: BitCoins und Namecoin.
### Unser Gast (00:00:00)
* Sebastian Kippe (@skddc)
* Gründer von 5Apps ([https://5apps.com/](https://5apps.com/))
* Railscamp Germany 2013 Organizer
* Arbeitet an remoteStorage ([http://remotestorage.io](http://remotestorage.io)) und anderen Open Source Projekten
### Hackertrips (00:02:23)
* AfricaHackTrip 2013: http://africahacktrip.org
* Geeksphone (Firefox OS developer device): [http://www.geeksphone.com](http://www.geeksphone.com)
* Hacker Beach: [http://hackerbeach.org](http://hackerbeach.org)
* Einfach über Weihnachten mal ein Flugticket buchen und kommen.
### 5Apps (00:06:08)
* Haben eine Vision und implementieren verschiedene Produkte, um diese zu erreichen.
* sind WC3 Mitglied: [https://5apps.com/press/2013-05-28-5apps-joins-w3c-to-help-shape-the-web](https://5apps.com/press/2013-05-28-5apps-joins-w3c-to-help-shape-the-web)
* Wir diskutieren über die aktuellen Trends im HTML5/CSS/… Sektor
* Die 5Apps Vision: Alle Anwendungssoftware für den User soll auf der der Open Web Platform aufbauen.
### Web Apps (00:08:56)
* Packaging von client-side Web Anwendungen
* Packaged Web Apps (Widgets) - Packaging and XML Configuration: [http://www.w3.org/TR/widgets/](http://www.w3.org/TR/widgets/)
* Open Web App manifest: [https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest](https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest)
* Ausflug: Java Web Start ([https://en.wikipedia.org/wiki/Java_Web_Start](https://en.wikipedia.org/wiki/Java_Web_Start)) und Java Applets ([https://en.wikipedia.org/wiki/Java_applet](https://en.wikipedia.org/wiki/Java_applet)).
* Dart: [http://en.wikipedia.org/wiki/Dart_(programming_language)](http://en.wikipedia.org/wiki/Dart_(programming_language))
* Produkte bei Google Apps for Business: [http://www.google.com/enterprise/apps/business/products.html](http://www.google.com/enterprise/apps/business/products.html)
* Google Reader Replacement: Basti und Basti benutzen [https://feedbin.me/](https://feedbin.me/)
* **DIE** RSS Mailing Liste von Brent Simmons: http://inessential.com/2013/03/17/rss-sync_mailing_list
### 5Apps Deploy und Storage & remoteStorage (00:16:00)
* Das erste Produkt von 5Apps: 5Apps Deploy
* PaaS für Client-side JavaScript Apps
* Hilft zusätzlich zu einem "git push"-Deploy z.B. beim Packaging
* Weitere zukünftige Dienste von 5Apps Deploy:
* JavaScript Exception Tracking
* Web store/payment integration
* 5Apps Storage
* work in progress (schon experimentell kostenlos bei jedem Account dabei)
* basiert auf remoteStorage (siehe oben)
* Idee: Daten liegen nicht beim App-Anbieter (z.B. Google), sondern wo der User das will
* remoteStorage ist ein Protokoll für einen Key-Value Speicher [http://remotestorage.io/](http://remotestorage.io/) [http://tools.ietf.org/html/draft-dejong-remotestorage-01](http://tools.ietf.org/html/draft-dejong-remotestorage-01)
* Webfinger: [https://code.google.com/p/webfinger/](https://code.google.com/p/webfinger/)
* remoteStorage: Umziehen des Anbieters?
* aktuell nicht direkt vorgesehen, wenn dann muss das der Client machen, oder der Serveranbieter selbst anbieten
* Google Takeout: [https://www.google.com/takeout](https://www.google.com/takeout)
* Verschiedene Apps sollen die selben Daten benutzen können
* und eben nicht wie bei iCloud!
* Konflikte werden im Moment bei remoteStorage noch wenig berücksichtigt :-/
* remoteStorage.js funktioniert auch offline
* ownCloud: [http://owncloud.org](http://owncloud.org/)
* Unhosted: https://unhosted.org
* 5Apps benutzt Riak für ihr remoteStorage Produkt und App Hosting
### Das W3C, DRM & App Stores (00:27:10)
* 5Apps ist unter anderem in der Web Apps Working Group: http://www.w3.org/2008/webapps/
* Sebastian ist schon länger in der HTML Working Group
* W3C bei Github: [https://github.com/w3c](https://github.com/w3c)
* https://github.com/w3c/manifest
* Der dritte wichtige Schritt bei 5Apps: App Store(s)
* Freie Apps, selbst gehostet, ohne Lock-In
* Open Source als Kern eines Unternehmens gibt es immer häufiger
* z.B. Basho mit Riak
* Früher™ war das Web schon mal offener
* Wir schweifen kurz richtung Videostandards fürs Web ab: webm/VP8, h.265
* Gedankenexperiment: h.264 freikaufen
* Das W3C und DRM: [http://www.w3.org/QA/2013/03/drm_and_the_open_web.html](http://www.w3.org/QA/2013/03/drm_and_the_open_web.html)
* Encrypted Media Extensions: [https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html](https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html)
* Proprietäre DRM-Module
* eigentlich nicht vereinbar mit den Zielen des W3Cs [http://www.w3.org/Consortium/mission#principles](http://www.w3.org/Consortium/mission#principles)
### HTTP 2.0, IPv6, SSL (00:40:15)
* HTTP 2.0 (http://en.wikipedia.org/wiki/HTTP_2.0) und SPDY ([http://en.wikipedia.org/wiki/SPDY](http://en.wikipedia.org/wiki/SPDY))
* 5Apps unterstützt SPDY für das App Hosting und für den 5Apps Storage
* …aber kein IPv6 :-/
* Custom Domain SSL ist teuer
* 20 USD/Monat bei Heroku: https://addons.heroku.com/ssl
* 600 USD/Monat bei AWS CloudFront: [http://aws.amazon.com/cloudfront/custom-ssl-domains/](http://aws.amazon.com/cloudfront/custom-ssl-domains/)
* In neuen Browsern gibt es keine Warnungen mehr bei unsicherem Content, sondern der wird geblockt
### Ops und Infrastruktur bei 5Apps (00:46:51)
* 5Apps: zwei Vollzeit Entwickler und ein Infrastruktur-Entwickler: [https://5apps.com/about#team](https://5apps.com/about#team)
* Brightbox Cloud: [http://brightbox.com/](http://brightbox.com/)
* UK, gute API, Support in fog ([http://fog.io/](http://fog.io/))
* Im Einsatz bei 5Apps: Rails, Sinatra, Unicorn, Resque, Gitolite
* nginx als Webserver, Loadbalancer (intern und extern)
* Riak: [http://basho.com/riak/](http://basho.com/riak/)
* chef: [http://www.opscode.com/chef/](http://www.opscode.com/chef/)
* Infrastruktur
* Deployment ([http://community.opscode.com/cookbooks/application](http://community.opscode.com/cookbooks/application))
* Knife Spork [https://github.com/jonlives/knife-spork](https://github.com/jonlives/knife-spork)
* Travis CI Pro: [http://travis-ci.com/](http://travis-ci.com/)
* CI
* Asset Compilation
* Deployment
* leider noch invite-only
### Travis Foundation & RailsGirls: Summer of Code (00:57:00)
* Travis Foundation: [http://about.travis-ci.org/foundation](http://about.travis-ci.org/foundation/)
* RailsGirls Summer of Code: [http://railsgirlssummerofcode.org](http://railsgirlssummerofcode.org)
### Self-Hosted Cloud, GPG, Apple und HTML5 (01:00:08)
* 5Apps strebt auch langfristig self-hosting an
* SURFnet: [http://www.surfnet.nl/en/Pages/default.aspx](http://www.surfnet.nl/en/Pages/default.aspx)
* SAML [http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language](http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language)
* Anynines [http://www.anynines.com](http://www.anynines.com/)
* CloudFoundry [http://www.cloudfoundry.com](http://www.cloudfoundry.com)
* GPGMail für OS X [https://gpgtools.org/gpgmail/index.html](https://gpgtools.org/gpgmail/index.html)
* ThinkPad X1 [http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-carbon/index.html](http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-carbon/index.html)
* OS X Mavericks Safari [http://www.apple.com/osx/preview/#safari](http://www.apple.com/osx/preview/#safari)
* Apple Mac Pro website [http://www.apple.com/mac-pro](http://www.apple.com/mac-pro/)
* iWork for iCloud [https://www.apple.com/iwork-for-icloud](https://www.apple.com/iwork-for-icloud/)
* XHTML [http://www.w3.org/TR/xhtml1/](http://www.w3.org/TR/xhtml1/)
* XHTML Fehlerseite für invalides Markup [http://cafe.elharo.com/wp-content/uploads/2008/06/01fig02.png](http://cafe.elharo.com/wp-content/uploads/2008/06/01fig02.png)
### Bitcoin / Namecoin (01:17:30)
* Mozilla Persona :[https://persona.org](https://persona.org)
* Bitcoin: [https://en.bitcoin.it/wiki/Main_Page](https://en.bitcoin.it/wiki/Main_Page)
* Namecoin: [http://dot-bit.org/Namecoin](http://dot-bit.org/Namecoin) [http://dot-bit.org/Main_Page](http://dot-bit.org/Main_Page)
* Bitcoin Meetups im Startplatz: [http://www.startplatz.de/event/2-bitcoin-konferenz](http://www.startplatz.de/event/2-bitcoin-konferenz)
* Bitcoin Kiez: [http://bitcoinkiez.wordpress.com](http://bitcoinkiez.wordpress.com)
* Room 77: [http://room77.de](http://room77.de)]]></itunes:summary>
<description><![CDATA[<h3>Synopsis</h3>
<p>Der Geekstammtisch wird volljährig! Dieses mal sprachen wir mit Sebastian Kippe (<a href="https://twitter.com/skddc">@skddc</a>) und sprechen über Hacking Trips, sein Startup 5Apps, das Arbeiten beim W3C, HTTP 2.0, IPv6, SSL, DevOps. Zum Abschluss noch ein ganz besonderes Thema: BitCoins und Namecoin.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Sebastian Kippe (<a href="https://twitter.com/skddc">@skddc</a>)</li>
<li>Gründer von 5Apps (<a href="https://5apps.com/">https://5apps.com/</a>)</li>
<li>Railscamp Germany 2013 Organizer</li>
<li>Arbeitet an remoteStorage (<a href="http://remotestorage.io">http://remotestorage.io</a>) und anderen Open Source Projekten</li>
</ul>
<h3>Hackertrips (00:02:23)</h3>
<ul>
<li>AfricaHackTrip 2013: <a href="http://africahacktrip.org">http://africahacktrip.org</a></li>
<li>Geeksphone (Firefox OS developer device): <a href="http://www.geeksphone.com">http://www.geeksphone.com</a></li>
<li>Hacker Beach: <a href="http://hackerbeach.org">http://hackerbeach.org</a>
<ul>
<li>Einfach über Weihnachten mal ein Flugticket buchen und kommen.</li>
</ul></li>
</ul>
<h3>5Apps (00:06:08)</h3>
<ul>
<li>Haben eine Vision und implementieren verschiedene Produkte, um diese zu erreichen.</li>
<li>sind WC3 Mitglied: <a href="https://5apps.com/press/2013-05-28-5apps-joins-w3c-to-help-shape-the-web">https://5apps.com/press/2013-05-28-5apps-joins-w3c-to-help-shape-the-web</a></li>
<li>Wir diskutieren über die aktuellen Trends im HTML5/CSS/… Sektor</li>
<li>Die 5Apps Vision: Alle Anwendungssoftware für den User soll auf der der Open Web Platform aufbauen.</li>
</ul>
<h3>Web Apps (00:08:56)</h3>
<ul>
<li>Packaging von client-side Web Anwendungen
<ul>
<li>Packaged Web Apps (Widgets) - Packaging and XML Configuration: <a href="http://www.w3.org/TR/widgets/">http://www.w3.org/TR/widgets/</a></li>
<li>Open Web App manifest: <a href="https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest">https://developer.mozilla.org/en-US/docs/Web/Apps/Manifest</a></li>
</ul></li>
<li>Ausflug: Java Web Start (<a href="https://en.wikipedia.org/wiki/Java_Web_Start">https://en.wikipedia.org/wiki/Java<em>Web</em>Start</a>) und Java Applets (<a href="https://en.wikipedia.org/wiki/Java_applet">https://en.wikipedia.org/wiki/Java_applet</a>).</li>
<li>Dart: <a href="http://en.wikipedia.org/wiki/Dart_(programming_language)">http://en.wikipedia.org/wiki/Dart<em>(programming</em>language)</a></li>
<li>Produkte bei Google Apps for Business: <a href="http://www.google.com/enterprise/apps/business/products.html">http://www.google.com/enterprise/apps/business/products.html</a></li>
<li>Google Reader Replacement: Basti und Basti benutzen <a href="https://feedbin.me/">https://feedbin.me/</a></li>
<li><strong>DIE</strong> RSS Mailing Liste von Brent Simmons: <a href="http://inessential.com/2013/03/17/rss-sync_mailing_list">http://inessential.com/2013/03/17/rss-sync_mailing_list</a></li>
</ul>
<h3>5Apps Deploy und Storage &amp; remoteStorage (00:16:00)</h3>
<ul>
<li>Das erste Produkt von 5Apps: 5Apps Deploy</li>
<li>PaaS für Client-side JavaScript Apps</li>
<li>Hilft zusätzlich zu einem &quot;git push&quot;-Deploy z.B. beim Packaging</li>
<li>Weitere zukünftige Dienste von 5Apps Deploy:
<ul>
<li>JavaScript Exception Tracking</li>
<li>Web store/payment integration</li>
</ul></li>
<li>5Apps Storage
<ul>
<li>work in progress (schon experimentell kostenlos bei jedem Account dabei)</li>
<li>basiert auf remoteStorage (siehe oben)</li>
<li>Idee: Daten liegen nicht beim App-Anbieter (z.B. Google), sondern wo der User das will</li>
</ul></li>
<li>remoteStorage ist ein Protokoll für einen Key-Value Speicher <a href="http://remotestorage.io/">http://remotestorage.io/</a> <a href="http://tools.ietf.org/html/draft-dejong-remotestorage-01">http://tools.ietf.org/html/draft-dejong-remotestorage-01</a></li>
<li>Webfinger: <a href="https://code.google.com/p/webfinger/">https://code.google.com/p/webfinger/</a></li>
<li>remoteStorage: Umziehen des Anbieters?
<ul>
<li>aktuell nicht direkt vorgesehen, wenn dann muss das der Client machen, oder der Serveranbieter selbst anbieten</li>
<li>Google Takeout: <a href="https://www.google.com/takeout">https://www.google.com/takeout</a></li>
</ul></li>
<li>Verschiedene Apps sollen die selben Daten benutzen können
<ul>
<li>und eben nicht wie bei iCloud!</li>
</ul></li>
<li>Konflikte werden im Moment bei remoteStorage noch wenig berücksichtigt :-/</li>
<li>remoteStorage.js funktioniert auch offline</li>
<li>ownCloud: <a href="http://owncloud.org/">http://owncloud.org</a></li>
<li>Unhosted: <a href="https://unhosted.org">https://unhosted.org</a></li>
<li>5Apps benutzt Riak für ihr remoteStorage Produkt und App Hosting</li>
</ul>
<h3>Das W3C, DRM &amp; App Stores (00:27:10)</h3>
<ul>
<li>5Apps ist unter anderem in der Web Apps Working Group: <a href="http://www.w3.org/2008/webapps/">http://www.w3.org/2008/webapps/</a></li>
<li>Sebastian ist schon länger in der HTML Working Group</li>
<li>W3C bei Github: <a href="https://github.com/w3c">https://github.com/w3c</a>
<ul>
<li><a href="https://github.com/w3c/manifest">https://github.com/w3c/manifest</a></li>
</ul></li>
<li>Der dritte wichtige Schritt bei 5Apps: App Store(s)</li>
<li>Freie Apps, selbst gehostet, ohne Lock-In</li>
<li>Open Source als Kern eines Unternehmens gibt es immer häufiger
<ul>
<li>z.B. Basho mit Riak</li>
</ul></li>
<li>Früher™ war das Web schon mal offener</li>
<li>Wir schweifen kurz richtung Videostandards fürs Web ab: webm/VP8, h.265</li>
<li>Gedankenexperiment: h.264 freikaufen</li>
<li>Das W3C und DRM: <a href="http://www.w3.org/QA/2013/03/drm_and_the_open_web.html">http://www.w3.org/QA/2013/03/drm<em>and</em>the<em>open</em>web.html</a>
<ul>
<li>Encrypted Media Extensions: <a href="https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html">https://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html</a></li>
<li>Proprietäre DRM-Module</li>
<li>eigentlich nicht vereinbar mit den Zielen des W3Cs <a href="http://www.w3.org/Consortium/mission#principles">http://www.w3.org/Consortium/mission#principles</a></li>
</ul></li>
</ul>
<h3>HTTP 2.0, IPv6, SSL (00:40:15)</h3>
<ul>
<li>HTTP 2.0 (<a href="http://en.wikipedia.org/wiki/HTTP_2.0">http://en.wikipedia.org/wiki/HTTP_2.0</a>) und SPDY (<a href="http://en.wikipedia.org/wiki/SPDY">http://en.wikipedia.org/wiki/SPDY</a>)</li>
<li>5Apps unterstützt SPDY für das App Hosting und für den 5Apps Storage</li>
<li>…aber kein IPv6 :-/</li>
<li>Custom Domain SSL ist teuer
<ul>
<li>20 USD/Monat bei Heroku: <a href="https://addons.heroku.com/ssl">https://addons.heroku.com/ssl</a></li>
<li>600 USD/Monat bei AWS CloudFront: <a href="http://aws.amazon.com/cloudfront/custom-ssl-domains/">http://aws.amazon.com/cloudfront/custom-ssl-domains/</a></li>
</ul></li>
<li>In neuen Browsern gibt es keine Warnungen mehr bei unsicherem Content, sondern der wird geblockt</li>
</ul>
<h3>Ops und Infrastruktur bei 5Apps (00:46:51)</h3>
<ul>
<li>5Apps: zwei Vollzeit Entwickler und ein Infrastruktur-Entwickler: <a href="https://5apps.com/about#team">https://5apps.com/about#team</a></li>
<li>Brightbox Cloud: <a href="http://brightbox.com/">http://brightbox.com/</a>
<ul>
<li>UK, gute API, Support in fog (<a href="http://fog.io/">http://fog.io/</a>)</li>
</ul></li>
<li>Im Einsatz bei 5Apps: Rails, Sinatra, Unicorn, Resque, Gitolite</li>
<li>nginx als Webserver, Loadbalancer (intern und extern)</li>
<li>Riak: <a href="http://basho.com/riak/">http://basho.com/riak/</a></li>
<li>chef: <a href="http://www.opscode.com/chef/">http://www.opscode.com/chef/</a>
<ul>
<li>Infrastruktur</li>
<li>Deployment (<a href="http://community.opscode.com/cookbooks/application">http://community.opscode.com/cookbooks/application</a>)</li>
<li>Knife Spork <a href="https://github.com/jonlives/knife-spork">https://github.com/jonlives/knife-spork</a></li>
</ul></li>
<li>Travis CI Pro: <a href="http://travis-ci.com/">http://travis-ci.com/</a>
<ul>
<li>CI</li>
<li>Asset Compilation</li>
<li>Deployment</li>
<li>leider noch invite-only</li>
</ul></li>
</ul>
<h3>Travis Foundation &amp; RailsGirls: Summer of Code (00:57:00)</h3>
<ul>
<li>Travis Foundation: <a href="http://about.travis-ci.org/foundation/">http://about.travis-ci.org/foundation</a></li>
<li>RailsGirls Summer of Code: <a href="http://railsgirlssummerofcode.org">http://railsgirlssummerofcode.org</a></li>
</ul>
<h3>Self-Hosted Cloud, GPG, Apple und HTML5 (01:00:08)</h3>
<ul>
<li>5Apps strebt auch langfristig self-hosting an</li>
<li>SURFnet: <a href="http://www.surfnet.nl/en/Pages/default.aspx">http://www.surfnet.nl/en/Pages/default.aspx</a></li>
<li>SAML <a href="http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language">http://en.wikipedia.org/wiki/Security<em>Assertion</em>Markup_Language</a></li>
<li>Anynines <a href="http://www.anynines.com/">http://www.anynines.com</a></li>
<li>CloudFoundry <a href="http://www.cloudfoundry.com">http://www.cloudfoundry.com</a></li>
<li>GPGMail für OS X <a href="https://gpgtools.org/gpgmail/index.html">https://gpgtools.org/gpgmail/index.html</a></li>
<li>ThinkPad X1 <a href="http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-carbon/index.html">http://shop.lenovo.com/us/en/laptops/thinkpad/x-series/x1-carbon/index.html</a></li>
<li>OS X Mavericks Safari <a href="http://www.apple.com/osx/preview/#safari">http://www.apple.com/osx/preview/#safari</a></li>
<li>Apple Mac Pro website <a href="http://www.apple.com/mac-pro/">http://www.apple.com/mac-pro</a></li>
<li>iWork for iCloud <a href="https://www.apple.com/iwork-for-icloud/">https://www.apple.com/iwork-for-icloud</a></li>
<li>XHTML <a href="http://www.w3.org/TR/xhtml1/">http://www.w3.org/TR/xhtml1/</a></li>
<li>XHTML Fehlerseite für invalides Markup <a href="http://cafe.elharo.com/wp-content/uploads/2008/06/01fig02.png">http://cafe.elharo.com/wp-content/uploads/2008/06/01fig02.png</a></li>
</ul>
<h3>Bitcoin / Namecoin (01:17:30)</h3>
<ul>
<li>Mozilla Persona :<a href="https://persona.org">https://persona.org</a></li>
<li>Bitcoin: <a href="https://en.bitcoin.it/wiki/Main_Page">https://en.bitcoin.it/wiki/Main_Page</a></li>
<li>Namecoin: <a href="http://dot-bit.org/Namecoin">http://dot-bit.org/Namecoin</a> <a href="http://dot-bit.org/Main_Page">http://dot-bit.org/Main_Page</a></li>
<li>Bitcoin Meetups im Startplatz: <a href="http://www.startplatz.de/event/2-bitcoin-konferenz">http://www.startplatz.de/event/2-bitcoin-konferenz</a></li>
<li>Bitcoin Kiez: <a href="http://bitcoinkiez.wordpress.com">http://bitcoinkiez.wordpress.com</a></li>
<li>Room 77: <a href="http://room77.de">http://room77.de</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST018" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:02:23" title="Hackertrips" />
<psc:chapter start="00:06:08" title="5Apps" />
<psc:chapter start="00:08:56" title="Web Apps" />
<psc:chapter start="00:16:00" title="5Apps Deploy und Storage &amp; remoteStorage" />
<psc:chapter start="00:27:10" title="Das W3C, DRM &amp; App Stores" />
<psc:chapter start="00:40:15" title="HTTP 2.0, IPv6, SSL" />
<psc:chapter start="00:46:51" title="Ops und Infrastruktur bei 5Apps" />
<psc:chapter start="00:57:00" title="Travis Foundation &amp; RailsGirls: Summer of Code" />
<psc:chapter start="01:00:08" title="Self-Hosted Cloud, GPG, Apple und HTML5" />
<psc:chapter start="01:17:30" title="Bitcoin / Namecoin" />
</psc:chapters>
</item>
<item>
<title>GST019 - Weg von .NET &amp; Windows</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Stefan Schiffer (@scrat0105) über die Wandlung eines Unternehmens</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst019.mp3" length="56023780" type="audio/mpeg"/>
<guid isPermaLink="false">GST019</guid>
<pubDate>Sat, 27 Jul 2013 16:29:29 +0200</pubDate>
<itunes:duration>01:17:25</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Wir hatten dieses Mal Stefan Schiffer (@scrat0105) zu Gast. Er berichtet von dem doch sehr radikalen Wandel seines Arbeitgebers: Von On-Premise zu SaaS und Cloud, von Wasserfall-Prozessen hin zu Agiler Softwareentwicklung und von .NET & Windows zu Ruby & Linux. Stefan erzählt, woher der Wandel kommt und wie er den Wandel von Anfang an miterlebt hat.
### Intro (00:00:00)
* Kurz in eigener Sache
* opus-Feed: http://geekstammtisch.de/episodes.opus.rss
* Rheinklick: Die digitale Offensive des Kölner Stadt-Anzeiger rund um die Kölner Tech-Szene
* der Geekstammtisch beim Rheinklick-Blog: http://www.ksta.de/rheinklick/podcast-des-geekstammtischs-gruende--in-koeln-zu-gruenden,22789250,23728778.html
* Wir sind auf dem Railscamp
### Unser Gast (00:03:24)
* Stefan Schiffer: @scrat0105, https://www.xing.com/profiles/Stefan_Schiffer8
* hört gern denn Geekstammtisch <3
* hat mit Dirk und Basti Medieninformatik an der FH Köln studiert
* wollte immer in Richtung UX
* macht seit ~2 Jahren Rails
* explizite Stellen für Interaction Design sind eher unüblich
### InVision (00:06:02)
* Stefan arbeitet bei InVision AG: http://www.invision.de
* InVision ein solides mittelstänidges Unternehmen aus der klassichen B2B On Premise Welt
* Jetzt allerdings radikaler Wandel: Weg von On Premise hin zur Cloud und zu SaaS
* InVision stellt Software für die Personaleinsatzplanung wie etwa Personal-Forecasting her
* Vor 3-4 Jahren kam die Erkenntnis, dass man sich technologisch modernisieren muss
* War mit der damaligen Software schwierig bis unmöglich
* Daher war eine Schnitt unvermeidbar
* InVision ist _kein_ Startup
* Mittlerweile hat sich eine "Startup-Mentalität" eingestellt
* Von Individualsoftware hin zu webbasierten Diensten
* Das UX-Team kommt hier viel besser zum Einsatz
* Vorher gab es eine C#/.NET-basierte Lösung mit viel lizensierter Drittanbietersoftware
* Das neue, Rails-basierte Produkt ist noch nicht in Gänze live
* Das Ziel ist, dass das neue Produkt das alte irgendwann ablöst
* Die alte Software lebt nun auch in der Cloud und wird weiterhin betrieben
* Diese Lösung ist auch schon als Saas verfügbar
* Neue Kompotenten greifen auch noch teilweise auf die alte Software zu
* Bestandskunden wechseln nach und nach auf die Cloud-basierte Variante
* Vor allem sehr große Kunden sind noch auf der On Premise Version
* Die Cloud der Wahl ist AWS (inkl. Windowsserver für die alte Umgebung)
* Kunden, die die On Premise Lösung einsetzen können bereits auf neue Clouddienste zugreifen
* Beispiel dafür ist das Cloud-basierte Forecasting, was bereits jetzt einen Mehrwert bietet
* Bedingt dadurch hat man nicht nur einmalige Migrationen von Altdaten, sondern auch eine konstante Verbindung zwischen den Systemen
* 80% der Entwickler arbeiten auf dem neuen System, 20% arbeiten an der Pflege des Altsystems
* Entwicklung findet an drei Standorten statt (Derry/Londonderry, Ratingen, Leipzig)
* Jeder Standort hat mehrere Teams für unterschiedliche Komponenten der Software
* Neben den Entwicklungsteams, gibt es noch Service-Teams für UX und Technical Writing, die allen Teams zur Verfügung stehen
* Es gibt ein Operations-Team in Derry/Londonderry und es wird ein DevOps-Team in Ratingen aufgebaut
* 50-60 Menschen in der Produktentwicklung
### Out of the Dark (00:17:40)
* Was war der Auslöser für den radikalen Wandel?
* Technologische Erweiterbarkeit war nicht mehr gegeben
* Zwei Möglichkeiten: Entweder radikal aufräumen, oder von Vorne anfangen
* Man war von der Cloud und ihren Möglichkeiten für den Anwendungsfall überzeugt
* Erst kam der Switch zur Cloud und erst danach der Wechsel der Technologie
* Gleichzeitig mit der Technologie wurde der Entwicklungsprozess und die Unternehmensstruktur radikal geändert
* Wichtig war, dass die Unternehmensführung zu 100% dahinter steht
* Ja, es sind Leute auf der Strecke geblieben: Es sind mehr Leute gegangen als die normale Fluktuation
* Die Änderung der Unternehmensstruktur war im Nachgang eine Bedingung für den neuen Prozess
* Mitarbeiter müssen Verantwortung übernehmen
* Vorteil: Fachwissen gefestigt, Probleme bekannt und weitestgehend gelöst, Kundenstamm vorhanden
* Nachteil: Niemand kannte Rails, niemand war firm in agiler Softwareentwicklung
* Zu Beginn Scrum nach Lehrbuch inkl. externen Trainings
* Heute wird Scrum _nicht_ in Reinform gemacht, was die typische Entwicklung ist
### Von C# hin zu Rails (00:26:38)
* Schwerfällige Entwicklung
* Automatisiertes Testing nur sehr schwer möglich
* In der C#-Welt ist Open-Source nicht sehr populär
* Entscheidung für Rails ist eher spontan gefallen
* Prototypen wurden mit Rails erstellt und das Vorgehen hat überzeugt
* Danach hat man sich entschieden, dass man einfach weiter darin arbeitet und die Prototypen noch mal neumacht
* Lizensierung und deren Kosten ein tatsächliches Problem
* Kosten für die Server in der Cloud waren auch ein Problem
* Herausforderungen beim Umstieg auf Rails war vor allem zu lernen was es bedeutet Web-Anwendungen zu schreiben
* Ansonsten die üblichen Probleme: Neue Sprache, neues Framework, neues Paradigma
* QA musste lernen Tests zu schreiben
* Keine IDE mehr, sondern arbeiten mit Texteditor und CLI, vor allem durch den "Wegfall" des Debuggers
* "Ich kann gar nicht mehr debuggen"
* Zudem kam auch noch ein Wechsel des Betriebssystems ^^
* Man musste auch lernen wie man deployed und Server provisioniert
* Jenkins zur Realisierung der Deployment-Pipeline
* Provisionierung der Server mit Chef
* Genutzte Dienste von AWS: Vor allem EC2, ELB und S3
* DB wird selber auf EC2 gehostet
* Basti weist mal wieder darauf hin, dass AWS sich nur lohnt, wenn man es richtig nutzt und automatisch provisioniert
* Stefan erzählt, dass sie am Anfang EC2 "nur" als Server in der Cloud gesehen haben und erst den richtigen Umgang lernen mussten
* Stefan meint, sie sind fast fertig, aber fertig wird man ja eh nicht
* Initiale Wissenslücke durch Trainings, Workshops und Self-Training geschlossen
* Man musste lernen, dass man seinen eigenen Code auch mal wegwerfen muss
### Agile Softwareentwicklung (00:38:20)
* Während der Umstellung auf neue Technologien hat man sich die Frage gestellt, warum schreiben wir eigentlich Spezifikationen? Am Ende kommt eh nicht das raus, was der Kunde wollte?
* Die häufigste Antwort auf diese Fragen war: Im besten Fall war es überflüssig, aber in der Regel hat es Nachteile gebracht.
* Und was ist eigentlich dieses Scrum?
* SaaS eignet sich perse nicht für Wasserfall, man muss viel schneller reagieren können
* Man hört ganz anders auf die Kunden: Nicht mehr der einzelne zählt, sondern der Bedarf des Marktes
* Dadurch musste auch der Produktbereich umlernen bzw. überhaupt aufgebaut werden
* Entscheidungen über Produktänderungen werden vor allem in den einzelnen Teams getroffen
* Am Anfang war es schwierig ein Produkt ohne echte Kunden zu entwickeln
* Die Lücke musste durch internes Know-How geschlossen werden
* Das machte auch Reviews schwierig
* Mittlerweile haben alle Teams den selben Sprint-Rythmus und machen ihr Review gemeinsam in einem Conference-Call
* Stefan ist zufrieden mit dem Transformationsprozess
* besondere positive Aspekte, der Mehrwert der Umstellung
* direktes und schnelles Feedback
* worst-case werden nur 1-2 Sprints an Zeit "weggeworfen"
* Retrospektiven werden noch etwas stiefmütterlich behandelt
* Teams arbeiten sehr eigenverantwortlich
* jedes Team betreibt ihre eigenen Komponenten/Module
* organisieren selbst Urlaub im Team
* Standortübergreifende Kommunikation ist eine Herausforderung
* Module, die enger zusammenarbeiten und direkte Abhängigkeiten haben, sind nach Möglichkeit am selben Standort angesiedelt
* Ausnahme, das UX Team: Das Team ist verteilt und unterstüzt die anderen Teams
* Technologie/Architekturentscheidungen werden in einer Art Architekturboard getroffen, nachdem es Vorschläge und Bewertungen aus dem jeweiligen Team gab.
### Technical Depts, eigene gems als externe Dependencies (00:54:19)
* "Technische Schulden" hat jeder, egal wie jung oder alt ein Projekt ist
* Es gibt ein paar Regeln, wie mit Technical Depts umzugehen ist:
* erst kommen Bugs, dann Technical Depts und dann User Features
* interne gems, werden von den Teams wie externe Dependencies verwendet (mit Pull Requests, Forks usw.)
* dadurch, dass alle Teams quasi eigene Rails Apps entwickeln, sind die Teams relativ unabhängig von Entscheidungen, wie erb vs HAML oder CSS/SCSS/…
* mitlerweile wird nur noch HAML benutzt: http://haml.info/
### Lernprozesse & Kulturwandel (01:01:25)
* Andauernder Learnprozess, viele Fehler, viel gelernt
* Zusammen mit dem technischen Wandel gab es auch einen starken "kulturellen" Wandel
* neuer Entwicklungsansatz, neue Motiviation gute Qualität abzuliefern
* Collective (code) Ownership: http://www.extremeprogramming.org/rules/collective.html
* ständier Lern- und Verbesserungsprozess
### APIs, Service-Orientierung (01:03:47)
* Die bisherige On-Premise-Lösung war nicht Service-orientiert
* Jetzt geht es schon mehr in diese Richtung
* z.B. gibt es ein zentrales User-Management (Service)
* API spricht JSON via HTTP
* wird bereitgestellt durch gems
* Services/Module haben ihre eigenen Datenbanken
### Zum Abschluss (01:09:12)
* Wir sind beeindruckt von dem doch radikalen und positiven Wandel, den Stefan beschrieben hat
* Wir sind uns einig, dass ein ganzheitlicher Ansatz am erfolgversprechendsten ist
* InVision sucht noch Entwickler und vor allem Leute, die DevOps machen wollen
* Basti hat eine Mail mit Jobangebot bekommen, worin mit einem Foto von Clubmate im Kühlschrank geworben wurde :)
* Mate gibt es bei InVision noch nicht, aber es wird gegrillt (reicht nicht ganz ^^)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Wir hatten dieses Mal Stefan Schiffer (<a href="https://twitter.com/scrat0105">@scrat0105</a>) zu Gast. Er berichtet von dem doch sehr radikalen Wandel seines Arbeitgebers: Von On-Premise zu SaaS und Cloud, von Wasserfall-Prozessen hin zu Agiler Softwareentwicklung und von .NET &amp; Windows zu Ruby &amp; Linux. Stefan erzählt, woher der Wandel kommt und wie er den Wandel von Anfang an miterlebt hat.</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Kurz in eigener Sache
<ul>
<li>opus-Feed: <a href="http://geekstammtisch.de/episodes.opus.rss">http://geekstammtisch.de/episodes.opus.rss</a></li>
<li>Rheinklick: Die digitale Offensive des Kölner Stadt-Anzeiger rund um die Kölner Tech-Szene</li>
<li>der Geekstammtisch beim Rheinklick-Blog: <a href="http://www.ksta.de/rheinklick/podcast-des-geekstammtischs-gruende--in-koeln-zu-gruenden,22789250,23728778.html">http://www.ksta.de/rheinklick/podcast-des-geekstammtischs-gruende--in-koeln-zu-gruenden,22789250,23728778.html</a></li>
<li>Wir sind auf dem Railscamp</li>
</ul></li>
</ul>
<h3>Unser Gast (00:03:24)</h3>
<ul>
<li>Stefan Schiffer: <a href="https://twitter.com/scrat0105">@scrat0105</a>, <a href="https://www.xing.com/profiles/Stefan_Schiffer8">https://www.xing.com/profiles/Stefan_Schiffer8</a></li>
<li>hört gern denn Geekstammtisch &lt;3</li>
<li>hat mit Dirk und Basti Medieninformatik an der FH Köln studiert</li>
<li>wollte immer in Richtung UX</li>
<li>macht seit ~2 Jahren Rails</li>
<li>explizite Stellen für Interaction Design sind eher unüblich</li>
</ul>
<h3>InVision (00:06:02)</h3>
<ul>
<li>Stefan arbeitet bei InVision AG: <a href="http://www.invision.de">http://www.invision.de</a></li>
<li>InVision ein solides mittelstänidges Unternehmen aus der klassichen B2B On Premise Welt</li>
<li>Jetzt allerdings radikaler Wandel: Weg von On Premise hin zur Cloud und zu SaaS</li>
<li>InVision stellt Software für die Personaleinsatzplanung wie etwa Personal-Forecasting her</li>
<li>Vor 3-4 Jahren kam die Erkenntnis, dass man sich technologisch modernisieren muss</li>
<li>War mit der damaligen Software schwierig bis unmöglich</li>
<li>Daher war eine Schnitt unvermeidbar</li>
<li>InVision ist <em>kein</em> Startup</li>
<li>Mittlerweile hat sich eine &quot;Startup-Mentalität&quot; eingestellt
<ul>
<li>Von Individualsoftware hin zu webbasierten Diensten</li>
<li>Das UX-Team kommt hier viel besser zum Einsatz</li>
</ul></li>
<li>Vorher gab es eine C#/.NET-basierte Lösung mit viel lizensierter Drittanbietersoftware</li>
<li>Das neue, Rails-basierte Produkt ist noch nicht in Gänze live</li>
<li>Das Ziel ist, dass das neue Produkt das alte irgendwann ablöst</li>
<li>Die alte Software lebt nun auch in der Cloud und wird weiterhin betrieben</li>
<li>Diese Lösung ist auch schon als Saas verfügbar</li>
<li>Neue Kompotenten greifen auch noch teilweise auf die alte Software zu</li>
<li>Bestandskunden wechseln nach und nach auf die Cloud-basierte Variante</li>
<li>Vor allem sehr große Kunden sind noch auf der On Premise Version</li>
<li>Die Cloud der Wahl ist AWS (inkl. Windowsserver für die alte Umgebung)</li>
<li>Kunden, die die On Premise Lösung einsetzen können bereits auf neue Clouddienste zugreifen
<ul>
<li>Beispiel dafür ist das Cloud-basierte Forecasting, was bereits jetzt einen Mehrwert bietet</li>
<li>Bedingt dadurch hat man nicht nur einmalige Migrationen von Altdaten, sondern auch eine konstante Verbindung zwischen den Systemen</li>
</ul></li>
<li>80% der Entwickler arbeiten auf dem neuen System, 20% arbeiten an der Pflege des Altsystems</li>
<li>Entwicklung findet an drei Standorten statt (Derry/Londonderry, Ratingen, Leipzig)</li>
<li>Jeder Standort hat mehrere Teams für unterschiedliche Komponenten der Software</li>
<li>Neben den Entwicklungsteams, gibt es noch Service-Teams für UX und Technical Writing, die allen Teams zur Verfügung stehen</li>
<li>Es gibt ein Operations-Team in Derry/Londonderry und es wird ein DevOps-Team in Ratingen aufgebaut</li>
<li>50-60 Menschen in der Produktentwicklung</li>
</ul>
<h3>Out of the Dark (00:17:40)</h3>
<ul>
<li>Was war der Auslöser für den radikalen Wandel?
<ul>
<li>Technologische Erweiterbarkeit war nicht mehr gegeben</li>
<li>Zwei Möglichkeiten: Entweder radikal aufräumen, oder von Vorne anfangen</li>
<li>Man war von der Cloud und ihren Möglichkeiten für den Anwendungsfall überzeugt</li>
</ul></li>
<li>Erst kam der Switch zur Cloud und erst danach der Wechsel der Technologie</li>
<li>Gleichzeitig mit der Technologie wurde der Entwicklungsprozess und die Unternehmensstruktur radikal geändert</li>
<li>Wichtig war, dass die Unternehmensführung zu 100% dahinter steht</li>
<li>Ja, es sind Leute auf der Strecke geblieben: Es sind mehr Leute gegangen als die normale Fluktuation</li>
<li>Die Änderung der Unternehmensstruktur war im Nachgang eine Bedingung für den neuen Prozess</li>
<li>Mitarbeiter müssen Verantwortung übernehmen</li>
<li>Vorteil: Fachwissen gefestigt, Probleme bekannt und weitestgehend gelöst, Kundenstamm vorhanden</li>
<li>Nachteil: Niemand kannte Rails, niemand war firm in agiler Softwareentwicklung</li>
<li>Zu Beginn Scrum nach Lehrbuch inkl. externen Trainings</li>
<li>Heute wird Scrum <em>nicht</em> in Reinform gemacht, was die typische Entwicklung ist</li>
</ul>
<h3>Von C# hin zu Rails (00:26:38)</h3>
<ul>
<li>Schwerfällige Entwicklung</li>
<li>Automatisiertes Testing nur sehr schwer möglich</li>
<li>In der C#-Welt ist Open-Source nicht sehr populär</li>
<li>Entscheidung für Rails ist eher spontan gefallen
<ul>
<li>Prototypen wurden mit Rails erstellt und das Vorgehen hat überzeugt</li>
<li>Danach hat man sich entschieden, dass man einfach weiter darin arbeitet und die Prototypen noch mal neumacht</li>
</ul></li>
<li>Lizensierung und deren Kosten ein tatsächliches Problem</li>
<li>Kosten für die Server in der Cloud waren auch ein Problem</li>
<li>Herausforderungen beim Umstieg auf Rails war vor allem zu lernen was es bedeutet Web-Anwendungen zu schreiben</li>
<li>Ansonsten die üblichen Probleme: Neue Sprache, neues Framework, neues Paradigma</li>
<li>QA musste lernen Tests zu schreiben</li>
<li>Keine IDE mehr, sondern arbeiten mit Texteditor und CLI, vor allem durch den &quot;Wegfall&quot; des Debuggers</li>
<li>&quot;Ich kann gar nicht mehr debuggen&quot;</li>
<li>Zudem kam auch noch ein Wechsel des Betriebssystems ^^</li>
<li>Man musste auch lernen wie man deployed und Server provisioniert</li>
<li>Jenkins zur Realisierung der Deployment-Pipeline</li>
<li>Provisionierung der Server mit Chef</li>
<li>Genutzte Dienste von AWS: Vor allem EC2, ELB und S3</li>
<li>DB wird selber auf EC2 gehostet</li>
<li>Basti weist mal wieder darauf hin, dass AWS sich nur lohnt, wenn man es richtig nutzt und automatisch provisioniert</li>
<li>Stefan erzählt, dass sie am Anfang EC2 &quot;nur&quot; als Server in der Cloud gesehen haben und erst den richtigen Umgang lernen mussten</li>
<li>Stefan meint, sie sind fast fertig, aber fertig wird man ja eh nicht</li>
<li>Initiale Wissenslücke durch Trainings, Workshops und Self-Training geschlossen</li>
<li>Man musste lernen, dass man seinen eigenen Code auch mal wegwerfen muss</li>
</ul>
<h3>Agile Softwareentwicklung (00:38:20)</h3>
<ul>
<li>Während der Umstellung auf neue Technologien hat man sich die Frage gestellt, warum schreiben wir eigentlich Spezifikationen? Am Ende kommt eh nicht das raus, was der Kunde wollte?</li>
<li>Die häufigste Antwort auf diese Fragen war: Im besten Fall war es überflüssig, aber in der Regel hat es Nachteile gebracht.</li>
<li>Und was ist eigentlich dieses Scrum?</li>
<li>SaaS eignet sich perse nicht für Wasserfall, man muss viel schneller reagieren können</li>
<li>Man hört ganz anders auf die Kunden: Nicht mehr der einzelne zählt, sondern der Bedarf des Marktes</li>
<li>Dadurch musste auch der Produktbereich umlernen bzw. überhaupt aufgebaut werden</li>
<li>Entscheidungen über Produktänderungen werden vor allem in den einzelnen Teams getroffen</li>
<li>Am Anfang war es schwierig ein Produkt ohne echte Kunden zu entwickeln</li>
<li>Die Lücke musste durch internes Know-How geschlossen werden</li>
<li>Das machte auch Reviews schwierig</li>
<li>Mittlerweile haben alle Teams den selben Sprint-Rythmus und machen ihr Review gemeinsam in einem Conference-Call</li>
<li>Stefan ist zufrieden mit dem Transformationsprozess</li>
<li>besondere positive Aspekte, der Mehrwert der Umstellung
<ul>
<li>direktes und schnelles Feedback</li>
<li>worst-case werden nur 1-2 Sprints an Zeit &quot;weggeworfen&quot;</li>
</ul></li>
<li>Retrospektiven werden noch etwas stiefmütterlich behandelt</li>
<li>Teams arbeiten sehr eigenverantwortlich
<ul>
<li>jedes Team betreibt ihre eigenen Komponenten/Module</li>
<li>organisieren selbst Urlaub im Team</li>
</ul></li>
<li>Standortübergreifende Kommunikation ist eine Herausforderung
<ul>
<li>Module, die enger zusammenarbeiten und direkte Abhängigkeiten haben, sind nach Möglichkeit am selben Standort angesiedelt</li>
<li>Ausnahme, das UX Team: Das Team ist verteilt und unterstüzt die anderen Teams</li>
</ul></li>
<li>Technologie/Architekturentscheidungen werden in einer Art Architekturboard getroffen, nachdem es Vorschläge und Bewertungen aus dem jeweiligen Team gab.</li>
</ul>
<h3>Technical Depts, eigene gems als externe Dependencies (00:54:19)</h3>
<ul>
<li>&quot;Technische Schulden&quot; hat jeder, egal wie jung oder alt ein Projekt ist</li>
<li>Es gibt ein paar Regeln, wie mit Technical Depts umzugehen ist:
<ul>
<li>erst kommen Bugs, dann Technical Depts und dann User Features</li>
</ul></li>
<li>interne gems, werden von den Teams wie externe Dependencies verwendet (mit Pull Requests, Forks usw.)</li>
<li>dadurch, dass alle Teams quasi eigene Rails Apps entwickeln, sind die Teams relativ unabhängig von Entscheidungen, wie erb vs HAML oder CSS/SCSS/…</li>
<li>mitlerweile wird nur noch HAML benutzt: <a href="http://haml.info/">http://haml.info/</a></li>
</ul>
<h3>Lernprozesse &amp; Kulturwandel (01:01:25)</h3>
<ul>
<li>Andauernder Learnprozess, viele Fehler, viel gelernt</li>
<li>Zusammen mit dem technischen Wandel gab es auch einen starken &quot;kulturellen&quot; Wandel
<ul>
<li>neuer Entwicklungsansatz, neue Motiviation gute Qualität abzuliefern</li>
<li>Collective (code) Ownership: <a href="http://www.extremeprogramming.org/rules/collective.html">http://www.extremeprogramming.org/rules/collective.html</a></li>
<li>ständier Lern- und Verbesserungsprozess</li>
</ul></li>
</ul>
<h3>APIs, Service-Orientierung (01:03:47)</h3>
<ul>
<li>Die bisherige On-Premise-Lösung war nicht Service-orientiert</li>
<li>Jetzt geht es schon mehr in diese Richtung</li>
<li>z.B. gibt es ein zentrales User-Management (Service)
<ul>
<li>API spricht JSON via HTTP</li>
<li>wird bereitgestellt durch gems</li>
</ul></li>
<li>Services/Module haben ihre eigenen Datenbanken</li>
</ul>
<h3>Zum Abschluss (01:09:12)</h3>
<ul>
<li>Wir sind beeindruckt von dem doch radikalen und positiven Wandel, den Stefan beschrieben hat</li>
<li>Wir sind uns einig, dass ein ganzheitlicher Ansatz am erfolgversprechendsten ist</li>
<li>InVision sucht noch Entwickler und vor allem Leute, die DevOps machen wollen</li>
<li>Basti hat eine Mail mit Jobangebot bekommen, worin mit einem Foto von Clubmate im Kühlschrank geworben wurde :)</li>
<li>Mate gibt es bei InVision noch nicht, aber es wird gegrillt (reicht nicht ganz ^^)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST019" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:03:24" title="Unser Gast" />
<psc:chapter start="00:06:02" title="InVision" />
<psc:chapter start="00:17:40" title="Out of the Dark" />
<psc:chapter start="00:26:38" title="Von C# hin zu Rails" />
<psc:chapter start="00:38:20" title="Agile Softwareentwicklung" />
<psc:chapter start="00:54:19" title="Technical Depts, eigene gems als externe Dependencies" />
<psc:chapter start="01:01:25" title="Lernprozesse &amp; Kulturwandel" />
<psc:chapter start="01:03:47" title="APIs, Service-Orientierung" />
<psc:chapter start="01:09:12" title="Zum Abschluss" />
</psc:chapters>
</item>
<item>
<title>GST020 - Wenn die Codebase groß genug ist...</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Auf dem RailsCamp 2013 mit Christoph Olszowka (@TheDeadSerious) über The Ruby Toolbox und simplecov</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst020.mp3" length="34427630" type="audio/mpeg"/>
<guid isPermaLink="false">GST020</guid>
<pubDate>Mon, 29 Jul 2013 18:27:42 +0200</pubDate>
<itunes:duration>00:47:27</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Auf dem RailsCamp sprachen wir mit Christoph
@TheDeadSerious Olszowka. Es ging um das Rails Ökosystem und um zwei
etwas bekanntere Projekte von Christoph: The Ruby Toolbox und
simplecov.
### Unser Gast (00:00:00)
* Wir sitzen im "Hackerzelt" !1!11!
* Christoph @TheDeadSerious Olszowka aus Hamburg
* The Ruby Toolbox: https://www.ruby-toolbox.com
* SimpleCov: https://github.com/colszowka/simplecov
* Studiert Informatik und macht Rails in einer Agentur
### Rails Camp 2013 (00:02:40)
* Fishbowl Talk: http://de.wikipedia.org/wiki/Fishbowl
* Themen:
* Wäre Kennedy Python oder Ruby Programmierer gewesen?
* Rails, omakase
* PRISM
### Das Rails Ökosystem (00:04:00)
* Turbolinks: https://github.com/rails/turbolinks
* Rails API: https://github.com/rails-api/rails-api
* Neuerdings: Neue Features erst als Gems bereitgestellt, dann in den Core übernommen
* Strong Parameters: https://github.com/rails/strong_parameters
* Rails is Omakase
* Blogpost von DHH: http://david.heinemeierhansson.com/2012/rails-is-omakase.html
* A Dramatic Reading: http://www.youtube.com/watch?v=E99FnoYqoII
* Seit Rails 3.0 ist vieles modularer geworden, einzelne Komponenten werden als Gems bereitgestellt
* GitHub ist immer noch auf einer auf Rails 2.3 basierenden Version
* Dirk und Basti kennen den Schmerz eine Rails 2.3 App maintainen zu müssen
* GitHub Fork von Rails 2.3: https://github.com/github/rails
* GitHub's Zwischenfall mit E-Mails verschicken: https://github.com/blog/1440-today-s-email-incident
* Rails 2.3 LTS: https://railslts.com
* Umstellung von Rails 3.0 auf 3.1 sehr schmerzhaft wegen der Asset Pipeline: http://guides.rubyonrails.org/asset_pipeline.html
* Rails 4.0 gibt sehr detaillierte Fehlermeldungen, bei der Migration
* Maintenance Policy for Ruby on Rails: http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails
### Ruby Toolbox (00:18:45)
* Projekt seit 2009
* Kategorisierter Katalog von Gems und anderen Open Source Projekten
* Sortierung nach Beliebtheit, viele Metadaten wie Aktualität, letzter Commit auf GitHub
* Als eingeloggter User kann man Kategorien hinzufügen, das Repo updaten, etc.
* Viele Änderungen müssen von Christoph noch manuell reviewt werden
* Basti nutzt die Toolbox regelmäßig, wusste aber nicht, dass man auch mitarbeiten kann
* Sortierung nach Rubygems Downloads, GitHub Stars/Watcher und Forks.
* Man kann sich den Score eines Projektes anzeigen lassen. Beispiel: thor https://www.ruby-toolbox.com/projects/thor/popularity
* Dirk schlägt vor den letzten Commit auch mit einzubeziehen
* Wenn ein Gem bei RailsCasts (http://railscasts.com), etc erwähnt wird, dann beeinflusst das die Watcher Zahlen, aber die Download Zahlen ändert sich nicht zwangsläufig
* Für Basti ist es wichtig, dass ein Projekt aktiv ist (neue GitHub Commits), um zu sehen welches Tool er benutzt
* Gemcutter/Rubygems (http://www.rubygems.org) und Bundler (http://bundler.io/) haben das Ökosystem positiv beeinflusst
* Ein gem zu Erstellen, zu Open Sourcen und es zu maintainen ist ein echtes Commitment!
* Überprüfen ob Gems mit Rails 4 funktionieren: http://www.ready4rails4.net
* "View the full dependency tree for any ruby gem": https://www.gemlou.pe
* "Bei großen Projekten landet man oft in der Dependency-Hell"
* Angabe von Ruby Version (http://docs.rubygems.org/read/chapter/20#required_ruby_version) und Plattform (http://docs.rubygems.org/read/chapter/20#platform) im gemspec möglich
* Leider die Dependency-Angaben oft sehr eng oder schlichtweg falsch: z.B. MRI verlangt, aber jruby funktioniert auch
### SimpleCov (00:31:50)
* SimpleCov basiert auf der Coverage API (http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html), die mittlerweile von JRuby (http://jruby.org) und Rubinius (http://rubini.us) auch unterstützt werden
* die Testsuite für SimpleCov dauert unter jruby >45min :-/
* Basti ist zufrieden mit SimpleCov und hat keine Feature Requests
* Christoph will JavaScript Coverage mit einbauen
* Die Coverage API gibt Daten in einheitlichem Format raus, das könnte man für JavaScript Testsuites nachbauen
* SimpleCov kann die Coverage Daten aus mehreren Test-Suites zusammenfügen
* Wenn jemand mitarbeiten will, Christoph freut sich über Pull-Requests
* Weitere Idee: SimpleCov in Produktion einzusetzen ("Welcher Code wird überhaupt wie oft verwendet"), das wird aber von der Coverage API nicht unterstützt
* Dirk wirft in den Raum, dass das mit DTrace (http://de.wikipedia.org/wiki/DTrace) möglich sein könnte
* Dirk: "Man sollte sich öfter fragen, ob Code überhaupt noch benutzt wird"; +1
### RailsCamp (00:38:50)
* In den letzten 2 Tagen war es verdammt heiß, heute ist es eher bewölkt aber angenehm kühl
* Abenteuer Hallen Kalk: http://ahk.abenteuerhallenkalk.de
* Viele Aktivitäten: Klettern, Basketball, Laufen, Kicker, BMX…
* Basti: "Das Wasser und die Mate, die man sich hier reinkippt, schwitzt man sofort wieder aus"
* Internet per Richtfunkstrecke und WLAN vom CCC
* Wi-Fi Access Points: Ubuquity UniFi http://www.ubnt.com/unifi
* Viprinet (http://www.viprinet.com/de/home)
* Backup Uplink von Vodafone & T-Mobile
* Man läuft rum, hört Sessions mit und unterhält sich mit den Leuten
* Weitere Aktivitäten: BMX mit einigen Verletzungen, AR Drone 2 (http://ardrone2.parrot.com)
* geiles Essen, lecker Kaffee
* Übernachtung in der Skate Halle in zwischen und neben den Half Pipes (Christoph hat's getestet)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Auf dem RailsCamp sprachen wir mit Christoph
<a href="https://twitter.com/TheDeadSerious">@TheDeadSerious</a> Olszowka. Es ging um das Rails Ökosystem und um zwei
etwas bekanntere Projekte von Christoph: The Ruby Toolbox und
simplecov.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Wir sitzen im &quot;Hackerzelt&quot; !1!11!</li>
<li>Christoph <a href="https://twitter.com/TheDeadSerious">@TheDeadSerious</a> Olszowka aus Hamburg</li>
<li>The Ruby Toolbox: <a href="https://www.ruby-toolbox.com">https://www.ruby-toolbox.com</a></li>
<li>SimpleCov: <a href="https://github.com/colszowka/simplecov">https://github.com/colszowka/simplecov</a></li>
<li>Studiert Informatik und macht Rails in einer Agentur</li>
</ul>
<h3>Rails Camp 2013 (00:02:40)</h3>
<ul>
<li>Fishbowl Talk: <a href="http://de.wikipedia.org/wiki/Fishbowl">http://de.wikipedia.org/wiki/Fishbowl</a></li>
<li>Themen:
<ul>
<li>Wäre Kennedy Python oder Ruby Programmierer gewesen?</li>
<li>Rails, omakase</li>
<li>PRISM</li>
</ul></li>
</ul>
<h3>Das Rails Ökosystem (00:04:00)</h3>
<ul>
<li>Turbolinks: <a href="https://github.com/rails/turbolinks">https://github.com/rails/turbolinks</a></li>
<li>Rails API: <a href="https://github.com/rails-api/rails-api">https://github.com/rails-api/rails-api</a></li>
<li>Neuerdings: Neue Features erst als Gems bereitgestellt, dann in den Core übernommen</li>
<li>Strong Parameters: <a href="https://github.com/rails/strong_parameters">https://github.com/rails/strong_parameters</a></li>
<li>Rails is Omakase
<ul>
<li>Blogpost von DHH: <a href="http://david.heinemeierhansson.com/2012/rails-is-omakase.html">http://david.heinemeierhansson.com/2012/rails-is-omakase.html</a></li>
<li>A Dramatic Reading: <a href="http://www.youtube.com/watch?v=E99FnoYqoII">http://www.youtube.com/watch?v=E99FnoYqoII</a></li>
</ul></li>
<li>Seit Rails 3.0 ist vieles modularer geworden, einzelne Komponenten werden als Gems bereitgestellt</li>
<li>GitHub ist immer noch auf einer auf Rails 2.3 basierenden Version</li>
<li>Dirk und Basti kennen den Schmerz eine Rails 2.3 App maintainen zu müssen</li>
<li>GitHub Fork von Rails 2.3: <a href="https://github.com/github/rails">https://github.com/github/rails</a></li>
<li>GitHub&#39;s Zwischenfall mit E-Mails verschicken: <a href="https://github.com/blog/1440-today-s-email-incident">https://github.com/blog/1440-today-s-email-incident</a></li>
<li>Rails 2.3 LTS: <a href="https://railslts.com">https://railslts.com</a></li>
<li>Umstellung von Rails 3.0 auf 3.1 sehr schmerzhaft wegen der Asset Pipeline: <a href="http://guides.rubyonrails.org/asset_pipeline.html">http://guides.rubyonrails.org/asset_pipeline.html</a></li>
<li>Rails 4.0 gibt sehr detaillierte Fehlermeldungen, bei der Migration</li>
<li>Maintenance Policy for Ruby on Rails: <a href="http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails">http://weblog.rubyonrails.org/2013/2/24/maintenance-policy-for-ruby-on-rails</a></li>
</ul>
<h3>Ruby Toolbox (00:18:45)</h3>
<ul>
<li>Projekt seit 2009</li>
<li>Kategorisierter Katalog von Gems und anderen Open Source Projekten</li>
<li>Sortierung nach Beliebtheit, viele Metadaten wie Aktualität, letzter Commit auf GitHub</li>
<li>Als eingeloggter User kann man Kategorien hinzufügen, das Repo updaten, etc.</li>
<li>Viele Änderungen müssen von Christoph noch manuell reviewt werden</li>
<li>Basti nutzt die Toolbox regelmäßig, wusste aber nicht, dass man auch mitarbeiten kann</li>
<li>Sortierung nach Rubygems Downloads, GitHub Stars/Watcher und Forks. </li>
<li>Man kann sich den Score eines Projektes anzeigen lassen. Beispiel: thor <a href="https://www.ruby-toolbox.com/projects/thor/popularity">https://www.ruby-toolbox.com/projects/thor/popularity</a></li>
<li>Dirk schlägt vor den letzten Commit auch mit einzubeziehen</li>
<li>Wenn ein Gem bei RailsCasts (<a href="http://railscasts.com">http://railscasts.com</a>), etc erwähnt wird, dann beeinflusst das die Watcher Zahlen, aber die Download Zahlen ändert sich nicht zwangsläufig</li>
<li>Für Basti ist es wichtig, dass ein Projekt aktiv ist (neue GitHub Commits), um zu sehen welches Tool er benutzt</li>
<li>Gemcutter/Rubygems (<a href="http://www.rubygems.org">http://www.rubygems.org</a>) und Bundler (<a href="http://bundler.io/">http://bundler.io/</a>) haben das Ökosystem positiv beeinflusst</li>
<li>Ein gem zu Erstellen, zu Open Sourcen und es zu maintainen ist ein echtes Commitment!</li>
<li>Überprüfen ob Gems mit Rails 4 funktionieren: <a href="http://www.ready4rails4.net">http://www.ready4rails4.net</a></li>
<li>&quot;View the full dependency tree for any ruby gem&quot;: <a href="https://www.gemlou.pe">https://www.gemlou.pe</a></li>
<li>&quot;Bei großen Projekten landet man oft in der Dependency-Hell&quot;</li>
<li>Angabe von Ruby Version (<a href="http://docs.rubygems.org/read/chapter/20#required_ruby_version">http://docs.rubygems.org/read/chapter/20#required_ruby_version</a>) und Plattform (<a href="http://docs.rubygems.org/read/chapter/20#platform">http://docs.rubygems.org/read/chapter/20#platform</a>) im gemspec möglich</li>
<li>Leider die Dependency-Angaben oft sehr eng oder schlichtweg falsch: z.B. MRI verlangt, aber jruby funktioniert auch</li>
</ul>
<h3>SimpleCov (00:31:50)</h3>
<ul>
<li>SimpleCov basiert auf der Coverage API (<a href="http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html">http://www.ruby-doc.org/stdlib-1.9.3/libdoc/coverage/rdoc/Coverage.html</a>), die mittlerweile von JRuby (<a href="http://jruby.org">http://jruby.org</a>) und Rubinius (<a href="http://rubini.us">http://rubini.us</a>) auch unterstützt werden</li>
<li>die Testsuite für SimpleCov dauert unter jruby &gt;45min :-/</li>
<li>Basti ist zufrieden mit SimpleCov und hat keine Feature Requests</li>
<li>Christoph will JavaScript Coverage mit einbauen</li>
<li>Die Coverage API gibt Daten in einheitlichem Format raus, das könnte man für JavaScript Testsuites nachbauen</li>
<li>SimpleCov kann die Coverage Daten aus mehreren Test-Suites zusammenfügen</li>
<li>Wenn jemand mitarbeiten will, Christoph freut sich über Pull-Requests</li>
<li>Weitere Idee: SimpleCov in Produktion einzusetzen (&quot;Welcher Code wird überhaupt wie oft verwendet&quot;), das wird aber von der Coverage API nicht unterstützt</li>
<li>Dirk wirft in den Raum, dass das mit DTrace (<a href="http://de.wikipedia.org/wiki/DTrace">http://de.wikipedia.org/wiki/DTrace</a>) möglich sein könnte</li>
<li>Dirk: &quot;Man sollte sich öfter fragen, ob Code überhaupt noch benutzt wird&quot;; +1</li>
</ul>
<h3>RailsCamp (00:38:50)</h3>
<ul>
<li>In den letzten 2 Tagen war es verdammt heiß, heute ist es eher bewölkt aber angenehm kühl</li>
<li>Abenteuer Hallen Kalk: <a href="http://ahk.abenteuerhallenkalk.de">http://ahk.abenteuerhallenkalk.de</a></li>
<li>Viele Aktivitäten: Klettern, Basketball, Laufen, Kicker, BMX…</li>
<li>Basti: &quot;Das Wasser und die Mate, die man sich hier reinkippt, schwitzt man sofort wieder aus&quot;</li>
<li>Internet per Richtfunkstrecke und WLAN vom CCC</li>
<li>Wi-Fi Access Points: Ubuquity UniFi <a href="http://www.ubnt.com/unifi">http://www.ubnt.com/unifi</a></li>
<li>Viprinet (<a href="http://www.viprinet.com/de/home">http://www.viprinet.com/de/home</a>)
<ul>
<li>Backup Uplink von Vodafone &amp; T-Mobile</li>
</ul></li>
<li>Man läuft rum, hört Sessions mit und unterhält sich mit den Leuten</li>
<li>Weitere Aktivitäten: BMX mit einigen Verletzungen, AR Drone 2 (<a href="http://ardrone2.parrot.com">http://ardrone2.parrot.com</a>)</li>
<li>geiles Essen, lecker Kaffee</li>
<li>Übernachtung in der Skate Halle in zwischen und neben den Half Pipes (Christoph hat&#39;s getestet)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST020" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:02:40" title="Rails Camp 2013" />
<psc:chapter start="00:04:00" title="Das Rails Ökosystem" />
<psc:chapter start="00:18:45" title="Ruby Toolbox" />
<psc:chapter start="00:31:50" title="SimpleCov" />
<psc:chapter start="00:38:50" title="RailsCamp" />
</psc:chapters>
</item>
<item>
<title>GST021 - Nerdstammtisch (aka NK008)</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Das Geekstammtisch und Nerdkunde Joint Venture berichtet vom RailCamp 2013</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst021.mp3" length="45572899" type="audio/mpeg"/>
<guid isPermaLink="false">GST021</guid>
<pubDate>Tue, 30 Jul 2013 18:54:43 +0200</pubDate>
<itunes:duration>01:02:55</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Der Geekstammtisch und die Nerdkunde haben auf dem RailsCamp
Germany 2013 zusammen ein paar Impressionen der Besucher gesammelt. Wir
sprachen mit @skddc, @jkwebs, @argorak, @badboy_, @Uepsi, @slogmen und
@Hagenburger. Bis zum nächsten Mal!
### Intro (00:00:00)
* [Geekstammtisch](http://www.geekstammtisch.de) und [Nerdkunde](http://www.nerdkun.de) zusammen FTW! :)
* Wir senden "live" vom [RailsCamp 2013](http://2013.railscamp.de/), daher entschuldigt die ungewohnt "schlechte" Audioqualität
* Mit dabei: [Lucas](https://twitter.com/moonbeamlabs), [Basti](https://twitter.com/tisba), [Dirk](https://twitter.com/railsbros_dirk) und [Klaus](https://twitter.com/klaustopher) als hauptamtlicher Funkmikro-Träger!
### Sebastian Kippe (00:01:02)
* Twitter: @skddc
* (Mit-)Organisator des RailsCamps
* es gab so circa 30 Mit-Organisatoren per [GitHub Issues](https://github.com/railscamp/railscamp-germany-2013/issues)
* wir fanden, die Orga lief super
* Sebastian kommt gerade von der Crypto-Session mit Key Signing & Co.
* Es wurden 125 Tickets verkauft, es waren circa 10 nicht da und es sind ein paar zusätzlich gekommen
* Sebastian's Highlight: Punk Rock mit @TheDeadSerious auflegen!
* Sport und Nerds: Es gab Opfer! 2 von 4 Leute beim BMXen waren im Krankenhaus
### Jakob Hilden (00:07:09)
* Twitter: @jkwebs
* ebenfalls Organisator und vor allem Koordinator \o/
* findet es super, wie alles so zusammengekommen ist
* bei der vorletzten [Cologne.rb](http://www.colognerb.de) hat Jakob tolle "Hüte" gebastelt; hat funktioniert :)
* Die Idee einen Pool aufzustellen, kam leider etwas zu spät für's RailsCamp
* Jakob's Highlight: Nico @Hagenburger's Session zu [Living Styleguides](https://speakerdeck.com/hagenburger/style-guide-driven-development)
* Es gab eine tolle Feedback-Runde zu dem Living Styleguide Ansatz
### Unsere Impressionen vom Camp (00:12:10)
* Dirk fragt sich, ob es eine grundsätzliche thematische Richtung auf dem Camp und wir haben nichts ausgemacht
* uns war allen warm :)
* Wir haben alle nicht so viele Sessions mitgemacht, sondern haben mehr an Diskussionen rundherum teilgenommen
* Lucas hat den Eindruck, dass viele auf der Suche nach DEM Frontend JS Framework sind
* Wir diskutieren etwas über [Ember.js](http://emberjs.com), [Backbone.js](http://backbonejs.org) und [AngularJS](http://angularjs.org)
### Mike (00:16:40)
* betreut die ganzen Nerds in den AbenteuerHallenKALK: http://ahk.abenteuerhallenkalk.de/
* die gute Seele des Hauses
* Mike findet die RailsCamper sind tiefen-entspannt und ordentlich (hört, hört!)
* Nerds sind pflegeleichter als Jugendliche \o/
* Mike hat Chipstüten vermisst
* …und er fand unseren Musikgeschmack gut
* in den Hallen finden alle möglichen Events statt
* z.B. die [Evoke 2013](http://www.evoke.eu/2013/) vom 16.-18.08.2013
* Evoke wird das selbe Wi-Fi Setup bekommen, wie das RailsCamp
### Florian Gilcher (00:21:38)
* Twitter: @argorak
* Hat [AR.Dronen](http://ardrone2.parrot.com) mitgebracht, weil er eine geschenkt bekommen hat ^^
* Es sollte gescripted werden und nicht mit der iPhone App geflogen werden
* Ergebnis: Eine wird von einem N64-Controller gesteuert, die andere von einer [Shoes4-App](https://github.com/skade/shoes-ardrone)
* Klaus hat seine neue DrohDrohnene erstmal geschrottet
* Pro-Tipp: Drohne und Client müssen im gleichen WLAN sein
* Implementierungen in Ruby [artoo-ardrone](https://github.com/hybridgroup/artoo-ardrone) und Node.js [node-ar-drone](https://github.com/felixge/node-ar-drone)
* Florian hat einen Arbeitskreis für Ruby-Events gemacht
* Wie kann man sich besser vernetzen?
* Deutschlandweite Mailingsliste
* Deutschlandweites Blog
* Ruby Berlin e.V. ist trotz des Namens _nicht_ auf Berlin begrenzt
* Das Railscamp wurde vom Ruby e.V. veranstaltet
* Zentrale Frage sollen einfach zu klären sein (Bsp.: Internet, WLAN, etc)
* Die Telekom lässt das [eurucamp](http://2013.eurucamp.org) nicht an ihr Glas m(
* Findet statt vom 16.-18. August und es gibt noch Tickets
* Die einzige JRuby Konferenz dieses Jahr findet kurz vorher statt: [JRuby Conf EU](http://2013.jrubyconf.eu)
* Es gibt keine Kombitickets für die Konferenz aber eine Kombiparty
* Am 24./25. August findet die [RedFrog Conf](https://ruby.froscon.org) auf der [FrOSCon](http://www.froscon.org) statt
* "[So Coded](http://socoded.com)" findet am 19./20. September in Hamburg statt
### Jan-Erik Rediger (00:32:20)
* Twitter: @badboy_
* Kommt von [rrbone](https://www.rrbone.net), die den Uplink via Richtfunk zur FH Köln realisiert haben
* rrbone ist ein kleiner ISP aus Dortmund
* Richtfunkstrecke ging über 1,5 km
* Der Ausblick war großartig ^^
* Es gab für alle Teilnehmer öffentliche IPv4 und IPv6 Adressen
* Das Netz kommt in Düsseldorf raus!!!
* Es gab ein [Easteregg](http://tmp.rediger.net/railscamp-traceroute.txt)
* Bis zu 100MBit sind über die Richtfunkstrecke gemessen worden \o/
* Wir können jetzt überall Campen \o/
### Wir (00:37:28)
* Sport von den Panelisten: Drohne fliegen, Kickern, Schwitzen
* Eine weitere Nerdkunde wurde in der Sauna mit Dennis Reimann aufgenommen: http://nerdkunde.de/nk0007.html
* Und ein Geekstammtisch mit Christoph @TheDeadSerious Olszowka
* Hardware Hacker: Buzzer und Funky Monkey Cards
### Maxim (00:38:35)
* Twitter: @Uepsi
* Projekt hat auf der Interactive Cologne angefangen
* Das Projekt: Mit Karte einchecken und einfach zählen, wie oft jemand am Kühlschrank ist usw.
* [Raspberry Pis](http://www.raspberrypi.org) als Check-In Stations
* Aktuell sammelt jede Station für sich, denn das Netzwerk hat nicht mitgespielt
* App ist mit Rails gebaut, wer Lust hat mitzumachen: Bei Maxim melden!
* Buzzer hängen sich als Tastatur an den Rechner und können RGB Farbverläufe darstellen
* Läuft mit [AnyKey](http://www.anykey0x.de) die Hacker sind aber noch schwer beschäftigt
* Klaus baut seine zukünftige Eisenbahnsteuerung vielleicht mit AnyKey
* Nerdifiziere alles mit Einchecken
* Alles anonym, Entwickler wehren sich gegen PRISM Vorwürfe
* Github Repo: [StuffCard local-service](https://github.com/StuffCard/local-service)
### Wir (00:45:43)
* Das Fleisch war super (@killerg hat's gegrillt!)
* Fleisch + Zwiebeln + Beck's
### Thomas Schrader (00:46:20)
* Twitter: @slogmen
* In einem riesengroßen Topf Fleisch + riesigen Mengen von Zwiebeln + Bier + Senf
* 24 Stunden eingelegt
* Butterzart!
* Sein erster Ruby Event
* Erst seit ein paar Monaten in Köln
* Super Atmosphäre, Leute und Location
* Er fand Sebastian's [Babuschka](http://babushka.me) Vortrag und den Living Styleguide super
* Babuschka automatisiert Server Setups
* Abhängigkeiten stehen im Vordergrund
* Keine zentrale Komponente wie bei Chef oder Puppet
* Server Setups automatisieren ist immer noch nicht gelöst
* Kann auch mehrere Server provisionieren
* Er wird noch auf weitere Events gehen
### Wir (00:51:42)
* Podcast Workshop
* Einige waren interessiert am Podcasten
* Es waren jede Menge [RailsGirls](http://railsgirls.com) da
* Die Rails Girls treffen sich wöchentlich in kleinen Gruppen mit ihrem Coach
* Am Samstag haben sich die [Rubymonsters](https://github.com/rubymonsters) getroffen, um ihre Tests wieder grün zu machen
* Sie arbeiten an der Open Source Rails App [Speakerinnen Liste](https://github.com/rubymonsters/speakerinnen_liste)
* Das soll Speakerinnen und Konferenz Organizer zusammenbringen
* Haben Git Blame gelernt
* Aber die sitzen alle im Git Workshop
### Nico Hagenburger (00:55:40)
* Twitter: @Hagenburger
* Er hat einen Talk über Styleguide Driven Development gehalten: Separation von Frontend und Backend
* Er macht das auch so
* GitHub Repo er baut ein Gem
* Er schreibt in Markdown seine Code Beispiele und schreibt dann seinen [Sass](http://sass-lang.com) Code, und produziert statisches HTML + CSS
* PHP Leute können wohl auch Sass. Aber er gibt am Liebsten direkt CSS raus
* [Sass und Compass in Symfony](http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes#sample-with-symfony2-sass-compass)
* Er muss keine Datenbank aufsetzen, die Entwickler müssen kein Sass mehr kompilieren
* Es gibt eine CSS Datei, in der alle Patches drin sind, und die werden dann später von Nico wieder in das Sass reingezogen
* Er macht das als Freelancer
* Ihm hat es super viel gebracht, da zu sein: Er hat Mitstreiter gefunden und Feedback gekriegt
* Das Gem liegt auf [GitHub](http://github.com/hagenburger/livingstyleguide)
* Er fand es anders richtig geil: Diesmal hat er viel technisches mitgenommen]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Der Geekstammtisch und die Nerdkunde haben auf dem RailsCamp
Germany 2013 zusammen ein paar Impressionen der Besucher gesammelt. Wir
sprachen mit <a href="https://twitter.com/skddc">@skddc</a>, <a href="https://twitter.com/jkwebs">@jkwebs</a>, <a href="https://twitter.com/argorak">@argorak</a>, <a href="https://twitter.com/badboy_">@badboy_</a>, <a href="https://twitter.com/Uepsi">@Uepsi</a>, <a href="https://twitter.com/slogmen">@slogmen</a> und
<a href="https://twitter.com/Hagenburger">@Hagenburger</a>. Bis zum nächsten Mal!</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li><a href="http://www.geekstammtisch.de">Geekstammtisch</a> und <a href="http://www.nerdkun.de">Nerdkunde</a> zusammen FTW! :)</li>
<li>Wir senden &quot;live&quot; vom <a href="http://2013.railscamp.de/">RailsCamp 2013</a>, daher entschuldigt die ungewohnt &quot;schlechte&quot; Audioqualität</li>
<li>Mit dabei: <a href="https://twitter.com/moonbeamlabs">Lucas</a>, <a href="https://twitter.com/tisba">Basti</a>, <a href="https://twitter.com/railsbros_dirk">Dirk</a> und <a href="https://twitter.com/klaustopher">Klaus</a> als hauptamtlicher Funkmikro-Träger!</li>
</ul>
<h3>Sebastian Kippe (00:01:02)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/skddc">@skddc</a></li>
<li>(Mit-)Organisator des RailsCamps</li>
<li>es gab so circa 30 Mit-Organisatoren per <a href="https://github.com/railscamp/railscamp-germany-2013/issues">GitHub Issues</a></li>
<li>wir fanden, die Orga lief super</li>
<li>Sebastian kommt gerade von der Crypto-Session mit Key Signing &amp; Co.</li>
<li>Es wurden 125 Tickets verkauft, es waren circa 10 nicht da und es sind ein paar zusätzlich gekommen</li>
<li>Sebastian&#39;s Highlight: Punk Rock mit <a href="https://twitter.com/TheDeadSerious">@TheDeadSerious</a> auflegen!</li>
<li>Sport und Nerds: Es gab Opfer! 2 von 4 Leute beim BMXen waren im Krankenhaus</li>
</ul>
<h3>Jakob Hilden (00:07:09)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/jkwebs">@jkwebs</a></li>
<li>ebenfalls Organisator und vor allem Koordinator \o/</li>
<li>findet es super, wie alles so zusammengekommen ist</li>
<li>bei der vorletzten <a href="http://www.colognerb.de">Cologne.rb</a> hat Jakob tolle &quot;Hüte&quot; gebastelt; hat funktioniert :)</li>
<li>Die Idee einen Pool aufzustellen, kam leider etwas zu spät für&#39;s RailsCamp</li>
<li>Jakob&#39;s Highlight: Nico <a href="https://twitter.com/Hagenburger">@Hagenburger</a>&#39;s Session zu <a href="https://speakerdeck.com/hagenburger/style-guide-driven-development">Living Styleguides</a></li>
<li>Es gab eine tolle Feedback-Runde zu dem Living Styleguide Ansatz</li>
</ul>
<h3>Unsere Impressionen vom Camp (00:12:10)</h3>
<ul>
<li>Dirk fragt sich, ob es eine grundsätzliche thematische Richtung auf dem Camp und wir haben nichts ausgemacht</li>
<li>uns war allen warm :)</li>
<li>Wir haben alle nicht so viele Sessions mitgemacht, sondern haben mehr an Diskussionen rundherum teilgenommen</li>
<li>Lucas hat den Eindruck, dass viele auf der Suche nach DEM Frontend JS Framework sind</li>
<li>Wir diskutieren etwas über <a href="http://emberjs.com">Ember.js</a>, <a href="http://backbonejs.org">Backbone.js</a> und <a href="http://angularjs.org">AngularJS</a></li>
</ul>
<h3>Mike (00:16:40)</h3>
<ul>
<li>betreut die ganzen Nerds in den AbenteuerHallenKALK: <a href="http://ahk.abenteuerhallenkalk.de/">http://ahk.abenteuerhallenkalk.de/</a></li>
<li>die gute Seele des Hauses</li>
<li>Mike findet die RailsCamper sind tiefen-entspannt und ordentlich (hört, hört!)</li>
<li>Nerds sind pflegeleichter als Jugendliche \o/</li>
<li>Mike hat Chipstüten vermisst</li>
<li>…und er fand unseren Musikgeschmack gut</li>
<li>in den Hallen finden alle möglichen Events statt<br>
<ul>
<li>z.B. die <a href="http://www.evoke.eu/2013/">Evoke 2013</a> vom 16.-18.08.2013</li>
</ul></li>
<li>Evoke wird das selbe Wi-Fi Setup bekommen, wie das RailsCamp</li>
</ul>
<h3>Florian Gilcher (00:21:38)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/argorak">@argorak</a></li>
<li>Hat <a href="http://ardrone2.parrot.com">AR.Dronen</a> mitgebracht, weil er eine geschenkt bekommen hat ^^</li>
<li>Es sollte gescripted werden und nicht mit der iPhone App geflogen werden
<ul>
<li>Ergebnis: Eine wird von einem N64-Controller gesteuert, die andere von einer <a href="https://github.com/skade/shoes-ardrone">Shoes4-App</a></li>
</ul></li>
<li>Klaus hat seine neue DrohDrohnene erstmal geschrottet</li>
<li>Pro-Tipp: Drohne und Client müssen im gleichen WLAN sein</li>
<li>Implementierungen in Ruby <a href="https://github.com/hybridgroup/artoo-ardrone">artoo-ardrone</a> und Node.js <a href="https://github.com/felixge/node-ar-drone">node-ar-drone</a></li>
<li>Florian hat einen Arbeitskreis für Ruby-Events gemacht</li>
<li>Wie kann man sich besser vernetzen?
<ul>
<li>Deutschlandweite Mailingsliste</li>
<li>Deutschlandweites Blog</li>
<li>Ruby Berlin e.V. ist trotz des Namens <em>nicht</em> auf Berlin begrenzt</li>
</ul></li>
<li>Das Railscamp wurde vom Ruby e.V. veranstaltet</li>
<li>Zentrale Frage sollen einfach zu klären sein (Bsp.: Internet, WLAN, etc)</li>
<li>Die Telekom lässt das <a href="http://2013.eurucamp.org">eurucamp</a> nicht an ihr Glas m(</li>
<li>Findet statt vom 16.-18. August und es gibt noch Tickets</li>
<li>Die einzige JRuby Konferenz dieses Jahr findet kurz vorher statt: <a href="http://2013.jrubyconf.eu">JRuby Conf EU</a></li>
<li>Es gibt keine Kombitickets für die Konferenz aber eine Kombiparty</li>
<li>Am 24./25. August findet die <a href="https://ruby.froscon.org">RedFrog Conf</a> auf der <a href="http://www.froscon.org">FrOSCon</a> statt </li>
<li>&quot;<a href="http://socoded.com">So Coded</a>&quot; findet am 19./20. September in Hamburg statt</li>
</ul>
<h3>Jan-Erik Rediger (00:32:20)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/badboy_">@badboy_</a></li>
<li>Kommt von <a href="https://www.rrbone.net">rrbone</a>, die den Uplink via Richtfunk zur FH Köln realisiert haben</li>
<li>rrbone ist ein kleiner ISP aus Dortmund</li>
<li>Richtfunkstrecke ging über 1,5 km</li>
<li>Der Ausblick war großartig ^^</li>
<li>Es gab für alle Teilnehmer öffentliche IPv4 und IPv6 Adressen</li>
<li>Das Netz kommt in Düsseldorf raus!!!</li>
<li>Es gab ein <a href="http://tmp.rediger.net/railscamp-traceroute.txt">Easteregg</a></li>
<li>Bis zu 100MBit sind über die Richtfunkstrecke gemessen worden \o/</li>
<li>Wir können jetzt überall Campen \o/</li>
</ul>
<h3>Wir (00:37:28)</h3>
<ul>
<li>Sport von den Panelisten: Drohne fliegen, Kickern, Schwitzen</li>
<li>Eine weitere Nerdkunde wurde in der Sauna mit Dennis Reimann aufgenommen: <a href="http://nerdkunde.de/nk0007.html">http://nerdkunde.de/nk0007.html</a></li>
<li>Und ein Geekstammtisch mit Christoph <a href="https://twitter.com/TheDeadSerious">@TheDeadSerious</a> Olszowka</li>
<li>Hardware Hacker: Buzzer und Funky Monkey Cards</li>
</ul>
<h3>Maxim (00:38:35)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/Uepsi">@Uepsi</a></li>
<li>Projekt hat auf der Interactive Cologne angefangen</li>
<li>Das Projekt: Mit Karte einchecken und einfach zählen, wie oft jemand am Kühlschrank ist usw.</li>
<li><a href="http://www.raspberrypi.org">Raspberry Pis</a> als Check-In Stations</li>
<li>Aktuell sammelt jede Station für sich, denn das Netzwerk hat nicht mitgespielt</li>
<li>App ist mit Rails gebaut, wer Lust hat mitzumachen: Bei Maxim melden!</li>
<li>Buzzer hängen sich als Tastatur an den Rechner und können RGB Farbverläufe darstellen</li>
<li>Läuft mit <a href="http://www.anykey0x.de">AnyKey</a> die Hacker sind aber noch schwer beschäftigt</li>
<li>Klaus baut seine zukünftige Eisenbahnsteuerung vielleicht mit AnyKey</li>
<li>Nerdifiziere alles mit Einchecken</li>
<li>Alles anonym, Entwickler wehren sich gegen PRISM Vorwürfe</li>
<li>Github Repo: <a href="https://github.com/StuffCard/local-service">StuffCard local-service</a></li>
</ul>
<h3>Wir (00:45:43)</h3>
<ul>
<li>Das Fleisch war super (<a href="https://twitter.com/killerg">@killerg</a> hat&#39;s gegrillt!)</li>
<li>Fleisch + Zwiebeln + Beck&#39;s</li>
</ul>
<h3>Thomas Schrader (00:46:20)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/slogmen">@slogmen</a></li>
<li>In einem riesengroßen Topf Fleisch + riesigen Mengen von Zwiebeln + Bier + Senf</li>
<li>24 Stunden eingelegt</li>
<li>Butterzart!</li>
<li>Sein erster Ruby Event</li>
<li>Erst seit ein paar Monaten in Köln</li>
<li>Super Atmosphäre, Leute und Location</li>
<li>Er fand Sebastian&#39;s <a href="http://babushka.me">Babuschka</a> Vortrag und den Living Styleguide super</li>
<li>Babuschka automatisiert Server Setups</li>
<li>Abhängigkeiten stehen im Vordergrund</li>
<li>Keine zentrale Komponente wie bei Chef oder Puppet</li>
<li>Server Setups automatisieren ist immer noch nicht gelöst</li>
<li>Kann auch mehrere Server provisionieren</li>
<li>Er wird noch auf weitere Events gehen</li>
</ul>
<h3>Wir (00:51:42)</h3>
<ul>
<li>Podcast Workshop</li>
<li>Einige waren interessiert am Podcasten</li>
<li>Es waren jede Menge <a href="http://railsgirls.com">RailsGirls</a> da</li>
<li>Die Rails Girls treffen sich wöchentlich in kleinen Gruppen mit ihrem Coach</li>
<li>Am Samstag haben sich die <a href="https://github.com/rubymonsters">Rubymonsters</a> getroffen, um ihre Tests wieder grün zu machen
<ul>
<li>Sie arbeiten an der Open Source Rails App <a href="https://github.com/rubymonsters/speakerinnen_liste">Speakerinnen Liste</a></li>
<li>Das soll Speakerinnen und Konferenz Organizer zusammenbringen</li>
<li>Haben Git Blame gelernt </li>
<li>Aber die sitzen alle im Git Workshop</li>
</ul></li>
</ul>
<h3>Nico Hagenburger (00:55:40)</h3>
<ul>
<li>Twitter: <a href="https://twitter.com/Hagenburger">@Hagenburger</a></li>
<li>Er hat einen Talk über Styleguide Driven Development gehalten: Separation von Frontend und Backend</li>
<li>Er macht das auch so</li>
<li>GitHub Repo er baut ein Gem</li>
<li>Er schreibt in Markdown seine Code Beispiele und schreibt dann seinen <a href="http://sass-lang.com">Sass</a> Code, und produziert statisches HTML + CSS</li>
<li>PHP Leute können wohl auch Sass. Aber er gibt am Liebsten direkt CSS raus</li>
<li><a href="http://alexandre-salome.fr/blog/Sass-Compass-Assetic-In-Ten-Minutes#sample-with-symfony2-sass-compass">Sass und Compass in Symfony</a></li>
<li>Er muss keine Datenbank aufsetzen, die Entwickler müssen kein Sass mehr kompilieren</li>
<li>Es gibt eine CSS Datei, in der alle Patches drin sind, und die werden dann später von Nico wieder in das Sass reingezogen</li>
<li>Er macht das als Freelancer</li>
<li>Ihm hat es super viel gebracht, da zu sein: Er hat Mitstreiter gefunden und Feedback gekriegt</li>
<li>Das Gem liegt auf <a href="http://github.com/hagenburger/livingstyleguide">GitHub</a></li>
<li>Er fand es anders richtig geil: Diesmal hat er viel technisches mitgenommen</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST021" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:01:02" title="Sebastian Kippe" />
<psc:chapter start="00:07:09" title="Jakob Hilden" />
<psc:chapter start="00:12:10" title="Unsere Impressionen vom Camp" />
<psc:chapter start="00:16:40" title="Mike" />
<psc:chapter start="00:21:38" title="Florian Gilcher" />
<psc:chapter start="00:32:20" title="Jan-Erik Rediger" />
<psc:chapter start="00:37:28" title="Wir" />
<psc:chapter start="00:38:35" title="Maxim" />
<psc:chapter start="00:45:43" title="Wir" />
<psc:chapter start="00:46:20" title="Thomas Schrader" />
<psc:chapter start="00:51:42" title="Wir" />
<psc:chapter start="00:55:40" title="Nico Hagenburger" />
</psc:chapters>
</item>
<item>
<title>GST022 - Der Finder lügt!</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Manuel @StuFFmc Carrasco Molina über Podcasting, iOS/OS X Entwicklung und Apple Rumors.</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst022.mp3" length="71670071" type="audio/mpeg"/>
<guid isPermaLink="false">GST022</guid>
<pubDate>Wed, 21 Aug 2013 10:07:09 +0200</pubDate>
<itunes:duration>01:39:10</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Wir sprachen mit Manuel @StuFFmc Carrasco Molina über
seine Zeit als Podcaster (http://pomcast.com), iOS und OS X Entwicklung.
Da wir schon mal einen Apple Fanboy da hatten, haben wir die Gelegenheit
genutzt um etwas in die Glaskugel zu schauen.
### Unser Gast (00:00:00)
* Manuel "StuFF mc" Carrasco Molina
* trinkt Blue Bastard: http://www.amazon.de/Blue-Bastard-Energy-Drink-Dose/dp/B008KGDT2C
* iOS/Mac/Cocoa Entwickler
* Podcaster - Pomcast; Interview mit Woz! http://pomcast.com/2007/06/05/woz/
* war in einem früheren Leben mal .NET-Entwickler
* seit 2008 freiberuflich unterwegs
* <3 den Mac mehr als iOS
* Hat zwei Apps im Mac App Store
* Disk Alarm http://diskalarm.com/ und Comments.app http://commentsapp.co/
* Organisiert die objcgn, eine Objective-C Konferenz in Köln seit 2012
### Podcasting (00:06:00)
* Pomcast: http://pomcast.com
* Stuff hat mit Podcasting angefangen am 31.5.2005...
* auf Französisch, später dann auch auf Englisch und Deutsch und ein paar auf Spanisch
* Thema: Apple, ~5000 Hörer
* Hat viele interessante Personen durch das Podcasting getroffen
* Idle seit ~2010
* Podcasts mit anderen via Skype aufnehmen - viel Arbeit!
* double-ender: http://en.wikipedia.org/wiki/Phone-sync
### iOS Entwicklung, App Store & Co. (00:20:30)
* von Anfang an bei iOS dabei
* seit 2008 macht Stuff iOS freiberuflich
* hat erst iOS und dann OS X gemacht
* DevHouseFriday: http://devhousefriday.org
* Wir fragen Stuff wie es mit .NET Background war Cocoa zu lernen
* Stuff war 2007 schon auf der WWDC und hat Cocoa-Luft geschnuppert
* iOS 7 soll viel einfacher sein für den Einstieg
* seit iOS 5 gibt es ARC: http://en.wikipedia.org/wiki/Automatic_Reference_Counting
* iOS 7 und 6 als Target zu haben ist SEHR aufwendig, da sich viel geändert hat
* Ballmer laughs at iPhone, "$500 for a phone? *lol*": http://www.youtube.com/watch?v=eywi0h_Y5_U
### Der (App) Markt (00:34:00)
* macht Apple die Preise kaputt? Was ist mit Updates? Fragen über Fragen...
* der Preis vom aktuellen Logic ist unter dem früheren Updatepreis
* Aperture ist alt (2010): http://www.apple.com/aperture/
* Wir sprechen noch mal kurz über Diskalarm und Comments.app
* Diskalarm und die Problematik mit der Mobile Time Machine; der Finder lügt!1!!
* df: http://en.wikipedia.org/wiki/Df_(Unix)
* du: http://en.wikipedia.org/wiki/Du_(Unix)
* App Store Updates?
* Neue Version = Neue App rausbringen?
* Immer wieder auf Neukäufe hoffen?
* In-App-Purchase?
* Stuff deutet eine mögliche Lösung mit iOS 7 an, leider NDA :-/
* App Pricing
* Ist allgemein schwer, aber die Preise sind gesunken
* Wie umgehen mit Demos? XY lite? Features via IAP?
* Basti findet Demo-Versionen blöd
* Where To? (@wheretoapp) Von Ortwin Gentz: http://www.futuretap.com/apps/whereto-en/
* Instapaper in Gefahr durch Safari Reading List: http://www.apple.com/osx/apps/#gallery-safari-readinglist
* Ist NICHT kostenlos im App Store, Basti!
* Neues schönes Webinterface zu Instapaper: http://beta.instapaper.com/
* Es ist nicht bekannt, ob es einen API für die Reading List gibt *hust*
* Wir vermuten, dass Apples Podcast-App den kostenpflichtigen Podfetchern nicht signifikant Markt weggenommen hat
* Podcast-App sieht unter iOS 7 immer noch so aus wie iOS 6
### Projekte unter NDA (00:54:50)
* Basti und Dirk mögen keine NDAs ;-)
* Stuff hat zwar schon NDAs abgelehnt aber in der Regel steht er unter NDA
* Er darf noch nicht einmal den Auftraggeber nennen
* Manche Auftragsarbeiten sind mittlerweile auch nicht mehr im App-Store
* Manchmal macht Stuff alles von Server-Backend bis Frontend
* Arbeiten und NDA macht die Gestaltung des Lebenslaufs schwierig
* Für einige ist Stuff der Rails-Guy
* Es gibt relativ viele iOS-Entwickler, die auch die Serverbackends selber schreiben
* Stuff sollte für einen neuen eBook-Reader entwickeln, Projekt wurde aber eingestellt
* Er hat auch iOS-Kurse gegeben
* Auf Nachfrage gibt er diese Kurse auch immer noch
* Schwierigkeit ist es in 5 Tage die Kernaspekte von iOS-Entwicklung zu vermitteln
* KISS (https://en.wikipedia.org/wiki/KISS_principle): Präsentations-App mit Animationen, Animationen sind Keynote-Präsentationen als Quicktime exportiert
* Das Problem bei C# und .NET ist, dass leider ein Windows mitkommt
### Gerüchteküche (01:06:40)
* Wir sind alle zufrieden mit dem MacBook Pro Retina
* Wir hoffen auf ein externes Retina/4K Display von Apple
* Stuff arbeitet nur mit dem Mac Book (inkl. Laptop-Stand und externer Maus/Tastatur)
* Basti und Dirk brauchen mehr Platz
* Grund für die Vermutung: Der Mac Pro sieht einfach nicht aus neben dem "alten" Cinema-Display
* 27" reicht von der Fläche aber wir brauchen mehr Pixel!
* Dirk vermutet den Preis bei 3500 Dollar - Basti hofft, dass er damit falsch liegt
* Für Stuff wäre viel wichtiger, keine Kabel mehr zu verwenden: Weder Strom noch Display
* Display könnte mit Mavericks via AirPlay gelöst werden
* Induktion könnte für Strom eine Lösung sein, aber Basti weist darauf hin, dass 80 Watt via Induktion uncool sind
* Basti glaubt nicht an niedrige Latenz bei AirPlay
* Weil: 4K passt noch nicht mal in Thunderbolt 1
* MacBook Pros brauchen Thunderbolt 2, sind vom Update überfällig, daher: 4K Display quasi sicher
* Finaler "Beweis": Die Vorstellung des 30"-Displays war so großartig, dass muss es noch mal geben: https://www.youtube.com/watch?v=j_QtUH_zG4U
* Stuff ist auf der Suche nach viel externem Plattenplatz
* Eine Überlegung war ein Drobo (http://www.drobo.com/)
* Wir erinnern uns an das Promise Pegasus RAID (http://www.promise.com/storage/raid_series.aspx?m=192&region=en-global&rsn1=40&rsn3=47)
* Empfohlen in der Freak Show: http://freakshow.fm/mm105-featuritis-ante-portas#t=1:55:17.658
* Stuff braucht den Platz für alle WWDC Videos seit 2007
* Apple Event am 10.9.2013: http://allthingsd.com/20130810/circle-sept-10-on-your-calendar-for-apples-big-iphone-event/
* "Yep" von Jim Dalrymple. @jdalrymple — http://www.loopinsight.com
* John Gruber hat das auch "bestätigt"
* Was könnte passieren?
* iOS 7 Release
* neues iPhone 5
* wir kommen wohl nicht im eine "Low-Cost" iPhone herum (http://appleinsider.com/articles/13/08/19/iphone-5c-expected-to-replace-iphone-5-while-apples-iphone-4s-will-live-on)
* Apple entgeht in diesem Marksegment eine Menge Geld
* Wir gehen nicht von einem Feature-Phone aus, aber etwas das den mittleren Bereich abdeckt
* HTC und Robert Downey Jr. http://www.theverge.com/2013/8/14/4620510/htc-and-robert-downey-jr-debut-full-version-of-new-change-ad
### Der Marimba-Sound (01:27:37)
* Die Entstehungsgeschichte des Marimba-Tons: http://jacklinstudios.com/docs/making-of-158-marimba.html
### Objective-Cologne (01:30:10)
* objcgn: http://objcgn.com/
* 17. - 18. September in Köln
* Eine Cocoa/Objective-Konferenz in Köln mit internationalen Speakern
* Getränke/Catering ist im Preis enthalten
* Am ersten Abend gibt es das "Conference-Dinner"
* Das letzte Mal ist das gesamte Bier weggetrunken worden :-)
* Konferenzen veranstalten macht einen nicht reich
* Promo-Code: https://objcgn.paydro.net/event/objective-cologne-2013/geekstammtisch]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Wir sprachen mit Manuel <a href="https://twitter.com/StuFFmc">@StuFFmc</a> Carrasco Molina über
seine Zeit als Podcaster (<a href="http://pomcast.com">http://pomcast.com</a>), iOS und OS X Entwicklung.
Da wir schon mal einen Apple Fanboy da hatten, haben wir die Gelegenheit
genutzt um etwas in die Glaskugel zu schauen.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Manuel &quot;StuFF mc&quot; Carrasco Molina</li>
<li>trinkt Blue Bastard: <a href="http://www.amazon.de/Blue-Bastard-Energy-Drink-Dose/dp/B008KGDT2C">http://www.amazon.de/Blue-Bastard-Energy-Drink-Dose/dp/B008KGDT2C</a></li>
<li>iOS/Mac/Cocoa Entwickler</li>
<li>Podcaster - Pomcast; Interview mit Woz! <a href="http://pomcast.com/2007/06/05/woz/">http://pomcast.com/2007/06/05/woz/</a></li>
<li>war in einem früheren Leben mal .NET-Entwickler</li>
<li>seit 2008 freiberuflich unterwegs</li>
<li>&lt;3 den Mac mehr als iOS</li>
<li>Hat zwei Apps im Mac App Store
<ul>
<li>Disk Alarm <a href="http://diskalarm.com/">http://diskalarm.com/</a> und Comments.app <a href="http://commentsapp.co/">http://commentsapp.co/</a></li>
</ul></li>
<li>Organisiert die objcgn, eine Objective-C Konferenz in Köln seit 2012</li>
</ul>
<h3>Podcasting (00:06:00)</h3>
<ul>
<li>Pomcast: <a href="http://pomcast.com">http://pomcast.com</a></li>
<li>Stuff hat mit Podcasting angefangen am 31.5.2005...
<ul>
<li>auf Französisch, später dann auch auf Englisch und Deutsch und ein paar auf Spanisch</li>
</ul></li>
<li>Thema: Apple, ~5000 Hörer</li>
<li>Hat viele interessante Personen durch das Podcasting getroffen</li>
<li>Idle seit ~2010</li>
<li>Podcasts mit anderen via Skype aufnehmen - viel Arbeit!
<ul>
<li>double-ender: <a href="http://en.wikipedia.org/wiki/Phone-sync">http://en.wikipedia.org/wiki/Phone-sync</a></li>
</ul></li>
</ul>
<h3>iOS Entwicklung, App Store &amp; Co. (00:20:30)</h3>
<ul>
<li>von Anfang an bei iOS dabei</li>
<li>seit 2008 macht Stuff iOS freiberuflich</li>
<li>hat erst iOS und dann OS X gemacht</li>
<li>DevHouseFriday: <a href="http://devhousefriday.org">http://devhousefriday.org</a></li>
<li>Wir fragen Stuff wie es mit .NET Background war Cocoa zu lernen</li>
<li>Stuff war 2007 schon auf der WWDC und hat Cocoa-Luft geschnuppert</li>
<li>iOS 7 soll viel einfacher sein für den Einstieg</li>
<li>seit iOS 5 gibt es ARC: <a href="http://en.wikipedia.org/wiki/Automatic_Reference_Counting">http://en.wikipedia.org/wiki/Automatic_Reference_Counting</a></li>
<li>iOS 7 und 6 als Target zu haben ist SEHR aufwendig, da sich viel geändert hat</li>
<li>Ballmer laughs at iPhone, &quot;$500 for a phone? <em>lol</em>&quot;: <a href="http://www.youtube.com/watch?v=eywi0h_Y5_U">http://www.youtube.com/watch?v=eywi0h_Y5_U</a></li>
</ul>
<h3>Der (App) Markt (00:34:00)</h3>
<ul>
<li>macht Apple die Preise kaputt? Was ist mit Updates? Fragen über Fragen...</li>
<li>der Preis vom aktuellen Logic ist unter dem früheren Updatepreis</li>
<li>Aperture ist alt (2010): <a href="http://www.apple.com/aperture/">http://www.apple.com/aperture/</a></li>
<li>Wir sprechen noch mal kurz über Diskalarm und Comments.app</li>
<li>Diskalarm und die Problematik mit der Mobile Time Machine; der Finder lügt!1!!</li>
<li>df: <a href="http://en.wikipedia.org/wiki/Df_(Unix)">http://en.wikipedia.org/wiki/Df_(Unix)</a></li>
<li>du: <a href="http://en.wikipedia.org/wiki/Du_(Unix)">http://en.wikipedia.org/wiki/Du_(Unix)</a></li>
<li>App Store Updates?
<ul>
<li>Neue Version = Neue App rausbringen?</li>
<li>Immer wieder auf Neukäufe hoffen?</li>
<li>In-App-Purchase?</li>
<li>Stuff deutet eine mögliche Lösung mit iOS 7 an, leider NDA :-/</li>
</ul></li>
<li>App Pricing
<ul>
<li>Ist allgemein schwer, aber die Preise sind gesunken</li>
<li>Wie umgehen mit Demos? XY lite? Features via IAP?</li>
<li>Basti findet Demo-Versionen blöd</li>
</ul></li>
<li>Where To? (<a href="https://twitter.com/wheretoapp">@wheretoapp</a>) Von Ortwin Gentz: <a href="http://www.futuretap.com/apps/whereto-en/">http://www.futuretap.com/apps/whereto-en/</a></li>
<li>Instapaper in Gefahr durch Safari Reading List: <a href="http://www.apple.com/osx/apps/#gallery-safari-readinglist">http://www.apple.com/osx/apps/#gallery-safari-readinglist</a>
<ul>
<li>Ist NICHT kostenlos im App Store, Basti!</li>
<li>Neues schönes Webinterface zu Instapaper: <a href="http://beta.instapaper.com/">http://beta.instapaper.com/</a></li>
<li>Es ist nicht bekannt, ob es einen API für die Reading List gibt <em>hust</em></li>
</ul></li>
<li>Wir vermuten, dass Apples Podcast-App den kostenpflichtigen Podfetchern nicht signifikant Markt weggenommen hat</li>
<li>Podcast-App sieht unter iOS 7 immer noch so aus wie iOS 6</li>
</ul>
<h3>Projekte unter NDA (00:54:50)</h3>
<ul>
<li>Basti und Dirk mögen keine NDAs ;-)</li>
<li>Stuff hat zwar schon NDAs abgelehnt aber in der Regel steht er unter NDA</li>
<li>Er darf noch nicht einmal den Auftraggeber nennen</li>
<li>Manche Auftragsarbeiten sind mittlerweile auch nicht mehr im App-Store</li>
<li>Manchmal macht Stuff alles von Server-Backend bis Frontend</li>
<li>Arbeiten und NDA macht die Gestaltung des Lebenslaufs schwierig</li>
<li>Für einige ist Stuff der Rails-Guy</li>
<li>Es gibt relativ viele iOS-Entwickler, die auch die Serverbackends selber schreiben</li>
<li>Stuff sollte für einen neuen eBook-Reader entwickeln, Projekt wurde aber eingestellt</li>
<li>Er hat auch iOS-Kurse gegeben</li>
<li>Auf Nachfrage gibt er diese Kurse auch immer noch</li>
<li>Schwierigkeit ist es in 5 Tage die Kernaspekte von iOS-Entwicklung zu vermitteln</li>
<li>KISS (<a href="https://en.wikipedia.org/wiki/KISS_principle):">https://en.wikipedia.org/wiki/KISS_principle):</a> Präsentations-App mit Animationen, Animationen sind Keynote-Präsentationen als Quicktime exportiert</li>
<li>Das Problem bei C# und .NET ist, dass leider ein Windows mitkommt</li>
</ul>
<h3>Gerüchteküche (01:06:40)</h3>
<ul>
<li>Wir sind alle zufrieden mit dem MacBook Pro Retina</li>
<li>Wir hoffen auf ein externes Retina/4K Display von Apple</li>
<li>Stuff arbeitet nur mit dem Mac Book (inkl. Laptop-Stand und externer Maus/Tastatur)</li>
<li>Basti und Dirk brauchen mehr Platz</li>
<li>Grund für die Vermutung: Der Mac Pro sieht einfach nicht aus neben dem &quot;alten&quot; Cinema-Display</li>
<li>27&quot; reicht von der Fläche aber wir brauchen mehr Pixel!</li>
<li>Dirk vermutet den Preis bei 3500 Dollar - Basti hofft, dass er damit falsch liegt</li>
<li>Für Stuff wäre viel wichtiger, keine Kabel mehr zu verwenden: Weder Strom noch Display</li>
<li>Display könnte mit Mavericks via AirPlay gelöst werden</li>
<li>Induktion könnte für Strom eine Lösung sein, aber Basti weist darauf hin, dass 80 Watt via Induktion uncool sind</li>
<li>Basti glaubt nicht an niedrige Latenz bei AirPlay</li>
<li>Weil: 4K passt noch nicht mal in Thunderbolt 1</li>
<li>MacBook Pros brauchen Thunderbolt 2, sind vom Update überfällig, daher: 4K Display quasi sicher</li>
<li>Finaler &quot;Beweis&quot;: Die Vorstellung des 30&quot;-Displays war so großartig, dass muss es noch mal geben: <a href="https://www.youtube.com/watch?v=j_QtUH_zG4U">https://www.youtube.com/watch?v=j_QtUH_zG4U</a></li>
<li>Stuff ist auf der Suche nach viel externem Plattenplatz
<ul>
<li>Eine Überlegung war ein Drobo (<a href="http://www.drobo.com/">http://www.drobo.com/</a>)</li>
<li>Wir erinnern uns an das Promise Pegasus RAID (<a href="http://www.promise.com/storage/raid_series.aspx?m=192&amp;region=en-global&amp;rsn1=40&amp;rsn3=47">http://www.promise.com/storage/raid_series.aspx?m=192&amp;region=en-global&amp;rsn1=40&amp;rsn3=47</a>)</li>
<li>Empfohlen in der Freak Show: <a href="http://freakshow.fm/mm105-featuritis-ante-portas#t=1:55:17.658">http://freakshow.fm/mm105-featuritis-ante-portas#t=1:55:17.658</a></li>
</ul></li>
<li>Stuff braucht den Platz für alle WWDC Videos seit 2007</li>
<li>Apple Event am 10.9.2013: <a href="http://allthingsd.com/20130810/circle-sept-10-on-your-calendar-for-apples-big-iphone-event/">http://allthingsd.com/20130810/circle-sept-10-on-your-calendar-for-apples-big-iphone-event/</a>
<ul>
<li>&quot;Yep&quot; von Jim Dalrymple. <a href="https://twitter.com/jdalrymple">@jdalrymple</a> — <a href="http://www.loopinsight.com">http://www.loopinsight.com</a></li>
<li>John Gruber hat das auch &quot;bestätigt&quot;</li>
</ul></li>
<li>Was könnte passieren?
<ul>
<li>iOS 7 Release</li>
<li>neues iPhone 5</li>
<li>wir kommen wohl nicht im eine &quot;Low-Cost&quot; iPhone herum (<a href="http://appleinsider.com/articles/13/08/19/iphone-5c-expected-to-replace-iphone-5-while-apples-iphone-4s-will-live-on">http://appleinsider.com/articles/13/08/19/iphone-5c-expected-to-replace-iphone-5-while-apples-iphone-4s-will-live-on</a>)</li>
<li>Apple entgeht in diesem Marksegment eine Menge Geld</li>
<li>Wir gehen nicht von einem Feature-Phone aus, aber etwas das den mittleren Bereich abdeckt</li>
</ul></li>
<li>HTC und Robert Downey Jr. <a href="http://www.theverge.com/2013/8/14/4620510/htc-and-robert-downey-jr-debut-full-version-of-new-change-ad">http://www.theverge.com/2013/8/14/4620510/htc-and-robert-downey-jr-debut-full-version-of-new-change-ad</a></li>
</ul>
<h3>Der Marimba-Sound (01:27:37)</h3>
<ul>
<li>Die Entstehungsgeschichte des Marimba-Tons: <a href="http://jacklinstudios.com/docs/making-of-158-marimba.html">http://jacklinstudios.com/docs/making-of-158-marimba.html</a></li>
</ul>
<h3>Objective-Cologne (01:30:10)</h3>
<ul>
<li>objcgn: <a href="http://objcgn.com/">http://objcgn.com/</a></li>
<li>17. - 18. September in Köln</li>
<li>Eine Cocoa/Objective-Konferenz in Köln mit internationalen Speakern</li>
<li>Getränke/Catering ist im Preis enthalten</li>
<li>Am ersten Abend gibt es das &quot;Conference-Dinner&quot;</li>
<li>Das letzte Mal ist das gesamte Bier weggetrunken worden :-)</li>
<li>Konferenzen veranstalten macht einen nicht reich</li>
<li>Promo-Code: <a href="https://objcgn.paydro.net/event/objective-cologne-2013/geekstammtisch">https://objcgn.paydro.net/event/objective-cologne-2013/geekstammtisch</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST022" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:06:00" title="Podcasting" />
<psc:chapter start="00:20:30" title="iOS Entwicklung, App Store &amp; Co." />
<psc:chapter start="00:34:00" title="Der (App) Markt" />
<psc:chapter start="00:54:50" title="Projekte unter NDA" />
<psc:chapter start="01:06:40" title="Gerüchteküche" />
<psc:chapter start="01:27:37" title="Der Marimba-Sound" />
<psc:chapter start="01:30:10" title="Objective-Cologne" />
</psc:chapters>
</item>
<item>
<title>GST023 - The NeXT Episode</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Mateus &quot;@seanlilmateus&quot; Armando über Mobilfunktechnik, MacRuby, RubyMotion und Apple.</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst023.mp3" length="81662903" type="audio/mpeg"/>
<guid isPermaLink="false">GST023</guid>
<pubDate>Mon, 16 Sep 2013 10:37:29 +0200</pubDate>
<itunes:duration>01:53:02</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Dieses Mal war Mateus Armando zu Gast bei uns auf der Couch. Wir sprachen darüber wie neue
Mobiltelefone in das Netz der Telekom eingegliedert werden und was bei GSM so schief laufen kann. Im Anschluss
haben wir einen ganz guten Abriss über die Geschichte von RubyMotion gehört und zum Abschluss äußern wir uns
noch zum Apple iPhone Event vom 10. September.
### Unser Gast (00:00:00)
* Mateus "@seanlilmateus" Armando
* "Lange Namen und die Ämter"
* Hat eine Fachinformatik Ausbildung und ein abgebrochenes Informatikstudium vorzuweisen
* Arbeitet bei der Deutschen Telekom
* Ist in der MacRuby (http://macruby.org/) und RubyMotion (http://www.rubymotion.com/) Szene aktiv
* Ruby is Magic: Cupcakes! https://speakerdeck.com/railsbros_dirk/ruby-is-magic-cupcakes
### Arbeiten der Telekom (00:03:55)
* Mateus automatisiert Dinge mit Ruby auf der Arbeit, ansonsten kommt es weniger zum Einsatz
* Mateus testet Mobilfunkentgeräte mit dem Netz der Telekom
* Zentrale Stelle für mehrere Länder
* Funktionieren die Geräte mit dem Netz der Telekom?
* Softwaretests, Funktests
* Mateus bekommt oft mal neue Geräte zum Testen in die Hand
* Die neuen Apple Geräte werden von speziell ausgewählten Personen getestet; Apple ist da etwas pingelig :)
* Wenn Hersteller Mist machen, dürfen die Geräte nicht ins Netz der Telekom
* Das Notification System eines ungenannten Devices hat vor einiger Zeit für großflächige Ausfälle gesorgt
* Für Sicherheitsrelevante Fragen gibt es noch mal eine eigene Abteilung
* Security Research Labs (Karsten Nohl) - "Rooting SIM cars": https://srlabs.de/rooting-sim-cards/
* Wireshark: http://www.wireshark.org/
* Wireshark und GSM: http://wiki.wireshark.org/GsmProtocolFamily
### GSM Hacking, Security und Co (00:14:30)
* Testgeräte und -installation sind extrem teuer
* Base Transceiver Station: http://en.wikipedia.org/wiki/Base_transceiver_station
* Mehr Augen, finden mehr Fehler; bisher wurden Mobilfunkstandards wenig von der "Masse" unter die Lupe genommen
* Einige Fehler müssen sowohl beim Hersteller als auch auf Netzebene behandelt werden
* NTT DOCOMO: http://www.nttdocomo.co.jp/english/
* NTT DOCOMO Ausfälle: http://www.geek.com/mobile/ntt-docomo-asks-google-to-limit-android-data-use-1463313/ http://www.techinasia.com/docomo-outage-line/
### C, Java, NeXT, WebObjects, Erlang… (00:19:35)
* Mateus hat mit C im jungen Jahren angefangen - Basti hat mit BASIC angefangen: 1 : 00 ;-)
* Wir machen einen Ausflug durch diverse Programmiersprachen und Umgebungen, die NeXT und Apple durchgemacht haben
* Mateus hat während seiner Ausbildung bei T-Systems Erlang programmiert
* Ruby wurde irgendwann zu Mateus' Hobby
* PyObjC: http://pythonhosted.org/pyobjc/
* RubyCocoa: http://rubycocoa.sourceforge.net/
* Wir rätzeln, seit wann Ruby in OS X dabei ist
* Der Ruby-Guy bei Apple war Laurent Sansonetti (@lrz)
* Apple Scripting Bridge: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/Introduction/Introduction.html
### MacRuby & RubyMotion (00:27:30)
* Bertrand Serlet: http://en.wikipedia.org/wiki/Bertrand_Serlet
* Bertrand Serlet basht Windows Vista https://www.youtube.com/watch?v=n9UPhwmjJ-Y
* Laurent ist zu Bertrand gegangen und hat vorgeschlagen Ruby auf der Objective-C Runtime laufen zu lassen
* Das war der Anfang von MacRuby: http://macruby.org/
* Es stand im Raum, ob Apple nicht MacRuby für das iPhone verfügbar machen wird (das war 2008)
* ABER: MacRuby ist Garbage Collected und es gibt und gab auf dem iPhone nie GC.
* Es wurde versucht MacRuby ohne GC zu bauen - nicht einfach
* Automatic Reference Counting: http://en.wikipedia.org/wiki/Automatic_Reference_Counting
* Garbage Collector in OS X 10.8 ist deprecated
* Laurent Sansonetti gründet 2012 eine Firma und präsentiert: RubyMotion: http://www.hipbyte.com http://www.rubymotion.com/
* RubyMotion ist MacRuby mit ARC für iOS! Kommerzielle Lizenz, kostet ~150 EUR
* Wir rekapitulieren: RubyCocoa, MacRuby, RubyMotion
* RubyMotion gibt es auch für Mac
* Shizuo @watson1978 Fujita arbeitet zusammen mit Laurent an MacRuby und RubyMotion
* ARC bei Objective-C wird zur Compile-Zeit gemacht
* MacRuby wird auch kompiliert, mit LLVM
* Bindings machen Probleme bei MacRuby und RubyMotion
* Blocks in Ruby sind Closures (http://en.wikipedia.org/wiki/Closure_(computer_science)) und sind sehr schwer in MacRuby zu implementieren
* Weak Reference: http://en.wikipedia.org/wiki/Weak_reference
* Es gibt WeakRef in Ruby! http://www.ruby-doc.org/stdlib-2.0/libdoc/weakref/rdoc/WeakRef.html
* Ruby Binding: http://www.ruby-doc.org/core-2.0.0/Binding.html
* How to Marshal Procs Using Rubinius: http://yehudakatz.com/2011/11/19/how-to-marshal-procs-using-rubinius/
* Kernel#eval ist in RubyMotion nicht verfügbar, weil das die AppStore Richtlinien nicht erlauben
* Ansonsten geht alles in RubyMotion, inkl. REPL
* Im Laufzeitverhalten sind RubyMotion Anwendungen ohne Unterschied zu Anwendungen in Objective-C
* Das Kompilat ist grundsätzlich nicht voneinander zu unterscheiden
### Objective-C Runtime (01:08:00)
* Objective-C Runtime ist noch nicht so weit wie die JVM mit unterstützten Sprachen, aber es gibt trotzdem einiges
* Nu: http://programming.nu/
* F-Script: http://www.fscript.org/
* eero: http://eerolanguage.org/
* Es war wahrscheinlich nicht von Anfang so gedacht, aber das Design lässt es sehr gut zu
* Damals sollte auf OpenStep (https://en.wikipedia.org/wiki/OpenStep) Java laufen
* Es gibt ein GNUStep (http://www.gnustep.org/) basiertes System, dass sich mit Smalltalk programmieren lässt (http://etoileos.com/etoile/)
### Probleme mit RubyMotion (01:12:45)
* Bis vor kurzem gab es noch viele Probleme mit Blöcken in Bezug auf Speicherlücken
* Für Ruby-Entwickler sind Blöcke absolut normal und werden überall verwendet
* Viele Bugs sind entdeckt worden bei der (falschen) Verwendung von CoreData (https://en.wikipedia.org/wiki/Core_Data)
* Wichtig ist, CoreData ist keine Datenbank, aber man kann dort Objekte ablegen
* CoreData ist sehr mächtig und nicht leicht zu verstehen
* Da CoreData ein Teil von iCloud-Sync ist, führt dass dazu das iCloud-Sync oft nicht richtig umgesetzt ist
* RubyMotion ist nicht Ruby, sondern ein Dialekt von Ruby
* Beispiel ist, dass man mit der Block-API von Objective-C interagieren muss
* Named Arguments sind verhalten sich unterschiedlich
* In Objective-C sind die Named-Arguments Teil des Methodenname
* Die großflächige Verwendung von Named-Arguments wird sich in Ruby noch etwas hinziehen
* Wenn man für iOS entwickeln will, aber keine Lust auf Objective-C hat, dann macht man was falsch
* Dokumentation ist in Objective-C und die Laufzeitumgebung mit all ihren Eigenheiten ist eben auch Objective-C
* Aber: RubyMotion ist nach Mateus die beste Möglichkeit Objective-C zu lernen
* RubyMotion ist sehr viel kompakter als Objective-C, daher die bevorzugte Umgebung von Mateus
### Apple iPhone Event (01:30:20)
* Wir wollen keine goldenen iPhones
* Event war leider nicht live
* Im Home-Office-Cologne gab es Rudelgucken mit Tippspiel
* Enttäuschung, dass es keine Mac News gab
* Wieder kein AppleTV SDK :-)
* iPhone ist so wichtig, dass nichts parallel vorgestellt wird
* Aber: Mavericks und Mac Pros werden kommen, aber ohne Event ist der Mac Pro eher unwahrscheinlich
* Neue iPads und iPods stehen auch noch aus, aber dafür lohnt sich auch ein eigenes Event
* Eigentlich haben sie Material für noch 2 Events
* Dirk wünscht sich ein AppleTV mit SDK und der Möglichkeit einen Playstation Controller anzuschließen
* Der Coup des Jahres wäre eine AppleTV Spieleconsole
* iPhone/iPod als Controller für Spiele inkl. Secondscreen
* Wir gehen nicht davon aus, dass Apple einen eigenen Controller bauen wird/kann
* Am Anfang noch vorsichtig im Bereich, in letzter Zeit wird das ganze sehr ernsthaft verfolgt, Stichwort: Grafikleistung und OpenGL 3
* In Bezug auf Independent-Spiele ist Apple bereits da wo Microsoft und Sony gerne hinmöchten
* Das Event war das Ende der Ära Steve Jobs und der Beginn der Ära Jony Ive
* Basti findet das "non" lustig ist, wenn die Löcherhülle auf dem 5C ist (https://www.apple.com/iphone-5c/design/images/cases_gallery_white_white_2x.png)
* Die Position des iPhone 5C ist noch unklar
* Weder ein Billig-Phone
* Gute Leistungsdaten
* Es ist aber bunt
* Basti sagt nach wie vor, Apple hat es nicht nötig ein Billig-iPhone zu bringen
* Unterschied momentan ist die Qualität der Anwendungen
* Hintergrund wird nicht sein, mehr Umsatz über iPhones zu machen, sondern iOS weiterzuverbreiten
* Das 'C' steht wahrscheinlich für 'Color' und nicht 'Cheap' ;-)
* Wir warten weiterhin auf das 4k-Display…]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Dieses Mal war Mateus Armando zu Gast bei uns auf der Couch. Wir sprachen darüber wie neue
Mobiltelefone in das Netz der Telekom eingegliedert werden und was bei GSM so schief laufen kann. Im Anschluss
haben wir einen ganz guten Abriss über die Geschichte von RubyMotion gehört und zum Abschluss äußern wir uns
noch zum Apple iPhone Event vom 10. September.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Mateus &quot;<a href="https://twitter.com/seanlilmateus">@seanlilmateus</a>&quot; Armando</li>
<li>&quot;Lange Namen und die Ämter&quot;</li>
<li>Hat eine Fachinformatik Ausbildung und ein abgebrochenes Informatikstudium vorzuweisen</li>
<li>Arbeitet bei der Deutschen Telekom</li>
<li>Ist in der MacRuby (<a href="http://macruby.org/">http://macruby.org/</a>) und RubyMotion (<a href="http://www.rubymotion.com/">http://www.rubymotion.com/</a>) Szene aktiv</li>
<li>Ruby is Magic: Cupcakes! <a href="https://speakerdeck.com/railsbros_dirk/ruby-is-magic-cupcakes">https://speakerdeck.com/railsbros_dirk/ruby-is-magic-cupcakes</a></li>
</ul>
<h3>Arbeiten der Telekom (00:03:55)</h3>
<ul>
<li>Mateus automatisiert Dinge mit Ruby auf der Arbeit, ansonsten kommt es weniger zum Einsatz</li>
<li>Mateus testet Mobilfunkentgeräte mit dem Netz der Telekom</li>
<li>Zentrale Stelle für mehrere Länder
<ul>
<li>Funktionieren die Geräte mit dem Netz der Telekom?</li>
<li>Softwaretests, Funktests</li>
</ul></li>
<li>Mateus bekommt oft mal neue Geräte zum Testen in die Hand
<ul>
<li>Die neuen Apple Geräte werden von speziell ausgewählten Personen getestet; Apple ist da etwas pingelig :)</li>
</ul></li>
<li>Wenn Hersteller Mist machen, dürfen die Geräte nicht ins Netz der Telekom</li>
<li>Das Notification System eines ungenannten Devices hat vor einiger Zeit für großflächige Ausfälle gesorgt</li>
<li>Für Sicherheitsrelevante Fragen gibt es noch mal eine eigene Abteilung</li>
<li>Security Research Labs (Karsten Nohl) - &quot;Rooting SIM cars&quot;: <a href="https://srlabs.de/rooting-sim-cards/">https://srlabs.de/rooting-sim-cards/</a></li>
<li>Wireshark: <a href="http://www.wireshark.org/">http://www.wireshark.org/</a>
<ul>
<li>Wireshark und GSM: <a href="http://wiki.wireshark.org/GsmProtocolFamily">http://wiki.wireshark.org/GsmProtocolFamily</a></li>
</ul></li>
</ul>
<h3>GSM Hacking, Security und Co (00:14:30)</h3>
<ul>
<li>Testgeräte und -installation sind extrem teuer</li>
<li>Base Transceiver Station: <a href="http://en.wikipedia.org/wiki/Base_transceiver_station">http://en.wikipedia.org/wiki/Base_transceiver_station</a></li>
<li>Mehr Augen, finden mehr Fehler; bisher wurden Mobilfunkstandards wenig von der &quot;Masse&quot; unter die Lupe genommen</li>
<li>Einige Fehler müssen sowohl beim Hersteller als auch auf Netzebene behandelt werden</li>
<li>NTT DOCOMO: <a href="http://www.nttdocomo.co.jp/english/">http://www.nttdocomo.co.jp/english/</a></li>
<li>NTT DOCOMO Ausfälle: <a href="http://www.geek.com/mobile/ntt-docomo-asks-google-to-limit-android-data-use-1463313/">http://www.geek.com/mobile/ntt-docomo-asks-google-to-limit-android-data-use-1463313/</a> <a href="http://www.techinasia.com/docomo-outage-line/">http://www.techinasia.com/docomo-outage-line/</a></li>
</ul>
<h3>C, Java, NeXT, WebObjects, Erlang… (00:19:35)</h3>
<ul>
<li>Mateus hat mit C im jungen Jahren angefangen - Basti hat mit BASIC angefangen: 1 : 00 ;-)</li>
<li>Wir machen einen Ausflug durch diverse Programmiersprachen und Umgebungen, die NeXT und Apple durchgemacht haben</li>
<li>Mateus hat während seiner Ausbildung bei T-Systems Erlang programmiert</li>
<li>Ruby wurde irgendwann zu Mateus&#39; Hobby</li>
<li>PyObjC: <a href="http://pythonhosted.org/pyobjc/">http://pythonhosted.org/pyobjc/</a></li>
<li>RubyCocoa: <a href="http://rubycocoa.sourceforge.net/">http://rubycocoa.sourceforge.net/</a></li>
<li>Wir rätzeln, seit wann Ruby in OS X dabei ist</li>
<li>Der Ruby-Guy bei Apple war Laurent Sansonetti (<a href="https://twitter.com/lrz">@lrz</a>)</li>
<li>Apple Scripting Bridge: <a href="https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/Introduction/Introduction.html">https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/Introduction/Introduction.html</a></li>
</ul>
<h3>MacRuby &amp; RubyMotion (00:27:30)</h3>
<ul>
<li>Bertrand Serlet: <a href="http://en.wikipedia.org/wiki/Bertrand_Serlet">http://en.wikipedia.org/wiki/Bertrand_Serlet</a></li>
<li>Bertrand Serlet basht Windows Vista <a href="https://www.youtube.com/watch?v=n9UPhwmjJ-Y">https://www.youtube.com/watch?v=n9UPhwmjJ-Y</a></li>
<li>Laurent ist zu Bertrand gegangen und hat vorgeschlagen Ruby auf der Objective-C Runtime laufen zu lassen</li>
<li>Das war der Anfang von MacRuby: <a href="http://macruby.org/">http://macruby.org/</a></li>
<li>Es stand im Raum, ob Apple nicht MacRuby für das iPhone verfügbar machen wird (das war 2008)</li>
<li>ABER: MacRuby ist Garbage Collected und es gibt und gab auf dem iPhone nie GC.</li>
<li>Es wurde versucht MacRuby ohne GC zu bauen - nicht einfach</li>
<li>Automatic Reference Counting: <a href="http://en.wikipedia.org/wiki/Automatic_Reference_Counting">http://en.wikipedia.org/wiki/Automatic_Reference_Counting</a></li>
<li>Garbage Collector in OS X 10.8 ist deprecated</li>
<li>Laurent Sansonetti gründet 2012 eine Firma und präsentiert: RubyMotion: <a href="http://www.hipbyte.com">http://www.hipbyte.com</a> <a href="http://www.rubymotion.com/">http://www.rubymotion.com/</a></li>
<li>RubyMotion ist MacRuby mit ARC für iOS! Kommerzielle Lizenz, kostet ~150 EUR</li>
<li>Wir rekapitulieren: RubyCocoa, MacRuby, RubyMotion</li>
<li>RubyMotion gibt es auch für Mac</li>
<li>Shizuo <a href="https://twitter.com/watson1978">@watson1978</a> Fujita arbeitet zusammen mit Laurent an MacRuby und RubyMotion</li>
<li>ARC bei Objective-C wird zur Compile-Zeit gemacht</li>
<li>MacRuby wird auch kompiliert, mit LLVM</li>
<li>Bindings machen Probleme bei MacRuby und RubyMotion</li>
<li>Blocks in Ruby sind Closures (<a href="http://en.wikipedia.org/wiki/Closure_(computer_science)">http://en.wikipedia.org/wiki/Closure_(computer_science)</a>) und sind sehr schwer in MacRuby zu implementieren</li>
<li>Weak Reference: <a href="http://en.wikipedia.org/wiki/Weak_reference">http://en.wikipedia.org/wiki/Weak_reference</a>
<ul>
<li>Es gibt WeakRef in Ruby! <a href="http://www.ruby-doc.org/stdlib-2.0/libdoc/weakref/rdoc/WeakRef.html">http://www.ruby-doc.org/stdlib-2.0/libdoc/weakref/rdoc/WeakRef.html</a></li>
</ul></li>
<li>Ruby Binding: <a href="http://www.ruby-doc.org/core-2.0.0/Binding.html">http://www.ruby-doc.org/core-2.0.0/Binding.html</a></li>
<li>How to Marshal Procs Using Rubinius: <a href="http://yehudakatz.com/2011/11/19/how-to-marshal-procs-using-rubinius/">http://yehudakatz.com/2011/11/19/how-to-marshal-procs-using-rubinius/</a></li>
<li>Kernel#eval ist in RubyMotion nicht verfügbar, weil das die AppStore Richtlinien nicht erlauben</li>
<li>Ansonsten geht alles in RubyMotion, inkl. REPL</li>
<li>Im Laufzeitverhalten sind RubyMotion Anwendungen ohne Unterschied zu Anwendungen in Objective-C</li>
<li>Das Kompilat ist grundsätzlich nicht voneinander zu unterscheiden</li>
</ul>
<h3>Objective-C Runtime (01:08:00)</h3>
<ul>
<li>Objective-C Runtime ist noch nicht so weit wie die JVM mit unterstützten Sprachen, aber es gibt trotzdem einiges
<ul>
<li>Nu: <a href="http://programming.nu/">http://programming.nu/</a></li>
<li>F-Script: <a href="http://www.fscript.org/">http://www.fscript.org/</a></li>
<li>eero: <a href="http://eerolanguage.org/">http://eerolanguage.org/</a></li>
</ul></li>
<li>Es war wahrscheinlich nicht von Anfang so gedacht, aber das Design lässt es sehr gut zu</li>
<li>Damals sollte auf OpenStep (<a href="https://en.wikipedia.org/wiki/OpenStep">https://en.wikipedia.org/wiki/OpenStep</a>) Java laufen</li>
<li>Es gibt ein GNUStep (<a href="http://www.gnustep.org/">http://www.gnustep.org/</a>) basiertes System, dass sich mit Smalltalk programmieren lässt (<a href="http://etoileos.com/etoile/">http://etoileos.com/etoile/</a>)</li>
</ul>
<h3>Probleme mit RubyMotion (01:12:45)</h3>
<ul>
<li>Bis vor kurzem gab es noch viele Probleme mit Blöcken in Bezug auf Speicherlücken</li>
<li>Für Ruby-Entwickler sind Blöcke absolut normal und werden überall verwendet</li>
<li>Viele Bugs sind entdeckt worden bei der (falschen) Verwendung von CoreData (<a href="https://en.wikipedia.org/wiki/Core_Data">https://en.wikipedia.org/wiki/Core_Data</a>)</li>
<li>Wichtig ist, CoreData ist keine Datenbank, aber man kann dort Objekte ablegen</li>
<li>CoreData ist sehr mächtig und nicht leicht zu verstehen</li>
<li>Da CoreData ein Teil von iCloud-Sync ist, führt dass dazu das iCloud-Sync oft nicht richtig umgesetzt ist</li>
<li>RubyMotion ist nicht Ruby, sondern ein Dialekt von Ruby
<ul>
<li>Beispiel ist, dass man mit der Block-API von Objective-C interagieren muss</li>
<li>Named Arguments sind verhalten sich unterschiedlich</li>
<li>In Objective-C sind die Named-Arguments Teil des Methodenname</li>
</ul></li>
<li>Die großflächige Verwendung von Named-Arguments wird sich in Ruby noch etwas hinziehen</li>
<li>Wenn man für iOS entwickeln will, aber keine Lust auf Objective-C hat, dann macht man was falsch</li>
<li>Dokumentation ist in Objective-C und die Laufzeitumgebung mit all ihren Eigenheiten ist eben auch Objective-C</li>
<li>Aber: RubyMotion ist nach Mateus die beste Möglichkeit Objective-C zu lernen</li>
<li>RubyMotion ist sehr viel kompakter als Objective-C, daher die bevorzugte Umgebung von Mateus</li>
</ul>
<h3>Apple iPhone Event (01:30:20)</h3>
<ul>
<li>Wir wollen keine goldenen iPhones</li>
<li>Event war leider nicht live</li>
<li>Im Home-Office-Cologne gab es Rudelgucken mit Tippspiel</li>
<li>Enttäuschung, dass es keine Mac News gab</li>
<li>Wieder kein AppleTV SDK :-)</li>
<li>iPhone ist so wichtig, dass nichts parallel vorgestellt wird</li>
<li>Aber: Mavericks und Mac Pros werden kommen, aber ohne Event ist der Mac Pro eher unwahrscheinlich</li>
<li>Neue iPads und iPods stehen auch noch aus, aber dafür lohnt sich auch ein eigenes Event</li>
<li>Eigentlich haben sie Material für noch 2 Events</li>
<li>Dirk wünscht sich ein AppleTV mit SDK und der Möglichkeit einen Playstation Controller anzuschließen</li>
<li>Der Coup des Jahres wäre eine AppleTV Spieleconsole</li>
<li>iPhone/iPod als Controller für Spiele inkl. Secondscreen</li>
<li>Wir gehen nicht davon aus, dass Apple einen eigenen Controller bauen wird/kann</li>
<li>Am Anfang noch vorsichtig im Bereich, in letzter Zeit wird das ganze sehr ernsthaft verfolgt, Stichwort: Grafikleistung und OpenGL 3</li>
<li>In Bezug auf Independent-Spiele ist Apple bereits da wo Microsoft und Sony gerne hinmöchten</li>
<li>Das Event war das Ende der Ära Steve Jobs und der Beginn der Ära Jony Ive</li>
<li>Basti findet das &quot;non&quot; lustig ist, wenn die Löcherhülle auf dem 5C ist (<a href="https://www.apple.com/iphone-5c/design/images/cases_gallery_white_white_2x.png">https://www.apple.com/iphone-5c/design/images/cases_gallery_white_white_2x.png</a>)</li>
<li>Die Position des iPhone 5C ist noch unklar
<ul>
<li>Weder ein Billig-Phone</li>
<li>Gute Leistungsdaten</li>
<li>Es ist aber bunt</li>
</ul></li>
<li>Basti sagt nach wie vor, Apple hat es nicht nötig ein Billig-iPhone zu bringen
<ul>
<li>Unterschied momentan ist die Qualität der Anwendungen</li>
<li>Hintergrund wird nicht sein, mehr Umsatz über iPhones zu machen, sondern iOS weiterzuverbreiten</li>
</ul></li>
<li>Das &#39;C&#39; steht wahrscheinlich für &#39;Color&#39; und nicht &#39;Cheap&#39; ;-)</li>
<li>Wir warten weiterhin auf das 4k-Display…</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST023" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Begrüßung" />
<psc:chapter start="00:01:06" title="Unser Gast" />
<psc:chapter start="00:03:55" title="Arbeiten der Telekom" />
<psc:chapter start="00:14:30" title="GSM Hacking, Security und Co" />
<psc:chapter start="00:19:35" title="C, Java, NeXT, WebObjects, Erlang…" />
<psc:chapter start="00:27:30" title="MacRuby &amp; RubyMotion" />
<psc:chapter start="01:08:00" title="Objective-C Runtime" />
<psc:chapter start="01:12:45" title="Probleme mit RubyMotion" />
<psc:chapter start="01:30:20" title="Apple iPhone Event" />
</psc:chapters>
</item>
<item>
<title>GST024 - Super Spell Boy</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Björn &quot;@_orko&quot; Vollmer über (Indie-)Spieleentwicklung auf iOS und die Entstehung von Super Spell Boy</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst024.mp3" length="71644657" type="audio/mpeg"/>
<guid isPermaLink="false">GST024</guid>
<pubDate>Mon, 23 Sep 2013 22:23:10 +0200</pubDate>
<itunes:duration>01:39:06</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Wir haben uns mit unserem @HomeOfficeCGN Kollegen Björn hingesetzt und über Spieleentwicklung
gesprochen. Konkret ging es um iOS Spiele und noch konkreter um die Entstehung von Super Spell Boy, dem ersten
erschienen Titel für iOS von Björn. Wir gehen alles durch: von Grafiken erstellen, über Sounddesign, Gameloops
bis hin zur Preisfindung und Vermarktung.
### Intro (00:00:00)
* Phill Schiller, Apple iPhone Event 2013: http://www.apple.com/apple-events/september-2013/
* Intro Musik: Eric Skiff, http://ericskiff.com/music/
### Unser Gast (00:01:50)
* Björn @_orko Vollmer, Rhineality Games (http://rhinealitygames.com/)
* Zu finden im @HomeOfficeCGN :)
* hat Informatik an der FH Köln studiert
* pkw.de: "klassische" Rails Webentwicklung
* seit 10.10.2010 (weil 101010 = 42 \o/) als Freiberuflicher Softwareentwickler unterwegs
* und seit kurzem: Mehr in Richtung Entwicklung von eigenen Spielen
### Browser Spieleentwicklung (00:04:00)
* Begonnen hat Björn mit Browserspiel (erst in PHP, dann mit Ruby)
* Spiel ist immer noch in der Entwicklung, ruht aber derzeit ;-)
* Sci-Fi Setting, insgesamt sehr aufwendig
* Arbeitstitel: Hard Space (http://hardspace.net/)
* Nicht zu verwechseln mit Dead Space (https://en.wikipedia.org/wiki/Dead_Space_(video_game))
### iOS Spieleentwicklung (00:07:00)
* Dann kam der Entschluss ein iOS Spiel zu machen (Startschuss: April 2012)
* Ziele waren:
* Mit weniger Umfang
* Alle Dinge mussten selbst gemacht werden ^^
* Bisher unbekannte Plattform
* Einfach losgelegt, ohne sich in vorher groß einzulesen
* Bei Spielen ohnehin wenig Kontakt mit UIKit und daher Custom-UI
* Bücher
* "Spiele entwickeln für iPhone und iPad" (ISBN 978-3-89864-725-0): http://www.amazon.de/Spiele-entwickeln-iPhone-iPad-Programmierung/dp/3898647250
* "Spiele entwickeln für iPad, iPhone und iPod touch" (ISBN 978-3446430853): http://www.amazon.de/Spiele-entwickeln-iPad-iPhone-touch/dp/3446430857
* Grafik hat Björn mit OpenGL implementiert
* Bei OpenGL verlässt man Objective-C Land und macht Vanilla C ;-)
* Björn war froh als er damit fertig war ^^
* OpenGL muss nicht 3D sein, für 2D gibt es aber auch andere Möglichkeiten
* Entscheidung für OpenGL war von eher pragmatischer Natur
### Grafiken (00:16:20)
* Grafiken kaufen? Selber machen?
* Mastermind: http://de.wikipedia.org/wiki/Mastermind
* Kurze Historie...
* Im April 2012: Mit Super Spell Boy angefangen
* Im Dezember 2012: Versuch ein (anderes) Spiel in zwei Monaten zu machen, weil die ursprüngliche Idee zu schwer erschien
* Dann Anfang 2013: Doch wieder zurück zu Super Spell Boy, weil geilere Idee :)
* Pixel Art: http://en.wikipedia.org/wiki/Pixel_art
* Pixel Art Editor unter OS X Pixen: http://pixenapp.com/
* Dann: Viel üben, nachmalen, ausprobieren…
* Die Objekte im Spiel sind über Vertices definiert, über die Texturen gespannt werden
* Animationen sind Bilder, wo mehrere Bilder z.B. der Figur nebeneinander stehen
* Gameloop: http://en.wikipedia.org/wiki/Game_programming#Game_structure, http://www.gameprogblog.com/generic-game-loop/
* eine endlose Schleife, die z.B. 33 mal pro Sekunde ausgeführt wird (33 fps)
* enthalten in der Schleife ist alles, was das Spiel ausmacht: Gamelogik, Rendering usw.
* Taktung von Animationen und Ereignissen auf die Taktung der Gameloop
### Sound & Music erstellen (00:28:52)
* Der Intro-Sound dieser Folge war die Menümusik aus dem Spiel
* Musik/Sound ist ein ähnliches Problem wie das Grafikproblem: Woher nehmen?
* Laut Literatur hätte man damit direkt anfangen sollen, hat Björn aber nicht gemacht :P
* Auch hier zunächst wieder versucht Sound-Effekte einzukaufen
* Folgende Seiten angeschaut:
* http://soundbible.com (free)
* http://www.freesound.org (free)
* Nix dabei gewesen, weil Sound sollte vom Stil zum Spiel passen (lies: 8-bit)
* Dabei eine App gefunden, mit der man diese Sound leicht selber machen kann: http://thirdcog.eu/apps/cfxr
* Das heisst: Die Sound sind auch selbst gemacht
* Thema Musik: Kaufen ist teuer, daher Creative Commons
* Dabei ist er bei Eric Skiff (http://ericskiff.com/music/) gelandet
* Die Musik (und unser Intro) ist von dem Album "Resistor Anthems"
* Basti erwähnt, dass das Spiel direkt einen vollständigeren Eindruck gemacht als Musik dabei war
* Findet George Lucas auch ;-) (http://www.brainyquote.com/quotes/quotes/g/georgeluca462198.html)
### Super Spell Boy (00:33:53)
* Im App-Store: https://itunes.apple.com/app/id702233807
* Retro-Spiel, Retro-Name
* Worum geht es: Der Spieler steuert einen Zauberer auf seiner Burg und muss diese gegen unendliche Horden dunkler Kreaturen verteidigen
* Wir fragen uns was es für ein Genre ist
* Im App-Store: Action, Arcade
* Wir einigen uns auf eine Mischung zwischen Tower Defense (https://en.wikipedia.org/wiki/Tower_defense) und Shoot'em Up (https://en.wikipedia.org/wiki/Shoot_em_up)
* Wenn die Burg zerstört ist, dann ist das Spiel vorbei
* Wie verteidigt man seine Burg? Natürlich mit Magie!
* Man beschwört die Zauber per Gesten (a.k.a. der USP des Spiels)
* Gespielt wird Portrait-Modus und die Gegner kommen vom oberen Bildschirmrand
* Die Herausforderung für den Spieler besteht in:
* Lernen und Erinnern der richtigen Gesten
* Lernen und Erinnern welche Gegner gegen welche Zauber anfällig sind
* Bsp.: Brennender Gegner -> KEIN Feuer
* Von Beginn an alle Zauber verfügbar
* Erst war die Idee, dass man nach und nach die Zauber freispielt
* Ist aber "einfach" ein Arcadespiel: Solange spielen bis man stirbt.
* Alle UI-Elemente sind im Spiel integriert:
* Pause-Button ist das Tor der Burg
* Auf dem linken Turm liegt das Zauberbuch, in dem sich alle Zauber nachschlagen lassen
* Wie sich das gehört gibt es auch Mana und Zauber brauchen unterschiedlich viel Mana
* Mana regeneriert sich selbst, aber langsam
* Manchmal lassen besiegte Gegner aber auch Mana-Tränke fallen
* Pro-Tipp: Wenn man einen Zauber beschwört hat und ihn noch NICHT auf einen Gegner geschossen hat, regeneriert sich der Mana-Vorrat nicht
* Noch mal zur Erinnerung: Das alles muss innerhalb der Game-Loop passieren
* Ereignisse müssen von Zeiteinheiten in Spielzeit (Frames) umgerechnet werden
* Bsp.: Alle 0,275 Sekunden soll sich Mana regenerieren, d.h. alle 12 Frames
* Das bedingt auch, dass die Events abhängig vom Framecounter getriggert werden und nicht in Realzeit, wenn das Spiel also langsamer läuft regeneriert nicht mehr alle 0,275 Sekunden Mana
### Kollisionserkennung (00:43:50)
* Irgendwann muss ermittelt werden, ob ein Gegner getroffen wurde oder nicht
* Es wurden zwei Varianten verwendet:
* Rectangle-Rectangle: Überschneiden sich zwei Rechtecke, dann ist es ein Treffer
* Problem: Einige Zauber können über Gegner "hinwegfliegen" und treffen diese nicht
* Lösung: Nur der Gegner darf getroffen werden, der vorher angeklickt wurde
* Problem: Was heißt "angeklickt"?
* Point-Rectangle: Ist ein Punkt in einem anderen Rechteck. Punkt ist in diesem Fall der "Finger" des Spielers.
* Aber es gibt auch komplexere Erkennungen:
* Der Steinzauber fliegt über das ganze Spielfeld und trifft dabei jeden Gegner
* Wenn in zwei aufeinanderfolgenden Frames ein Gegner zweimal von gleichen Stein getroffen wird, darf der Treffer nur einmal zählen
* Der Stein muss sich also merken wen er getroffen hat o_O
* Vorbereitung für Combosystem ;-)
* Was "musste" man sich selber ausdenken?
* Konzepte wie Game-Loop und Erkennen von Kollisionen existieren und sind gut beschrieben
* Details wie wen hat man getroffen, wen wollte man treffen etc. müssen dann selbst modelliert werden
* Kollisionserkennung kann beliebig komplex werden. Stichwort: Polygone
* In der Spieleentwicklung existieren ebenso Pattern wie in anderen Bereichen der Software-Entwicklung
### Gesten (00:50:00)
* Was muss man da selber machen
* iOS nimmt einem kaum etwas ab
* Angefangen mit GLGestureRecognizer (https://github.com/preble/GLGestureRecognizer)
* Open Source Library basiert auf dem $1 Unistroke Recognizer: https://depts.washington.edu/aimgroup/proj/dollar/
* In der damals verwendeten Version keine zufriedenstellenden Ergebnisse
* Aktuelle Version des Spiels verwendet eine eigene Implementierung
* Prinzip basiert auf "Spiele entwickeln für iPhone und iPad (S. 398 ff.)"
* Man erstellt eine Matrix und vergibt jedem Feld der Matrix einen Buchstaben
* Die Geste wird über die Matrix gelegt und jedes durchquerte Feld wird ausgelesen
* Ergebnis ist eine String-Repräsentation der Geste: Sampling der Geste
* Wahl der Auflösung ist entscheidend
* Mehrere Zeichenketten können die gleiche Geste bedeuten
* Aktuell gute Ergebnisse aber immer noch nicht perfekt
* Was stellt aber nun iOS zur Verfügung?
* iOS entscheidet ob es eine Geste oder ein Touch war
* Man kann sich dann die Koordinaten der Geste geben lassen oder schon während der Ausführung der Geste die Koordinaten einsammeln (Björn macht die erste Variante)
* Noch mal zur Erinnerung: Das alles muss innerhalb der Game-Loop passieren, sprich in jeder 1/33 Sekunde
* Aussteuerung der erlaubten Toleranz bedingt potentielle Überschneidungen mit anderen Gesten
* GLGestureRecognizer hat aktuelle eine neue Version. Denkbar ist eine Kombination aus beiden Ansätzen. Oder ganz neuer Ansatz/Bibliothek.
* Von außen betrachtet ein einfaches Spiel und trotzdem gibt es schon Myriaden von Dingen zu beachten o_O
### Sound und Musik abspielen (00:57:35)
* Wie wird Sound/Musik abgespielt?
* Sound und Musik ist erstaunlich einfach:
* Musik: Zu Beginn des Spiels das Abspielen der Musik an iOS übergeben
* Soundeffekte: Wird in dem entsprechenden Frame an iOS übergeben
* Fertig :-)
### Entwicklungsprozess (00:58:59)
* Anzeige von Sprites mittels OpenGL
* Bewegen/Animieren von Sprites
* Interagieren mit dem Spiel (Gesten-Erkennung)
### Testen (01:00:55)
* HockeyApp: http://hockeyapp.net/
* Für SSB: TestFlight: http://testflightapp.com/
* TestFlight kostenlos
* Regelmäßige Updates an Tester
* 10 bis 15 Tester
* Iterative Entwicklung parallel zum Testen
### Zum Schluss: Menüs, Logo, Settings etc. (01:02:09)
* Macht das Spiel rund
* Umsetzung nochmals viel Zeit gebraucht
* Viele Fallstricke beim Sound/Musik
### Balancing (01:04:20)
* Auch iterativer/begleitender/explorativer Prozess
* Gradwanderung
* Spannende Phase
* Spiel eventuell zu schwer für Causal Gamer
* Dirk wartet immer noch auf sein Review zu Super Spell Boy im App-Store
### Entwicklungsdauer (01:06:25)
* 710:42 Stunden (~ 4,5 Monate)
* Überwiegend Teilzeit auf über ein Jahr gestreckt
* Teilzeit erschwert die Entwicklung
### SpriteKit (01:08:50)
* Sprite Kit Programming Guide: https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SpriteKitFramework_Ref/_index.html
* Nimmt viele Low-Level-Entwicklungen ab
* 2D-Spiele-Entwicklung
* Entwicklung für iOS und OSX
* OpenGL drin
* Physik drin (Collision Detection, Gravity)
* Partikelsystem
* Animationen
* Unterstützt ab iOS7
* 200 Millionen Installationen iOS 7
* Auf den Support von älteren iOS verzichten
* Konzentrieren nur auf die Spiele-Entwicklung
* Erhöhter Aufwand, wenn auch < iOS 7 unterstützt wird
### Preisfindung (01:15:10)
* Schritt für Schritt an den Preis angenähert
* Schlechte Bewertung im App Store, wenn Preis "zu hoch"
* Preise für Apps und Spiele im App Store "anders"
* Viel mit Leuten gesprochen, die sich auskennen
* Ursprünglich 0,89 Euro
* Davon wurde mir abgeraten: Tolles Spiel, nicht verschleudern
* Preis-"Tiers": Preise im App-Store sind gestaffelt
* Keine Ads
* Momentan noch kein In-App-Purchases
* Ein Preis
* Besprechen der verschiedenen Preise bekannter Spiele im App Store
* Entschieden für Tier 3: 2,69 Euro
* Der Entwickler bekommt: 1,64 Euro
* Preis = 2,69 Euro - USt. - 30 % an Apple
* Ne Menge verkaufen um davon leben zu können
* Glücklich, wenn Super Spell Boy so viel einspielt, dass das nächste Spiel finanziert ist
### Marketing (01:25:01)
* Während der Entwicklung kaum Marketing
* Seit Release Facebook (https://www.facebook.com/SuperSpellBoy), Twitter (https://twitter.com/SuperSpellBoy) etc.
* Werbung bisher nur in Facebook
* Likes "kaufen"
* Gameplay-Video "Fast Forward" beworben: http://www.youtube.com/watch?v=L_WZVLLU2Mg. Hat mittlerweile 1470 Likes
* Budget pro Tag
* Im Detail die Zielgruppe bestimmen
* Nur Spiele-Interessierte
* Nur iOS-Nutzer
* etc.
* Apple Verkaufsstatistiken sind verzögert
* Promo-Codes
* Anschreiben wegen Promo-Codes
* Bewertung schreiben im App-Store
* Wurde angeschrieben von YouTube-App-Reviewer
* 1 Review für Lau (paar hundert Views pro Video)
* 1 Review für 350 USD (Views im tausender Bereich)
### Monetarisierung als Indie-Game-Entwickler (01:33:57)
* Interview mit Michael Contento http://www.gamasutra.com/blogs/RuthWilson/20130827/199049/CREATING_GAMES_FOR_KIDS_HOW_TO_FIND_AND_TEST_CONTENT_MONETIZE_AND_MARKET_YOUR_GAME.php
* Cross-Platform-Entwickler
* Spieler für Kinder
* Free2Play
* In-App-Purchase
* Werbung ausblenden
* Weitere Level kaufen
* Interview: Welche Herausforderungen bei diesem Ansatz
* Ansazt auf Masse
* Andere Strategien da man alleine ist
* Marketing ist teuer
* Ziel: Spiel muss in die Top-Charts kommen
* Einkaufen von Reviews, Pressemitteilungen und Downloads
* Preise hoch/runter setzen um auf Crawling-Seiten zu erscheinen
### Zusammenfassung (01:38:04)
* Game-Entwicklung cool
* Marketing uncool
* Weitere Links:
* iOS 5 By Tutorials (http://www.raywenderlich.com/store/ios-5-by-tutorials)
* iOS 6 By Tutorials (http://www.raywenderlich.com/store/ios-6-by-tutorials)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Wir haben uns mit unserem <a href="https://twitter.com/HomeOfficeCGN">@HomeOfficeCGN</a> Kollegen Björn hingesetzt und über Spieleentwicklung
gesprochen. Konkret ging es um iOS Spiele und noch konkreter um die Entstehung von Super Spell Boy, dem ersten
erschienen Titel für iOS von Björn. Wir gehen alles durch: von Grafiken erstellen, über Sounddesign, Gameloops
bis hin zur Preisfindung und Vermarktung.</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Phill Schiller, Apple iPhone Event 2013: <a href="http://www.apple.com/apple-events/september-2013/">http://www.apple.com/apple-events/september-2013/</a></li>
<li>Intro Musik: Eric Skiff, <a href="http://ericskiff.com/music/">http://ericskiff.com/music/</a></li>
</ul>
<h3>Unser Gast (00:01:50)</h3>
<ul>
<li>Björn <a href="https://twitter.com/_orko">@_orko</a> Vollmer, Rhineality Games (<a href="http://rhinealitygames.com/">http://rhinealitygames.com/</a>)</li>
<li>Zu finden im <a href="https://twitter.com/HomeOfficeCGN">@HomeOfficeCGN</a> :)</li>
<li>hat Informatik an der FH Köln studiert</li>
<li>pkw.de: &quot;klassische&quot; Rails Webentwicklung</li>
<li>seit 10.10.2010 (weil 101010 = 42 \o/) als Freiberuflicher Softwareentwickler unterwegs</li>
<li>und seit kurzem: Mehr in Richtung Entwicklung von eigenen Spielen</li>
</ul>
<h3>Browser Spieleentwicklung (00:04:00)</h3>
<ul>
<li>Begonnen hat Björn mit Browserspiel (erst in PHP, dann mit Ruby)</li>
<li>Spiel ist immer noch in der Entwicklung, ruht aber derzeit ;-)</li>
<li>Sci-Fi Setting, insgesamt sehr aufwendig</li>
<li>Arbeitstitel: Hard Space (<a href="http://hardspace.net/">http://hardspace.net/</a>)</li>
<li>Nicht zu verwechseln mit Dead Space (<a href="https://en.wikipedia.org/wiki/Dead_Space_(video_game)">https://en.wikipedia.org/wiki/Dead_Space_(video_game)</a>)</li>
</ul>
<h3>iOS Spieleentwicklung (00:07:00)</h3>
<ul>
<li>Dann kam der Entschluss ein iOS Spiel zu machen (Startschuss: April 2012)</li>
<li>Ziele waren:
<ul>
<li>Mit weniger Umfang</li>
<li>Alle Dinge mussten selbst gemacht werden ^^</li>
</ul></li>
<li>Bisher unbekannte Plattform</li>
<li>Einfach losgelegt, ohne sich in vorher groß einzulesen</li>
<li>Bei Spielen ohnehin wenig Kontakt mit UIKit und daher Custom-UI</li>
<li>Bücher
<ul>
<li>&quot;Spiele entwickeln für iPhone und iPad&quot; (ISBN 978-3-89864-725-0): <a href="http://www.amazon.de/Spiele-entwickeln-iPhone-iPad-Programmierung/dp/3898647250">http://www.amazon.de/Spiele-entwickeln-iPhone-iPad-Programmierung/dp/3898647250</a></li>
<li>&quot;Spiele entwickeln für iPad, iPhone und iPod touch&quot; (ISBN 978-3446430853): <a href="http://www.amazon.de/Spiele-entwickeln-iPad-iPhone-touch/dp/3446430857">http://www.amazon.de/Spiele-entwickeln-iPad-iPhone-touch/dp/3446430857</a></li>
</ul></li>
<li>Grafik hat Björn mit OpenGL implementiert</li>
<li>Bei OpenGL verlässt man Objective-C Land und macht Vanilla C ;-)</li>
<li>Björn war froh als er damit fertig war ^^</li>
<li>OpenGL muss nicht 3D sein, für 2D gibt es aber auch andere Möglichkeiten</li>
<li>Entscheidung für OpenGL war von eher pragmatischer Natur</li>
</ul>
<h3>Grafiken (00:16:20)</h3>
<ul>
<li>Grafiken kaufen? Selber machen?</li>
<li>Mastermind: <a href="http://de.wikipedia.org/wiki/Mastermind">http://de.wikipedia.org/wiki/Mastermind</a></li>
<li>Kurze Historie...
<ul>
<li>Im April 2012: Mit Super Spell Boy angefangen</li>
<li>Im Dezember 2012: Versuch ein (anderes) Spiel in zwei Monaten zu machen, weil die ursprüngliche Idee zu schwer erschien</li>
<li>Dann Anfang 2013: Doch wieder zurück zu Super Spell Boy, weil geilere Idee :)</li>
</ul></li>
<li>Pixel Art: <a href="http://en.wikipedia.org/wiki/Pixel_art">http://en.wikipedia.org/wiki/Pixel_art</a></li>
<li>Pixel Art Editor unter OS X Pixen: <a href="http://pixenapp.com/">http://pixenapp.com/</a></li>
<li>Dann: Viel üben, nachmalen, ausprobieren…</li>
<li>Die Objekte im Spiel sind über Vertices definiert, über die Texturen gespannt werden</li>
<li>Animationen sind Bilder, wo mehrere Bilder z.B. der Figur nebeneinander stehen</li>
<li>Gameloop: <a href="http://en.wikipedia.org/wiki/Game_programming#Game_structure">http://en.wikipedia.org/wiki/Game_programming#Game_structure</a>, <a href="http://www.gameprogblog.com/generic-game-loop/">http://www.gameprogblog.com/generic-game-loop/</a>
<ul>
<li>eine endlose Schleife, die z.B. 33 mal pro Sekunde ausgeführt wird (33 fps)</li>
<li>enthalten in der Schleife ist alles, was das Spiel ausmacht: Gamelogik, Rendering usw.</li>
<li>Taktung von Animationen und Ereignissen auf die Taktung der Gameloop</li>
</ul></li>
</ul>
<h3>Sound &amp; Music erstellen (00:28:52)</h3>
<ul>
<li>Der Intro-Sound dieser Folge war die Menümusik aus dem Spiel</li>
<li>Musik/Sound ist ein ähnliches Problem wie das Grafikproblem: Woher nehmen?</li>
<li>Laut Literatur hätte man damit direkt anfangen sollen, hat Björn aber nicht gemacht :P</li>
<li>Auch hier zunächst wieder versucht Sound-Effekte einzukaufen</li>
<li>Folgende Seiten angeschaut:
<ul>
<li><a href="http://soundbible.com">http://soundbible.com</a> (free)</li>
<li><a href="http://www.freesound.org">http://www.freesound.org</a> (free)</li>
</ul></li>
<li>Nix dabei gewesen, weil Sound sollte vom Stil zum Spiel passen (lies: 8-bit)</li>
<li>Dabei eine App gefunden, mit der man diese Sound leicht selber machen kann: <a href="http://thirdcog.eu/apps/cfxr">http://thirdcog.eu/apps/cfxr</a></li>
<li>Das heisst: Die Sound sind auch selbst gemacht</li>
<li>Thema Musik: Kaufen ist teuer, daher Creative Commons</li>
<li>Dabei ist er bei Eric Skiff (<a href="http://ericskiff.com/music/">http://ericskiff.com/music/</a>) gelandet</li>
<li>Die Musik (und unser Intro) ist von dem Album &quot;Resistor Anthems&quot;</li>
<li>Basti erwähnt, dass das Spiel direkt einen vollständigeren Eindruck gemacht als Musik dabei war</li>
<li>Findet George Lucas auch ;-) (<a href="http://www.brainyquote.com/quotes/quotes/g/georgeluca462198.html">http://www.brainyquote.com/quotes/quotes/g/georgeluca462198.html</a>)</li>
</ul>
<h3>Super Spell Boy (00:33:53)</h3>
<ul>
<li>Im App-Store: <a href="https://itunes.apple.com/app/id702233807">https://itunes.apple.com/app/id702233807</a></li>
<li>Retro-Spiel, Retro-Name</li>
<li>Worum geht es: Der Spieler steuert einen Zauberer auf seiner Burg und muss diese gegen unendliche Horden dunkler Kreaturen verteidigen</li>
<li>Wir fragen uns was es für ein Genre ist
<ul>
<li>Im App-Store: Action, Arcade</li>
<li>Wir einigen uns auf eine Mischung zwischen Tower Defense (<a href="https://en.wikipedia.org/wiki/Tower_defense">https://en.wikipedia.org/wiki/Tower_defense</a>) und Shoot&#39;em Up (<a href="https://en.wikipedia.org/wiki/Shoot_em_up">https://en.wikipedia.org/wiki/Shoot_em_up</a>)</li>
</ul></li>
<li>Wenn die Burg zerstört ist, dann ist das Spiel vorbei</li>
<li>Wie verteidigt man seine Burg? Natürlich mit Magie!</li>
<li>Man beschwört die Zauber per Gesten (a.k.a. der USP des Spiels)</li>
<li>Gespielt wird Portrait-Modus und die Gegner kommen vom oberen Bildschirmrand</li>
<li>Die Herausforderung für den Spieler besteht in:
<ul>
<li>Lernen und Erinnern der richtigen Gesten</li>
<li>Lernen und Erinnern welche Gegner gegen welche Zauber anfällig sind</li>
<li>Bsp.: Brennender Gegner -> KEIN Feuer</li>
</ul></li>
<li>Von Beginn an alle Zauber verfügbar
<ul>
<li>Erst war die Idee, dass man nach und nach die Zauber freispielt</li>
<li>Ist aber &quot;einfach&quot; ein Arcadespiel: Solange spielen bis man stirbt.</li>
</ul></li>
<li>Alle UI-Elemente sind im Spiel integriert:
<ul>
<li>Pause-Button ist das Tor der Burg</li>
<li>Auf dem linken Turm liegt das Zauberbuch, in dem sich alle Zauber nachschlagen lassen</li>
</ul></li>
<li>Wie sich das gehört gibt es auch Mana und Zauber brauchen unterschiedlich viel Mana</li>
<li>Mana regeneriert sich selbst, aber langsam</li>
<li>Manchmal lassen besiegte Gegner aber auch Mana-Tränke fallen</li>
<li>Pro-Tipp: Wenn man einen Zauber beschwört hat und ihn noch NICHT auf einen Gegner geschossen hat, regeneriert sich der Mana-Vorrat nicht</li>
<li>Noch mal zur Erinnerung: Das alles muss innerhalb der Game-Loop passieren</li>
<li>Ereignisse müssen von Zeiteinheiten in Spielzeit (Frames) umgerechnet werden
<ul>
<li>Bsp.: Alle 0,275 Sekunden soll sich Mana regenerieren, d.h. alle 12 Frames</li>
</ul></li>
<li>Das bedingt auch, dass die Events abhängig vom Framecounter getriggert werden und nicht in Realzeit, wenn das Spiel also langsamer läuft regeneriert nicht mehr alle 0,275 Sekunden Mana</li>
</ul>
<h3>Kollisionserkennung (00:43:50)</h3>
<ul>
<li>Irgendwann muss ermittelt werden, ob ein Gegner getroffen wurde oder nicht</li>
<li>Es wurden zwei Varianten verwendet:
<ul>
<li>Rectangle-Rectangle: Überschneiden sich zwei Rechtecke, dann ist es ein Treffer</li>
<li>Problem: Einige Zauber können über Gegner &quot;hinwegfliegen&quot; und treffen diese nicht</li>
<li>Lösung: Nur der Gegner darf getroffen werden, der vorher angeklickt wurde</li>
<li>Problem: Was heißt &quot;angeklickt&quot;?</li>
<li>Point-Rectangle: Ist ein Punkt in einem anderen Rechteck. Punkt ist in diesem Fall der &quot;Finger&quot; des Spielers.</li>
</ul></li>
<li>Aber es gibt auch komplexere Erkennungen:
<ul>
<li>Der Steinzauber fliegt über das ganze Spielfeld und trifft dabei jeden Gegner</li>
<li>Wenn in zwei aufeinanderfolgenden Frames ein Gegner zweimal von gleichen Stein getroffen wird, darf der Treffer nur einmal zählen</li>
<li>Der Stein muss sich also merken wen er getroffen hat o_O</li>
<li>Vorbereitung für Combosystem ;-)</li>
</ul></li>
<li>Was &quot;musste&quot; man sich selber ausdenken?
<ul>
<li>Konzepte wie Game-Loop und Erkennen von Kollisionen existieren und sind gut beschrieben</li>
<li>Details wie wen hat man getroffen, wen wollte man treffen etc. müssen dann selbst modelliert werden</li>
</ul></li>
<li>Kollisionserkennung kann beliebig komplex werden. Stichwort: Polygone</li>
<li>In der Spieleentwicklung existieren ebenso Pattern wie in anderen Bereichen der Software-Entwicklung</li>
</ul>
<h3>Gesten (00:50:00)</h3>
<ul>
<li>Was muss man da selber machen</li>
<li>iOS nimmt einem kaum etwas ab</li>
<li>Angefangen mit GLGestureRecognizer (<a href="https://github.com/preble/GLGestureRecognizer">https://github.com/preble/GLGestureRecognizer</a>)
<ul>
<li>Open Source Library basiert auf dem $1 Unistroke Recognizer: <a href="https://depts.washington.edu/aimgroup/proj/dollar/">https://depts.washington.edu/aimgroup/proj/dollar/</a></li>
<li>In der damals verwendeten Version keine zufriedenstellenden Ergebnisse</li>
</ul></li>
<li>Aktuelle Version des Spiels verwendet eine eigene Implementierung
<ul>
<li>Prinzip basiert auf &quot;Spiele entwickeln für iPhone und iPad (S. 398 ff.)&quot;</li>
<li>Man erstellt eine Matrix und vergibt jedem Feld der Matrix einen Buchstaben</li>
<li>Die Geste wird über die Matrix gelegt und jedes durchquerte Feld wird ausgelesen</li>
<li>Ergebnis ist eine String-Repräsentation der Geste: Sampling der Geste</li>
<li>Wahl der Auflösung ist entscheidend</li>
<li>Mehrere Zeichenketten können die gleiche Geste bedeuten</li>
<li>Aktuell gute Ergebnisse aber immer noch nicht perfekt</li>
</ul></li>
<li>Was stellt aber nun iOS zur Verfügung?
<ul>
<li>iOS entscheidet ob es eine Geste oder ein Touch war</li>
<li>Man kann sich dann die Koordinaten der Geste geben lassen oder schon während der Ausführung der Geste die Koordinaten einsammeln (Björn macht die erste Variante)</li>
</ul></li>
<li>Noch mal zur Erinnerung: Das alles muss innerhalb der Game-Loop passieren, sprich in jeder 1/33 Sekunde</li>
<li>Aussteuerung der erlaubten Toleranz bedingt potentielle Überschneidungen mit anderen Gesten</li>
<li>GLGestureRecognizer hat aktuelle eine neue Version. Denkbar ist eine Kombination aus beiden Ansätzen. Oder ganz neuer Ansatz/Bibliothek.</li>
<li>Von außen betrachtet ein einfaches Spiel und trotzdem gibt es schon Myriaden von Dingen zu beachten o_O</li>
</ul>
<h3>Sound und Musik abspielen (00:57:35)</h3>
<ul>
<li>Wie wird Sound/Musik abgespielt?</li>
<li>Sound und Musik ist erstaunlich einfach:
<ul>
<li>Musik: Zu Beginn des Spiels das Abspielen der Musik an iOS übergeben</li>
<li>Soundeffekte: Wird in dem entsprechenden Frame an iOS übergeben</li>
<li>Fertig :-)</li>
</ul></li>
</ul>
<h3>Entwicklungsprozess (00:58:59)</h3>
<ul>
<li>Anzeige von Sprites mittels OpenGL</li>
<li>Bewegen/Animieren von Sprites</li>
<li>Interagieren mit dem Spiel (Gesten-Erkennung)</li>
</ul>
<h3>Testen (01:00:55)</h3>
<ul>
<li>HockeyApp: <a href="http://hockeyapp.net/">http://hockeyapp.net/</a></li>
<li>Für SSB: TestFlight: <a href="http://testflightapp.com/">http://testflightapp.com/</a></li>
<li>TestFlight kostenlos</li>
<li>Regelmäßige Updates an Tester</li>
<li>10 bis 15 Tester</li>
<li>Iterative Entwicklung parallel zum Testen</li>
</ul>
<h3>Zum Schluss: Menüs, Logo, Settings etc. (01:02:09)</h3>
<ul>
<li>Macht das Spiel rund</li>
<li>Umsetzung nochmals viel Zeit gebraucht</li>
<li>Viele Fallstricke beim Sound/Musik</li>
</ul>
<h3>Balancing (01:04:20)</h3>
<ul>
<li>Auch iterativer/begleitender/explorativer Prozess</li>
<li>Gradwanderung</li>
<li>Spannende Phase</li>
<li>Spiel eventuell zu schwer für Causal Gamer</li>
<li>Dirk wartet immer noch auf sein Review zu Super Spell Boy im App-Store</li>
</ul>
<h3>Entwicklungsdauer (01:06:25)</h3>
<ul>
<li>710:42 Stunden (~ 4,5 Monate)</li>
<li>Überwiegend Teilzeit auf über ein Jahr gestreckt</li>
<li>Teilzeit erschwert die Entwicklung</li>
</ul>
<h3>SpriteKit (01:08:50)</h3>
<ul>
<li>Sprite Kit Programming Guide: <a href="https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SpriteKitFramework_Ref/_index.html">https://developer.apple.com/library/ios/documentation/SpriteKit/Reference/SpriteKitFramework_Ref/_index.html</a></li>
<li>Nimmt viele Low-Level-Entwicklungen ab</li>
<li>2D-Spiele-Entwicklung</li>
<li>Entwicklung für iOS und OSX</li>
<li>OpenGL drin</li>
<li>Physik drin (Collision Detection, Gravity)</li>
<li>Partikelsystem</li>
<li>Animationen</li>
<li>Unterstützt ab iOS7</li>
<li>200 Millionen Installationen iOS 7</li>
<li>Auf den Support von älteren iOS verzichten</li>
<li>Konzentrieren nur auf die Spiele-Entwicklung</li>
<li>Erhöhter Aufwand, wenn auch &lt; iOS 7 unterstützt wird</li>
</ul>
<h3>Preisfindung (01:15:10)</h3>
<ul>
<li>Schritt für Schritt an den Preis angenähert</li>
<li>Schlechte Bewertung im App Store, wenn Preis &quot;zu hoch&quot;</li>
<li>Preise für Apps und Spiele im App Store &quot;anders&quot;</li>
<li>Viel mit Leuten gesprochen, die sich auskennen</li>
<li>Ursprünglich 0,89 Euro</li>
<li>Davon wurde mir abgeraten: Tolles Spiel, nicht verschleudern</li>
<li>Preis-&quot;Tiers&quot;: Preise im App-Store sind gestaffelt</li>
<li>Keine Ads</li>
<li>Momentan noch kein In-App-Purchases</li>
<li>Ein Preis</li>
<li>Besprechen der verschiedenen Preise bekannter Spiele im App Store</li>
<li>Entschieden für Tier 3: 2,69 Euro</li>
<li>Der Entwickler bekommt: 1,64 Euro</li>
<li>Preis = 2,69 Euro - USt. - 30 % an Apple</li>
<li>Ne Menge verkaufen um davon leben zu können</li>
<li>Glücklich, wenn Super Spell Boy so viel einspielt, dass das nächste Spiel finanziert ist</li>
</ul>
<h3>Marketing (01:25:01)</h3>
<ul>
<li>Während der Entwicklung kaum Marketing</li>
<li>Seit Release Facebook (<a href="https://www.facebook.com/SuperSpellBoy">https://www.facebook.com/SuperSpellBoy</a>), Twitter (<a href="https://twitter.com/SuperSpellBoy">https://twitter.com/SuperSpellBoy</a>) etc.</li>
<li>Werbung bisher nur in Facebook</li>
<li>Likes &quot;kaufen&quot;</li>
<li>Gameplay-Video &quot;Fast Forward&quot; beworben: <a href="http://www.youtube.com/watch?v=L_WZVLLU2Mg">http://www.youtube.com/watch?v=L_WZVLLU2Mg</a>. Hat mittlerweile 1470 Likes</li>
<li>Budget pro Tag</li>
<li>Im Detail die Zielgruppe bestimmen
<ul>
<li>Nur Spiele-Interessierte</li>
<li>Nur iOS-Nutzer</li>
<li>etc.</li>
</ul></li>
<li>Apple Verkaufsstatistiken sind verzögert</li>
<li>Promo-Codes
<ul>
<li>Anschreiben wegen Promo-Codes</li>
<li>Bewertung schreiben im App-Store</li>
</ul></li>
<li>Wurde angeschrieben von YouTube-App-Reviewer
<ul>
<li>1 Review für Lau (paar hundert Views pro Video)</li>
<li>1 Review für 350 USD (Views im tausender Bereich)</li>
</ul></li>
</ul>
<h3>Monetarisierung als Indie-Game-Entwickler (01:33:57)</h3>
<ul>
<li>Interview mit Michael Contento <a href="http://www.gamasutra.com/blogs/RuthWilson/20130827/199049/CREATING_GAMES_FOR_KIDS_HOW_TO_FIND_AND_TEST_CONTENT_MONETIZE_AND_MARKET_YOUR_GAME.php">http://www.gamasutra.com/blogs/RuthWilson/20130827/199049/CREATING_GAMES_FOR_KIDS_HOW_TO_FIND_AND_TEST_CONTENT_MONETIZE_AND_MARKET_YOUR_GAME.php</a></li>
<li>Cross-Platform-Entwickler</li>
<li>Spieler für Kinder</li>
<li>Free2Play</li>
<li>In-App-Purchase
<ul>
<li>Werbung ausblenden</li>
<li>Weitere Level kaufen</li>
</ul></li>
<li>Interview: Welche Herausforderungen bei diesem Ansatz
<ul>
<li>Ansazt auf Masse</li>
<li>Andere Strategien da man alleine ist</li>
<li>Marketing ist teuer</li>
</ul></li>
<li>Ziel: Spiel muss in die Top-Charts kommen</li>
<li>Einkaufen von Reviews, Pressemitteilungen und Downloads</li>
<li>Preise hoch/runter setzen um auf Crawling-Seiten zu erscheinen</li>
</ul>
<h3>Zusammenfassung (01:38:04)</h3>
<ul>
<li>Game-Entwicklung cool</li>
<li>Marketing uncool</li>
<li>Weitere Links:
<ul>
<li>iOS 5 By Tutorials (<a href="http://www.raywenderlich.com/store/ios-5-by-tutorials">http://www.raywenderlich.com/store/ios-5-by-tutorials</a>)</li>
<li>iOS 6 By Tutorials (<a href="http://www.raywenderlich.com/store/ios-6-by-tutorials">http://www.raywenderlich.com/store/ios-6-by-tutorials</a>)</li>
</ul></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST024" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:01:50" title="Unser Gast" />
<psc:chapter start="00:04:00" title="Browser Spieleentwicklung" />
<psc:chapter start="00:07:00" title="iOS Spieleentwicklung" />
<psc:chapter start="00:16:20" title="Grafiken" />
<psc:chapter start="00:28:52" title="Sound &amp; Music erstellen" />
<psc:chapter start="00:33:53" title="Super Spell Boy" />
<psc:chapter start="00:43:50" title="Kollisionserkennung" />
<psc:chapter start="00:50:00" title="Gesten" />
<psc:chapter start="00:57:35" title="Sound und Musik abspielen" />
<psc:chapter start="00:58:59" title="Entwicklungsprozess" />
<psc:chapter start="01:00:55" title="Testen" />
<psc:chapter start="01:02:09" title="Zum Schluss: Menüs, Logo, Settings etc." />
<psc:chapter start="01:04:20" title="Balancing" />
<psc:chapter start="01:06:25" title="Entwicklungsdauer" />
<psc:chapter start="01:08:50" title="SpriteKit" />
<psc:chapter start="01:15:10" title="Preisfindung" />
<psc:chapter start="01:25:01" title="Marketing" />
<psc:chapter start="01:33:57" title="Monetarisierung als Indie-Game-Entwickler" />
<psc:chapter start="01:38:04" title="Zusammenfassung" />
</psc:chapters>
</item>
<item>
<title>GST025 - Vom Tellerwäscher zum Lisp-Entwickler</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Mit Moritz Heidkamp über die Geschichte und das Ökosystem von Lisp</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst025.mp3" length="71525953" type="audio/mpeg"/>
<guid isPermaLink="false">GST025</guid>
<pubDate>Mon, 21 Oct 2013 18:56:59 +0200</pubDate>
<itunes:duration>01:38:57</itunes:duration>
<itunes:summary><![CDATA[Synopsis: Wir hatten Moritz Heidkamp aus Köln auf unserer Couch zu Gast und sprachen mit ihm über Lisp. Wir haben dabei ganz vorne bei John McCarthy angefangen und uns dann bis in die Gegenwart zu Clojure durchgebissen. Auf dem Weg dorthin lernen wir, wie zersplittert die Lisp-Gemeinde schon immer war und wohl auch immer sein wird. Was daraus für Probleme entstehen, aber vor allem welche Möglichkeiten es eröffnet. Den Abschluss macht ein Rückblick der EuroClojure und einige Buchempfehlungen für Einsteiger.
### Intro (00:00:00)
* Bierüberschuss im Home Office
* 6th Cologne Web Performance Meetup: http://www.meetup.com/cologne-germany-high-performance-website-optimization-group/events/118740262/
### Unser Gast (00:01:15)
* Moritz Heidkamp, @DerGuteMoritz, http://ceaude.twoticketsplease.de/
* Softwareentwickler seit 2006
* wollte ursprünglich mal Deutsch- und Geschichtslehrer werden
* studiert nun (ein bisschen) Informationsverarbeitung an der Uni Köln (Crossover aus Informatik und Geisteswissenschaften)
* Gründungsmitglied RuRuG, der Vorläufer der heutigen cologne.rb (http://colognerb.de)
### Informatik an den Schulen (00:05:55)
* Moritz hatte einen guten Informatiklehrer
* Basti leider nicht :-/
* Wir fragen uns, ob es Informatik auf Lehramt gibt
* Weil Informatiklehrer ja oft gar keine Informatiker sind
* Rasberry Pi: http://www.raspberrypi.org
### Von Ruby zu Lisp (00:10:58)
* Moritz suchte eine Alternative zu Ruby und fand Lisp: http://de.wikipedia.org/wiki/Lisp
* arbeitet für [bevuta IT](http://www.bevuta.com/), wo u.a. Lisp kommerziell eingesetzt wird
* Moritz macht auch Erlang bei bevuta
### Elixir (00:14:23)
* Elixir (http://elixir-lang.org/): "Elixir is a functional, meta-programming aware language built on top of the Erlang VM"
* Reia (http://reia-lang.org/): "Reia is a Ruby-like scripting language for the Erlang virtual machine."
* PeepCode "Meet Elixir" mit José Valim: https://peepcode.com/products/elixir
* Joe Armstrong über Elixir: http://joearms.github.io/2013/05/31/a-week-with-elixir.html
* Prolog: http://en.wikipedia.org/wiki/Prolog
* Basti sieht die Gefahr, das Elixir und Ruby sich zu ähnlich sehen und das zu Verwirrungen führen könnte
* Elixir macht einen schönen, konsistenten Eindruck
* Tsung: http://tsung.erlang-projects.org
### Lisp, eine Historie (00:25:30)
* Clojure: http://clojure.org/
* Joxa (http://joxa.org/), a concurrent distributed Lisp
* The Concurrent Schemer: http://the-concurrent-schemer.github.io/scm-doc/)
* The History of Lisp: http://www-formal.stanford.edu/jmc/history/lisp/lisp.html)
* John McCarthy: http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)
* Lambda-Kalkül: http://de.wikipedia.org/wiki/Lambda-Kalk%C3%BCl
* Java: Lambda Expressions: http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html
* Listen als Programme: (Operator Operant1 Operant2 ...)
* S-expression, "symbolic expression": http://en.wikipedia.org/wiki/S-expression
* M-expression, "meta expression": http://en.wikipedia.org/wiki/M-expression
* Scheme: http://en.wikipedia.org/wiki/Scheme_(programming_language)
* Ruby 2.1: Methoden Definitionen geben nun den Methoden Namen als Symbol zurück: http://rkh.im/ruby-2.1
* Wir sprechen über den semantischen Unterschied von Symbolen und Strings
* PicoLisp, ein minimalistisches Lisp: http://picolisp.com
* Clojure hat dagegen ein deutlich reicheres Set an Datenstrukturen
* Clojure legt viel Wert auf Immutability
* Common Lisp: http://en.wikipedia.org/wiki/Common_Lisp
* Emacs: http://www.gnu.org/software/emacs/
* Es gibt verschiedene Modell Lisp laufen zu lassen: kompiliert, interpretiert, beides :)
* Stalin, ein Scheme Compiler, "Stalin brutally optimizes.": http://en.wikipedia.org/wiki/Stalin_(scheme_implementation)
* In akademischen Veröffentlichung wird oft ein Lisp als Beispielsprache verwendet
* Insgesamt ist es sehr vielfältig, aber dabei (vielleicht) zu vielfältig
* In der Regel sind die Dialekte nicht untereinander kompatibel
* Die Lisp-Community neigt dazu, immer wieder neue Dialekte zu schaffen. Bedingt durch die Einfachheit dies zu tun.
* Keine Konvergenz in Sicht :-)
* In den 70er gab es bereits einen unüberschaubaren Wildwuchs an Dialekten. Daher die Initiative einen gemeinsamen Standard zu schaffen: Common Lisp, weil Standard Lisp gab es schon ^^
* Hat bis in die 90er gedauert!
* Ist jetzt aber ein ANSI-Standard
* Entwicklung des Standards über Mail, Archiv: ftp://ftp.cs.rochester.edu/pub/archives/lisp-standards/
* Ergebnis: 2000 Seiten langer Standard, Sprache inkl. Standard Bibliothek
* Guy Steele hat in Form eines Buches vor Verabschiedung des Standards einfach Tatsachen geschaffen: https://en.wikipedia.org/wiki/Common_Lisp_the_Language
### Lisp in der Praxis (00:56:17)
* Probleme für den realen Einsatz ergeben sich durch die vielen Unterschiede allerdings weniger als man denkt
* Trotzdem ist es ein Problem, dass sehr viel Energie "verloren" geht: Die tolle Bibliothek A lässt sich dann nicht in Lisp X verwenden
* Man muss das Rad zwar relativ oft neu erfinden, aber es gibt zumindest einige Implementierung mit einer kleinen Community und Infrastruktur
* Bei bevuta wird Chicken Scheme (http://www.call-cc.org/) eingesetzt und man kann etwa auf 500 Erweiterungen zugreifen ("Eggs", lassen sich ähnlich wie Rubygems installieren)
* Insgesamt extremer Gegensatz zu Java: Bis ins letzte spezifizierte Sprache mit definiertem Verhalten
* Stichwort Java: Clojure versucht den Nachteil von zu wenig Bibliotheken so auszugleichen, dass man auf Java-Bibliotheken zugreifen kann
* Problem: Das Programmiermodell von Java passt nicht zu dem von Clojure
* Die Abbildung von Java-Objekten in Clojure und deren Verwendung ist Aufgabe des Entwicklers
* Für jede Klasse muss im Grunde eine neue Sprache gelernt werden
* Eine Möglichkeit ist zum Beispiel Attribute aus einem Java-Objekt in eine Clojure-Map zu übertragen
* Beispiel: Ring (https://github.com/ring-clojure/ring) übersetzt Requests aus Java-Webservern in Clojure-Maps und zurück
* Lisps versuchen in der Regel alles auf Listen abzubilden, weil dafür gibt es schon alle Operationen
* Klassen sind hingegen durch die Vorgaben des Entwicklers in ihrer Verwendung eingeschränkt
* Zwei Kulturen treffen aufeinander, dazu gibt es von Rich Hickey (Clojure) einige gute Talks: https://www.youtube.com/watch?v=rI8tNMsozo0
* Andere Ansätze/Modelle können/sollten Anregungen für die eigene "Welt" geben (z.B.: Immutability lässt sich auch in anderen Sprachen verwenden)
* bevuta versucht so viel wie möglich in Scheme zu machen, aber gerade bei Mobilentwicklung ist das leider nicht möglich
* Theoretisch läuft Clojure zwar auf Android, ist dort aber viel zu langsam
* Aber: Die Businesslogik kann in Scheme geschrieben werden und wird anschließend nach C kompiliert, um das dann in Objective-C und Java (via JNI) einzubinden
* Notwendiger Glue-Code ist sehr wenig, vor allem im Fall von Objective-C, JNI ist da anstrengender
* Auch als Script-Sprache lässt sich Scheme ohne weiteres verwenden
* Moritz macht alles™ in Emacs (soweit möglich), z.B.: Email, Todo-App. Gibt sogar einen PDF-Reader
* Man könnte Emacs auch als Shell booten und dann aus Emacs bei Bedarf Shells starten, dabei kollidieren aber Keybindings (vor allem bei ncurses-Anwendungen). Also nicht so toll.
* Stichwort Emacs als Betriebssystem: Es gab in den 70er- und 80er-Jahren auch Lisp-Maschinen: https://de.wikipedia.org/wiki/Lisp-Maschine
* Wie die genau funktionieren ist bei uns dünnes Eis ^^
* Entwicklung wurde dann Ende der 80er eingestellt, weil die Forschungsgelder im Bereich künstliche Intellegenz (vor allem vom Militär) zusammengestrichen wurden
### EuroClojure (01:15:55)
* Moritz war auf der EuroClojure in Berlin: http://euroclojure.com/2013/, ist die europäische Clojure Konferenz (~ 300 Teilnehmer)
* Ansonsten ist Clojure sehr amerikanisch geprägt
* Inhalt aber nicht ausschließlich Clojure, 2 Präsentationen über das eigene Lisp ;-)
* Toy Lisp: https://www.google.com/search?q=toy%20lisp
* Moritz hat mal eine Liste von Lisp-Implementierungen in Javascript zusammengestellt: Ergebnis 50+
* Real-World-Clojure-Projekte auf der Konferenz:
* dailymail.co.uk: Hat ihr uraltes Backend im laufenden Betrieb auf Clojure umgestellt
* "Internet of Things"-Plattform ist von Rails nach Clojure migriert; Grund für Clojure war, sie haben am meisten in der kürzesten Zeit erreicht (im Vergleich zu anderen Technologien)
* Clojures Webstack ist bereits sehr ausgereift, u.a. weil viele Ruby-Entwickler zu Clojure gegangen sind und Konzepte mitgenommen haben (Bsp.: Ring ist von Rack inspiriert)
* Leider keine Aufzeichnung der Talks :-(
* Besonders Schade um die Keynote:
* Verhältnis zwischen der perfekten Architektur und der Abwesenheit von Architektur
* Brasília als Beispiel von perfekt geplanter Stadt und dennoch wenig brauchbar
* Beispiel von Städteplanung auf Softwareentwicklung
* Java EE vs. PHP Frickelshop: Beides kann man nicht wirklich benutzen
* Fazit: Ein gute Mischung von Struktur und Chaos finden
* Moritz kann die Konferenz empfehlen, auch für Leute die sonst kein Clojure machen
* Clojure ist auch in der Lisp-Community schnell aufgestiegen und gehört mittlerweile zu den Top-3
* Positive Auswirkungen des Clojure-Hypes auf die Akzeptanz von Lisp konnte Moritz noch nicht feststellen
### Getting Started (01:30:41)
* Clojure hat eine sehr viel freundlichere Community als etwa Common Lisp, vergleichbar mit der von Ruby
* Moritz selbst bewegt sich vor allem im Chicken Scheme Umfeld und der Entwickler mittlerweile ist auch bei bevuta eingestellt
* Chicken Scheme hat auch eine angenehme Community in der man auch Einsteigern gerne weiterhilft (ähnlich zu Clojure)
* Clojure und Chicken sind daher auf jeden Fall die Empfehlung für den Einstieg
* Das Problem ist allerdings gutes Tutorial-Material zu bekommen:
* Clojure ist da ganz gut aufgestellt, auch mit Büchern für Einsteiger
* Die anderen Lisps tun sich damit sehr schwer
* Ein gutes Buch für Common Lisp ist "Practical Common Lisp" von Peter Seibel (http://www.amazon.de/Practical-Common-Lisp-Peter-Seibel/dp/1590592395)
* Auch für Common Lisp ist "Land of Lisp" von Conrad Barski (http://www.amazon.de/Land-Lisp-Learn-Program-Game/dp/1593272812/ref=sr_1_1?s=books-intl-de&ie=UTF8&qid=1382353124&sr=1-1&keywords=The+land+of+lisp)
* Für Scheme sieht es da eher düster aus. Hauptwerk ist "Structure and Interpretation of Computer Programs" (http://www.amazon.de/Structure-Interpretation-Computer-Electrical-Engineering/dp/0262510871/ref=sr_1_1?s=books-intl-de&ie=UTF8&qid=1382353230&sr=1-1&keywords=Structure+and+Interpretation+of+Computer+Programs) was sehr akademisch ist. Weil es das ehemalige Lehrbuch des MIT ist.
* Von den Vorlesungen (Anfang der 80er) gibt es sogar noch Videoaufzeichnungen
* Usergroups in Köln:
* Cologne Clojure: http://www.meetup.com/clojure-cologne (gibt aber auch was anderes als Clojure), Treffen in der Bottmühle
* Moritz wollte mal eine Gruppe machen für Sprachen die eigentlich keine Rolle spielen , ähnlich der FringeDC von Conrad Barski (gibt es aber auch nicht mehr)]]></itunes:summary>
<description><![CDATA[<p>Synopsis: Wir hatten Moritz Heidkamp aus Köln auf unserer Couch zu Gast und sprachen mit ihm über Lisp. Wir haben dabei ganz vorne bei John McCarthy angefangen und uns dann bis in die Gegenwart zu Clojure durchgebissen. Auf dem Weg dorthin lernen wir, wie zersplittert die Lisp-Gemeinde schon immer war und wohl auch immer sein wird. Was daraus für Probleme entstehen, aber vor allem welche Möglichkeiten es eröffnet. Den Abschluss macht ein Rückblick der EuroClojure und einige Buchempfehlungen für Einsteiger.</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Bierüberschuss im Home Office</li>
<li>6th Cologne Web Performance Meetup: <a href="http://www.meetup.com/cologne-germany-high-performance-website-optimization-group/events/118740262/">http://www.meetup.com/cologne-germany-high-performance-website-optimization-group/events/118740262/</a></li>
</ul>
<h3>Unser Gast (00:01:15)</h3>
<ul>
<li>Moritz Heidkamp, <a href="https://twitter.com/DerGuteMoritz">@DerGuteMoritz</a>, <a href="http://ceaude.twoticketsplease.de/">http://ceaude.twoticketsplease.de/</a></li>
<li>Softwareentwickler seit 2006</li>
<li>wollte ursprünglich mal Deutsch- und Geschichtslehrer werden</li>
<li>studiert nun (ein bisschen) Informationsverarbeitung an der Uni Köln (Crossover aus Informatik und Geisteswissenschaften)</li>
<li>Gründungsmitglied RuRuG, der Vorläufer der heutigen cologne.rb (<a href="http://colognerb.de">http://colognerb.de</a>)</li>
</ul>
<h3>Informatik an den Schulen (00:05:55)</h3>
<ul>
<li>Moritz hatte einen guten Informatiklehrer</li>
<li>Basti leider nicht :-/</li>
<li>Wir fragen uns, ob es Informatik auf Lehramt gibt</li>
<li>Weil Informatiklehrer ja oft gar keine Informatiker sind</li>
<li>Rasberry Pi: <a href="http://www.raspberrypi.org">http://www.raspberrypi.org</a></li>
</ul>
<h3>Von Ruby zu Lisp (00:10:58)</h3>
<ul>
<li>Moritz suchte eine Alternative zu Ruby und fand Lisp: <a href="http://de.wikipedia.org/wiki/Lisp">http://de.wikipedia.org/wiki/Lisp</a></li>
<li>arbeitet für <a href="http://www.bevuta.com/">bevuta IT</a>, wo u.a. Lisp kommerziell eingesetzt wird</li>
<li>Moritz macht auch Erlang bei bevuta</li>
</ul>
<h3>Elixir (00:14:23)</h3>
<ul>
<li>Elixir (<a href="http://elixir-lang.org/):">http://elixir-lang.org/):</a> &quot;Elixir is a functional, meta-programming aware language built on top of the Erlang VM&quot;</li>
<li>Reia (<a href="http://reia-lang.org/):">http://reia-lang.org/):</a> &quot;Reia is a Ruby-like scripting language for the Erlang virtual machine.&quot;</li>
<li>PeepCode &quot;Meet Elixir&quot; mit José Valim: <a href="https://peepcode.com/products/elixir">https://peepcode.com/products/elixir</a></li>
<li>Joe Armstrong über Elixir: <a href="http://joearms.github.io/2013/05/31/a-week-with-elixir.html">http://joearms.github.io/2013/05/31/a-week-with-elixir.html</a></li>
<li>Prolog: <a href="http://en.wikipedia.org/wiki/Prolog">http://en.wikipedia.org/wiki/Prolog</a></li>
<li>Basti sieht die Gefahr, das Elixir und Ruby sich zu ähnlich sehen und das zu Verwirrungen führen könnte</li>
<li>Elixir macht einen schönen, konsistenten Eindruck</li>
<li>Tsung: <a href="http://tsung.erlang-projects.org">http://tsung.erlang-projects.org</a></li>
</ul>
<h3>Lisp, eine Historie (00:25:30)</h3>
<ul>
<li>Clojure: <a href="http://clojure.org/">http://clojure.org/</a></li>
<li>Joxa (<a href="http://joxa.org/">http://joxa.org/</a>), a concurrent distributed Lisp</li>
<li>The Concurrent Schemer: <a href="http://the-concurrent-schemer.github.io/scm-doc/">http://the-concurrent-schemer.github.io/scm-doc/</a>)</li>
<li>The History of Lisp: <a href="http://www-formal.stanford.edu/jmc/history/lisp/lisp.html">http://www-formal.stanford.edu/jmc/history/lisp/lisp.html</a>)</li>
<li>John McCarthy: <a href="http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)">http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)</a></li>
<li>Lambda-Kalkül: <a href="http://de.wikipedia.org/wiki/Lambda-Kalk%C3%BCl">http://de.wikipedia.org/wiki/Lambda-Kalk%C3%BCl</a></li>
<li>Java: Lambda Expressions: <a href="http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html">http://docs.oracle.com/javase/tutorial/java/javaOO/lambdaexpressions.html</a></li>
<li>Listen als Programme: (Operator Operant1 Operant2 ...)</li>
<li>S-expression, &quot;symbolic expression&quot;: <a href="http://en.wikipedia.org/wiki/S-expression">http://en.wikipedia.org/wiki/S-expression</a></li>
<li>M-expression, &quot;meta expression&quot;: <a href="http://en.wikipedia.org/wiki/M-expression">http://en.wikipedia.org/wiki/M-expression</a></li>
<li>Scheme: <a href="http://en.wikipedia.org/wiki/Scheme_(programming_language)">http://en.wikipedia.org/wiki/Scheme_(programming_language)</a></li>
<li>Ruby 2.1: Methoden Definitionen geben nun den Methoden Namen als Symbol zurück: <a href="http://rkh.im/ruby-2.1">http://rkh.im/ruby-2.1</a></li>
<li>Wir sprechen über den semantischen Unterschied von Symbolen und Strings</li>
<li>PicoLisp, ein minimalistisches Lisp: <a href="http://picolisp.com">http://picolisp.com</a></li>
<li>Clojure hat dagegen ein deutlich reicheres Set an Datenstrukturen</li>
<li>Clojure legt viel Wert auf Immutability</li>
<li>Common Lisp: <a href="http://en.wikipedia.org/wiki/Common_Lisp">http://en.wikipedia.org/wiki/Common_Lisp</a></li>
<li>Emacs: <a href="http://www.gnu.org/software/emacs/">http://www.gnu.org/software/emacs/</a></li>
<li>Es gibt verschiedene Modell Lisp laufen zu lassen: kompiliert, interpretiert, beides :)</li>
<li>Stalin, ein Scheme Compiler, &quot;Stalin brutally optimizes.&quot;: <a href="http://en.wikipedia.org/wiki/Stalin_(scheme_implementation)">http://en.wikipedia.org/wiki/Stalin_(scheme_implementation)</a></li>
<li>In akademischen Veröffentlichung wird oft ein Lisp als Beispielsprache verwendet</li>
<li>Insgesamt ist es sehr vielfältig, aber dabei (vielleicht) zu vielfältig</li>
<li>In der Regel sind die Dialekte nicht untereinander kompatibel</li>
<li>Die Lisp-Community neigt dazu, immer wieder neue Dialekte zu schaffen. Bedingt durch die Einfachheit dies zu tun.</li>
<li>Keine Konvergenz in Sicht :-)</li>
<li>In den 70er gab es bereits einen unüberschaubaren Wildwuchs an Dialekten. Daher die Initiative einen gemeinsamen Standard zu schaffen: Common Lisp, weil Standard Lisp gab es schon ^^</li>
<li>Hat bis in die 90er gedauert!</li>
<li>Ist jetzt aber ein ANSI-Standard</li>
<li>Entwicklung des Standards über Mail, Archiv: <a href="ftp://ftp.cs.rochester.edu/pub/archives/lisp-standards/">ftp://ftp.cs.rochester.edu/pub/archives/lisp-standards/</a></li>
<li>Ergebnis: 2000 Seiten langer Standard, Sprache inkl. Standard Bibliothek</li>
<li>Guy Steele hat in Form eines Buches vor Verabschiedung des Standards einfach Tatsachen geschaffen: <a href="https://en.wikipedia.org/wiki/Common_Lisp_the_Language">https://en.wikipedia.org/wiki/Common_Lisp_the_Language</a></li>
</ul>
<h3>Lisp in der Praxis (00:56:17)</h3>
<ul>
<li>Probleme für den realen Einsatz ergeben sich durch die vielen Unterschiede allerdings weniger als man denkt</li>
<li>Trotzdem ist es ein Problem, dass sehr viel Energie &quot;verloren&quot; geht: Die tolle Bibliothek A lässt sich dann nicht in Lisp X verwenden</li>
<li>Man muss das Rad zwar relativ oft neu erfinden, aber es gibt zumindest einige Implementierung mit einer kleinen Community und Infrastruktur</li>
<li>Bei bevuta wird Chicken Scheme (<a href="http://www.call-cc.org/">http://www.call-cc.org/</a>) eingesetzt und man kann etwa auf 500 Erweiterungen zugreifen (&quot;Eggs&quot;, lassen sich ähnlich wie Rubygems installieren)</li>
<li>Insgesamt extremer Gegensatz zu Java: Bis ins letzte spezifizierte Sprache mit definiertem Verhalten</li>
<li>Stichwort Java: Clojure versucht den Nachteil von zu wenig Bibliotheken so auszugleichen, dass man auf Java-Bibliotheken zugreifen kann</li>
<li>Problem: Das Programmiermodell von Java passt nicht zu dem von Clojure</li>
<li>Die Abbildung von Java-Objekten in Clojure und deren Verwendung ist Aufgabe des Entwicklers</li>
<li>Für jede Klasse muss im Grunde eine neue Sprache gelernt werden</li>
<li>Eine Möglichkeit ist zum Beispiel Attribute aus einem Java-Objekt in eine Clojure-Map zu übertragen</li>
<li>Beispiel: Ring (<a href="https://github.com/ring-clojure/ring">https://github.com/ring-clojure/ring</a>) übersetzt Requests aus Java-Webservern in Clojure-Maps und zurück</li>
<li>Lisps versuchen in der Regel alles auf Listen abzubilden, weil dafür gibt es schon alle Operationen</li>
<li>Klassen sind hingegen durch die Vorgaben des Entwicklers in ihrer Verwendung eingeschränkt</li>
<li>Zwei Kulturen treffen aufeinander, dazu gibt es von Rich Hickey (Clojure) einige gute Talks: <a href="https://www.youtube.com/watch?v=rI8tNMsozo0">https://www.youtube.com/watch?v=rI8tNMsozo0</a></li>
<li>Andere Ansätze/Modelle können/sollten Anregungen für die eigene &quot;Welt&quot; geben (z.B.: Immutability lässt sich auch in anderen Sprachen verwenden)</li>
<li>bevuta versucht so viel wie möglich in Scheme zu machen, aber gerade bei Mobilentwicklung ist das leider nicht möglich
<ul>
<li>Theoretisch läuft Clojure zwar auf Android, ist dort aber viel zu langsam</li>
</ul></li>
<li>Aber: Die Businesslogik kann in Scheme geschrieben werden und wird anschließend nach C kompiliert, um das dann in Objective-C und Java (via JNI) einzubinden</li>
<li>Notwendiger Glue-Code ist sehr wenig, vor allem im Fall von Objective-C, JNI ist da anstrengender</li>
<li>Auch als Script-Sprache lässt sich Scheme ohne weiteres verwenden</li>
<li>Moritz macht alles™ in Emacs (soweit möglich), z.B.: Email, Todo-App. Gibt sogar einen PDF-Reader</li>
<li>Man könnte Emacs auch als Shell booten und dann aus Emacs bei Bedarf Shells starten, dabei kollidieren aber Keybindings (vor allem bei ncurses-Anwendungen). Also nicht so toll.</li>
<li>Stichwort Emacs als Betriebssystem: Es gab in den 70er- und 80er-Jahren auch Lisp-Maschinen: <a href="https://de.wikipedia.org/wiki/Lisp-Maschine">https://de.wikipedia.org/wiki/Lisp-Maschine</a></li>
<li>Wie die genau funktionieren ist bei uns dünnes Eis ^^</li>
<li>Entwicklung wurde dann Ende der 80er eingestellt, weil die Forschungsgelder im Bereich künstliche Intellegenz (vor allem vom Militär) zusammengestrichen wurden</li>
</ul>
<h3>EuroClojure (01:15:55)</h3>
<ul>
<li>Moritz war auf der EuroClojure in Berlin: <a href="http://euroclojure.com/2013/">http://euroclojure.com/2013/</a>, ist die europäische Clojure Konferenz (~ 300 Teilnehmer)</li>
<li>Ansonsten ist Clojure sehr amerikanisch geprägt</li>
<li>Inhalt aber nicht ausschließlich Clojure, 2 Präsentationen über das eigene Lisp ;-)</li>
<li>Toy Lisp: <a href="https://www.google.com/search?q=toy%20lisp">https://www.google.com/search?q=toy%20lisp</a></li>
<li>Moritz hat mal eine Liste von Lisp-Implementierungen in Javascript zusammengestellt: Ergebnis 50+</li>
<li>Real-World-Clojure-Projekte auf der Konferenz:
<ul>
<li>dailymail.co.uk: Hat ihr uraltes Backend im laufenden Betrieb auf Clojure umgestellt</li>
<li>&quot;Internet of Things&quot;-Plattform ist von Rails nach Clojure migriert; Grund für Clojure war, sie haben am meisten in der kürzesten Zeit erreicht (im Vergleich zu anderen Technologien)</li>
</ul></li>
<li>Clojures Webstack ist bereits sehr ausgereift, u.a. weil viele Ruby-Entwickler zu Clojure gegangen sind und Konzepte mitgenommen haben (Bsp.: Ring ist von Rack inspiriert)</li>
<li>Leider keine Aufzeichnung der Talks :-(</li>
<li>Besonders Schade um die Keynote:
<ul>
<li>Verhältnis zwischen der perfekten Architektur und der Abwesenheit von Architektur</li>
<li>Brasília als Beispiel von perfekt geplanter Stadt und dennoch wenig brauchbar</li>
<li>Beispiel von Städteplanung auf Softwareentwicklung</li>
<li>Java EE vs. PHP Frickelshop: Beides kann man nicht wirklich benutzen</li>
<li>Fazit: Ein gute Mischung von Struktur und Chaos finden</li>
</ul></li>
<li>Moritz kann die Konferenz empfehlen, auch für Leute die sonst kein Clojure machen</li>
<li>Clojure ist auch in der Lisp-Community schnell aufgestiegen und gehört mittlerweile zu den Top-3</li>
<li>Positive Auswirkungen des Clojure-Hypes auf die Akzeptanz von Lisp konnte Moritz noch nicht feststellen</li>
</ul>
<h3>Getting Started (01:30:41)</h3>
<ul>
<li>Clojure hat eine sehr viel freundlichere Community als etwa Common Lisp, vergleichbar mit der von Ruby</li>
<li>Moritz selbst bewegt sich vor allem im Chicken Scheme Umfeld und der Entwickler mittlerweile ist auch bei bevuta eingestellt</li>
<li>Chicken Scheme hat auch eine angenehme Community in der man auch Einsteigern gerne weiterhilft (ähnlich zu Clojure)</li>
<li>Clojure und Chicken sind daher auf jeden Fall die Empfehlung für den Einstieg</li>
<li>Das Problem ist allerdings gutes Tutorial-Material zu bekommen:
<ul>
<li>Clojure ist da ganz gut aufgestellt, auch mit Büchern für Einsteiger</li>
<li>Die anderen Lisps tun sich damit sehr schwer</li>
<li>Ein gutes Buch für Common Lisp ist &quot;Practical Common Lisp&quot; von Peter Seibel (<a href="http://www.amazon.de/Practical-Common-Lisp-Peter-Seibel/dp/1590592395">http://www.amazon.de/Practical-Common-Lisp-Peter-Seibel/dp/1590592395</a>)</li>
<li>Auch für Common Lisp ist &quot;Land of Lisp&quot; von Conrad Barski (<a href="http://www.amazon.de/Land-Lisp-Learn-Program-Game/dp/1593272812/ref=sr_1_1?s=books-intl-de&amp;ie=UTF8&amp;qid=1382353124&amp;sr=1-1&amp;keywords=The+land+of+lisp">http://www.amazon.de/Land-Lisp-Learn-Program-Game/dp/1593272812/ref=sr_1_1?s=books-intl-de&amp;ie=UTF8&amp;qid=1382353124&amp;sr=1-1&amp;keywords=The+land+of+lisp</a>)</li>
<li>Für Scheme sieht es da eher düster aus. Hauptwerk ist &quot;Structure and Interpretation of Computer Programs&quot; (<a href="http://www.amazon.de/Structure-Interpretation-Computer-Electrical-Engineering/dp/0262510871/ref=sr_1_1?s=books-intl-de&amp;ie=UTF8&amp;qid=1382353230&amp;sr=1-1&amp;keywords=Structure+and+Interpretation+of+Computer+Programs">http://www.amazon.de/Structure-Interpretation-Computer-Electrical-Engineering/dp/0262510871/ref=sr_1_1?s=books-intl-de&amp;ie=UTF8&amp;qid=1382353230&amp;sr=1-1&amp;keywords=Structure+and+Interpretation+of+Computer+Programs</a>) was sehr akademisch ist. Weil es das ehemalige Lehrbuch des MIT ist.</li>
<li>Von den Vorlesungen (Anfang der 80er) gibt es sogar noch Videoaufzeichnungen</li>
</ul></li>
<li>Usergroups in Köln:
<ul>
<li>Cologne Clojure: <a href="http://www.meetup.com/clojure-cologne">http://www.meetup.com/clojure-cologne</a> (gibt aber auch was anderes als Clojure), Treffen in der Bottmühle</li>
<li>Moritz wollte mal eine Gruppe machen für Sprachen die eigentlich keine Rolle spielen , ähnlich der FringeDC von Conrad Barski (gibt es aber auch nicht mehr)</li>
</ul></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST025" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:01:15" title="Unser Gast" />
<psc:chapter start="00:05:55" title="Informatik an den Schulen" />
<psc:chapter start="00:10:58" title="Von Ruby zu Lisp" />
<psc:chapter start="00:14:23" title="Elixir" />
<psc:chapter start="00:25:30" title="Lisp, eine Historie" />
<psc:chapter start="00:56:17" title="Lisp in der Praxis" />
<psc:chapter start="01:15:55" title="EuroClojure" />
<psc:chapter start="01:30:41" title="Getting Started" />
</psc:chapters>
</item>
<item>
<title>GST026 - RubyConf 2013</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Post-Berichterstattung zur RubyConf 2013 mit Lucas Dohmen</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst026.mp3" length="59345519" type="audio/mpeg"/>
<guid isPermaLink="false">GST026</guid>
<pubDate>Mon, 25 Nov 2013 11:19:48 +0100</pubDate>
<itunes:duration>01:22:03</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Lucas und Dirk waren auf der RubyConf in Miami Beach. Wir
berichten von ihren Eindrücken und es gibt natürlich die ein oder andere
Empfehlung für einen Vortrag. Darüber hinaus diskutieren wir über die Inhalte einiger Talks.
Insgesamt ist die Folge leider ein bisschen durcheinander, trotzdem viel Spaß beim hören.
### Intro (00:00:00)
* Wir trinken Mühlen Kölsch! http://www.muehlenkoelsch.de/
* Der Lucas ist dabei! Und es ist das fünfte mal :)
* http://geekstammtisch.de/#GST006
* http://geekstammtisch.de/#GST008
* http://geekstammtisch.de/#GST013
* http://geekstammtisch.de/#GST021
* RubyConf 2013 Miami Beach: http://rubyconf.org/
* Heutiger Titelsong: Miami Vice: http://en.wikipedia.org/wiki/Miami_Vice
### Exkurs: Letzter Geekstammtich über Lisp (00:02:35)
* Allgemein gutes Feedback und Lucas fand es auch gut
* JavaScript Lisp Implementationen (von @DerGuteMoritz): http://ceaude.twoticketsplease.de/js-lisps.html
* Hygienische Makros: http://en.wikipedia.org/wiki/Hygienic_macro
### RubyConf (00:04:15)
* Dirk und Lucas waren da!
* Comic-Con in San Diego: http://www.comic-con.org/
* Die Location war ganz cool, WiFi leider nicht so
* RubyConf Schedule gibt es hier in einer Übersicht: http://rubyconf.org/schedule
### Allgemeines (00:07:00)
* Talks wurden gestreamt
* Videos gibt es gegen Ende November
* Dirk und Lucas müssen auch noch Talks schauen (3 Tracks ist halt zu viel)
* Anfangs gab es im Schedule keine Angabe der Speaker; wurde dann aber nachgetragen
### Talks, Talks, Talks (00:09:25)
* The Big Picture (Jim Weirich): http://rubyconf.org/program#jim-weirich
* Keynote Tag 1 von Matz über Phantasie Land, Außenwahrnehmung, Wahrnehmung, eher verwirrend... also, wie immer :)
* That's Not Very Ruby of You (Keynote Tag 3), Ernie Miller: http://rubyconf.org/program#ernie-miller
* My KidsRuby Journey (Keynote Tag 2), PJ & Katie Hagerty: http://rubyconf.org/program#pj-katie-hagerty
* Es gab viel zu Ruby 2.1 (kommt am 25.12.2013)
* Object management on Ruby 2.1, Koichi Sasada: http://rubyconf.org/program#koichi-sasada
* Neue C-API für Garbage Collection: Es wird diesmal weniger auf Kompatibilität geachtet und mehr auf Effizienz
* Allgemein ist es recht schwer Ruby radikal weiterzuentwickeln
* Kurz Thema bei der abschließenden Fragerunde mit Matz: Rubinius X und Ruby
### JRuby (00:34:29)
* Nächster Release wird definitiv JRuby 9000 heißen
* Vorstellung eines verbesserten Entwicklungsprozesses
* Talk von Tom Enebo und Charles Nutter: http://rubyconf.org/program#tomenebo-charles-nutter
* Überlegungen ob Java 6 Unterstützung mit dem nächsten Release entfernt wird, abhängig von Community-Feedback
* Sehr viel aufräumen innerhalb der Code-Basis, vor allem viel wird viel gelöscht ^^
* Keine News zu FFI, aber da ist ja eh wieder alles in Ordnung: https://github.com/ffi/ffi/issues/288
* In JRuby soll kein FFI verwendet, sondern die native Java-Bibliothek (wie etwa nokogiri)
* Release von JRuby 9000 im ersten Quartal 2014
* Insgesamt hatte der Talk aber wenig neues gegenüber den bisherigen Talks diesen Jahres
* Viel interessanter zu JRuby war aber ein Gespräch mit einem der Sponsoren: Money Desktop, http://www.moneydesktop.com
* Mehrere hundert Server mit JRuby
* Extrem parallel
* Protocol Buffers (https://code.google.com/p/protobuf/) Serialisierungsformat
* PCI-compliant (http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard) und trotzdem nahezu kontinuierliches Deployment (10-20/Tag)
### ArangoDB auf der RubyConf (00:47:55)
* Lucas hat einen Lightning Talk gehalten: Hamster und Graphen - https://speakerdeck.com/moonglum/graphs-plus-hamsters
* Es um das Graphenfeature von ArangoDB, erklärt am Beispiel von einem Hamster, der sein Futter in seinem Bau zählen muss
* Das Thema gab es kurz vorher auch auf der NoSQL Usergroup in Köln: http://www.nosql-cologne.org/2013/10/07/26th-meeting-november/
* Graphtraversal API ist noch nicht in im Ruby-Treiber integriert
* Graphtraversal ist in ArangoDB in Javascript implementiert, daher kann man sie nicht einfach von mruby aus ansprechen
### Und noch mehr interessante Talks (00:53:40)
* Ruby-Core Dilemmas von Marc-André Lafortune: http://rubyconf.org/program#marcandré-lafortune
* Basti und Dirk kannten das Backport nicht: http://rubygems.org/gems/backports
* Entwicklung von Backport gegen RubySpec (http://rubyspec.org)
* "Es ist ein Bug oder Feature, wenn Matz sagt es ist ein Bug oder Feature"
* Im Grunde sollte er dafür auch Geld nehmen (für Pro-User)
* "The tricky truth about parallel execution and modern hardware": http://rubyconf.org/program#dirkjan-bussink
* Insgesamt zu kurze Pausen (10 min) zwischen den Talks
### Abendveranstaltung und RailsGirls (00:59:27)
* Keine offiziellen Abendveranstaltung
* Am Tag vor der RubyConf waren RailsGirls, die alle kostenlos zur Konferenz konnten
* Dadurch recht viele Frauen
* Guter Lightning Talk von einer Teilnehmerin adressiert an Mentoren
* Passend zu dem Thema von Floor Drees: http://floordrees.tumblr.com/post/58784746482/what-i-learned-learning-rails-becoming-a-better
* Am zweiten Abend haben Lucas und Dirk das Boardgame Meeting leider verpasst :-(
### Und noch mehr Talks (01:03:26)
* Der Talk von Jim Weirich zu UML: http://rubyconf.org/program#jim-weirich
* UML ist nicht immer schlecht, es gibt auch sinnvolle Anwednungsfälle ^^
* Von Andrew Havens - Build your own Ruby-powered Arcade Machine! (http://rubyconf.org/program#andrew-havens)
* Erste Hälfte super, wie baut man sich sein eigenes Arcade
* Zweite Hälfte, völlig wirr und durcheinander
* Wir sprechen keine nicht-Empfehlungen aus
* Dirk fand den Talk von Stephen Henrie zum Thema Thrift und AMQP ganz gut: http://rubyconf.org/program#stephen-henrie
* Lucas war nicht begeistert
* Aber wir einigen uns drauf, dass er eine gute Diskussionsgrundlage ist ;-)
* Talk von Matt Aimonetti mit abschließendem Panel: http://rubyconf.org/program#matt-aimonetti-bryan-helmkamp-bryan-liles
* These: Es gibt keinen schlechten Code
* Wir sind uns einig, dass es auf jeden Fall schlechten Code gibt ;-)
* Nach Bryan Helmkamp (https://codeclimate.com) ist der beste Code nicht eine 4,0 sondern eine 3,2
* Wir fragen uns, warum das bei Code Climate dann nicht so abgebildet wird
### Tipps zu Miami Beach (01:17:46)
* Panther Coffee: http://www.panthercoffee.com
* Vielen Dank an Bryce für die Empfehlung: https://twitter.com/BonzoESC
* Beer and Burger Joint: http://www.bnbjoint.com - Gutes Bier und gute Burger
* Ein Trip zum Kennedy Space Center lohnt sich auch: http://www.kennedyspacecenter.com
* Das Home Office Cologne sucht noch Nachmieter und verkauft immer noch Teile der Einrichtung]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Lucas und Dirk waren auf der RubyConf in Miami Beach. Wir
berichten von ihren Eindrücken und es gibt natürlich die ein oder andere
Empfehlung für einen Vortrag. Darüber hinaus diskutieren wir über die Inhalte einiger Talks.
Insgesamt ist die Folge leider ein bisschen durcheinander, trotzdem viel Spaß beim hören.</p>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Wir trinken Mühlen Kölsch! <a href="http://www.muehlenkoelsch.de/">http://www.muehlenkoelsch.de/</a></li>
<li>Der Lucas ist dabei! Und es ist das fünfte mal :)
<ul>
<li><a href="http://geekstammtisch.de/#GST006">http://geekstammtisch.de/#GST006</a></li>
<li><a href="http://geekstammtisch.de/#GST008">http://geekstammtisch.de/#GST008</a></li>
<li><a href="http://geekstammtisch.de/#GST013">http://geekstammtisch.de/#GST013</a></li>
<li><a href="http://geekstammtisch.de/#GST021">http://geekstammtisch.de/#GST021</a></li>
</ul></li>
<li>RubyConf 2013 Miami Beach: <a href="http://rubyconf.org/">http://rubyconf.org/</a></li>
<li>Heutiger Titelsong: Miami Vice: <a href="http://en.wikipedia.org/wiki/Miami_Vice">http://en.wikipedia.org/wiki/Miami_Vice</a></li>
</ul>
<h3>Exkurs: Letzter Geekstammtich über Lisp (00:02:35)</h3>
<ul>
<li>Allgemein gutes Feedback und Lucas fand es auch gut</li>
<li>JavaScript Lisp Implementationen (von <a href="https://twitter.com/DerGuteMoritz">@DerGuteMoritz</a>): <a href="http://ceaude.twoticketsplease.de/js-lisps.html">http://ceaude.twoticketsplease.de/js-lisps.html</a></li>
<li>Hygienische Makros: <a href="http://en.wikipedia.org/wiki/Hygienic_macro">http://en.wikipedia.org/wiki/Hygienic_macro</a></li>
</ul>
<h3>RubyConf (00:04:15)</h3>
<ul>
<li>Dirk und Lucas waren da!</li>
<li>Comic-Con in San Diego: <a href="http://www.comic-con.org/">http://www.comic-con.org/</a></li>
<li>Die Location war ganz cool, WiFi leider nicht so</li>
<li>RubyConf Schedule gibt es hier in einer Übersicht: <a href="http://rubyconf.org/schedule">http://rubyconf.org/schedule</a></li>
</ul>
<h3>Allgemeines (00:07:00)</h3>
<ul>
<li>Talks wurden gestreamt</li>
<li>Videos gibt es gegen Ende November</li>
<li>Dirk und Lucas müssen auch noch Talks schauen (3 Tracks ist halt zu viel)</li>
<li>Anfangs gab es im Schedule keine Angabe der Speaker; wurde dann aber nachgetragen</li>
</ul>
<h3>Talks, Talks, Talks (00:09:25)</h3>
<ul>
<li>The Big Picture (Jim Weirich): <a href="http://rubyconf.org/program#jim-weirich">http://rubyconf.org/program#jim-weirich</a></li>
<li>Keynote Tag 1 von Matz über Phantasie Land, Außenwahrnehmung, Wahrnehmung, eher verwirrend... also, wie immer :)</li>
<li>That&#39;s Not Very Ruby of You (Keynote Tag 3), Ernie Miller: <a href="http://rubyconf.org/program#ernie-miller">http://rubyconf.org/program#ernie-miller</a></li>
<li>My KidsRuby Journey (Keynote Tag 2), PJ &amp; Katie Hagerty: <a href="http://rubyconf.org/program#pj-katie-hagerty">http://rubyconf.org/program#pj-katie-hagerty</a></li>
<li>Es gab viel zu Ruby 2.1 (kommt am 25.12.2013)</li>
<li>Object management on Ruby 2.1, Koichi Sasada: <a href="http://rubyconf.org/program#koichi-sasada">http://rubyconf.org/program#koichi-sasada</a></li>
<li>Neue C-API für Garbage Collection: Es wird diesmal weniger auf Kompatibilität geachtet und mehr auf Effizienz</li>
<li>Allgemein ist es recht schwer Ruby radikal weiterzuentwickeln</li>
<li>Kurz Thema bei der abschließenden Fragerunde mit Matz: Rubinius X und Ruby</li>
</ul>
<h3>JRuby (00:34:29)</h3>
<ul>
<li>Nächster Release wird definitiv JRuby 9000 heißen</li>
<li>Vorstellung eines verbesserten Entwicklungsprozesses</li>
<li>Talk von Tom Enebo und Charles Nutter: <a href="http://rubyconf.org/program#tomenebo-charles-nutter">http://rubyconf.org/program#tomenebo-charles-nutter</a></li>
<li>Überlegungen ob Java 6 Unterstützung mit dem nächsten Release entfernt wird, abhängig von Community-Feedback</li>
<li>Sehr viel aufräumen innerhalb der Code-Basis, vor allem viel wird viel gelöscht ^^</li>
<li>Keine News zu FFI, aber da ist ja eh wieder alles in Ordnung: <a href="https://github.com/ffi/ffi/issues/288">https://github.com/ffi/ffi/issues/288</a></li>
<li>In JRuby soll kein FFI verwendet, sondern die native Java-Bibliothek (wie etwa nokogiri)</li>
<li>Release von JRuby 9000 im ersten Quartal 2014</li>
<li>Insgesamt hatte der Talk aber wenig neues gegenüber den bisherigen Talks diesen Jahres</li>
<li>Viel interessanter zu JRuby war aber ein Gespräch mit einem der Sponsoren: Money Desktop, <a href="http://www.moneydesktop.com">http://www.moneydesktop.com</a>
<ul>
<li>Mehrere hundert Server mit JRuby</li>
<li>Extrem parallel</li>
<li>Protocol Buffers (<a href="https://code.google.com/p/protobuf/">https://code.google.com/p/protobuf/</a>) Serialisierungsformat</li>
<li>PCI-compliant (<a href="http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard">http://en.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard</a>) und trotzdem nahezu kontinuierliches Deployment (10-20/Tag)</li>
</ul></li>
</ul>
<h3>ArangoDB auf der RubyConf (00:47:55)</h3>
<ul>
<li>Lucas hat einen Lightning Talk gehalten: Hamster und Graphen - <a href="https://speakerdeck.com/moonglum/graphs-plus-hamsters">https://speakerdeck.com/moonglum/graphs-plus-hamsters</a></li>
<li>Es um das Graphenfeature von ArangoDB, erklärt am Beispiel von einem Hamster, der sein Futter in seinem Bau zählen muss</li>
<li>Das Thema gab es kurz vorher auch auf der NoSQL Usergroup in Köln: <a href="http://www.nosql-cologne.org/2013/10/07/26th-meeting-november/">http://www.nosql-cologne.org/2013/10/07/26th-meeting-november/</a></li>
<li>Graphtraversal API ist noch nicht in im Ruby-Treiber integriert</li>
<li>Graphtraversal ist in ArangoDB in Javascript implementiert, daher kann man sie nicht einfach von mruby aus ansprechen</li>
</ul>
<h3>Und noch mehr interessante Talks (00:53:40)</h3>
<ul>
<li>Ruby-Core Dilemmas von Marc-André Lafortune: <a href="http://rubyconf.org/program#marcandr%C3%A9-lafortune">http://rubyconf.org/program#marcandré-lafortune</a></li>
<li>Basti und Dirk kannten das Backport nicht: <a href="http://rubygems.org/gems/backports">http://rubygems.org/gems/backports</a></li>
<li>Entwicklung von Backport gegen RubySpec (<a href="http://rubyspec.org">http://rubyspec.org</a>)</li>
<li>&quot;Es ist ein Bug oder Feature, wenn Matz sagt es ist ein Bug oder Feature&quot;</li>
<li>Im Grunde sollte er dafür auch Geld nehmen (für Pro-User)</li>
<li>&quot;The tricky truth about parallel execution and modern hardware&quot;: <a href="http://rubyconf.org/program#dirkjan-bussink">http://rubyconf.org/program#dirkjan-bussink</a></li>
<li>Insgesamt zu kurze Pausen (10 min) zwischen den Talks</li>
</ul>
<h3>Abendveranstaltung und RailsGirls (00:59:27)</h3>
<ul>
<li>Keine offiziellen Abendveranstaltung</li>
<li>Am Tag vor der RubyConf waren RailsGirls, die alle kostenlos zur Konferenz konnten
<ul>
<li>Dadurch recht viele Frauen</li>
<li>Guter Lightning Talk von einer Teilnehmerin adressiert an Mentoren</li>
<li>Passend zu dem Thema von Floor Drees: <a href="http://floordrees.tumblr.com/post/58784746482/what-i-learned-learning-rails-becoming-a-better">http://floordrees.tumblr.com/post/58784746482/what-i-learned-learning-rails-becoming-a-better</a></li>
</ul></li>
<li>Am zweiten Abend haben Lucas und Dirk das Boardgame Meeting leider verpasst :-(</li>
</ul>
<h3>Und noch mehr Talks (01:03:26)</h3>
<ul>
<li>Der Talk von Jim Weirich zu UML: <a href="http://rubyconf.org/program#jim-weirich">http://rubyconf.org/program#jim-weirich</a>
<ul>
<li>UML ist nicht immer schlecht, es gibt auch sinnvolle Anwednungsfälle ^^</li>
</ul></li>
<li>Von Andrew Havens - Build your own Ruby-powered Arcade Machine! (<a href="http://rubyconf.org/program#andrew-havens">http://rubyconf.org/program#andrew-havens</a>)
<ul>
<li>Erste Hälfte super, wie baut man sich sein eigenes Arcade</li>
<li>Zweite Hälfte, völlig wirr und durcheinander</li>
</ul></li>
<li>Wir sprechen keine nicht-Empfehlungen aus</li>
<li>Dirk fand den Talk von Stephen Henrie zum Thema Thrift und AMQP ganz gut: <a href="http://rubyconf.org/program#stephen-henrie">http://rubyconf.org/program#stephen-henrie</a></li>
<li>Lucas war nicht begeistert</li>
<li>Aber wir einigen uns drauf, dass er eine gute Diskussionsgrundlage ist ;-)</li>
<li>Talk von Matt Aimonetti mit abschließendem Panel: <a href="http://rubyconf.org/program#matt-aimonetti-bryan-helmkamp-bryan-liles">http://rubyconf.org/program#matt-aimonetti-bryan-helmkamp-bryan-liles</a>
<ul>
<li>These: Es gibt keinen schlechten Code</li>
<li>Wir sind uns einig, dass es auf jeden Fall schlechten Code gibt ;-)</li>
<li>Nach Bryan Helmkamp (<a href="https://codeclimate.com">https://codeclimate.com</a>) ist der beste Code nicht eine 4,0 sondern eine 3,2</li>
<li>Wir fragen uns, warum das bei Code Climate dann nicht so abgebildet wird</li>
</ul></li>
</ul>
<h3>Tipps zu Miami Beach (01:17:46)</h3>
<ul>
<li>Panther Coffee: <a href="http://www.panthercoffee.com">http://www.panthercoffee.com</a></li>
<li>Vielen Dank an Bryce für die Empfehlung: <a href="https://twitter.com/BonzoESC">https://twitter.com/BonzoESC</a></li>
<li>Beer and Burger Joint: <a href="http://www.bnbjoint.com">http://www.bnbjoint.com</a> - Gutes Bier und gute Burger</li>
<li>Ein Trip zum Kennedy Space Center lohnt sich auch: <a href="http://www.kennedyspacecenter.com">http://www.kennedyspacecenter.com</a></li>
<li>Das Home Office Cologne sucht noch Nachmieter und verkauft immer noch Teile der Einrichtung</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST026" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:02:35" title="Exkurs: Letzter Geekstammtich über Lisp" />
<psc:chapter start="00:04:15" title="RubyConf" />
<psc:chapter start="00:07:00" title="Allgemeines" />
<psc:chapter start="00:09:25" title="Talks, Talks, Talks" />
<psc:chapter start="00:34:29" title="JRuby" />
<psc:chapter start="00:47:55" title="ArangoDB auf der RubyConf" />
<psc:chapter start="00:53:40" title="Und noch mehr interessante Talks" />
<psc:chapter start="00:59:27" title="Abendveranstaltung und RailsGirls" />
<psc:chapter start="01:03:26" title="Und noch mehr Talks" />
<psc:chapter start="01:17:46" title="Tipps zu Miami Beach" />
</psc:chapters>
</item>
<item>
<title>GST027 - Jahresrückblick 2013</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Der (kleine) Geekstammtisch Jahresrückblick 2013</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst027.mp3" length="9368201" type="audio/mpeg"/>
<guid isPermaLink="false">GST027</guid>
<pubDate>Fri, 20 Dec 2013 17:16:52 +0100</pubDate>
<itunes:duration>00:12:41</itunes:duration>
<itunes:summary><![CDATA[Vorsicht! Diese Folge ist sehr meta! Wir ziehen ein kleines Resümee des letzten Jahres Geekstammtisch und sagen an, dass wir auch nächstes Jahr weitermachen werden :)
Wir bedanken uns bei allen Hörern für die Aufmerksamkeit, das tolle Feedback und das Flattern und wünschen frohe Weihnachten und einen guten Rutsch!]]></itunes:summary>
<description><![CDATA[<p>Vorsicht! Diese Folge ist sehr meta! Wir ziehen ein kleines Resümee des letzten Jahres Geekstammtisch und sagen an, dass wir auch nächstes Jahr weitermachen werden :)</p>
<p>Wir bedanken uns bei allen Hörern für die Aufmerksamkeit, das tolle Feedback und das Flattern und wünschen frohe Weihnachten und einen guten Rutsch!</p>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST027" />
<psc:chapters>
</psc:chapters>
</item>
<item>
<title>GST028 - Sprachlos auf dem 30C3</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Essy, Lucas, Tobias, Bodo, Dirk und Basti berichten ihre Eindrücke vom 30C3</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst028.mp3" length="34263997" type="audio/mpeg"/>
<guid isPermaLink="false">GST028</guid>
<pubDate>Mon, 30 Dec 2013 15:43:01 +0100</pubDate>
<itunes:duration>00:47:15</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Das zweite Joint Venture der @nerdkunde (ohne Klaus, mit Bodo)
und des @geekstammtisch (mit allen) live und in Farbe vom 30. Chaos
Communication Congress (30C3) aus dem @Sendezentrum. Wir geben einen kurzen
persönlichen Rundblick über die letzten vier Tage Kongress. Vielen Dank an das
Sendezentrum für die Bereitstellung des Equipments und Ralf (@rstockm) für die
super Betreuung!
### Eröffnung (00:00:00)
* Intro (http://vimeo.com/82903406)
* Nerdkunde-Style: Wie geht es uns? Bitte jeder einmal kurz seine Eindrücke zum Congress
* Eröffnungsveranstaltung mit Tim Pritlove und super Video (https://events.ccc.de/congress/2013/Fahrplan/events/5605.html)
* Wir sind beeindruckt von der Atmosphäre
### Unsere Top-7 (00:07:53)
* Even More Tamagotchis Were Harmed in the Making of this Presentation: https://events.ccc.de/congress/2013/Fahrplan/events/5279.html
* My journey into FM-RDS: https://events.ccc.de/congress/2013/Fahrplan/events/5588.html
* Fnord News Show mit Frank und Fefe: https://events.ccc.de/congress/2013/Fahrplan/events/5714.html
* Die Keynote mit Glenn Greenwald: https://events.ccc.de/congress/2013/Fahrplan/speakers/4428.html
* Bullshit made in Germany mit Linus Neumann: https://events.ccc.de/congress/2013/Fahrplan/events/5210.html
* Seeing The Secret State: Six Landscapes von Trevor Paglen: https://events.ccc.de/congress/2013/Fahrplan/events/5604.html
* Seidenstraße und How to build your own bottle paket LEDs: https://events.ccc.de/congress/2013/Fahrplan/events/5610.html
* Bild: https://twitter.com/bitboxer/status/417628749841313792/photo/1/large
* Detaillierte Übersicht / Interviews zum Congress: Die Sondersendung: http://die-sondersendung.de/30c3
### So long and thank you for all the ~~fish~~mate (00:44:07)
* Danke an den CCC, alle Engel und die Orga für eine großartigen Congress]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Das zweite Joint Venture der <a href="https://twitter.com/nerdkunde">@nerdkunde</a> (ohne Klaus, mit Bodo)
und des <a href="https://twitter.com/geekstammtisch">@geekstammtisch</a> (mit allen) live und in Farbe vom 30. Chaos
Communication Congress (30C3) aus dem <a href="https://twitter.com/Sendezentrum">@Sendezentrum</a>. Wir geben einen kurzen
persönlichen Rundblick über die letzten vier Tage Kongress. Vielen Dank an das
Sendezentrum für die Bereitstellung des Equipments und Ralf (<a href="https://twitter.com/rstockm">@rstockm</a>) für die
super Betreuung!</p>
<h3>Eröffnung (00:00:00)</h3>
<ul>
<li>Intro (<a href="http://vimeo.com/82903406">http://vimeo.com/82903406</a>)</li>
<li>Nerdkunde-Style: Wie geht es uns? Bitte jeder einmal kurz seine Eindrücke zum Congress</li>
<li>Eröffnungsveranstaltung mit Tim Pritlove und super Video (<a href="https://events.ccc.de/congress/2013/Fahrplan/events/5605.html">https://events.ccc.de/congress/2013/Fahrplan/events/5605.html</a>)</li>
<li>Wir sind beeindruckt von der Atmosphäre</li>
</ul>
<h3>Unsere Top-7 (00:07:53)</h3>
<ul>
<li>Even More Tamagotchis Were Harmed in the Making of this Presentation: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5279.html">https://events.ccc.de/congress/2013/Fahrplan/events/5279.html</a></li>
<li>My journey into FM-RDS: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5588.html">https://events.ccc.de/congress/2013/Fahrplan/events/5588.html</a></li>
<li>Fnord News Show mit Frank und Fefe: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5714.html">https://events.ccc.de/congress/2013/Fahrplan/events/5714.html</a></li>
<li>Die Keynote mit Glenn Greenwald: <a href="https://events.ccc.de/congress/2013/Fahrplan/speakers/4428.html">https://events.ccc.de/congress/2013/Fahrplan/speakers/4428.html</a></li>
<li>Bullshit made in Germany mit Linus Neumann: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5210.html">https://events.ccc.de/congress/2013/Fahrplan/events/5210.html</a></li>
<li>Seeing The Secret State: Six Landscapes von Trevor Paglen: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5604.html">https://events.ccc.de/congress/2013/Fahrplan/events/5604.html</a></li>
<li>Seidenstraße und How to build your own bottle paket LEDs: <a href="https://events.ccc.de/congress/2013/Fahrplan/events/5610.html">https://events.ccc.de/congress/2013/Fahrplan/events/5610.html</a>
<ul>
<li>Bild: <a href="https://twitter.com/bitboxer/status/417628749841313792/photo/1/large">https://twitter.com/bitboxer/status/417628749841313792/photo/1/large</a></li>
</ul></li>
<li>Detaillierte Übersicht / Interviews zum Congress: Die Sondersendung: <a href="http://die-sondersendung.de/30c3">http://die-sondersendung.de/30c3</a></li>
</ul>
<h3>So long and thank you for all the ~~fish~~mate (00:44:07)</h3>
<ul>
<li>Danke an den CCC, alle Engel und die Orga für eine großartigen Congress</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST028" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Eröffnung" />
<psc:chapter start="00:07:53" title="Unsere Top-7" />
<psc:chapter start="00:44:07" title="So long and thank you for all the (fish)mate" />
</psc:chapters>
</item>
<item>
<title>GST029 - Die JVM ist ein Erfolgsmodell</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Wir sprachen mit Matthias Richter über die Freuden der Java-Entwicklung</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst029.mp3" length="77778628" type="audio/mpeg"/>
<guid isPermaLink="false">GST029</guid>
<pubDate>Tue, 28 Jan 2014 13:19:21 +0100</pubDate>
<itunes:duration>01:47:38</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Matthias ist Softwareentwickler und erzählt uns wie er jahrelang
Java im Telko-Sektor gemacht hat. Vor einem Jahr hat er dann die Branche und
die auch die Größe des Unternehmens radikal geändert und macht nun
Produktentwicklung in der Logistikbranche. Neben Java wird dort viel im
Embedded-Bereich entwickelt und trotz eines kleinen Teams sind die Aufgaben
sehr vielfältig. Seit neuestem wird Software nun auch mit JRuby und AngularJS
umgesetzt. Wir erfahren über die damit verbundenen Herausforderungen und wie
damit umgegangen wurde.
### Einleitung & GST-Meta (00:00:00)
* Matthias Richter (@mr_samma) ist heute unser Gast
* GST019 mit Stefan Schiffer "Weg von .NET & Windows": http://geekstammtisch.de/#GST019
* Der Geekstammtisch und die Nerdkunde beim Rudelpodcasten: http://das-sendezentrum.de/blog/podcasts-aus-unserer-30c3-assembly
* Das neue Büro des Home Office Cologne in der Lindenstraße 14: https://twitter.com/HomeOfficeCGN/status/425630254364119040
### Unser Gast (00:02:45)
* Matthias hat mit Dirk & Basti studiert
* …und hat nach dem Studium als Java Entwickler bei einer Softwarefirma im "Telekommunikationsumfeld" gearbeitet
* Matthias hat dort nie Admins zu Gesicht bekommen :)
* Nach vier Jahren hat Matthias dann etwas neues gesucht und ist in der Logistikbranche gelandet
* Kleineres Unternehmen, eigene Produkte, jeder macht alles (Matthias ist also "auch" Admin)
* wollte weiter auf der JVM entwickeln
* Scala: http://www.scala-lang.org/
* Clojure Koans: http://clojurekoans.com/
* Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (von Bruce A. Tate): http://pragprog.com/book/btlang/seven-languages-in-seven-weeks
### Java-Entwicklung (00:12:30)
* Dirk hat das letzte mal ernsthaft Java 2005 gemacht (mit Apache Struts, http://struts.apache.org/); "Das war schlimm!" Dirk
* Basti hat es nie ernsthaft gemacht (abgesehen vom Studium)
* "Java, das Ökosystem"
* Die JVM ist ein Erfolgsmodell
* K virtual machine (KVM): http://en.wikipedia.org/wiki/K_virtual_machine
* Java Platform, Micro Edition, J2ME: http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition
* Java EE Application Server: http://en.wikipedia.org/wiki/Comparison_of_application_servers
* Java ME / SE / EE: http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html
* Java Community Process: https://www.jcp.org/en/home/index
* Servlet API ist Teil der Java EE
* Spring Framework: http://spring.io/
* Zwischen Anhängern von Spring und Java EE hat sich ein flame war entwickelt:
* Blog Beitrag eines bekannten JEE Evangelist inkl. Antworten von Spring Mitarbeitern in den Kommentaren: https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is
* Antwort eines VMWare Mitarbeiters: http://www.iamjambay.com/2012/03/arun-gupta-java-ee-6-and-spring.html
* tl;dr: hier eine Zusammenfassung auf deutsch: http://jaxenter.de/news/JavaEE-versus-Spring-Hitzige-Debatte-um-Arun-Guptas-Legacy-Vorwurf
* Matthias würde immer Spring wählen, da es dynamischer ist und aktueller
* Spring legt wesentlich mehr Wert auf Testing
* Java 8 SE Release März 2014, EE dann wesentlich später, irgendwann noch später lassen sich Application Server zertifizieren
* Vielzahl an Java Frameworks für jeden Zweck
* Web Frameworks, die "Großen" http://zeroturnaround.com/rebellabs/the-curious-coders-java-web-frameworks-comparison-spring-mvc-grails-vaadin-gwt-wicket-play-struts-and-jsf/
* Liste von sonstigen Web Frameworks: http://java-source.net/open-source/web-frameworks
* Liste von Persistenz Frameworks: http://java-source.net/open-source/persistence
* Frameworks zur asynchronen Verarbeitung:
* http://spring.io/blog/2013/05/13/reactor-a-foundation-for-asynchronous-applications-on-the-jvm
* http://akka.io/
* http://vertx.io/
* Web Service Frameworks, Xfire, Apache CXF
* DAO / ActiveRecord als Beispiel dafür, dass in Rails Dinge falsch angegangen werden
* dies kann aber für einfache Anwendungsfälle in Ordnung sein, findet Matthias, Dirk sieht das aber anders
* DAOs sind lange Standard in Java Apps gewesen
* mittlerweile werden häufig Repositories eingesetzt: http://thinkinginobjects.com/2012/08/26/dont-use-dao-use-repository/
* Repository Ansatz in Java EE 6 / 7
* Misko Hevery zu AR: http://misko.hevery.com/2009/05/05/the-problem-with-active-record/
* Spring Roo nutzt ActiveRecord Pattern in Java Apps: http://docs.spring.io/spring-roo/reference/html/architecture.html#architecture-dao
* AR in Rails tief verwurzelt, ermöglicht aber die Geschwindigkeit in der Rails Entwicklung
* Matthias findet opinionated Ansatz in Rails gut
* Matthias macht mittlerweile Projekte mit JRuby on Rails, AngularJS und Elasticsearch
* Elasticsearch basiert auf Lucene, in Java geschrieben
### Deployment & JVM (01:20:00)
* JRuby ist ein guter Einstieg in Ruby-Entwicklung gewesen, da man "nur" ein WAR (https://en.wikipedia.org/wiki/WAR_(file_format)) erstellen muss und es im bisherigen Application-Server deployed
* Java Wissen auf der Betriebsseite kann im Grunde 1:1 weiter verwendet werden
* Auch Deploymentstruktur über Jenkins konnte weiter verwendet werden
* Deployment via JMX (https://en.wikipedia.org/wiki/Java_Management_Extensions)
* Das WAR wird per Warbler erstellt (http://caldersphere.rubyforge.org/warbler/)
* Switch von Java auf JRuby ist schneller gemacht als die Umstellung von JBoss auf nginx+passenger (o.ä.)
* Maven ist auch im Projekt \o/
### Entwicklungsumgebung (01:23:05)
* Matthias hat jahrelang Eclipse verwendet, dann zu IntelliJ gegangen
* Mit Ruby dann zu RubyMine gegangen (bzw. IntelliJ mit Ruby-Plugin)
* Sublime Text auch mal ausprobiert, geweint
* Vim ausprobiert, noch mehr geweint
* AngularJS auch in RubyMine, Alternativ auch WebStorm vielleicht eine Möglichkeit
* Lokale Entwicklung ist schneller geworden, da kein Kompilieren und Deployment mehr
* Lokal wird die Anwendung mit Puma/JRuby entwickelt sowie Grunt für JavaScript
* Keine weiteren Java-Abhängigkeiten (außer dem Datenbanktreiber)
* Basti möchte wissen wie der Umstieg von IDE in die Welt des Terminals war
* Matthias ist aber leider ein schlechtes Beispiel ;-) Er hat Eclipse eigentlich immer "nur" als Editor verwendet
* Matthias würde sich gerne auch Vim mal ansehen, aber scheut derzeit die Lernkurve
* Frage: Warum Vim? Antwort: Kosten. Aber wir stellen in Frage, ob die Kosten wirklich ein Grund ist. Wahrscheinlich nicht :-)
* Insgesamt ist Matthias noch in der Findungsphase: RubyMine ist aber ein Favorit
* Matthias hat Spaß auf neue Tools umzustellen :-)
### Next Steps (01:30:47)
* Derzeit macht er AngularJS Entwicklung, Testing mit Karma, Jasmine, PhantomJS
* Es wird auch für Mobile-Plattformen mit AngularJS und Cordova (https://cordova.apache.org/) entwickelt
* Die Software die derzeit entwickelt wird, ist sehr allgemein einsetzbar
* Im Grunde geht darum Firmen zu unterstützen ihren Kram zusammenzuhalten
* Zusätzlich gibt es Systeme die auf Gabelstapler montiert werden
* Der Branchenwechseln war eine gute Idee
### Fazit (01:33:10)
* Bewertung des Wechsels: Positiv, nicht nur wegen dem Spaß sich in neue Dinge einzuarbeiten
* Frontend-Entwicklung mit AngularJS fühlt sich tatsächlich mal an wie Entwicklung ;-)
* Gab es auch Probleme bei der Umstellung?
* Einige Mitarbeiter wollen sich nicht mit so vielen Technologien befassen, das kann auch OK sein, aber man muss damit als Unternehmen/Team umgehen
* Ein Kollege ist auch gegangen, da er mehr .NET machen wollte
* Lernkurven müssen an die Geschäftsführung und die anderen Kollegen kommuniziert werden
* Viele Parallenen zu GST019 (http://geekstammtisch.de/#GST019)
* Die Umstellung ist unter anderem auch dadurch motiviert worden, weil der Chef die Folge gehört hat :-)
* Frage dann vom Chef: Was ist eigentlich dieses Ruby und Rails? Und wenn das so gut ist, warum machen das nicht alle?
* Entwicklungsgeschwindigkeit hat mit überzeugt
### Ausklang (01:38:35)
* Wir sind uns einig, dass die Folge Leute nicht davon abhalten wird weiter Java zu bashen. Dafür ist es auch einfach zu lustig.
* Kritiker werden sagen: "Matthias hat ja dann doch von Java auf Ruby gewechselt"
* Matthias hat sich eigentlich auf Java 8 gefreut
* Das Unternehmen wird nie ganz auf (J)Ruby umstellen, dafür gibt es zu viele Bereiche in denen man Software entwickelt. Gleichzeitig macht das den Reiz aus
* JRuby hat zwar kein Komitee aber dennoch genug Entwicklungsresourcen :-)
* Problem ist aber, dass die Community recht klein ist und man schwieriger Lösungen für seine Probleme findet:
* Erste Einschränkung: JRuby
* Zweiter Einschränkung: JBoss Deployment
* Matthias empfiehlt: Wenn man kein Java-Know-How hat, einfach MRI verwenden
* Wir fordern Matthias zu Usergroups zu kommen und ihr Wissen zu teilen
* Vor allem JRuby Wissen in die Welt zu tragen lohnt sich
* NoSQL-Matters als Konferenz Empfehlung (http://2014.nosql-matters.org/cgn/)
* Wenn man ernsthaft JRuby macht, kann man auch mal mit dem Core-Team Kontakt aufnehmen, die freuen sich über derartiges Feedback
### Hiring-Pitch (01:44:06)
* Wir fragen explizit nach ob noch Entwickler gesucht werden
* Antwort: Ja
* Firma sitzt in St. Augustin, direkt neben der FH
* FrOSCon quasi einen Steinwurf entfernt ;-)
* Aufgaben sind sehr vielfältig (Mobile-Entwicklung, Emedded-Entwicklung, Hardware-Entwicklung, Web-Entwicklung, Infrastruktur, etc.)
* Die Branche nennt sich: Intra-Logistik
* Die Firma heißt IdentPro: http://www.identpro.de/de/, aber bitte nicht von der Webseite abschrecken lassen, die ist old-school-Industrie-kompatibel \o/]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Matthias ist Softwareentwickler und erzählt uns wie er jahrelang
Java im Telko-Sektor gemacht hat. Vor einem Jahr hat er dann die Branche und
die auch die Größe des Unternehmens radikal geändert und macht nun
Produktentwicklung in der Logistikbranche. Neben Java wird dort viel im
Embedded-Bereich entwickelt und trotz eines kleinen Teams sind die Aufgaben
sehr vielfältig. Seit neuestem wird Software nun auch mit JRuby und AngularJS
umgesetzt. Wir erfahren über die damit verbundenen Herausforderungen und wie
damit umgegangen wurde.</p>
<h3>Einleitung &amp; GST-Meta (00:00:00)</h3>
<ul>
<li>Matthias Richter (<a href="https://twitter.com/mr_samma">@mr_samma</a>) ist heute unser Gast</li>
<li>GST019 mit Stefan Schiffer &quot;Weg von .NET &amp; Windows&quot;: <a href="http://geekstammtisch.de/#GST019">http://geekstammtisch.de/#GST019</a></li>
<li>Der Geekstammtisch und die Nerdkunde beim Rudelpodcasten: <a href="http://das-sendezentrum.de/blog/podcasts-aus-unserer-30c3-assembly">http://das-sendezentrum.de/blog/podcasts-aus-unserer-30c3-assembly</a></li>
<li>Das neue Büro des Home Office Cologne in der Lindenstraße 14: <a href="https://twitter.com/HomeOfficeCGN/status/425630254364119040">https://twitter.com/HomeOfficeCGN/status/425630254364119040</a></li>
</ul>
<h3>Unser Gast (00:02:45)</h3>
<ul>
<li>Matthias hat mit Dirk &amp; Basti studiert</li>
<li>…und hat nach dem Studium als Java Entwickler bei einer Softwarefirma im &quot;Telekommunikationsumfeld&quot; gearbeitet</li>
<li>Matthias hat dort nie Admins zu Gesicht bekommen :)</li>
<li>Nach vier Jahren hat Matthias dann etwas neues gesucht und ist in der Logistikbranche gelandet</li>
<li>Kleineres Unternehmen, eigene Produkte, jeder macht alles (Matthias ist also &quot;auch&quot; Admin)</li>
<li>wollte weiter auf der JVM entwickeln</li>
<li>Scala: <a href="http://www.scala-lang.org/">http://www.scala-lang.org/</a></li>
<li>Clojure Koans: <a href="http://clojurekoans.com/">http://clojurekoans.com/</a></li>
<li>Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (von Bruce A. Tate): <a href="http://pragprog.com/book/btlang/seven-languages-in-seven-weeks">http://pragprog.com/book/btlang/seven-languages-in-seven-weeks</a></li>
</ul>
<h3>Java-Entwicklung (00:12:30)</h3>
<ul>
<li>Dirk hat das letzte mal ernsthaft Java 2005 gemacht (mit Apache Struts, <a href="http://struts.apache.org/">http://struts.apache.org/</a>); &quot;Das war schlimm!&quot; Dirk</li>
<li>Basti hat es nie ernsthaft gemacht (abgesehen vom Studium)</li>
<li>&quot;Java, das Ökosystem&quot;</li>
<li>Die JVM ist ein Erfolgsmodell</li>
<li>K virtual machine (KVM): <a href="http://en.wikipedia.org/wiki/K_virtual_machine">http://en.wikipedia.org/wiki/K_virtual_machine</a></li>
<li>Java Platform, Micro Edition, J2ME: <a href="http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition">http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition</a></li>
<li>Java EE Application Server: <a href="http://en.wikipedia.org/wiki/Comparison_of_application_servers">http://en.wikipedia.org/wiki/Comparison_of_application_servers</a></li>
<li>Java ME / SE / EE: <a href="http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html">http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html</a></li>
<li>Java Community Process: <a href="https://www.jcp.org/en/home/index">https://www.jcp.org/en/home/index</a></li>
<li>Servlet API ist Teil der Java EE</li>
<li>Spring Framework: <a href="http://spring.io/">http://spring.io/</a></li>
<li>Zwischen Anhängern von Spring und Java EE hat sich ein flame war entwickelt:
<ul>
<li>Blog Beitrag eines bekannten JEE Evangelist inkl. Antworten von Spring Mitarbeitern in den Kommentaren: <a href="https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is">https://blogs.oracle.com/arungupta/entry/why_java_ee_6_is</a></li>
<li>Antwort eines VMWare Mitarbeiters: <a href="http://www.iamjambay.com/2012/03/arun-gupta-java-ee-6-and-spring.html">http://www.iamjambay.com/2012/03/arun-gupta-java-ee-6-and-spring.html</a></li>
<li>tl;dr: hier eine Zusammenfassung auf deutsch: <a href="http://jaxenter.de/news/JavaEE-versus-Spring-Hitzige-Debatte-um-Arun-Guptas-Legacy-Vorwurf">http://jaxenter.de/news/JavaEE-versus-Spring-Hitzige-Debatte-um-Arun-Guptas-Legacy-Vorwurf</a></li>
</ul></li>
<li>Matthias würde immer Spring wählen, da es dynamischer ist und aktueller</li>
<li>Spring legt wesentlich mehr Wert auf Testing</li>
<li>Java 8 SE Release März 2014, EE dann wesentlich später, irgendwann noch später lassen sich Application Server zertifizieren </li>
<li>Vielzahl an Java Frameworks für jeden Zweck</li>
<li>Web Frameworks, die &quot;Großen&quot; <a href="http://zeroturnaround.com/rebellabs/the-curious-coders-java-web-frameworks-comparison-spring-mvc-grails-vaadin-gwt-wicket-play-struts-and-jsf/">http://zeroturnaround.com/rebellabs/the-curious-coders-java-web-frameworks-comparison-spring-mvc-grails-vaadin-gwt-wicket-play-struts-and-jsf/</a></li>
<li>Liste von sonstigen Web Frameworks: <a href="http://java-source.net/open-source/web-frameworks">http://java-source.net/open-source/web-frameworks</a></li>
<li>Liste von Persistenz Frameworks: <a href="http://java-source.net/open-source/persistence">http://java-source.net/open-source/persistence</a></li>
<li>Frameworks zur asynchronen Verarbeitung:
<ul>
<li><a href="http://spring.io/blog/2013/05/13/reactor-a-foundation-for-asynchronous-applications-on-the-jvm">http://spring.io/blog/2013/05/13/reactor-a-foundation-for-asynchronous-applications-on-the-jvm</a></li>
<li><a href="http://akka.io/">http://akka.io/</a></li>
<li><a href="http://vertx.io/">http://vertx.io/</a></li>
</ul></li>
<li>Web Service Frameworks, Xfire, Apache CXF</li>
<li>DAO / ActiveRecord als Beispiel dafür, dass in Rails Dinge falsch angegangen werden
<ul>
<li>dies kann aber für einfache Anwendungsfälle in Ordnung sein, findet Matthias, Dirk sieht das aber anders</li>
</ul></li>
<li>DAOs sind lange Standard in Java Apps gewesen
<ul>
<li>mittlerweile werden häufig Repositories eingesetzt: <a href="http://thinkinginobjects.com/2012/08/26/dont-use-dao-use-repository/">http://thinkinginobjects.com/2012/08/26/dont-use-dao-use-repository/</a></li>
</ul></li>
<li>Repository Ansatz in Java EE 6 / 7</li>
<li>Misko Hevery zu AR: <a href="http://misko.hevery.com/2009/05/05/the-problem-with-active-record/">http://misko.hevery.com/2009/05/05/the-problem-with-active-record/</a></li>
<li>Spring Roo nutzt ActiveRecord Pattern in Java Apps: <a href="http://docs.spring.io/spring-roo/reference/html/architecture.html#architecture-dao">http://docs.spring.io/spring-roo/reference/html/architecture.html#architecture-dao</a></li>
<li>AR in Rails tief verwurzelt, ermöglicht aber die Geschwindigkeit in der Rails Entwicklung</li>
<li>Matthias findet opinionated Ansatz in Rails gut</li>
<li>Matthias macht mittlerweile Projekte mit JRuby on Rails, AngularJS und Elasticsearch</li>
<li>Elasticsearch basiert auf Lucene, in Java geschrieben</li>
</ul>
<h3>Deployment &amp; JVM (01:20:00)</h3>
<ul>
<li>JRuby ist ein guter Einstieg in Ruby-Entwicklung gewesen, da man &quot;nur&quot; ein WAR (<a href="https://en.wikipedia.org/wiki/WAR_(file_format)">https://en.wikipedia.org/wiki/WAR_(file_format)</a>) erstellen muss und es im bisherigen Application-Server deployed</li>
<li>Java Wissen auf der Betriebsseite kann im Grunde 1:1 weiter verwendet werden</li>
<li>Auch Deploymentstruktur über Jenkins konnte weiter verwendet werden</li>
<li>Deployment via JMX (<a href="https://en.wikipedia.org/wiki/Java_Management_Extensions">https://en.wikipedia.org/wiki/Java_Management_Extensions</a>)</li>
<li>Das WAR wird per Warbler erstellt (<a href="http://caldersphere.rubyforge.org/warbler/">http://caldersphere.rubyforge.org/warbler/</a>)</li>
<li>Switch von Java auf JRuby ist schneller gemacht als die Umstellung von JBoss auf nginx+passenger (o.ä.)</li>
<li>Maven ist auch im Projekt \o/</li>
</ul>
<h3>Entwicklungsumgebung (01:23:05)</h3>
<ul>
<li>Matthias hat jahrelang Eclipse verwendet, dann zu IntelliJ gegangen</li>
<li>Mit Ruby dann zu RubyMine gegangen (bzw. IntelliJ mit Ruby-Plugin)</li>
<li>Sublime Text auch mal ausprobiert, geweint</li>
<li>Vim ausprobiert, noch mehr geweint</li>
<li>AngularJS auch in RubyMine, Alternativ auch WebStorm vielleicht eine Möglichkeit</li>
<li>Lokale Entwicklung ist schneller geworden, da kein Kompilieren und Deployment mehr</li>
<li>Lokal wird die Anwendung mit Puma/JRuby entwickelt sowie Grunt für JavaScript</li>
<li>Keine weiteren Java-Abhängigkeiten (außer dem Datenbanktreiber)</li>
<li>Basti möchte wissen wie der Umstieg von IDE in die Welt des Terminals war</li>
<li>Matthias ist aber leider ein schlechtes Beispiel ;-) Er hat Eclipse eigentlich immer &quot;nur&quot; als Editor verwendet</li>
<li>Matthias würde sich gerne auch Vim mal ansehen, aber scheut derzeit die Lernkurve</li>
<li>Frage: Warum Vim? Antwort: Kosten. Aber wir stellen in Frage, ob die Kosten wirklich ein Grund ist. Wahrscheinlich nicht :-)</li>
<li>Insgesamt ist Matthias noch in der Findungsphase: RubyMine ist aber ein Favorit</li>
<li>Matthias hat Spaß auf neue Tools umzustellen :-)</li>
</ul>
<h3>Next Steps (01:30:47)</h3>
<ul>
<li>Derzeit macht er AngularJS Entwicklung, Testing mit Karma, Jasmine, PhantomJS</li>
<li>Es wird auch für Mobile-Plattformen mit AngularJS und Cordova (<a href="https://cordova.apache.org/">https://cordova.apache.org/</a>) entwickelt</li>
<li>Die Software die derzeit entwickelt wird, ist sehr allgemein einsetzbar</li>
<li>Im Grunde geht darum Firmen zu unterstützen ihren Kram zusammenzuhalten</li>
<li>Zusätzlich gibt es Systeme die auf Gabelstapler montiert werden</li>
<li>Der Branchenwechseln war eine gute Idee</li>
</ul>
<h3>Fazit (01:33:10)</h3>
<ul>
<li>Bewertung des Wechsels: Positiv, nicht nur wegen dem Spaß sich in neue Dinge einzuarbeiten</li>
<li>Frontend-Entwicklung mit AngularJS fühlt sich tatsächlich mal an wie Entwicklung ;-)</li>
<li>Gab es auch Probleme bei der Umstellung?
<ul>
<li>Einige Mitarbeiter wollen sich nicht mit so vielen Technologien befassen, das kann auch OK sein, aber man muss damit als Unternehmen/Team umgehen</li>
<li>Ein Kollege ist auch gegangen, da er mehr .NET machen wollte</li>
<li>Lernkurven müssen an die Geschäftsführung und die anderen Kollegen kommuniziert werden</li>
<li>Viele Parallenen zu GST019 (<a href="http://geekstammtisch.de/#GST019">http://geekstammtisch.de/#GST019</a>)</li>
<li>Die Umstellung ist unter anderem auch dadurch motiviert worden, weil der Chef die Folge gehört hat :-)</li>
</ul></li>
<li>Frage dann vom Chef: Was ist eigentlich dieses Ruby und Rails? Und wenn das so gut ist, warum machen das nicht alle?</li>
<li>Entwicklungsgeschwindigkeit hat mit überzeugt</li>
</ul>
<h3>Ausklang (01:38:35)</h3>
<ul>
<li>Wir sind uns einig, dass die Folge Leute nicht davon abhalten wird weiter Java zu bashen. Dafür ist es auch einfach zu lustig.</li>
<li>Kritiker werden sagen: &quot;Matthias hat ja dann doch von Java auf Ruby gewechselt&quot;</li>
<li>Matthias hat sich eigentlich auf Java 8 gefreut</li>
<li>Das Unternehmen wird nie ganz auf (J)Ruby umstellen, dafür gibt es zu viele Bereiche in denen man Software entwickelt. Gleichzeitig macht das den Reiz aus</li>
<li>JRuby hat zwar kein Komitee aber dennoch genug Entwicklungsresourcen :-)</li>
<li>Problem ist aber, dass die Community recht klein ist und man schwieriger Lösungen für seine Probleme findet:
<ul>
<li>Erste Einschränkung: JRuby</li>
<li>Zweiter Einschränkung: JBoss Deployment</li>
</ul></li>
<li>Matthias empfiehlt: Wenn man kein Java-Know-How hat, einfach MRI verwenden</li>
<li>Wir fordern Matthias zu Usergroups zu kommen und ihr Wissen zu teilen</li>
<li>Vor allem JRuby Wissen in die Welt zu tragen lohnt sich</li>
<li>NoSQL-Matters als Konferenz Empfehlung (<a href="http://2014.nosql-matters.org/cgn/">http://2014.nosql-matters.org/cgn/</a>)</li>
<li>Wenn man ernsthaft JRuby macht, kann man auch mal mit dem Core-Team Kontakt aufnehmen, die freuen sich über derartiges Feedback</li>
</ul>
<h3>Hiring-Pitch (01:44:06)</h3>
<ul>
<li>Wir fragen explizit nach ob noch Entwickler gesucht werden</li>
<li>Antwort: Ja</li>
<li>Firma sitzt in St. Augustin, direkt neben der FH</li>
<li>FrOSCon quasi einen Steinwurf entfernt ;-)</li>
<li>Aufgaben sind sehr vielfältig (Mobile-Entwicklung, Emedded-Entwicklung, Hardware-Entwicklung, Web-Entwicklung, Infrastruktur, etc.)</li>
<li>Die Branche nennt sich: Intra-Logistik</li>
<li>Die Firma heißt IdentPro: <a href="http://www.identpro.de/de/">http://www.identpro.de/de/</a>, aber bitte nicht von der Webseite abschrecken lassen, die ist old-school-Industrie-kompatibel \o/</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST029" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Einleitung &amp; GST-Meta" />
<psc:chapter start="00:02:45" title="Unser Gast" />
<psc:chapter start="00:12:30" title="Java-Entwicklung" />
<psc:chapter start="01:20:00" title="Deployment &amp; JVM" />
<psc:chapter start="01:23:05" title="Entwicklungsumgebung" />
<psc:chapter start="01:30:47" title="Next Steps" />
<psc:chapter start="01:33:10" title="Fazit" />
<psc:chapter start="01:38:35" title="Ausklang" />
<psc:chapter start="01:44:06" title="Hiring-Pitch" />
</psc:chapters>
</item>
<item>
<title>GST030 - Turnschuhadministration</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Wir sprachen mit Essy (@casheeew) über das spannende Dasein einer Administratorinnen</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst030.mp3" length="89107770" type="audio/mpeg"/>
<guid isPermaLink="false">GST030</guid>
<pubDate>Mon, 24 Mar 2014 15:02:41 +0100</pubDate>
<itunes:duration>02:03:22</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Mit Essy (@casheeew) sprachen wir ausführlich über das Leben und
Arbeiten einer Administratorin innerhalb eines großen Rechenzentrums. Es geht
um Prozesse, Betrieb, Deployment und Komplexität im Umfeld von großen
Hostingumgebungen. Wir gehen auf diverse Aspekte etwas näher ein und erhalten
einen recht vollständigen Einblick in ihren Arbeitsalltag.
### Unser Gast (00:00:00)
* Essy podcastet sonst bei der Nerdkunde: http://nerdkun.de
* Hat mal "Bindestrichinformatik" studiert und macht nun ihren berufsbegleitenden Master an der FH-Köln
* Master Studium WebScience an der FH Köln: http://webscience.fh-koeln.de/live/
* Basti und Dirk haben an der FH Köln auch ihren Master gemacht: http://www.medieninformatik.fh-koeln.de/website/general/startseite/startseite_527/de/de_startseite_articl_1.php
* Es gibt eine gewisse Deckungsgleichheit bei den Dozenten ^^
* Vorlesungen finden abends via Webcam statt
* Fokus (noch) auf Theorie, weniger Implementierung
* Alle Klausuren (~8) sind an einem Wochenende
* Weiterempfehlungsgrad von WebScience: Kommt drauf an was man möchte ;-)
### Deployment über Netzwerkfreigabe (00:10:44)
* In GST029 (http://geekstammtisch.de/#GST029) haben wir über Java-Entwicklung und Betrieb gesprochen, dabei viel der Begriff JBoss
* Und Essy setzt sich beruflich mit dem Betrieb von Anwendungen auf dem JBoss auseinander
* Essy arbeitet bei einem großen Rechenzentrum in Köln
* Betrieben werden dort die unterschiedlichsten Anwendungen (vor allem auch große Anwendungen mit vielen Abhängigkeiten)
* Herausforderungen: Leben mit komplexeren Prozessen als bei einem Fancy-Web-Startup™
* Deployment für den JBoss läuft zum Beispiel so ab:
* Kunde legt Auszug aus seinem JBoss inkl. aller Konfigurationen auf einer Netzwerkfreigabe ab
* Essy sucht Änderungen zwischen altem und neuem Stand heraus
* Änderungen werden auf allen Systemen eingespielt
* Klingt umständlich und ist es auch, daher der Plan: Verwendung von Puppet: http://puppetlabs.com/
* Trotz der Strukturen und Prozesse ist es Essy und ihren Kollegen überlassen welche Tools intern verwendet werden, solange das Ergebnis am Ende passt
* Warum mit Puppet? Die nächste Version des Red Hat Enterprise Satellite Server (http://de.redhat.com/products/enterprise-linux/satellite/) setzt auf Puppet auf, daher war hier der Wunsch Puppet auch für weitere Bereiche einzusetzen
### Server, Monitoring & Bereitschaft (00:26:00)
* Essy verantwortet den vollständigen Server
* Die Maschine wird lediglich von einem anderen Team bereitgestellt und übergeben
* Neben Maschinen für Kunden gibt es auch Maschinen für Forschung & Entwicklung
* Basis-Monitoring (Erreichbarkeit, Plattenfüllstand, etc) kommt mit dem Server mit
* Weiteres Monitoring lässt sich dann hinzufügen
* Monitoring läuft über Icinga (https://www.icinga.org/), einem Nagios (http://www.nagios.org/) Ableger
* Es gibt natürlich auch eine 24x7 Bereitschaft (in der nicht alle Server enthalten sind)
* Folge ist: Systeme werden so redundant und solide aufgesetzt, dass man Nachts nicht angerufen wird
* Das bedeutet auch, dass man Bereitschaft für Systeme machen muss, die man in der Regel nicht selbst betreut
* Dafür existiert dann entsprechende Dokumentation, die regelmäßig kontrolliert und auditiert wird
### Softwarelandschaft (00:35:48)
* Unterschiedlichste Versionsstände von (beispielsweise) Java (von alt bis ganz neu)
* JBoss wird nicht in der Community-Variante verwendet, sondern in der kommerziell unterstützten
* Die Open-Source Variante wird auch nicht mehr JBoss heißen, sondern WildFly (https://github.com/wildfly/wildfly)
* Kostet nicht unerheblich, aber weniger im Vergleich zu anderen Produkten
* Support lohnt sich und wurde von Essy auch immer mal wieder in Anspruch genommen
* Als Dienstleister hat mal im Grunde keine andere Wahl als den kommerziellen Support sowohl von Red Hat Linux als auch JBoss zu nehmen
* Aus diesem Grund wird Ruby 1.8.7 auch immer noch von Red Hat gepflegt
* Was dann natürlich zu anderen Problemen führt ^^
### Virtualisierung (00:40:40)
* Ein Großteil der Server laufen auf VMWare ESX Virtualisierung:
* Der ESX-Hypervisor läuft direkt auf dem Server ohne weiteres Betriebssytem (https://en.wikipedia.org/wiki/VMware_ESX)
* VMware (http://www.vmware.com/de)
* VMware vSphere (http://www.vmware.com/de/products/vsphere)
* VMware vCenter zum Verwalten/Clustern von mehreren VMware ESX Servern mit DRS (Dynamic Resource Scheduling) und HA (High Availability)(http://www.vmware.com/de/products/vcenter-server)
* Einige Dinge machen virtualisiert einfach keinen Sinn (manchmal auch aus Lizenzgründen…)
* Virtualisierung ist auf diesem Niveau schon sehr spaßig: Einfach mal laufende Server per Mausklick auf andere Hardware ziehen
* Für ein Rechenzentrum extrem sinnvoll
### Prozesszertifizierung, Support und Monitoring der Kaffeemaschinen (00:44:35)
* Zertifizierung ist für einen Betreiber eines Rechenzentrums sehr wichtig
* Die ISO in diesem Fall ist die 27001 (http://de.wikipedia.org/wiki/ISO/IEC_27001)
* In diesem Zuge werden vor allem organisatorische Aspekte geprüft
* Neben der Dokumentation der Prozesse werden aber auch Gespräche mit Mitarbeitern geführt und exemplarisch Server betrachtet
* Das Audit findet jährlich statt
* Pentesting (http://de.wikipedia.org/wiki/Penetrationstest_(Informatik)) ist nicht Teil der Zertifizierung
* Glücklicherweise keine PCI Zertifizierung (http://de.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard)
* Bei der Vielzahl von Kunden und Projekten lassen sich umfangreiche Prozesse am Ende aber nicht vermeiden
* Das Maximum an Projekten, die man so übernimmt varriert und hängt von der Komplexität der jeweiligen Projekte ab
* Essy macht glücklicherweise kaum bis keinen Support (:
* Der Rest des Teams macht aber durchaus auch mehr 2nd-Level Support
* 2nd-Level Support hat keinen unmittelbaren Kontakt mit dem Kunden
* Inhouse Servicecenter für den First Level Support, wenn das nicht reicht, landen die Tickets im Team im Second Level Support
* Ärzte schrauben ganz gerne mal selbst an PCs rum und mailen an alle über den Mailverteiler
* Basti hat mal in einer Firma die Druckerlandschaft mitkonfiguriert, globales Auslesen von über SNMP von Tonerfüllständen mit Abgleich auf den Lagerbestand und ggf. direkte automatisierte Bestellung beim Händler
* Drucker sind natürlich auch im Icinga ;-) Telefone allerdings nicht mehr
* Icinga hört immer dort auf, wo es spezialisierte Tools der jeweilgen Produkte gibt
* JBoss Operation Network (http://de.redhat.com/products/jbossenterprisemiddleware/operations-network/)
* Ungelöstes Problem: Monitoring und Alerting der Kaffeemaschinen
### K-Fälle (01:02:35)
* K-Fälle wie Katastrophenfälle
* Redundanz bedeutet in diesem Fall auch, dass ein Rechenzentrum wegbrechen kann
* Für diesen Fall werden unterschiedliche Szenarien durchgespielt, um Lücken im System zu entdecken
* ESX-Cluster werden inkl. Storage zwischen den Rechenzentren gespiegelt und im Hot-Standby gehalten
* Dafür braucht man dann allerdings auch entsprechend Bandbreite
* Wir vermuten, dass Darkfibers in Köln zu bekommen kein Problem sein sollten
* Diese hohe Ausfallsicherheit lohnt sich erst für Projekte/System ab einem gewissen Grad, vorher macht es finanziell einfach keinen Sinn
* Finanziell bedeutet in diesem Fall weniger Hardware, sondern vor allem Personal, Organisation und Prozess
* Resultat ist in jedem Fall die Einbüßung von Flexibilität
* Hohe Anhängigkeiten zwischen verschiedenen Teams
### Deployment, Koordination (01:10:30)
* Produktmanager koordinieren zwischen Kunde, externer Entwicklung und Infrastruktur
* Es gibt komplexe Abhängigkeiten zwischen verschiedenen System (sowohl in Hard- als auch Software)
* Zero-Downtime Deployments werden angestrebt, aber sind nicht immer möglich
* Vor Deployments: Wöchentliche Meetings von Teams zur Koordination
### Tooling (01:16:00)
* Excel ist ein wichtiges Werkzeug *hust*, soll aber langsam abgelöst werden
* Confluence ist seit neustem im Einsatz (https://www.atlassian.com/de/software/confluence)
* OwnCloud (http://owncloud.org/) ist auch hinzugekommen
### git, Gitlab, Stash, Github Enterprise (01:18:35)
* bisher SVN: https://subversion.apache.org/
* aber Essy hat Gitlab aufgesetzt: https://www.gitlab.com/
* Wir erzählen Essy von Stash: https://www.atlassian.com/software/stash
* Integration in Confluence & Co
* Betrieb macht man selber (wie bei GHE), für hosted nimmt man dann Bitbucket https://bitbucket.org/
* Ja, Github kann auch SVN sprechen!
* Github Enterprise: https://enterprise.github.com/
### Administration und Automatisierung (01:25:00)
* Turnschuh-Administration: Monkey see, Monkey do!
* Automatisierung ist nicht for-free und ein anhaltender Prozess
* "Läuft's noch oder automatisierst du schon?" (@bascht)
### Backups (01:28:20)
* Regelmäßig machen, lang genug aufbewahren UND
* Restore testen!
* Bei Essys Arbeitgeber gibt es dazu ein dediziertes Backup Team
* von VMs werden Snapshots erstellt und gesichert
* Restore ist ein Informationssicherheitsvorfall
### Chaos Monkey (01:32:20)
* Wir fragen Essy, was mit dem Testen von Infrastruktur ist
* Chaos Monkey bei Netflix (http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html)
* Chaos Gorilla macht ganze AWS Availability Zones aus
* Mehr Monkeys… Latency Monkey, Conformity Monkey, Doctor Monkey, Janitor Monkey, Security Monkey, 10-18 Monkey: http://techblog.netflix.com/2011/07/netflix-simian-army.html
* Essy sagt, das sei im VMware Land (auch) möglich
### IPv6 (01:38:05)
* Bei Essy noch kein IPv6
* IPv6 CRE: http://cre.fm/cre197-ipv6
### Verschiedenes (01:38:30)
* es gibt einen regelmäßigen Austausch zwischen den Teams
* ActiveDirectory: https://en.wikipedia.org/wiki/Active_Directory
### Telearbeit (01:45:00)
* Essy hat einen (Windows) Arbeitsrechner und darf mit ihrem Mac Book nicht ins Firmennetz
* WPA2: https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access
* Remote Zugang via Citrix, dann via Remote Desktop (RDP) zum Arbeitsrechner und von da aus zu den Servern
* Problem dabei: Keyboard Shortcuts funktionieren wegen dem hin- und hermapping nicht so richtig
* Essy kann Heimarbeit machen, sofern es keine Notwendigkeit gibt, Vorort zu arbeiten
### Homesetup (01:53:55)
* Essy hat drei Displays (sowohl zuhause als auch auf der Arbeit) und sich kürzlich neue Hardware für einen Desktop Rechner gekauft
* Dirk und Basti haben schon EWIG keinen Rechner mehr komplett aus Einzelteilen gebaut
### Abschluß (01:59:15)
* Es gibt wohl Führungen durch ein Vorzeigerechenzentrum!
* Girls'Day: http://www.girls-day.de/]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Mit Essy (<a href="https://twitter.com/casheeew">@casheeew</a>) sprachen wir ausführlich über das Leben und
Arbeiten einer Administratorin innerhalb eines großen Rechenzentrums. Es geht
um Prozesse, Betrieb, Deployment und Komplexität im Umfeld von großen
Hostingumgebungen. Wir gehen auf diverse Aspekte etwas näher ein und erhalten
einen recht vollständigen Einblick in ihren Arbeitsalltag.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Essy podcastet sonst bei der Nerdkunde: <a href="http://nerdkun.de">http://nerdkun.de</a></li>
<li>Hat mal &quot;Bindestrichinformatik&quot; studiert und macht nun ihren berufsbegleitenden Master an der FH-Köln
<ul>
<li>Master Studium WebScience an der FH Köln: <a href="http://webscience.fh-koeln.de/live/">http://webscience.fh-koeln.de/live/</a></li>
<li>Basti und Dirk haben an der FH Köln auch ihren Master gemacht: <a href="http://www.medieninformatik.fh-koeln.de/website/general/startseite/startseite_527/de/de_startseite_articl_1.php">http://www.medieninformatik.fh-koeln.de/website/general/startseite/startseite_527/de/de_startseite_articl_1.php</a></li>
<li>Es gibt eine gewisse Deckungsgleichheit bei den Dozenten ^^</li>
<li>Vorlesungen finden abends via Webcam statt</li>
<li>Fokus (noch) auf Theorie, weniger Implementierung</li>
<li>Alle Klausuren (~8) sind an einem Wochenende</li>
</ul></li>
<li>Weiterempfehlungsgrad von WebScience: Kommt drauf an was man möchte ;-)</li>
</ul>
<h3>Deployment über Netzwerkfreigabe (00:10:44)</h3>
<ul>
<li>In GST029 (<a href="http://geekstammtisch.de/#GST029">http://geekstammtisch.de/#GST029</a>) haben wir über Java-Entwicklung und Betrieb gesprochen, dabei viel der Begriff JBoss</li>
<li>Und Essy setzt sich beruflich mit dem Betrieb von Anwendungen auf dem JBoss auseinander</li>
<li>Essy arbeitet bei einem großen Rechenzentrum in Köln</li>
<li>Betrieben werden dort die unterschiedlichsten Anwendungen (vor allem auch große Anwendungen mit vielen Abhängigkeiten)</li>
<li>Herausforderungen: Leben mit komplexeren Prozessen als bei einem Fancy-Web-Startup™</li>
<li>Deployment für den JBoss läuft zum Beispiel so ab:
<ul>
<li>Kunde legt Auszug aus seinem JBoss inkl. aller Konfigurationen auf einer Netzwerkfreigabe ab</li>
<li>Essy sucht Änderungen zwischen altem und neuem Stand heraus</li>
<li>Änderungen werden auf allen Systemen eingespielt</li>
</ul></li>
<li>Klingt umständlich und ist es auch, daher der Plan: Verwendung von Puppet: <a href="http://puppetlabs.com/">http://puppetlabs.com/</a></li>
<li>Trotz der Strukturen und Prozesse ist es Essy und ihren Kollegen überlassen welche Tools intern verwendet werden, solange das Ergebnis am Ende passt</li>
<li>Warum mit Puppet? Die nächste Version des Red Hat Enterprise Satellite Server (<a href="http://de.redhat.com/products/enterprise-linux/satellite/">http://de.redhat.com/products/enterprise-linux/satellite/</a>) setzt auf Puppet auf, daher war hier der Wunsch Puppet auch für weitere Bereiche einzusetzen</li>
</ul>
<h3>Server, Monitoring &amp; Bereitschaft (00:26:00)</h3>
<ul>
<li>Essy verantwortet den vollständigen Server</li>
<li>Die Maschine wird lediglich von einem anderen Team bereitgestellt und übergeben</li>
<li>Neben Maschinen für Kunden gibt es auch Maschinen für Forschung &amp; Entwicklung</li>
<li>Basis-Monitoring (Erreichbarkeit, Plattenfüllstand, etc) kommt mit dem Server mit</li>
<li>Weiteres Monitoring lässt sich dann hinzufügen</li>
<li>Monitoring läuft über Icinga (<a href="https://www.icinga.org/">https://www.icinga.org/</a>), einem Nagios (<a href="http://www.nagios.org/">http://www.nagios.org/</a>) Ableger</li>
<li>Es gibt natürlich auch eine 24x7 Bereitschaft (in der nicht alle Server enthalten sind)</li>
<li>Folge ist: Systeme werden so redundant und solide aufgesetzt, dass man Nachts nicht angerufen wird</li>
<li>Das bedeutet auch, dass man Bereitschaft für Systeme machen muss, die man in der Regel nicht selbst betreut</li>
<li>Dafür existiert dann entsprechende Dokumentation, die regelmäßig kontrolliert und auditiert wird</li>
</ul>
<h3>Softwarelandschaft (00:35:48)</h3>
<ul>
<li>Unterschiedlichste Versionsstände von (beispielsweise) Java (von alt bis ganz neu)</li>
<li>JBoss wird nicht in der Community-Variante verwendet, sondern in der kommerziell unterstützten</li>
<li>Die Open-Source Variante wird auch nicht mehr JBoss heißen, sondern WildFly (<a href="https://github.com/wildfly/wildfly">https://github.com/wildfly/wildfly</a>)</li>
<li>Kostet nicht unerheblich, aber weniger im Vergleich zu anderen Produkten</li>
<li>Support lohnt sich und wurde von Essy auch immer mal wieder in Anspruch genommen</li>
<li>Als Dienstleister hat mal im Grunde keine andere Wahl als den kommerziellen Support sowohl von Red Hat Linux als auch JBoss zu nehmen</li>
<li>Aus diesem Grund wird Ruby 1.8.7 auch immer noch von Red Hat gepflegt</li>
<li>Was dann natürlich zu anderen Problemen führt ^^</li>
</ul>
<h3>Virtualisierung (00:40:40)</h3>
<ul>
<li>Ein Großteil der Server laufen auf VMWare ESX Virtualisierung:
<ul>
<li>Der ESX-Hypervisor läuft direkt auf dem Server ohne weiteres Betriebssytem (<a href="https://en.wikipedia.org/wiki/VMware_ESX">https://en.wikipedia.org/wiki/VMware_ESX</a>)</li>
<li>VMware (<a href="http://www.vmware.com/de">http://www.vmware.com/de</a>)</li>
<li>VMware vSphere (<a href="http://www.vmware.com/de/products/vsphere">http://www.vmware.com/de/products/vsphere</a>)</li>
<li>VMware vCenter zum Verwalten/Clustern von mehreren VMware ESX Servern mit DRS (Dynamic Resource Scheduling) und HA (High Availability)(<a href="http://www.vmware.com/de/products/vcenter-server">http://www.vmware.com/de/products/vcenter-server</a>)</li>
</ul></li>
<li>Einige Dinge machen virtualisiert einfach keinen Sinn (manchmal auch aus Lizenzgründen…)</li>
<li>Virtualisierung ist auf diesem Niveau schon sehr spaßig: Einfach mal laufende Server per Mausklick auf andere Hardware ziehen</li>
<li>Für ein Rechenzentrum extrem sinnvoll</li>
</ul>
<h3>Prozesszertifizierung, Support und Monitoring der Kaffeemaschinen (00:44:35)</h3>
<ul>
<li>Zertifizierung ist für einen Betreiber eines Rechenzentrums sehr wichtig</li>
<li>Die ISO in diesem Fall ist die 27001 (<a href="http://de.wikipedia.org/wiki/ISO/IEC_27001">http://de.wikipedia.org/wiki/ISO/IEC_27001</a>)</li>
<li>In diesem Zuge werden vor allem organisatorische Aspekte geprüft</li>
<li>Neben der Dokumentation der Prozesse werden aber auch Gespräche mit Mitarbeitern geführt und exemplarisch Server betrachtet</li>
<li>Das Audit findet jährlich statt</li>
<li>Pentesting (<a href="http://de.wikipedia.org/wiki/Penetrationstest_(Informatik)">http://de.wikipedia.org/wiki/Penetrationstest_(Informatik)</a>) ist nicht Teil der Zertifizierung</li>
<li>Glücklicherweise keine PCI Zertifizierung (<a href="http://de.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard">http://de.wikipedia.org/wiki/Payment_Card_Industry_Data_Security_Standard</a>)</li>
<li>Bei der Vielzahl von Kunden und Projekten lassen sich umfangreiche Prozesse am Ende aber nicht vermeiden</li>
<li>Das Maximum an Projekten, die man so übernimmt varriert und hängt von der Komplexität der jeweiligen Projekte ab</li>
<li>Essy macht glücklicherweise kaum bis keinen Support (:</li>
<li>Der Rest des Teams macht aber durchaus auch mehr 2nd-Level Support</li>
<li>2nd-Level Support hat keinen unmittelbaren Kontakt mit dem Kunden</li>
<li>Inhouse Servicecenter für den First Level Support, wenn das nicht reicht, landen die Tickets im Team im Second Level Support</li>
<li>Ärzte schrauben ganz gerne mal selbst an PCs rum und mailen an alle über den Mailverteiler</li>
<li>Basti hat mal in einer Firma die Druckerlandschaft mitkonfiguriert, globales Auslesen von über SNMP von Tonerfüllständen mit Abgleich auf den Lagerbestand und ggf. direkte automatisierte Bestellung beim Händler</li>
<li>Drucker sind natürlich auch im Icinga ;-) Telefone allerdings nicht mehr</li>
<li>Icinga hört immer dort auf, wo es spezialisierte Tools der jeweilgen Produkte gibt
<ul>
<li>JBoss Operation Network (<a href="http://de.redhat.com/products/jbossenterprisemiddleware/operations-network/">http://de.redhat.com/products/jbossenterprisemiddleware/operations-network/</a>)</li>
</ul></li>
<li>Ungelöstes Problem: Monitoring und Alerting der Kaffeemaschinen</li>
</ul>
<h3>K-Fälle (01:02:35)</h3>
<ul>
<li>K-Fälle wie Katastrophenfälle</li>
<li>Redundanz bedeutet in diesem Fall auch, dass ein Rechenzentrum wegbrechen kann</li>
<li>Für diesen Fall werden unterschiedliche Szenarien durchgespielt, um Lücken im System zu entdecken</li>
<li>ESX-Cluster werden inkl. Storage zwischen den Rechenzentren gespiegelt und im Hot-Standby gehalten</li>
<li>Dafür braucht man dann allerdings auch entsprechend Bandbreite</li>
<li>Wir vermuten, dass Darkfibers in Köln zu bekommen kein Problem sein sollten</li>
<li>Diese hohe Ausfallsicherheit lohnt sich erst für Projekte/System ab einem gewissen Grad, vorher macht es finanziell einfach keinen Sinn</li>
<li>Finanziell bedeutet in diesem Fall weniger Hardware, sondern vor allem Personal, Organisation und Prozess</li>
<li>Resultat ist in jedem Fall die Einbüßung von Flexibilität</li>
<li>Hohe Anhängigkeiten zwischen verschiedenen Teams</li>
</ul>
<h3>Deployment, Koordination (01:10:30)</h3>
<ul>
<li>Produktmanager koordinieren zwischen Kunde, externer Entwicklung und Infrastruktur</li>
<li>Es gibt komplexe Abhängigkeiten zwischen verschiedenen System (sowohl in Hard- als auch Software)</li>
<li>Zero-Downtime Deployments werden angestrebt, aber sind nicht immer möglich</li>
<li>Vor Deployments: Wöchentliche Meetings von Teams zur Koordination</li>
</ul>
<h3>Tooling (01:16:00)</h3>
<ul>
<li>Excel ist ein wichtiges Werkzeug <em>hust</em>, soll aber langsam abgelöst werden</li>
<li>Confluence ist seit neustem im Einsatz (<a href="https://www.atlassian.com/de/software/confluence">https://www.atlassian.com/de/software/confluence</a>)</li>
<li>OwnCloud (<a href="http://owncloud.org/">http://owncloud.org/</a>) ist auch hinzugekommen</li>
</ul>
<h3>git, Gitlab, Stash, Github Enterprise (01:18:35)</h3>
<ul>
<li>bisher SVN: <a href="https://subversion.apache.org/">https://subversion.apache.org/</a></li>
<li>aber Essy hat Gitlab aufgesetzt: <a href="https://www.gitlab.com/">https://www.gitlab.com/</a></li>
<li>Wir erzählen Essy von Stash: <a href="https://www.atlassian.com/software/stash">https://www.atlassian.com/software/stash</a>
<ul>
<li>Integration in Confluence &amp; Co</li>
<li>Betrieb macht man selber (wie bei GHE), für hosted nimmt man dann Bitbucket <a href="https://bitbucket.org/">https://bitbucket.org/</a></li>
</ul></li>
<li>Ja, Github kann auch SVN sprechen!</li>
<li>Github Enterprise: <a href="https://enterprise.github.com/">https://enterprise.github.com/</a></li>
</ul>
<h3>Administration und Automatisierung (01:25:00)</h3>
<ul>
<li>Turnschuh-Administration: Monkey see, Monkey do!</li>
<li>Automatisierung ist nicht for-free und ein anhaltender Prozess</li>
<li>&quot;Läuft&#39;s noch oder automatisierst du schon?&quot; (<a href="https://twitter.com/bascht">@bascht</a>)</li>
</ul>
<h3>Backups (01:28:20)</h3>
<ul>
<li>Regelmäßig machen, lang genug aufbewahren UND</li>
<li>Restore testen!</li>
<li>Bei Essys Arbeitgeber gibt es dazu ein dediziertes Backup Team</li>
<li>von VMs werden Snapshots erstellt und gesichert</li>
<li>Restore ist ein Informationssicherheitsvorfall</li>
</ul>
<h3>Chaos Monkey (01:32:20)</h3>
<ul>
<li>Wir fragen Essy, was mit dem Testen von Infrastruktur ist</li>
<li>Chaos Monkey bei Netflix (<a href="http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html">http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html</a>)
<ul>
<li>Chaos Gorilla macht ganze AWS Availability Zones aus</li>
<li>Mehr Monkeys… Latency Monkey, Conformity Monkey, Doctor Monkey, Janitor Monkey, Security Monkey, 10-18 Monkey: <a href="http://techblog.netflix.com/2011/07/netflix-simian-army.html">http://techblog.netflix.com/2011/07/netflix-simian-army.html</a></li>
</ul></li>
<li>Essy sagt, das sei im VMware Land (auch) möglich</li>
</ul>
<h3>IPv6 (01:38:05)</h3>
<ul>
<li>Bei Essy noch kein IPv6</li>
<li>IPv6 CRE: <a href="http://cre.fm/cre197-ipv6">http://cre.fm/cre197-ipv6</a></li>
</ul>
<h3>Verschiedenes (01:38:30)</h3>
<ul>
<li>es gibt einen regelmäßigen Austausch zwischen den Teams</li>
<li>ActiveDirectory: <a href="https://en.wikipedia.org/wiki/Active_Directory">https://en.wikipedia.org/wiki/Active_Directory</a></li>
</ul>
<h3>Telearbeit (01:45:00)</h3>
<ul>
<li>Essy hat einen (Windows) Arbeitsrechner und darf mit ihrem Mac Book nicht ins Firmennetz</li>
<li>WPA2: <a href="https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access">https://en.wikipedia.org/wiki/Wi-Fi_Protected_Access</a></li>
<li>Remote Zugang via Citrix, dann via Remote Desktop (RDP) zum Arbeitsrechner und von da aus zu den Servern</li>
<li>Problem dabei: Keyboard Shortcuts funktionieren wegen dem hin- und hermapping nicht so richtig</li>
<li>Essy kann Heimarbeit machen, sofern es keine Notwendigkeit gibt, Vorort zu arbeiten</li>
</ul>
<h3>Homesetup (01:53:55)</h3>
<ul>
<li>Essy hat drei Displays (sowohl zuhause als auch auf der Arbeit) und sich kürzlich neue Hardware für einen Desktop Rechner gekauft</li>
<li>Dirk und Basti haben schon EWIG keinen Rechner mehr komplett aus Einzelteilen gebaut</li>
</ul>
<h3>Abschluß (01:59:15)</h3>
<ul>
<li>Es gibt wohl Führungen durch ein Vorzeigerechenzentrum!</li>
<li>Girls&#39;Day: <a href="http://www.girls-day.de/">http://www.girls-day.de/</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST030" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:10:44" title="Deployment über Netzwerkfreigabe" />
<psc:chapter start="00:26:00" title="Server, Monitoring &amp; Bereitschaft" />
<psc:chapter start="00:35:48" title="Softwarelandschaft" />
<psc:chapter start="00:40:40" title="Virtualisierung" />
<psc:chapter start="00:44:35" title="Prozesszertifizierung, Support und Monitoring der Kaffeemaschinen" />
<psc:chapter start="01:02:35" title="K-Fälle" />
<psc:chapter start="01:10:30" title="Deployment, Koordination" />
<psc:chapter start="01:16:00" title="Tooling" />
<psc:chapter start="01:18:35" title="git, Gitlab, Stash, Github Enterprise" />
<psc:chapter start="01:25:00" title="Administration und Automatisierung" />
<psc:chapter start="01:28:20" title="Backups" />
<psc:chapter start="01:32:20" title="Chaos Monkey" />
<psc:chapter start="01:38:05" title="IPv6" />
<psc:chapter start="01:38:30" title="Verschiedenes" />
<psc:chapter start="01:45:00" title="Telearbeit" />
<psc:chapter start="01:53:55" title="Homesetup" />
<psc:chapter start="01:59:15" title="Abschluß" />
</psc:chapters>
</item>
<item>
<title>GST031 - CORBA in cool</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Wir haben mit Stefan Tilkov über Softwarearchitekturen, REST und das Web gesprochen.</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst031.mp3" length="58132310" type="audio/mpeg"/>
<guid isPermaLink="false">GST031</guid>
<pubDate>Mon, 14 Apr 2014 13:39:53 +0200</pubDate>
<itunes:duration>01:20:22</itunes:duration>
<itunes:summary><![CDATA[**Synopsis:** Mit Stefan Tilkov (@stilkov) sprachen wir über
Softwarearchitekturen, vor allem REST und Web Services. Wir haben keine 800
Personenjahre gebraucht, um festzustellen, dass Thrift CORBA in cool ist und
die Idee "Rechte Maustaste, 'Generate and Deploy Web Service'" nicht wirklich
funktioniert. Neben REST im Allgemeinen sprechen wir über Hypermedia und wie
alles zusammengreifen kann. Stefan schlägt eine interessante Brücke von der
Idee REST als Backend-Thema hin zu REST für das Web, wodurch wir zu ROCA, einem
Architekturstil, kommen.
### Unser Gast (00:00:00)
* Stefan Tilkov, @stilkov, http://www.innoq.com/blog/st/about/
* REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien, Stefan Tilkov: http://rest-http.info
* Macht zum Teil Management und sonst wozu er so Lust hat: Workshops, Konferenzen, Schulungen, …
* Hat C, C++, Java und und und gemacht, sein aktueller Favorit ist allerdings: Clojure
### Architektur im Wandel (00:02:45)
* "architect" is Latin for "cannot code anymore.", Ted Neward: http://msdn.microsoft.com/en-us/library/aa905335.aspx
* "Architektur ist die Menge der wichtigen Entscheidungen", Stefan Tilkov :)
* Anwendungsarchitektur Anfang der 2000er
* Irgendwann wurde der Begriff "Architektur" negativ belegt
### Projekte bei innoQ (00:05:10)
* 60 Leute bei innoQ
* 20% strategische Beratung
* 80% Entwicklungsprojekt, teilweise nur mitarbeiten, teilweise komplett selber verantwortet
* bei innoQ werden immer wieder die Rollen/Aufgaben und Projekte gewechselt
### Architektur: negativ? (00:08:40)
* Agile Is Dead (Long Live Agility), Dave Thomas: http://pragdave.me/blog/2014/03/04/time-to-kill-agile/
* Rollen (z.B. "der Architekt") ergeben sich oft automatisch, ohne dass es vorgegeben ist
* Architektur negativ? "Ist wie ich darf nicht mehr nachdenken!"
### REST (00:12:05)
* REST: https://en.wikipedia.org/wiki/Representational_state_transfer
* Representational State Transfer (REST), Roy Fielding, Dissertation (2000), Kapitel 5: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
* Roy Fieldings Blog: http://roy.gbiv.com/untangled/
* REST war eigentlich vor der SOAP/WS-* Welle da
* Ressourcen haben eine URI und sind damit identifizierbar
* Standard-Interface um mit Ressourcen zu interagieren: GET, PUT, POST, DELETE
* Hypermedia: https://en.wikipedia.org/wiki/Hypermedia
* REST Maturity Models (RMM): http://martinfowler.com/articles/richardsonMaturityModel.html
### Der WS-Weg (00:16:55)
* Leute müssen für Webservices oft missioniert werden; bei REST ist das deutlich einfacher
* Bei Web Serivces entwirft man permanent neue Protokolle (mit SOAP)
* WSDL: http://www.w3.org/TR/wsdl
* Enterprise Service Bus: https://en.wikipedia.org/wiki/Enterprise_service_bus
### Microservices vs SOA? (00:22:05)
* James Lewis, Martin Fowler über Microservices: http://martinfowler.com/articles/microservices.html
* Jim Webber "Guerilla SOA": http://www.infoq.com/presentations/webber-guerilla-soa
### Hypermedia Explained (00:23:53)
* Hypermedia: https://en.wikipedia.org/wiki/Hypermedia
* Heute sind REST APIs relativ gut (kein GET mehr, um eine Ressource zu löschen)
* URI Templating, http://whatisrest.com/rest_service_contracts/uri_templates_and_resource_queries
* REST APIs haben eine Startseite, von wo aus der Clients den Links folgen kann
* Der API Client braucht nicht so festverdrahtet sein
* Links für Ressourcen signalisieren dem Client, wie er mit einer Ressource interagieren kann
* Architekturstile (https://de.wikipedia.org/wiki/Architekturstil) haben immer Tradeoffs!
* Apache Thrift: https://en.wikipedia.org/wiki/Apache_Thrift
* CORBA: https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture
* URI Templates sind ein Rezept, um z.B. eine große Menge von Links abzubilden
* HTML ist ein schönes Beispiel: Mit einem Formular und GET
* HTML ist ein Hypermedia Format!
* Ein Browser ist quasi ein Hypermedia Client
* REST sollte Standardformate, selbstbeschreibender Nachrichten verwenden
* IANA Media Types: https://www.iana.org/assignments/media-types/media-types.xhtml
* Populäre Formate: JSON, XML
* JSON Schema: http://json-schema.org/
* JSON & Hypermedia
* Collection+JSON: http://amundsen.com/media-types/collection/
* Hypertext Application Language: http://stateless.co/hal_specification.html
* Siren: https://github.com/kevinswiber/siren
* Jon Moore, "Building Hypermedia APIs with HTML": http://www.infoq.com/presentations/web-api-html
* AtomPub, The Atom Publishing Protocol: http://bitworking.org/projects/atom/rfc5023.html
### REST für das Web (00:45:00)
* REST ist die Architektur des Webs und nicht nur von Web Services
* ROCA: Resource-oriented Client Architecture: http://roca-style.org
* Single Page Application Frameworks: http://emberjs.com, http://angularjs.org, http://backbonejs.org, ...
* Yehuda Katz: http://yehudakatz.com/
* JSON API: http://jsonapi.org/
* ROCA: Server-seitiges HTML, App Logik nur im Server, Seite funktioniert ohne JavaScript, JavaScript erweitert nur, Progressive Enhancement (https://en.wikipedia.org/wiki/Progressive_enhancement), ...
* History API: http://diveintohtml5.info/history.html
* SEO & Single Page Apps: http://backbonetutorials.com/seo-for-single-page-apps/
* iTunes im Browser? o_O z.B. mit https://vaadin.com/home
* Monolithen aufbrechen; die einzelnen Teile sollten auch ein eigenes UI haben
* Breaking the monolith: Towards a system-of-systems architecture: http://vimeo.com/74354372
* jQuery UI: https://jqueryui.com/
* ember.js und AngularJS bieten Konventionen und vermeiden Diskussionen (meint Basti)
* Web Framework Ansatz: "Wir nehmen entweder JSF oder Grails oder JRuby oder Angular oder jQuery"
* Architektur sollte unabhängig sein von der Implementierung
* Bower: http://bower.io/
* "build for replacement, not for reuse"
* The Twelve-Factor App: http://12factor.net/
### Web Services, REST (01:11:30)
* innoQ macht auch Projekte im klassischen Web Service Kontext
* Web Service Metadaten mit RESTful HTTP managen
* UDDI: https://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration
* WSDL: https://en.wikipedia.org/wiki/Web_Services_Description_Language
* WS-MetadataExchange: https://en.wikipedia.org/wiki/WS-MetadataExchange
### Ausblick (01:17:20)
* Alte Ideen tauchen in neuen Konzepten wieder auf; verschiedene Gruppe lernen von einander
* JAXconf: http://jaxconf.com/
* innoQ Timeline: http://www.innoq.com/de/timeline/
* innoQ Podcast: http://www.innoq.com/de/timeline/?type=podcast_episodes]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis:</strong> Mit Stefan Tilkov (<a href="https://twitter.com/stilkov">@stilkov</a>) sprachen wir über
Softwarearchitekturen, vor allem REST und Web Services. Wir haben keine 800
Personenjahre gebraucht, um festzustellen, dass Thrift CORBA in cool ist und
die Idee &quot;Rechte Maustaste, &#39;Generate and Deploy Web Service&#39;&quot; nicht wirklich
funktioniert. Neben REST im Allgemeinen sprechen wir über Hypermedia und wie
alles zusammengreifen kann. Stefan schlägt eine interessante Brücke von der
Idee REST als Backend-Thema hin zu REST für das Web, wodurch wir zu ROCA, einem
Architekturstil, kommen.</p>
<h3>Unser Gast (00:00:00)</h3>
<ul>
<li>Stefan Tilkov, <a href="https://twitter.com/stilkov">@stilkov</a>, <a href="http://www.innoq.com/blog/st/about/">http://www.innoq.com/blog/st/about/</a></li>
<li>REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien, Stefan Tilkov: <a href="http://rest-http.info">http://rest-http.info</a></li>
<li>Macht zum Teil Management und sonst wozu er so Lust hat: Workshops, Konferenzen, Schulungen, …</li>
<li>Hat C, C++, Java und und und gemacht, sein aktueller Favorit ist allerdings: Clojure</li>
</ul>
<h3>Architektur im Wandel (00:02:45)</h3>
<ul>
<li>&quot;architect&quot; is Latin for &quot;cannot code anymore.&quot;, Ted Neward: <a href="http://msdn.microsoft.com/en-us/library/aa905335.aspx">http://msdn.microsoft.com/en-us/library/aa905335.aspx</a></li>
<li>&quot;Architektur ist die Menge der wichtigen Entscheidungen&quot;, Stefan Tilkov :)</li>
<li>Anwendungsarchitektur Anfang der 2000er</li>
<li>Irgendwann wurde der Begriff &quot;Architektur&quot; negativ belegt</li>
</ul>
<h3>Projekte bei innoQ (00:05:10)</h3>
<ul>
<li>60 Leute bei innoQ</li>
<li>20% strategische Beratung</li>
<li>80% Entwicklungsprojekt, teilweise nur mitarbeiten, teilweise komplett selber verantwortet</li>
<li>bei innoQ werden immer wieder die Rollen/Aufgaben und Projekte gewechselt</li>
</ul>
<h3>Architektur: negativ? (00:08:40)</h3>
<ul>
<li>Agile Is Dead (Long Live Agility), Dave Thomas: <a href="http://pragdave.me/blog/2014/03/04/time-to-kill-agile/">http://pragdave.me/blog/2014/03/04/time-to-kill-agile/</a></li>
<li>Rollen (z.B. &quot;der Architekt&quot;) ergeben sich oft automatisch, ohne dass es vorgegeben ist</li>
<li>Architektur negativ? &quot;Ist wie ich darf nicht mehr nachdenken!&quot;</li>
</ul>
<h3>REST (00:12:05)</h3>
<ul>
<li>REST: <a href="https://en.wikipedia.org/wiki/Representational_state_transfer">https://en.wikipedia.org/wiki/Representational_state_transfer</a></li>
<li>Representational State Transfer (REST), Roy Fielding, Dissertation (2000), Kapitel 5: <a href="https://www.ics.uci.edu/%7Efielding/pubs/dissertation/rest_arch_style.htm">https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm</a></li>
<li>Roy Fieldings Blog: <a href="http://roy.gbiv.com/untangled/">http://roy.gbiv.com/untangled/</a></li>
<li>REST war eigentlich vor der SOAP/WS-* Welle da</li>
<li>Ressourcen haben eine URI und sind damit identifizierbar</li>
<li>Standard-Interface um mit Ressourcen zu interagieren: GET, PUT, POST, DELETE</li>
<li>Hypermedia: <a href="https://en.wikipedia.org/wiki/Hypermedia">https://en.wikipedia.org/wiki/Hypermedia</a></li>
<li>REST Maturity Models (RMM): <a href="http://martinfowler.com/articles/richardsonMaturityModel.html">http://martinfowler.com/articles/richardsonMaturityModel.html</a></li>
</ul>
<h3>Der WS-Weg (00:16:55)</h3>
<ul>
<li>Leute müssen für Webservices oft missioniert werden; bei REST ist das deutlich einfacher</li>
<li>Bei Web Serivces entwirft man permanent neue Protokolle (mit SOAP)</li>
<li>WSDL: <a href="http://www.w3.org/TR/wsdl">http://www.w3.org/TR/wsdl</a></li>
<li>Enterprise Service Bus: <a href="https://en.wikipedia.org/wiki/Enterprise_service_bus">https://en.wikipedia.org/wiki/Enterprise_service_bus</a></li>
</ul>
<h3>Microservices vs SOA? (00:22:05)</h3>
<ul>
<li>James Lewis, Martin Fowler über Microservices: <a href="http://martinfowler.com/articles/microservices.html">http://martinfowler.com/articles/microservices.html</a></li>
<li>Jim Webber &quot;Guerilla SOA&quot;: <a href="http://www.infoq.com/presentations/webber-guerilla-soa">http://www.infoq.com/presentations/webber-guerilla-soa</a></li>
</ul>
<h3>Hypermedia Explained (00:23:53)</h3>
<ul>
<li>Hypermedia: <a href="https://en.wikipedia.org/wiki/Hypermedia">https://en.wikipedia.org/wiki/Hypermedia</a></li>
<li>Heute sind REST APIs relativ gut (kein GET mehr, um eine Ressource zu löschen)</li>
<li>URI Templating, <a href="http://whatisrest.com/rest_service_contracts/uri_templates_and_resource_queries">http://whatisrest.com/rest_service_contracts/uri_templates_and_resource_queries</a></li>
<li>REST APIs haben eine Startseite, von wo aus der Clients den Links folgen kann</li>
<li>Der API Client braucht nicht so festverdrahtet sein</li>
<li>Links für Ressourcen signalisieren dem Client, wie er mit einer Ressource interagieren kann</li>
<li>Architekturstile (<a href="https://de.wikipedia.org/wiki/Architekturstil">https://de.wikipedia.org/wiki/Architekturstil</a>) haben immer Tradeoffs!</li>
<li>Apache Thrift: <a href="https://en.wikipedia.org/wiki/Apache_Thrift">https://en.wikipedia.org/wiki/Apache_Thrift</a></li>
<li>CORBA: <a href="https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture">https://en.wikipedia.org/wiki/Common_Object_Request_Broker_Architecture</a></li>
<li>URI Templates sind ein Rezept, um z.B. eine große Menge von Links abzubilden
<ul>
<li>HTML ist ein schönes Beispiel: Mit einem Formular und GET</li>
</ul></li>
<li>HTML ist ein Hypermedia Format!</li>
<li>Ein Browser ist quasi ein Hypermedia Client</li>
<li>REST sollte Standardformate, selbstbeschreibender Nachrichten verwenden</li>
<li>IANA Media Types: <a href="https://www.iana.org/assignments/media-types/media-types.xhtml">https://www.iana.org/assignments/media-types/media-types.xhtml</a></li>
<li>Populäre Formate: JSON, XML</li>
<li>JSON Schema: <a href="http://json-schema.org/">http://json-schema.org/</a></li>
<li>JSON &amp; Hypermedia
<ul>
<li>Collection+JSON: <a href="http://amundsen.com/media-types/collection/">http://amundsen.com/media-types/collection/</a></li>
<li>Hypertext Application Language: <a href="http://stateless.co/hal_specification.html">http://stateless.co/hal_specification.html</a></li>
<li>Siren: <a href="https://github.com/kevinswiber/siren">https://github.com/kevinswiber/siren</a></li>
</ul></li>
<li>Jon Moore, &quot;Building Hypermedia APIs with HTML&quot;: <a href="http://www.infoq.com/presentations/web-api-html">http://www.infoq.com/presentations/web-api-html</a></li>
<li>AtomPub, The Atom Publishing Protocol: <a href="http://bitworking.org/projects/atom/rfc5023.html">http://bitworking.org/projects/atom/rfc5023.html</a></li>
</ul>
<h3>REST für das Web (00:45:00)</h3>
<ul>
<li>REST ist die Architektur des Webs und nicht nur von Web Services</li>
<li>ROCA: Resource-oriented Client Architecture: <a href="http://roca-style.org">http://roca-style.org</a></li>
<li>Single Page Application Frameworks: <a href="http://emberjs.com">http://emberjs.com</a>, <a href="http://angularjs.org">http://angularjs.org</a>, <a href="http://backbonejs.org">http://backbonejs.org</a>, ...</li>
<li>Yehuda Katz: <a href="http://yehudakatz.com/">http://yehudakatz.com/</a></li>
<li>JSON API: <a href="http://jsonapi.org/">http://jsonapi.org/</a></li>
<li>ROCA: Server-seitiges HTML, App Logik nur im Server, Seite funktioniert ohne JavaScript, JavaScript erweitert nur, Progressive Enhancement (<a href="https://en.wikipedia.org/wiki/Progressive_enhancement">https://en.wikipedia.org/wiki/Progressive_enhancement</a>), ...</li>
<li>History API: <a href="http://diveintohtml5.info/history.html">http://diveintohtml5.info/history.html</a></li>
<li>SEO &amp; Single Page Apps: <a href="http://backbonetutorials.com/seo-for-single-page-apps/">http://backbonetutorials.com/seo-for-single-page-apps/</a></li>
<li>iTunes im Browser? o_O z.B. mit <a href="https://vaadin.com/home">https://vaadin.com/home</a></li>
<li>Monolithen aufbrechen; die einzelnen Teile sollten auch ein eigenes UI haben</li>
<li>Breaking the monolith: Towards a system-of-systems architecture: <a href="http://vimeo.com/74354372">http://vimeo.com/74354372</a></li>
<li>jQuery UI: <a href="https://jqueryui.com/">https://jqueryui.com/</a></li>
<li>ember.js und AngularJS bieten Konventionen und vermeiden Diskussionen (meint Basti)</li>
<li>Web Framework Ansatz: &quot;Wir nehmen entweder JSF oder Grails oder JRuby oder Angular oder jQuery&quot;</li>
<li>Architektur sollte unabhängig sein von der Implementierung</li>
<li>Bower: <a href="http://bower.io/">http://bower.io/</a></li>
<li>&quot;build for replacement, not for reuse&quot;</li>
<li>The Twelve-Factor App: <a href="http://12factor.net/">http://12factor.net/</a></li>
</ul>
<h3>Web Services, REST (01:11:30)</h3>
<ul>
<li>innoQ macht auch Projekte im klassischen Web Service Kontext</li>
<li>Web Service Metadaten mit RESTful HTTP managen</li>
<li>UDDI: <a href="https://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration">https://en.wikipedia.org/wiki/Universal_Description_Discovery_and_Integration</a></li>
<li>WSDL: <a href="https://en.wikipedia.org/wiki/Web_Services_Description_Language">https://en.wikipedia.org/wiki/Web_Services_Description_Language</a></li>
<li>WS-MetadataExchange: <a href="https://en.wikipedia.org/wiki/WS-MetadataExchange">https://en.wikipedia.org/wiki/WS-MetadataExchange</a></li>
</ul>
<h3>Ausblick (01:17:20)</h3>
<ul>
<li>Alte Ideen tauchen in neuen Konzepten wieder auf; verschiedene Gruppe lernen von einander</li>
<li>JAXconf: <a href="http://jaxconf.com/">http://jaxconf.com/</a></li>
<li>innoQ Timeline: <a href="http://www.innoq.com/de/timeline/">http://www.innoq.com/de/timeline/</a></li>
<li>innoQ Podcast: <a href="http://www.innoq.com/de/timeline/?type=podcast_episodes">http://www.innoq.com/de/timeline/?type=podcast_episodes</a></li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST031" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Unser Gast" />
<psc:chapter start="00:02:45" title="Architektur im Wandel" />
<psc:chapter start="00:05:10" title="Projekte bei innoQ" />
<psc:chapter start="00:08:40" title="Architektur: negativ?" />
<psc:chapter start="00:12:05" title="REST" />
<psc:chapter start="00:16:55" title="Der WS-Weg" />
<psc:chapter start="00:22:05" title="Microservices vs SOA?" />
<psc:chapter start="00:23:53" title="Hypermedia Explained" />
<psc:chapter start="00:45:00" title="REST für das Web" />
<psc:chapter start="01:11:30" title="Web Services, REST" />
<psc:chapter start="01:17:20" title="Ausblick" />
</psc:chapters>
</item>
<item>
<title>GST032 - NoSQL Matters 2014 Cologne</title>
<itunes:explicit>no</itunes:explicit>
<itunes:author>Dirk Breuer, Sebastian Cohnen</itunes:author>
<itunes:subtitle>Der Geekstammtisch mit Gesprächen von der NoSQL Matters 2014.</itunes:subtitle>
<enclosure url="http://media.geekstammtisch.de/episodes/gst032.mp3" length="156117153" type="audio/mpeg"/>
<guid isPermaLink="false">GST032</guid>
<pubDate>Thu, 15 May 2014 08:44:23 +0200</pubDate>
<itunes:duration>03:36:27</itunes:duration>
<itunes:summary><![CDATA[**Synopsis**: Auch dieses Jahr sind wir wieder auf der NoSQL Matters in Köln und haben wieder mit Speakern wie Besuchern gesprochen. Wir haben viele neue Menschen kennengelernt, aber auch die ein oder andere Fortsetzung vom letzten Mal ist dabei. Ein Hinweis noch, es sind überwiegend Gespräche in Englisch.
#### Gesprächspartner
* [EN] Ted Dunning (@ted_dunning)
* [EN] Ellen Friedman (@Ellen_Friedman)
* [EN] Johnny Miller (@cyanmiller)
* [DE] Michael Hunger (@mesirii)
* [EN] Akmal Chaudhr (@akmalchaudhri)
* [DE] Gereon Steffens (@gereons)
* [DE] Max Neunhöffer
* [EN] Mahesh Paolini-Subramanya (@dieswaytoofast)
* [EN] Boaz Leskes (@bleskes)
* [DE] Frank Celler (@fceller) und Stefan Edlich (@edlich)
* [EN] Russel Brown (@russelldb)
* [EN] Jennifer Rullmann (@jrullmann)
### Intro (00:00:00)
* Basti und Dirk sagen "Hallo"
### Ted Dunning, MapR (00:03:46)
* @ted_dunning
* War dieses Jahr Keynote Speaker
* Thema war "Remember the Future"
* Gist: Einige Dinge die heute modern erscheinen werden in Zukunft nicht mehr sein. Dinge von denen man dachte, sie spielen keine Relevanz mehr, werden in Zukunft modern sein.
* Was braucht NoSQL für die Zukunft?
* Welche Möglichkeiten werden uns Daten eröffnen?
* Was sind die kleinen Dinge, die in Zukunft große Relevanz haben werden?
### Ellen Friedman (00:18:23)
* @Ellen_Friedman
* Hat einen eher ungewöhnlichen Hintergrund: Sie ist Biologin mit Schwerpunkt auf Bio-Chemie und Genetik und hat in diesen Bereichen sowohl Forschung als auch Lehre betrieben
* Sie ist Autorin von zahlreichen Publikationen in diesem Bereich, aber auch Mitglied des Mahout-Projekts und schreibt aktuell viel über Machine-Learning
* Sie erklärt uns wie es zum Thema der Keynote "Remembering the future" kam
* Ellen glaubt wir werden genauer wenn es darum geht die Zukunft vorher zusagen
* Im Sinne von: Was für Probleme gelöst werden, weniger wie sie gelöst werden
* Die Lösung wird oft sehr überraschend sein
* Manchmal gab es die Lösung schon in der Vergangenheit und sie wird neu entdeckt
* "Die Geschichte wiederholt sich nicht"
* Wir sprechen über die Herausforderungen die auf unsere Gesellschaft zukommen mit der weiteren Erfassung großer Datenmengen
* Welche Verantwortung hat die Tech-Community in diesem Zusammenhang
* Abschließend geht es noch um die verständliche Vermittlung von komplexem Wissen
### Johnny Miller, DataStax (00:34:34)
* @cyanmiller
* Johnny ist Solution Architect bei DataStax, der größte Committer von Cassandra
* Neben einem Vortrag hat er auch einen sehr guten Einsteiger-Workshop gegeben
* Wir haben mit ihm über Ease-of-use gesprochen, und dass scheinbar viele NoSQL Systeme ihre Funktionalität langsam im Griff haben und sich nun auf die Benutzbarkeit konzentrieren können
* Sein Herzensthema ist Sicherheit in NoSQL Datenbanken, daher haben wir natürlich auch darüber gesprochen
### Michael Hunger, Neo Technologies (00:53:52)
* @mesirii
* Michael kommt von Neo Technologies, der Firma hinter Neo4j, einer Graphdatenbank
* Auch seinen Einsteiger-Workshop konnten wir besuchen
* Sein Talk war ebenfalls ein Einstieg, vor allem in die Welt der Graphen
* Wir sprachen mit ihm über "The right tool for the job" und welche Problemstellungen für Graphen geeignet sind
* Auch hier war Ease-of-use ein Thema
* Im Fall von Neo4j bezieht sich das sowohl auf die Anwendung als solche aber auch auf den Einstieg in die Welt der Graphen
* Off-the-Record: Leider erst nach Aufnahme haben wir uns noch verraten lassen, dass Neo4j seinen Namen aus dem Film der Matrix hat :-)
### Akmal Chaudhri, DataStax (01:12:24)
* @akmalchaudhri
* Akmal hat einen der wenigen nicht-technischen Talks gehalten
* Das Thema könnte dennoch nicht wichtiger sein: Skills
* Wie schafft man es als Unternehmen aber auch als Entwickler mit der rasanten technologischen Entwicklung mithalten zu können?
* Wir stellen fest, dass ein großer Vorteil ist, dass im Grunde alle großen NoSQL Datenbanken frei verfügbar sind und zu jeder zahlreiche und qualitativ hochwertige Lernressourcen kostenlos zur Verfügung stehen
### Gereon Steffens, Finanzen100 (01:29:17)
* @gereons
* Gereon ist Head of IT bei Finanzen100 in Köln
* Wir sprachen letztes Jahr mit ihm über die geplante Einführung von Redis
* Diese Einführung ist mehr als erfolgreich verlaufen
* Alle Anforderungen konnten erfüllt und neue Funktionalitäten für die Nutzer etabliert werden
* Wir sprachen auch darüber wie er diese neue Technologie im Team erfolgreich etablieren konnte
### Max Neunhöffer, triAGENS (01:45:09)
* Max kommt von der Open-Source Multi-Model Datenbank ArangoDB
* Wir reden mit ihm über das neueste Feature von ArangoDB: Sharding
* Vor allem geht es um die Herausforderungen ein solches Feature zu implementieren
* Der aktuelle Stand funktioniert zwar, aber es gibt noch viel zu tun
### Mahesh Paolini-Subramanya, Ubiquiti Networks (02:00:43)
* @dieswaytoofast
* Mit Mahesh wollten wir schon letztes Jahr sprechen, haben es aber nicht mehr geschafft. Nun hat es geklappt!
* Er arbeitet zur Zeit bei Ubiquiti Networks "The largest Network infrastructure company you may never heard of"
* Erste Frage die sich stellt: Was hat ein Hersteller von Netzwerkhardware mit NoSQL am Hut?
* Antwort: Unmengen von Daten!
* Uniquiti bietet eine Cloud-basierte Management Plattform für die Hardware an
* Jedes Gerät schickt alle 30 Sekunden Daten dorthin und kann von dort auch Konfiguration oder andere Informationen abrufen
* Sie setzen dazu so ziemlich jede NoSQL Datenbank ein die es gibt (außer MongoDB)
* Auch hier ist wieder "The right tool for the job" Thema
* Und natürlich sprechen wir über das große Thema Sicherheit
### Boaz Leskes, Elasticsearch (02:23:56)
* @bleskes
* Entwickler bei elasticsearch
* Er hat einen Talk zu den Aggregationsmöglichkeiten in elasticsearch gehalten
* Zusammengefasst: Mit Aggregationen, Facettensuche und den Analysefunktionen lassen sich sehr komplexe Systeme zur Analyse von beliebigen Daten erstellen
* elasticsearch ist noch viel weniger "nur" für Suchen geeignet, als noch vor einem Jahr
* Die Nutzer erkennen immer mehr, welche weiteren Möglichkeiten durch elasticsearch bekommen
* Boaz erklärt wie die Suchfunktionalitäten von elasticsearch bei der Analyse von arbiträren Daten helfen kann
* Es geht weiter mit einigen interessanten Einblicken in die Optimierung von Algorithmen
* Ease-of-use ist auch bei elasticsearch ein sehr wichtiges Thema, nicht nur bei der Nutzung aus Entwicklersicht, sondern auch aus Betriebssicht
* "Elasticsearch is a highly distributed system that really, really hard tries to hide it"
### Frank Celler und Dr. Stefan Edlich (02:39:35)
* @fceller (Dr. Celler Cologne Lectures) & @edlich
* Frank und Stefan sind beide Organisatoren der Konferenz und im Programmkommitee
* Wir sprechen über die Vorbereitungen der Konferenz und wie die bisherigen Eindrücke sind
* Wir erhalten ein paar Einblicke in die Schwierigkeiten bei der Zusammenstellung des Programms
* NoSQL Matters gibt es nicht nur in Köln, sondern auch in Dublin und Barcelona
### Russel Brown, Basho (02:53:18)
* @russelldb
* Russel ist kurzfristig für einen Talk eingesprungen, glücklicherweise zu dem Thema, dass er implementiert hat ;-)
* Mit Russel haben wir über CRDT in Riak gesprochen, dieses Theme hatten wir letztes Jahr auch schon mit Sean Cribbs
* Damals steckte es noch in den Kinderschuhen, heute ist es nutzbar in der neuesten Version von Riak
* CRDTs steht für "Conflict-Free Replicated Data-Typ"
* Wir reden über die Herausforderungen der Implementierung
* Und vor allem über die Herausforderungen beim Testing
* Obwohl das Feature implementiert ist, gibt es noch viele Dinge zu tun und zu optimieren
### Jennifer Rullmann, FoundationDB (03:11:26)
* @jrullmann
* Entwicklerin bei FoundationDB
* Hat vorher Webanwendungen Entwickelt nun arbeitet sie an FoundationDB
* FoundationDB: Distributed Key-Value DB mit der Möglichkeit andere Datenmodelle (Dokumente, Graphen, ...) in Form von Layern hinzufügen
* Ihr Talk war zu dem Thema "NoSQL and ACID"
* Ease of Use: FoundationDB legt viel Wert darauf einfach im Betrieb zu sein (wenig Konfiguration by default)
### Outro (03:28:52)
* Bast und Dirk sagen "Tschüss"
* persönliches Fazit: Wir hatten tolle drei Tage, haben viel gelernt und sehr spannende Gespräche geführt
* Fazit zur Konferenz: NoSQL wird erwachsen und wird uns bestimmt noch viele Jahre begleiten. In welcher Form? Das wird die Zukunft zeigen ;-)]]></itunes:summary>
<description><![CDATA[<p><strong>Synopsis</strong>: Auch dieses Jahr sind wir wieder auf der NoSQL Matters in Köln und haben wieder mit Speakern wie Besuchern gesprochen. Wir haben viele neue Menschen kennengelernt, aber auch die ein oder andere Fortsetzung vom letzten Mal ist dabei. Ein Hinweis noch, es sind überwiegend Gespräche in Englisch.</p>
<h4>Gesprächspartner</h4>
<ul>
<li>[EN] Ted Dunning (<a href="https://twitter.com/ted_dunning">@ted_dunning</a>)</li>
<li>[EN] Ellen Friedman (<a href="https://twitter.com/Ellen_Friedman">@Ellen_Friedman</a>)</li>
<li>[EN] Johnny Miller (<a href="https://twitter.com/cyanmiller">@cyanmiller</a>)</li>
<li>[DE] Michael Hunger (<a href="https://twitter.com/mesirii">@mesirii</a>)</li>
<li>[EN] Akmal Chaudhr (<a href="https://twitter.com/akmalchaudhri">@akmalchaudhri</a>)</li>
<li>[DE] Gereon Steffens (<a href="https://twitter.com/gereons">@gereons</a>)</li>
<li>[DE] Max Neunhöffer</li>
<li>[EN] Mahesh Paolini-Subramanya (<a href="https://twitter.com/dieswaytoofast">@dieswaytoofast</a>)</li>
<li>[EN] Boaz Leskes (<a href="https://twitter.com/bleskes">@bleskes</a>)</li>
<li>[DE] Frank Celler (<a href="https://twitter.com/fceller">@fceller</a>) und Stefan Edlich (<a href="https://twitter.com/edlich">@edlich</a>)</li>
<li>[EN] Russel Brown (<a href="https://twitter.com/russelldb">@russelldb</a>)</li>
<li>[EN] Jennifer Rullmann (<a href="https://twitter.com/jrullmann">@jrullmann</a>)</li>
</ul>
<h3>Intro (00:00:00)</h3>
<ul>
<li>Basti und Dirk sagen &quot;Hallo&quot;</li>
</ul>
<h3>Ted Dunning, MapR (00:03:46)</h3>
<ul>
<li><a href="https://twitter.com/ted_dunning">@ted_dunning</a></li>
<li>War dieses Jahr Keynote Speaker</li>
<li>Thema war &quot;Remember the Future&quot;</li>
<li>Gist: Einige Dinge die heute modern erscheinen werden in Zukunft nicht mehr sein. Dinge von denen man dachte, sie spielen keine Relevanz mehr, werden in Zukunft modern sein.</li>
<li>Was braucht NoSQL für die Zukunft?</li>
<li>Welche Möglichkeiten werden uns Daten eröffnen?</li>
<li>Was sind die kleinen Dinge, die in Zukunft große Relevanz haben werden?</li>
</ul>
<h3>Ellen Friedman (00:18:23)</h3>
<ul>
<li><a href="https://twitter.com/Ellen_Friedman">@Ellen_Friedman</a></li>
<li>Hat einen eher ungewöhnlichen Hintergrund: Sie ist Biologin mit Schwerpunkt auf Bio-Chemie und Genetik und hat in diesen Bereichen sowohl Forschung als auch Lehre betrieben</li>
<li>Sie ist Autorin von zahlreichen Publikationen in diesem Bereich, aber auch Mitglied des Mahout-Projekts und schreibt aktuell viel über Machine-Learning</li>
<li>Sie erklärt uns wie es zum Thema der Keynote &quot;Remembering the future&quot; kam</li>
<li>Ellen glaubt wir werden genauer wenn es darum geht die Zukunft vorher zusagen</li>
<li>Im Sinne von: Was für Probleme gelöst werden, weniger wie sie gelöst werden</li>
<li>Die Lösung wird oft sehr überraschend sein</li>
<li>Manchmal gab es die Lösung schon in der Vergangenheit und sie wird neu entdeckt</li>
<li>&quot;Die Geschichte wiederholt sich nicht&quot;</li>
<li>Wir sprechen über die Herausforderungen die auf unsere Gesellschaft zukommen mit der weiteren Erfassung großer Datenmengen</li>
<li>Welche Verantwortung hat die Tech-Community in diesem Zusammenhang</li>
<li>Abschließend geht es noch um die verständliche Vermittlung von komplexem Wissen</li>
</ul>
<h3>Johnny Miller, DataStax (00:34:34)</h3>
<ul>
<li><a href="https://twitter.com/cyanmiller">@cyanmiller</a></li>
<li>Johnny ist Solution Architect bei DataStax, der größte Committer von Cassandra</li>
<li>Neben einem Vortrag hat er auch einen sehr guten Einsteiger-Workshop gegeben</li>
<li>Wir haben mit ihm über Ease-of-use gesprochen, und dass scheinbar viele NoSQL Systeme ihre Funktionalität langsam im Griff haben und sich nun auf die Benutzbarkeit konzentrieren können</li>
<li>Sein Herzensthema ist Sicherheit in NoSQL Datenbanken, daher haben wir natürlich auch darüber gesprochen</li>
</ul>
<h3>Michael Hunger, Neo Technologies (00:53:52)</h3>
<ul>
<li><a href="https://twitter.com/mesirii">@mesirii</a></li>
<li>Michael kommt von Neo Technologies, der Firma hinter Neo4j, einer Graphdatenbank</li>
<li>Auch seinen Einsteiger-Workshop konnten wir besuchen</li>
<li>Sein Talk war ebenfalls ein Einstieg, vor allem in die Welt der Graphen</li>
<li>Wir sprachen mit ihm über &quot;The right tool for the job&quot; und welche Problemstellungen für Graphen geeignet sind</li>
<li>Auch hier war Ease-of-use ein Thema</li>
<li>Im Fall von Neo4j bezieht sich das sowohl auf die Anwendung als solche aber auch auf den Einstieg in die Welt der Graphen</li>
<li>Off-the-Record: Leider erst nach Aufnahme haben wir uns noch verraten lassen, dass Neo4j seinen Namen aus dem Film der Matrix hat :-)</li>
</ul>
<h3>Akmal Chaudhri, DataStax (01:12:24)</h3>
<ul>
<li><a href="https://twitter.com/akmalchaudhri">@akmalchaudhri</a></li>
<li>Akmal hat einen der wenigen nicht-technischen Talks gehalten</li>
<li>Das Thema könnte dennoch nicht wichtiger sein: Skills</li>
<li>Wie schafft man es als Unternehmen aber auch als Entwickler mit der rasanten technologischen Entwicklung mithalten zu können?</li>
<li>Wir stellen fest, dass ein großer Vorteil ist, dass im Grunde alle großen NoSQL Datenbanken frei verfügbar sind und zu jeder zahlreiche und qualitativ hochwertige Lernressourcen kostenlos zur Verfügung stehen</li>
</ul>
<h3>Gereon Steffens, Finanzen100 (01:29:17)</h3>
<ul>
<li><a href="https://twitter.com/gereons">@gereons</a></li>
<li>Gereon ist Head of IT bei Finanzen100 in Köln</li>
<li>Wir sprachen letztes Jahr mit ihm über die geplante Einführung von Redis</li>
<li>Diese Einführung ist mehr als erfolgreich verlaufen</li>
<li>Alle Anforderungen konnten erfüllt und neue Funktionalitäten für die Nutzer etabliert werden</li>
<li>Wir sprachen auch darüber wie er diese neue Technologie im Team erfolgreich etablieren konnte</li>
</ul>
<h3>Max Neunhöffer, triAGENS (01:45:09)</h3>
<ul>
<li>Max kommt von der Open-Source Multi-Model Datenbank ArangoDB</li>
<li>Wir reden mit ihm über das neueste Feature von ArangoDB: Sharding</li>
<li>Vor allem geht es um die Herausforderungen ein solches Feature zu implementieren</li>
<li>Der aktuelle Stand funktioniert zwar, aber es gibt noch viel zu tun</li>
</ul>
<h3>Mahesh Paolini-Subramanya, Ubiquiti Networks (02:00:43)</h3>
<ul>
<li><a href="https://twitter.com/dieswaytoofast">@dieswaytoofast</a></li>
<li>Mit Mahesh wollten wir schon letztes Jahr sprechen, haben es aber nicht mehr geschafft. Nun hat es geklappt!</li>
<li>Er arbeitet zur Zeit bei Ubiquiti Networks &quot;The largest Network infrastructure company you may never heard of&quot;</li>
<li>Erste Frage die sich stellt: Was hat ein Hersteller von Netzwerkhardware mit NoSQL am Hut?</li>
<li>Antwort: Unmengen von Daten!</li>
<li>Uniquiti bietet eine Cloud-basierte Management Plattform für die Hardware an</li>
<li>Jedes Gerät schickt alle 30 Sekunden Daten dorthin und kann von dort auch Konfiguration oder andere Informationen abrufen
<ul>
<li>Sie setzen dazu so ziemlich jede NoSQL Datenbank ein die es gibt (außer MongoDB)</li>
</ul></li>
<li>Auch hier ist wieder &quot;The right tool for the job&quot; Thema</li>
<li>Und natürlich sprechen wir über das große Thema Sicherheit</li>
</ul>
<h3>Boaz Leskes, Elasticsearch (02:23:56)</h3>
<ul>
<li><a href="https://twitter.com/bleskes">@bleskes</a></li>
<li>Entwickler bei elasticsearch</li>
<li>Er hat einen Talk zu den Aggregationsmöglichkeiten in elasticsearch gehalten</li>
<li>Zusammengefasst: Mit Aggregationen, Facettensuche und den Analysefunktionen lassen sich sehr komplexe Systeme zur Analyse von beliebigen Daten erstellen</li>
<li>elasticsearch ist noch viel weniger &quot;nur&quot; für Suchen geeignet, als noch vor einem Jahr</li>
<li>Die Nutzer erkennen immer mehr, welche weiteren Möglichkeiten durch elasticsearch bekommen</li>
<li>Boaz erklärt wie die Suchfunktionalitäten von elasticsearch bei der Analyse von arbiträren Daten helfen kann</li>
<li>Es geht weiter mit einigen interessanten Einblicken in die Optimierung von Algorithmen</li>
<li>Ease-of-use ist auch bei elasticsearch ein sehr wichtiges Thema, nicht nur bei der Nutzung aus Entwicklersicht, sondern auch aus Betriebssicht</li>
<li>&quot;Elasticsearch is a highly distributed system that really, really hard tries to hide it&quot;</li>
</ul>
<h3>Frank Celler und Dr. Stefan Edlich (02:39:35)</h3>
<ul>
<li><a href="https://twitter.com/fceller">@fceller</a> (Dr. Celler Cologne Lectures) &amp; <a href="https://twitter.com/edlich">@edlich</a></li>
<li>Frank und Stefan sind beide Organisatoren der Konferenz und im Programmkommitee</li>
<li>Wir sprechen über die Vorbereitungen der Konferenz und wie die bisherigen Eindrücke sind</li>
<li>Wir erhalten ein paar Einblicke in die Schwierigkeiten bei der Zusammenstellung des Programms</li>
<li>NoSQL Matters gibt es nicht nur in Köln, sondern auch in Dublin und Barcelona</li>
</ul>
<h3>Russel Brown, Basho (02:53:18)</h3>
<ul>
<li><a href="https://twitter.com/russelldb">@russelldb</a></li>
<li>Russel ist kurzfristig für einen Talk eingesprungen, glücklicherweise zu dem Thema, dass er implementiert hat ;-)</li>
<li>Mit Russel haben wir über CRDT in Riak gesprochen, dieses Theme hatten wir letztes Jahr auch schon mit Sean Cribbs</li>
<li>Damals steckte es noch in den Kinderschuhen, heute ist es nutzbar in der neuesten Version von Riak</li>
<li>CRDTs steht für &quot;Conflict-Free Replicated Data-Typ&quot;</li>
<li>Wir reden über die Herausforderungen der Implementierung</li>
<li>Und vor allem über die Herausforderungen beim Testing</li>
<li>Obwohl das Feature implementiert ist, gibt es noch viele Dinge zu tun und zu optimieren</li>
</ul>
<h3>Jennifer Rullmann, FoundationDB (03:11:26)</h3>
<ul>
<li><a href="https://twitter.com/jrullmann">@jrullmann</a></li>
<li>Entwicklerin bei FoundationDB</li>
<li>Hat vorher Webanwendungen Entwickelt nun arbeitet sie an FoundationDB</li>
<li>FoundationDB: Distributed Key-Value DB mit der Möglichkeit andere Datenmodelle (Dokumente, Graphen, ...) in Form von Layern hinzufügen</li>
<li>Ihr Talk war zu dem Thema &quot;NoSQL and ACID&quot;</li>
<li>Ease of Use: FoundationDB legt viel Wert darauf einfach im Betrieb zu sein (wenig Konfiguration by default)</li>
</ul>
<h3>Outro (03:28:52)</h3>
<ul>
<li>Bast und Dirk sagen &quot;Tschüss&quot;</li>
<li>persönliches Fazit: Wir hatten tolle drei Tage, haben viel gelernt und sehr spannende Gespräche geführt</li>
<li>Fazit zur Konferenz: NoSQL wird erwachsen und wird uns bestimmt noch viele Jahre begleiten. In welcher Form? Das wird die Zukunft zeigen ;-)</li>
</ul>
]]></description>
<atom:link rel="http://podlove.org/deep-link" href="http://geekstammtisch.de#GST032" />
<psc:chapters>
<psc:chapter start="00:00:00" title="Intro" />
<psc:chapter start="00:03:46" title="Ted Dunning, MapR" />
<psc:chapter start="00:18:23" title="Ellen Friedman" />
<psc:chapter start="00:34:34" title="Johnny Miller, DataStax" />
<psc:chapter start="00:53:52" title="Michael Hunger, Neo Technologies" />
<psc:chapter start="01:12:24" title="Akmal Chaudhri, DataStax" />
<psc:chapter start="01:29:17" title="Gereon Steffens, Finanzen100" />
<psc:chapter start="01:45:09" title="Max Neunhöffer, triAGENS" />
<psc:chapter start="02:00:43" title="Mahesh Paolini-Subramanya, Ubiquiti Networks" />
<psc:chapter start="02:23:56" title="Boaz Leskes, Elasticsearch" />
<psc:chapter start="02:39:35" title="Frank Celler, triAGENS und Dr. Stefan Edlich" />
<psc:chapter start="02:53:18" title="Russel Brown, Basho" />
<psc:chapter start="03:11:26" title="Jennifer Rullmann, FoundationDB" />
<psc:chapter start="03:28:52" title="Outro" />
</psc:chapters>
</item>
</channel>
</rss>