elmarschraml.com

Occasionally updated personal site and blog

Tag Archives: talks

Slides from my talk at MobileTechCon 2015

Thanks to everybody attending my talk “Mobile, Microservices und Multichannel – warum Web-App-Architektur sich ändern muss” at the Mobile Tech Conference 2015 in Munich.

Feel free to download a PDF of the slides used in the talk:
MobileTech2015 – mobile, microservices, multichannel (images compressed)

Images are compressed to reduce the file size; if you’d like a high-res version, or just to talk about any of the topics mentioned, get in touch with me.

“Shownotes” for my talk at MobileTechCon 2015

In the tradition of podcasts providing a list of links to things that were talked about, here’s a few pointers for further information about some of the topics I mentioned in my talk titled “Mobile, Microservices und Multichannel – warum Web-App-Architektur sich ändern muss” at the Mobile Tech Conference 2015.

Html5 browser support:
http://caniuse.com/

Mobile hybrid apps
https://signalvnoise.com/posts/3743-hybrid-sweet-spot-native-navigation-web-content

Single-page applications:

Twitter pedaling back on SPA
https://blog.twitter.com/2012/improving-performance-on-twittercom

 

Microservices

List of presentation slides from microxchg.io conference
https://gist.githubusercontent.com/sebeichholz/a107d81d4cc0bf0327de/raw/c8632c21b543c28319d84300810385f29257cd46/gistfile1.txt

Netflix on microservices:
http://techblog.netflix.com/2015/02/a-microscope-on-microservices.html

The twelfe-factor app:
http://12factor.net/

 

New approaches to architecture

Reactive manifesto:
http://www.reactivemanifesto.org/

 

airbnb on isomorphic apps:
http://nerds.airbnb.com/isomorphic-javascript-future-web-apps/
http://nerds.airbnb.com/weve-launched-our-first-nodejs-app-to-product/

 

Eric Sink on Zumero:
http://ericsink.com/entries/announcing_zumero.html
http://erikej.blogspot.de/2014/04/shop-talk-with-eric-sink-zumero-for-sql.html

 

Dropbox APIs presentation from Nordicjs 2014

 

Middle end:

http://blog.getify.com/what-exactly-is-the-middle-end/

 

InnoQ on self-contained systems
https://www.innoq.com/de/links/self-contained-systems-infodeck/

 

Tools

Facebook BigPipe:
https://www.facebook.com/notes/facebook-engineering/bigpipe-pipelining-web-pages-for-high-performance/389414033919

 

Compoxure:
https://www.npmjs.com/package/compoxure
View story at Medium.com
http://dejanglozic.com/tag/compoxure/

 

Introduction of React native:

 

Packaged apps:
Dropwizard http://dropwizard.io/
Spring boot http://projects.spring.io/spring-boot/
docker.com

 

Facebook on Apache Thrift:
https://code.facebook.com/posts/1468950976659943/under-the-hood-building-and-open-sourcing-fbthrift/

 

Log Aggregation:
http://brewhouse.io/blog/2014/11/04/big-data-with-elk-stack.html
http://www.sixtree.com.au/articles/2014/intro-to-elk-and-capturing-application-logs/
https://www.graylog.org/

 

Distributed tracing:
Twitter Zipkin https://blog.twitter.com/2012/distributed-systems-tracing-with-zipkin
Google dapper paper: http://research.google.com/pubs/pub36356.html

 

Hystrix circuit breaker:
Intro by Netflix: http://techblog.netflix.com/2012/11/hystrix.html
Tutorial by InnoQ: https://www.innoq.com/de/articles/2014/08/hystrix-artikel/

 

Twitter finagle:
https://blog.twitter.com/2011/finagle-a-protocol-agnostic-rpc-system
github: https://twitter.github.io/finagle/

 

Netflix Chaosmonkey etc:
http://techblog.netflix.com/2011/07/netflix-simian-army.html

 

Best blog on all things javascript and ES6:
http://www.2ality.com/

 

Web components:
tech site: http://webcomponents.org/
implementation: https://www.polymer-project.org/0.5/

 

Martin Odersky’s Scala talk in Munich

TNG, a Munich-based consulting company, had a Scala training this week by Martin Odersky himself, and was generous enough to also host a free talk by Odersky about Scala. Of course, I couldn’t pass up my first opportunity to meet a language inventor in person.

Odersky’s talk was one of the rare events where you listen to someone speak for two hours, and still  feel like you want to hear more. He merged an introductory talk about the why and how of Scala, with a few more advanced topics like Scala’s collections and higher-order functions. On my personal list of technology to watch, it definitely moved Scala from a “maybe interesting” to “pretty cool, will check it out”.

Some tidbits from the talk:

– Scala, or functional languages in general, want you to think in space, not time. Instead of thinking about the order in which things happen, you think about which abstractions to build on top of each other.

– Shared mutable state is the devil. The combination of shared mutable state and concurrency will inevitably lead to heisenbugs.

– Working on collections with methods like map or filter can lead to impressively concise code. A tailor-made example (mapping phone numbers to mnemonic words from a dictionary) that typically takes 100-200 lines of code in other languages was solved in Scala in about a dozen lines.

– Parallelization is mind-blowingly easy. Basically, if you already program in a functional style, all you need to to is tell the compiler to parallelize by using certain keywords, and it will happen automatically. I need to look further into this, but it looks amazingly powerful. It reminded me a bit of garbage collectors – just like managing memory, multi-threaded code is inherently hard and error-prone, so the right way to fix this is not to have better tools to do it, but to not have to do it manually at all.

– IDE support is the biggest headache for using Scala at the moment. The new version 2.9 of Scala, and the accompanying Eclipse plug-in, should come out in a few weeks, and pretty much fix this. Scala support in IntelliJ will probably progress slower, since they write their own compiler for the languages they support.

As a not-so-serious aside, if you want to quickly get a feel of another developer, invite them to a technology event, like that talk. Good, expected answer: “Cool, sounds interesting”. Bad answer: “What is Scala?”. Worse: “You mean, like, talk about programming when I don’t have to?”. Worst, slightly paraphrased: “I fear I might have to learn Java soon, and you tell me that there’s something even newer already?”. All, sadly, encountered in the wild…