60% Complete InDesign CC Essential Training David Blatner
- DONE Competition Entry submitted my first ever design prepared with InDesign to a competition where the Design a Flyer for Oil and Gas Engineering (Engenya GmbH) @ Freelancer.com. Took about ~10 hrs using InDesign (yikes! but good practice and fun) for Chance to win US$90 (not a chance though as only got rated 2/5 stars). Lesson Learnt: Always clarify whether or not to take design specification wording literally.
- TODO Muse CC
Luke's Crazy Analogy for the Day
- Traditional SPAs vs AngularJS vs Precast Concrete vs Cast In-Situ
- Single Page Apps (SPAs aka AJAX apps) traditionally transport data asynchronously between client-side view (template HTML) and server-side data model (JSON or SQL database) via a RESTful controller using the MVC design pattern.
- AngularJS Apps ship the template HTML and data model to the browser for assembly whilst the server statically serves templates and associated data required
- Static Modular Precast Concrete present a DRY solution based on standardised designs that are pre-manufactured using materials in a factory, simply verified by design at fit for purpose, and shipped to site.
- Cast In-Situ Concrete solutions for unique situations require costly ad-hoc design and verification prior to shipping of raw materials to site.
- Dynamic Module Precast Concrete could be a hybrid AngularJS-like solution that enables the static serving of templates (designs) and data (constraints) that ship raw materials to site where a modular robotic contraption adapts them automatically to site environmental variable conditions and builds in-situ in real-time
- Books
- DONE AngularJS Book
- Favourite Sections:
- Chapter 6: API Parent Directives to Coordinate Child Directives
- Chapter 7: $location Service, and $safeApply Monkey Patch, AngularJS Lifecycle, Module Loading Phases and Configurations, API calls (Factory, Service, Provider), Communicating between Scopes ($on, $emit, and $broadcast) (Example Here)
- DONE JavaScript Testing with Jasmine
- DONE Google Maps API V2
- READ (only programmed using 50%) Google Maps API V3 (excellent!)
- App on GitHub is MyHealth (testing out the capabilities of the API)
- TODO Google Maps Third-Party Libraries (i.e. MarkerManager, MarkerCluster)
- TODO Geolocation
- TODO Geo.js (unified API for geolocation)
- READ Redis and Resque GitHub Article (excellent!)
- 10% COMPLETE Enterprise Rails
- IN PROGRESS Journey into Mobile Web @ Codeschool
- Fluid Layouts, Adaptive Design, Responsive Design
- Example of Adaptive Designed site for Mobile Web is Dribbble.com
- Flexible Maths (Converts Pixels to %)
Problems
- Data Structures
- Dictionaries {
- Dfn: Queried (i.e. CRUD, search) Data Structures. Implementation choice affects Performance. Try each checking abstraction procedure call overhead to avoid non-time-critical options. Maintainable by Isolate Dict. Data Struct. (min. code) from Interface (bus. logic) (i.e. Separation of Concerns) }
- Hash Tables
- Skip Lists
- Balanced/Unbalanced Binary Search Trees (BTrees)
- Priority Queues {
- Dfn: Quick Access Key in Set with Highest Retrieval Priority
- Applic:
- Sort Ordered Tree Struct. Each Leaf (i.e. 7/2 or 1/5) determines Priority (i.e. Month then Date) }
- Suffix Trees & Arrays {
- Dfn: Trie (Tree Struct) to process checking if X is subString of String. Faster in Linear (search time is linear to String length) instead of O(n^2). Expensive in Memory terms.
- Applic:
- String problems. Node for each Char. Root is Null String. Branches at unique Chars. }
- Graph Data Struct {
- Dfn: Best for Algorithms repeatedly asking if (a,b) is in X. Note: Google Maps map stored in Edge Weighted Directed Graph, with Locations (Vertices) and transportation Paths (Edges)
- Issues
- Problem 1: Memory to remember large qty of Vertices and Edges. In-Memory DB that is Queried to Insert/Delete Vertices/Edges from Graph at runtime will not work properly with traditional Adjacency List
- Solution 1: Streaming Library under the hood to Dynamically Load resources
- Algorithms (e.g. Link)
- Quad-Trees
- Frustum Culling
- Applic:
- Adjacency Matrices
- Example - Best with Repeated Edge Insert/Delete using Small/Dense Graphs with say 100 Vertices, Adjacency Matrix has 10,000 entries
- Algorithms (suitable):
- All-Pairs Shortest Path
- Adjacency Lists
- Applic. Best with Solving Maze Puzzle with One Solution using Sparse Graphs (i.e. Google Maps)
- Example - Best with Attributes Insert/Delete of Graph Edge or Vertex (i.e. size, colour). Handle as Extra Records in Vertex or Edge Records
- Algorithms (suitable):
- Binary Search Trees (BTrees)
- DFS(Depth-First Search)-based Algorithms with Iterative Deepening (traverses nodes and edges, Remembering Previous Nodes to avoid Repetitive Infinite Loop and to prevent Not Reaching all nodes)
- TEMP NO
- Algorithm Lectures
- Google Cloud Platform
- AngularJS Test Patterns
- Project Euler
- Business of Android App Dev (Android Bus and Dev)
- Google App Engine
- Google Chrome API Extensions
- RESTful Web APIs
- Programming JS Apps (Node Architecture, HTML5, JS Libs)
- Enterprise Web Dev (HTML5 Mob)
- Node (Server-side JS)
- Google Script
- Functional Programming in Java (Java 8 Lambda Expressions)
- Design Patterns in HTML and CSS
- Chef Infrastructure Automation
- Grunt Automation with JS
- Another Algorithm Design Manual
- Structure and Interpretation of Computer Programs
- JS Design Patterns
- Pattern-Based Engineering Solutions
- SQL Antipatterns
- AngularJS UI-Utils (i.e. easy tooltip)
- Black Duck Open Source Code Search Engine Cool!
- REGISTERED Google Cloud Platform Live 9am 4th Nov PDT (2am 5th Nov AEDT)
Links
No comments:
Post a Comment