Skip to content

Instantly share code, notes, and snippets.

@justinAurand
Last active April 19, 2017 22:37
Show Gist options
  • Save justinAurand/a19f0445fe2b40668042ad0512eb112a to your computer and use it in GitHub Desktop.
Save justinAurand/a19f0445fe2b40668042ad0512eb112a to your computer and use it in GitHub Desktop.
Notes from Philly ETE 2017
React Native
- Uses the component model, which means no finding elements
- Has both live and hot reload. Hot reload maintains state
- You can *skip* the app store process. Build the .jsbundle locally, deploy to OTA users, and user apps update on the spot
The Scaling Myth
- The Tyranny of Structurelessness -> look it up
- Conway's Law - Code org/structure ends up resembling team org/structure
C#/F# .NET Core
- Uninstalling is as easy as deleting the project folder. It's completely contained
- In the CLI, "dotnet restore" goes to NPM for the .NET libraries needed for the project you're working on
- Windows 10 runs Ubuntu natively
- CLI has a watcher much like PhantomJs, Angular, React, etc.
- VS Code intellisense is type specific and doesn't require a build to work
- utilizes the omnisharp service, which is intellisense as a service
- can be utilized by any IDE
- JetBrains Rider - .NET IDE competitor
Taking Agile Back
- Programming is for solving a problem. When you're not solving problems, you obsess over refining the technology
- "We don't have to settle for expediently cranking out horrible work betwen pointless meetings" -Tim Ottinger
- Why does agile fail?
- lack of experience with agile methods
- company philosphy or culture at odds with core agile values
- there's no time to learn agile
- Simplification - Reduce core priciples to 4
- is this safe?
- will this make others awesome?
- will this help us learn and improve?
- can we deliver sooner & more often?
- Lean Coffee -> look it up
Web for Augmented Reality
- AR: mixing media w/ world view
- ex. google glass
- ex. *not* pokemon go
- Microsoft Hololens: 3d mapping interactive elements onto your environment
- Google Tango: similar to Hololens, but on phone
- WebVR: 3d VR webpages
- Argon4/Argon.js: Add AR to web apps
- Glitch.com: client + server side sandbox
- Twine: telling interactive, non-linear stories on the web
- To experiment with AR: arframe.io, argonjs.io
One Year w/ Angular v2
- 3 elements in angular2
- components
- injectables (replace services)
- ngModule
- Things to consider when creating a new project
- javascript flavor (es6, typescript)
- build system (webpack, system.js, jspm, browserify)
- if angular, try the CLI first
- rxjs: predictable async events
- apparently this will break your brain at first. be patient
- provides observables
- standard naming practice of these observables: varname$
- The majority of new plugins are based on typescript. strongly consider using it, or you may be rolling your own solutions
- Angular Universal: server side rendering (or pre-rendering) of angular apps
DevSecOps
- Infrastructure as code should also include your security as code
- immutable boxes are key in this strategy
- Automatic dev and prod security scans
- scan failures are are automatically sent as slack notifications
- Your build it, you own it, you secure it!
- Automate your security flows (ex. user creation)
- Requirements must be groomed w/ security in mind
- security 1st, if possible
Back to Front - Code Evolution (read: mostly jokes)
- LISP jokes: https://xkcd.com/297/
- 1st website ever: http://info.cern.ch/hypertext/WWW/TheProject.html
- Not sure what javascript flavor to use? try Vanilla JS! http://vanilla-js.com/
Pragmatic Programming
- How do I pragmatically program?
- experiment with new things
- be inquisitive
- think critically
- be realistic
- be a jack of all trades
- Understand the Dreyfus Model of skill acquisition
- Neuroplasticity won't happen if you don't think you can learn, and will if you do
- Make a learning plan
- regular investment
- safe place, time
- make learning habitual
- goal setting should be S.M.A.R.T.
- diversify your studies
- plan for now, 1 year, and 5 years out
- rebalance
- if a study is breaking your groove and/or you don't like it, move on
- Fix broken windows
- don't let bugs become the norm
- Minify complexity
- use tools on tools as little as possible
- use dynamic languages when you can
- ex. of too complex: java's hello world example
- Employ the single responsibility principle
- Increase cohesion while decreasing coupling
- code should be removable/replaceable
- Your code should be deliberate
- a stack of 5 void function calls in a row sucks
- make assertions
- Only rely on reliable elements
- Automate (CI, CD)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment