import { Education , Job , ShowCase , Skill , SkillSet , Stage , State } from './data_types' ; /********
 * State *
 ********/ export const state = new State ( ) ; /*********
 * Header *
 *********/ export const myName = 'Tamino Martinius' ; export const profession = 'I speak Code' ; export const street = 'Lehdenstr. 21' ; export const postalCode = '06847' ; export const city = 'Dessau' ; export const emails = [ 'io@tamino.dev' , 'dev@tamino.io' , 'im-not-a-recruiter@tamino.dev' ] ; export const socialNetworks = { github : 'https://github.com/tamino-martinius' , codepen : 'https://codepen.io/Zaku/' , dribbble : 'https://dribbble.com/TaminoMartinius' , twitter : 'https://twitter.com/TaminoMartinius' , linkedin : 'https://www.linkedin.com/in/tamino-martinius' , } ; /*********
 * Skills *
 *********/ export const beanstalk = { level : 0.9 , name : 'Beanstalk' } ; export const ec2 = { level : 0.9 , name : 'EC2' } ; export const ecs = { level : 0.9 , name : 'ECS' } ; export const fargate = { level : 0.7 , name : 'Fargate' } ; export const lambda = { level : 1.0 , name : 'Lambda' } ; export const aurora = { level : 1.0 , name : 'RDS Aurora' } ; export const dynamodb = { level : 0.8 , name : 'DynamoDB' } ; export const rds = { level : 1.0 , name : 'DB Service' } ; export const s3 = { level : 1.0 , name : 'S3' } ; export const apigateway = { level : 0.9 , name : 'API Gateway' } ; export const cloudfront = { level : 1.0 , name : 'CloudFront' } ; export const r53 = { level : 1.0 , name : 'Route 53' } ; export const sns = { level : 0.9 , name : 'SNS' } ; export const cloudformation = { level : 0.9 , name : 'CloudFormation' } ; export const cloudtrail = { level : 0.8 , name : 'CloudTrail' } ; export const cloudwatch = { level : 1.0 , name : 'CloudWatch' } ; export const iam = { level : 0.9 , name : 'IAM' } ; export const circleCI = { level : 0.8 , name : 'CircleCI' } ; export const jasmine = { level : 0.9 , name : 'Jasmine' } ; export const jenkins = { level : 0.9 , name : 'Jenkins' } ; export const jest = { level : 1.0 , name : 'Jest' } ; export const mocha = { level : 1.0 , name : 'Mocha' } ; export const rspec = { level : 1.0 , name : 'RSpec' } ; export const travis = { level : 0.9 , name : 'Travis CI' } ; export const asp = { level : 0.8 , name : 'ASP.net' } ; export const coffeescript = { level : 0.9 , name : 'CoffeeScript' } ; export const meteor = { level : 1.0 , name : 'Meteor' } ; export const nodejs = { level : 1.0 , name : 'Node.js' } ; export const rails = { level : 1.0 , name : 'Ruby on Rails' } ; export const ruby = { level : 1.0 , name : 'Ruby' } ; export const typescript = { level : 1.0 , name : 'TypeScript' } ; export const api = { level : 1.0 , name : 'API' } ; export const apollo = { level : 1.0 , name : 'Apollo GraphQL' } ; export const elasticsearch = { level : 0.7 , name : 'elasticsearch' } ; export const gql = { level : 1.0 , name : 'GraphQL' } ; export const mariadb = { level : 0.8 , name : 'MariaDB' } ; export const mysql = { level : 0.8 , name : 'MySQL' } ; export const mongodb = { level : 0.9 , name : 'MongoDB' } ; export const mssql = { level : 0.9 , name : 'Microsoft SQL' } ; export const psql = { level : 1.0 , name : 'PostgreSQL' } ; export const redis = { level : 0.8 , name : 'Redis' } ; export const android = { level : 0.8 , name : 'Android' } ; export const cordova = { level : 0.9 , name : 'Apache Cordova' } ; export const docker = { level : 0.9 , name : 'Docker' } ; export const git = { level : 1.0 , name : 'Git' } ; export const heroku = { level : 0.9 , name : 'Heroku' } ; export const ios = { level : 0.9 , name : 'iOS' } ; export const backbone = { level : 0.7 , name : 'Backbone.js' } ; export const browserify = { level : 0.8 , name : 'Browserify' } ; export const jquery = { level : 1.0 , name : 'jQuery' } ; export const js = { level : 1.0 , name : 'JavaScript' } ; export const websockets = { level : 0.8 , name : 'WebSockets' } ; export const haml = { level : 0.9 , name : 'Haml' } ; export const handlebars = { level : 1.0 , name : 'Handlebars' } ; export const html = { level : 1.0 , name : 'HTML' } ; export const php = { level : 0.7 , name : 'PHP' } ; export const markdown = { level : 0.9 , name : 'Markdown' } ; export const react = { level : 1.0 , name : 'React' } ; export const vuejs = { level : 0.9 , name : 'Vue.js' } ; export const css = { level : 1.0 , name : 'CSS' } ; export const less = { level : 0.7 , name : 'less' } ; export const scss = { level : 1.0 , name : 'Scss' } ; export const stylus = { level : 0.8 , name : 'Stylus' } ; export const svg = { level : 1.0 , name : 'SVG (Animations)' } ; export const afterEffects = { level : 0.3 , name : 'After Effects' } ; export const blender = { level : 0.5 , name : 'Blender' } ; export const sketch = { level : 0.8 , name : 'Sketch' } ; export const ui = { level : 0.7 , name : 'User Interface' } ; export const ux = { level : 0.6 , name : 'User Experience' } ; export const teamlead = { level : 0.9 , name : 'Team Lead' } ; export const security = { level : 0.9 , name : 'Security' } ; export const logic = { level : 0.9 , name : 'Logic' } ; export const distributedSys = { level : 0.7 , name : 'Distrib. Sys.' } ; export const imageProcessing = { level : 0.7 , name : 'Image Proces.' } ; export const math = { level : 0.8 , name : 'Math' } ; export const neuronalNetwork = { level : 0.7 , name : 'Neuronal Netw.' } ; export const numeric = { level : 0.7 , name : 'Numeric' } ; export const parallelExec = { level : 0.7 , name : 'Parallel Exec.' } ; export const skills = [ { title : 'AWS' , data : [ { title : 'Compute' , data : { beanstalk , ec2 , ecs , fargate , lambda } , } , { title : 'Data' , data : { aurora , dynamodb , rds , s3 } , } , { title : 'Flow' , data : { apigateway , cloudfront , r53 , sns } , } , { title : 'Management' , data : { cloudformation , cloudtrail , cloudwatch , iam } , } , ] , } , { title : 'Backend' , data : [ { title : 'CI' , data : { circleCI , jasmine , jenkins , jest , mocha , rspec , travis } , } , { title : 'Code' , data : { asp , meteor , nodejs , rails , ruby , typescript } , } , { title : 'Data' , data : { api , apollo , elasticsearch , gql , mariadb , mysql , mongodb , mssql , psql , redis } , } , { title : 'Deploy' , data : { android , cordova , docker , git , heroku , ios } , } , ] , } , { title : 'Frontend' , data : [ { title : 'Logic' , data : { backbone , browserify , jquery , js , websockets } , } , { title : 'Markup' , data : { haml , handlebars , html , php , markdown , react , vuejs } , } , { title : 'Style' , data : { css , less , scss , stylus , svg } , } , { title : 'Design' , data : { afterEffects , blender , sketch , ui , ux } , } , ] , } , { title : 'Misc' , data : { teamlead , security } , } , { title : 'Study' , data : { logic , distributedSys , imageProcessing , math , neuronalNetwork , numeric , parallelExec } , } , ] ; /*******************
 * Curriculum Vitae *
 *******************/ export const curriculumVitae = [ { company : 'shyftplan GmbH' , description : `
      I lead shyftplans Development, Tech and Automation. I'm responsible to
      design, manage and build the Infrastructure for thousands of concurrent
      Users at Germanys best shift planning and accounting Web Application.
    ` , startsAt : new Date ( '2020-03-01' ) , endsAt : undefined , remote : false , position : [ 'Chief Technology Officer' , 'Co-Founder' ] , skills : { lambda , beanstalk , rds , aurora , nodejs , mongodb , android , ios , api , rails , psql , redis , } , } , { company : 'shyftplan GmbH' , description : `
      I lead shyftplans Front- and Backend Developers. I'm responsible to
      design, manage and build the Infrastructure for thousands of concurrent
      Users at Germanys best shift planning and accounting Web Application.
    ` , startsAt : new Date ( '2017-07-01' ) , endsAt : new Date ( '2020-02-28' ) , remote : false , position : [ 'Head of Development' , 'Lead Engineering' , 'Co-Founder' ] , skills : { lambda , beanstalk , rds , aurora , nodejs , mongodb , android , ios , api , rails , psql , redis , } , } , { company : 'shyftplan GmbH' , description : `
      I lead shyftplans Front- and Backend Developers. I'm responsible for
      the Web and Mobile Infrastructure for Germanys best shift planning and
      accounting Web Application.
    ` , startsAt : new Date ( '2016-12-01' ) , endsAt : new Date ( '2017-06-30' ) , remote : false , position : [ 'Head of Code' , 'Head of Mobile' , 'Co-Founder' ] , skills : { lambda , beanstalk , rds , nodejs , mongodb , android , ios , api , rails , psql , redis , } , } , { company : 'shyftplan GmbH' , description : `
      I plan and build the Mobile App and Infrastructure for Germanys best
      shift planning and accounting Web Application.
    ` , startsAt : new Date ( '2014-12-01' ) , endsAt : new Date ( '2016-11-30' ) , remote : false , position : [ 'Head of Mobile' , 'Backend Developer' , 'Co-Founder' ] , skills : { nodejs , mongodb , android , ios , api , rails , psql , redis , } , } , { company : 'pijajo UG (shyftplan GmbH)' , description : `
      I remotely plan and build the Infrastructure pre and post launch for
      Germanys best shift planning and accounting Web Application.
    ` , startsAt : new Date ( '2014-12-01' ) , endsAt : new Date ( '2015-01-31' ) , remote : true , position : 'Backend Developer' , skills : { rails , psql , redis , elasticsearch , } , } , { company : 'Nutanix' , description : `
      I remotely worked as Frontend Developer on the Server Admin Interface of
      Nutanix Cloud Infrastructure.
    ` , startsAt : new Date ( '2014-11-01' ) , endsAt : new Date ( '2015-01-31' ) , remote : true , position : 'Frontend Developer' , skills : { nodejs , less , backbone , } , } , { company : 'Nutanix' , description : `
      I remotely implemented a complete redesign of Nutanix website with
      PHP and less.
    ` , startsAt : new Date ( '2014-08-01' ) , endsAt : new Date ( '2014-10-31' ) , remote : true , position : 'Frontend Developer' , skills : { php , js , less , svg , } , } , { company : 'Volkswagen AG' , description : `
      I researched a live video processing solution at Volkswagens destruction
      free analysis Team.
    ` , startsAt : new Date ( '2014-02-01' ) , endsAt : new Date ( '2015-01-31' ) , remote : false , position : 'Developer (Research - NDA)' , skills : { nodejs , mongodb , imageProcessing , } , } , { company : 'Novotrend GmbH' , description : `
      I designed and planned build the Infrastructure of the most common Web
      Application to manage the process for pivate job adviser. I was also
      involved in creating a CRM for customer Websites.
    ` , startsAt : new Date ( '2010-04-01' ) , endsAt : new Date ( '2013-12-31' ) , remote : false , position : 'Head of Code' , skills : { asp , nodejs , mssql , } , } , { university : 'Philipps-Universität Marburg' , description : `
      I studied IT with secondary subject Math. My focus was on Numeric,
      Parralel Execution, Neural Networks and functional programming languages.
    ` , startsAt : new Date ( '2004' ) , endsAt : new Date ( '2015' ) , graduiation : 'Intermediate diploma' , skills : { numeric , logic , math , parallelExec , neuronalNetwork , distributedSys , } , } , { company : 'Freelancer' , description : `
      I created Websites for small and medium sized companies and worked
      remotely for enterprise customers.
    ` , startsAt : new Date ( '2002' ) , endsAt : undefined , remote : true , position : 'Full Stack Developer' , skills : { nodejs , rails , react , php , mongodb , psql , mariadb , stylus , less , scss , svg , } , } , ] ; /**************
 * Experiments *
 **************/ export const experiments = [ { name : 'Hamburder Icon Animations' , description : `
      I created a couple of different hamburger menu icon animations to open
      and close a menu. All icons are planned with sketch. The base svgs are all
      hand written with basic svg path commands. The icons are previewed on
      dribbble and the code is available Open Source at CodePen.
    ` , startsAt : new Date ( '2014-08-05' ) , endsAt : new Date ( '2018-08-06' ) , urls : [ 'https://dribbble.com/shots/4921561-Hamburger-Menu-Animation' , 'https://dribbble.com/shots/3539398--version-3' , 'https://dribbble.com/shots/3529235--version-2' , 'https://dribbble.com/shots/1674602-Menu-open-back' , 'https://dribbble.com/shots/1671182--version-1' , ] , media : [ ] , skills : { svg , ui , ux , css , stylus , html , js , sketch , } , } , { name : 'Button Animations' , description : `
      I created a couple of different Buttons which are planned to be the main
      call to action buttons on a website. All buttons are previewed on dribbble
      and the code is available Open Source at CodePen.
    ` , startsAt : new Date ( '2014-08-05' ) , endsAt : new Date ( '2017-07-02' ) , urls : [ 'https://dribbble.com/shots/3545734-Liquid-button-v2' , 'https://dribbble.com/shots/2629106-Button-Group' , 'https://dribbble.com/shots/1673204-Submit-Button' , ] , media : [ ] , skills : { svg , ui , ux , css , stylus , html , js , sketch , } , } , { name : 'Particle Effects' , description : `
      I experimented a lot to find a the best way to create performant three
      dimensional particle effects on a 2d canvas before WebGL was available at
      Browsers.
    ` , startsAt : new Date ( '2014-08-05' ) , endsAt : new Date ( '2017-07-02' ) , urls : [ 'https://dribbble.com/shots/2649284-Dusty-Particle-Sphere' ] , media : [ ] , skills : { html , js , } , } , { name : 'Icon Animations' , description : `
      I created a couple of different icon transitions which are based on
      svg paths. All icons are planned with sketch. The base svgs are all
      hand written with basic svg path commands. The icons are previewed on
      dribbble and the code is available Open Source at CodePen.
    ` , startsAt : new Date ( '2014-08-15' ) , endsAt : new Date ( '2016-04-15' ) , urls : [ 'https://dribbble.com/shots/2654081-Download-icon-progress' , 'https://dribbble.com/shots/1989179-Animated-search-progress-icon' , 'https://dribbble.com/shots/1685755-Anited-sort-button' , 'https://dribbble.com/shots/1684424-SVG-Path-Animation-Experiment' , ] , media : [ ] , skills : { svg , ui , ux , css , stylus , html , js , sketch , } , } , { name : 'After Effects/Blender Render' , description : `
      Some of my dribbble shots are rendered with Blender and After Effects.
    ` , startsAt : new Date ( '2014-05-30' ) , endsAt : new Date ( '2017-07-01' ) , urls : [ 'https://dribbble.com/shots/3536783-Rendered-cubes-landsape' , 'https://dribbble.com/shots/1625077-fluid-5' , 'https://dribbble.com/shots/1599550-Liquid-Germany' , 'https://dribbble.com/shots/1588162-Shop-Admin-Wireframe-WIP' , 'https://dribbble.com/shots/1581191-Cloud-Upload' , 'https://dribbble.com/shots/1575639-hello-dribbble' , ] , media : [ ] , skills : { afterEffects , blender , } , } , ] ; /***********
 * Projects *
 ***********/ export const projects = [ { name : 'Hashflag Gallery' , description : `
      I created the website hashflaggallery.com together with Andreas Storm.
      This site collects all static and animated Hashflags from Twitter and
      displayes them in a unique library. I'm responsibe for the whole
      Teach-Stack and Coding. Andreas is responsible for Design & Marketing.
    ` , startsAt : new Date ( '2020-09-01' ) , endsAt : undefined , urls : [ 'https://hashflaggallery.com' , 'https://codepen.io/collection/DoJqWO' , 'https://twitter.com/HashflagGallery' , ] , media : [ ] , skills : { beanstalk , redis , nodejs , react , scss , } , } , { name : 'Check it done' , description : `
      As a developer I created a lot of To-Do Apps (basically whenever i tried
      a new technology). I'm not completely happy with any To-Do app i tested
      and finally during Covid I started this project together with Andreas,
      Martin and Aaron. Andreas and Martin are the most talented designers i
      know and Aaron is a genius in user interaction and animation design.
      I'm responsible for the complete Tech-Stack including the UI basics.
    ` , startsAt : new Date ( '2020-08-01' ) , endsAt : undefined , urls : [ 'https://usecheck.com' , 'https://twitter.com/joincheck' ] , media : [ ] , skills : { beanstalk , redis , nodejs , react , scss , } , } , { name : 'GitHub Commit Vizualization' , description : `
      I build a lambda function wich regulary checks my GitHub account for new
      commits and display them at [contributions.tamino.dev]. The data fetching
      and the UI are both open source available at GitHub
    ` , startsAt : new Date ( '2017' ) , endsAt : undefined , urls : [ 'https://contributions.tamino.dev/' , 'https://dribbble.com/shots/4884965-GitHub-Contribution-Visualization' , 'https://github.com/tamino-martinius/contributions.taminomartinius.de' , 'https://github.com/tamino-martinius/lambda-get-all-github-contributions' , ] , media : [ ] , skills : { s3 , cloudfront , nodejs , lambda , typescript , stylus , html , vuejs , git , } , } , { name : 'Squoint' , description : `
      Squoint is a puzzle game which is optimized for mobile devices and touch
      gestures. The game is currently in closed beta and will be launched soon.
    ` , startsAt : new Date ( '2017' ) , endsAt : undefined , urls : [ 'https://squoint.com' ] , media : [ ] , skills : { s3 , cloudfront , nodejs , ec2 , lambda , typescript , stylus , html , vuejs , } , } , { name : 'Colourcode' , description : `
      Colourcode was created to make my life easier to create Websites for my
      customers. With colourcode i was able to find quickly new color schemes
      which match to the corporate identity of my clients.
    ` , startsAt : new Date ( '2013' ) , endsAt : undefined , urls : [ 'https://colourco.de/' , 'https://github.com/tamino-martinius/colourco.de' ] , media : [ ] , skills : { s3 , cloudfront , typescript , coffeescript , nodejs , stylus , html , handlebars , vuejs , } , } , { name : 'NextParticle' , description : `
      NextParticle is the evolution of ParticleSlider. It's a complete rewrite
      of the code to improve the performance and make it easier to customize for
      the customers. The markup based initialization made it easier to create
      a wordpress plugin.
    ` , startsAt : new Date ( '2017' ) , endsAt : undefined , urls : [ 'https://nextparticle.nextco.de/' ] , media : [ ] , skills : { s3 , cloudfront , lambda , nodejs , psql , typescript , html , stylus , vuejs , } , } , { name : 'GetShares' , description : `
      GetShares is created to track you social media counts on all common
      social networks around the globe. It is also possible to create a unified
      look of all social media buttons.
    ` , startsAt : new Date ( '2014' ) , endsAt : new Date ( '2017' ) , urls : [ 'http://www.getshar.es/' , 'https://github.com/tamino-martinius/www.getshar.es' , 'https://github.com/tamino-martinius/api.getshar.es' , ] , media : [ ] , skills : { s3 , cloudfront , nodejs , js , html , stylus , handlebars , } , } , { name : 'ParticleSlider' , description : `
      ParticleSlider is created based on my research of Particle effect
      rendering on a 2d canvas. It's possible to create amazing Particle
      Effects based on simple png images. ParticleSlider is discontinued
      since NextParticle is now available. All customers of ParticleSlider
      a version of NextParticle for free.
    ` , startsAt : new Date ( '2014' ) , endsAt : new Date ( '2017' ) , urls : [ 'https://nextparticle.nextco.de/' , 'http://particleslider.de/' ] , media : [ ] , skills : { ec2 , coffeescript , js , html , css , } , } , { name : 'Iary' , description : `
      Iary is a time tracking and reporting solution build as Web Application.
      It was discontinued in favor of my work at shyftplan. All customers got
      a complete refund.
    ` , startsAt : new Date ( '2014' ) , endsAt : new Date ( '2017' ) , urls : [ ] , media : [ ] , skills : { ec2 , s3 , cloudfront , js , html , nodejs , handlebars , meteor , stylus , websockets , } , } , { name : 'Butlr' , description : `
      Butlr is a automatically generated city guide for all cities in Germany.
      It shows all Points of Interrest, Restaurants, etc. based on a enriched
      database build on GeoDB. This project is discontinued with GeoDB.
    ` , startsAt : new Date ( '2013' ) , endsAt : new Date ( '2014' ) , urls : [ ] , media : [ ] , skills : { s3 , cloudfront , nodejs , js , html , stylus , psql , api , } , } , { name : 'GeoDB' , description : `
      GeoDB is a web scraper which is searching for all addresses and their
      geo coordinates in germany. The data is used on auto completes for
      Webpages. This project is discontinued becasue it has too high costs
      for a Website which generates no income.
    ` , startsAt : new Date ( '2012' ) , endsAt : new Date ( '2014' ) , urls : [ ] , media : [ ] , skills : { nodejs , js , html , stylus , psql , api , } , } , ] ; /********
 * Talks *
 ********/ export const talks = [ { name : 'Lets talk about ... New JavaScript Features (2020 Editon)' , description : `
      A yearly overview what happened in JavaScript and whats on the
      early stages of ECMAScript. An small into to interesting new functions.
    ` , startsAt : new Date ( '2020' ) , endsAt : new Date ( '2020' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--new-js-features--2020' , 'https://new-js-features--2020.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { nodejs , } , } , { name : 'Lets talk about ... AWS CDK (Cloud Development Kit)' , description : `
      An introduction in the alternative to CloudFormation templates.
      Create your infrastructure stacks with code.
    ` , startsAt : new Date ( '2019' ) , endsAt : new Date ( '2019' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--cdk' , 'https://cdk.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { nodejs , } , } , { name : 'Lets talk about ... New JavaScript Features (2019 Editon)' , description : `
      A yearly overview what happened in JavaScript and whats on the
      early stages of ECMAScript. An small into to interesting new functions.
    ` , startsAt : new Date ( '2019' ) , endsAt : new Date ( '2019' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--new-js-features--2019' , 'https://new-js-features--2019.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { nodejs , } , } , { name : 'Lets talk about ... SAM (Serverless Access Model)' , description : `
      An introduction to the Tooling and concept of Serverless
      Applications within AWS.
    ` , startsAt : new Date ( '2018' ) , endsAt : new Date ( '2018' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--sam' , 'https://sam.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { nodejs , lambda , } , } , { name : 'Lets talk about ... API (of shyftplan)' , description : `
      A short introduction of APIs in general and the models of shyftplan in
      specific. This Talk was a internal presentation for shyftplan.
    ` , startsAt : new Date ( '2018' ) , endsAt : new Date ( '2018' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--api' , 'https://api.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { api , nodejs , html , stylus , } , } , { name : 'Lets talk about ... New JavaScript Features (2018 Editon)' , description : `
      A yearly overview what happened in JavaScript and whats on the
      early stages of ECMAScript. An small into to interesting new functions.
    ` , startsAt : new Date ( '2018' ) , endsAt : new Date ( '2018' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--new-js-features--2018' , 'https://new-js-features--2018.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { nodejs , } , } , { name : 'Lets talk about ... SQL Query Performance' , description : `
      A small guide in writing good and performant SQL Queries which give very
      responsed even with millions of records. I also explain why/when a database
      index is useful and which one i should use.
      This Talk was a internal presentation for shyftplan.
    ` , startsAt : new Date ( '2018' ) , endsAt : new Date ( '2018' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--sql-query-performance' , 'https://sql-query-performance.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { psql , nodejs , html , stylus , } , } , { name : 'Lets talk about ... GraphQL' , description : `
      When should i use GraphlQL and what are the differences to REST and how
      does a GraphQL API look like from the Consumers and Developers perspective.
      This Talk was a internal presentation for shyftplan.
    ` , startsAt : new Date ( '2017' ) , endsAt : new Date ( '2017' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--graphql' , 'https://graphql.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { gql , nodejs , html , stylus , } , } , { name : 'Lets talk about ... TypeScript' , description : `
      A quick introduction to TypeScript and its differenced to JavaScript.
      This Talk was a internal presentation for shyftplan.
    ` , startsAt : new Date ( '2017' ) , endsAt : new Date ( '2017' ) , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--typescript' , 'https://typescript.lets-talk-about.tamino.dev' , ] , media : [ ] , skills : { typescript , nodejs , html , stylus , } , } , { name : 'Lets talk about ... Template' , description : `
      A template with example slides. Thats my base branch with which i create
      my slides for presentations.
    ` , startsAt : new Date ( '2017' ) , endsAt : undefined , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--template' , 'https://github.com/tamino-martinius/lets-talk-about--example' , ] , media : [ ] , skills : { api , nodejs , html , stylus , } , } , ] ; /***********
 * Packages *
 ***********/ export const packages = [ { name : 'Lets talk about ... Template' , description : `
      A template with example slides. Thats my base branch with which i create
      my slides for presentations.
    ` , startsAt : new Date ( '2017' ) , endsAt : undefined , urls : [ 'https://github.com/tamino-martinius/lets-talk-about--template' , 'https://github.com/tamino-martinius/lets-talk-about--example' , ] , media : [ ] , skills : { api , nodejs , html , stylus , } , } , { name : 'Next Model' , description : `
      Next Model is the evolution of Meteor Smart Record. With this package
      you are able to define Model relations and write database independend
      queries to fetch data.
    ` , startsAt : new Date ( '2016' ) , endsAt : undefined , urls : [ 'https://github.com/tamino-martinius/node-next-model' , 'https://github.com/tamino-martinius/node-next-model-api-router' , 'https://github.com/tamino-martinius/node-next-model-knex-connector' , 'https://github.com/tamino-martinius/node-next-model-api-server-express' , 'https://github.com/tamino-martinius/node-next-model-local-storage-connector' , 'https://github.com/tamino-martinius/node-next-model-api-client-connector' , ] , media : [ ] , skills : { nodejs , typescript , js , psql , gql , api , } , } , { name : 'Meteor Smart Record' , description : `
      Meteor Smart Record is a package to define Model relations and write
      MongoDB queries in a simple and object orientated way. It's a dependency
      for Meteor Smart Form which is a simple way to create forms based on models.
      This pacakge is discontinued on favor of Next Model which is a Meteor
      independent solution.
    ` , startsAt : new Date ( '2015' ) , endsAt : new Date ( '2017' ) , urls : [ 'https://github.com/tamino-martinius/meteor-smart-record' , 'https://github.com/tamino-martinius/meteor-smart-form' , 'https://github.com/tamino-martinius/meteor-smart-form-delete-button' , ] , media : [ ] , skills : { meteor , js , coffeescript , mongodb , } , } , { name : 'Meteor ics' , description : `
      A iCalendar .ics export which also enabled to integrate recurring events.
    ` , startsAt : new Date ( '2015' ) , endsAt : new Date ( '2015' ) , urls : [ 'https://github.com/tamino-martinius/meteor-ics' ] , media : [ ] , skills : { meteor , js , } , } , { name : 'Meteor lazy Analytics' , description : `
      This pacakge provides a non blocking way to integrate Google Analytics
      where the credentials are dynamically fetched from the Server.
    ` , startsAt : new Date ( '2015' ) , endsAt : new Date ( '2015' ) , urls : [ 'https://github.com/tamino-martinius/meteor-lazy-analytics' ] , media : [ ] , skills : { meteor , js , } , } , { name : 'Meteor Method Pagination' , description : `
      This pacakge is a easy way to integrate pagination of data with Meteor
      Server side methods..
    ` , startsAt : new Date ( '2014' ) , endsAt : new Date ( '2014' ) , urls : [ 'https://github.com/tamino-martinius/meteor-method-pagination' ] , media : [ ] , skills : { meteor , js , coffeescript , } , } , ] ; /*******
 * Misc *
 *******/ export const misc = [ { name : 'RVM Docker Images' , description : `
      This repository generates a rainbow table of Ubuntu versions and Ruby
      versions. The source is available on GitHub and the prebuild images
      are available on Docker Hub.
    ` , startsAt : new Date ( '2017' ) , endsAt : new Date ( '2018' ) , urls : [ 'https://hub.docker.com/r/taminomartinius/rvm/' , 'https://github.com/tamino-martinius/docker-rvm' , ] , media : [ ] , skills : { docker , } , } , { name : 'Atom Spacebars language' , description : `
      This Atom package enables syntax highlighting of Meteors Spacebars language.
      Currently not maintained because i use VS Code now as main Editor.
    ` , startsAt : new Date ( '2016' ) , endsAt : new Date ( '2016' ) , urls : [ 'https://github.com/tamino-martinius/atom-language-spacebars' ] , media : [ ] , skills : { } , } , ] ;