GitHub Update

As St. Patricks Day approaches I reflect I was at WordCamp last year about this time and decided it was  time for a GitHub update.

GitHub Update I created my GitHub account back in 2012, and never really knew what to do with it. I mean, I didn’t have code that was so magical or wonderful that it needed to be shared with the world. And the years rolled by; 2012 became 2013, then 2014, and 2015 came and went. Then in 2016 I took part in an amazing program at General Assembly(GA), a coding school, called Web Development Intensive (WDI).

HTML 3.2 Compliant Web Page Logo
HTML 3.2 Compliant Web Page Logo

Now remember I have been building web pages since before HTML 3.2 can out, because I remember when it came out, or at least I started using it sometime in 1998. And I started building pages to the new 4.01 standard in 2000. So the WDI was a reboot for me. I had dealt with the buzz word Dynamic HTML, and XHTML phase, and then HTML 5 came out in for real in 2014.

HTML5 standards compliant
HTML5 standards compliant

I had tolerated JavaScript back in the early days because it would work in Netscape and IE, where as my beloved VB-Script only worked in IE. I was starting to use CSS back in 2000, but by 2011 CSS3 was here to stay, and growing. MY Basic JavaScript days were gone with jQuery, a cross-platform JavaScript library designed to simplify the client-side scripting of HTML, having taken its place in my tool-set some time back in 2012. All this adds up to still nothing worthy of adding to GitHub.

Along came 2014, the year of JavaScript fatigue. Every time I turned around, every MeetUp I would go to there was something new, that I was aware of, but didn’t really know. NodeJS with its V8 engine, Angular JS was replacing Backbone, Gulp was taking over from Grunt. And in 2016 I took part of the WDI at GA, and got me back on track.

GitHub Update 2018

ProGit BookcoverFinally I learned how to work Git and GitHub. In 2016 I had 210 contributions, and then had a lag. Bounced came back in 2017, after the WordCamp 2017 with a pledge to do 100 Days of Code.
I had 409 contributions in 2017.

So my “State of the Union” GitHub Update is that I made 421 contributions in 108 repositories in the last year.

JavaScript fatigue

  • Ember,
  • Angular,
  • React,
  • Express,
  • Grunt,
  • Bower,
  • npm,
  • Broccoli,
  • Gulp,
  • Lodash,
  • Underscore,
  • rxjs,
  • Knockout,
  • SocketIO,
  • Threejs,
  • D3,
  • Backbone,
  • Ionic,
  • Angular2,
  • React Native,
  • Redux,
  • Alt,
  • Reflux,
  • Webpack,
  • Bluebird,
  • Express,
  • Mocha,
  • Jasmine,
  • Chai,
  • Less,
  • Sass,
  • Postcss.

Really Learning JavaScript

At what point do you really know JavaScript?

Callbacks, promises, and a bunch of concepts you need to understand on top of just how to program loops and control flow. What are javascript closures and why would you use them?

More questions below…

underscore@1.8.3 (http://underscorejs.org/)

Underscore is a JavaScript library that provides a whole mess of useful functional programming helpers without extending any built-in objects. Underscore provides over 100 functions that support both your favorite workaday functional helpers: map, filter, invoke — as well as more specialized goodies: function binding, javascript templating, creating quick indexes, deep equality testing, and so on. A complete Test Suite is included.

I mean this stuff is so cool and powerful, they are porting it to chinese, PHP, Swift, Ruby, and a bunch of other computer language ports.


jquery@3.2.1 is out, and we know lots about jQuery, and yet there is tons I don’t know about it.

Lodash

A modern JavaScript utility library delivering modularity, performance & extras. Lodash makes JavaScript easier by taking the hassle out of working with arrays, numbers, objects, strings, etc. Lodash’s modular methods are great for:

  • Iterating arrays, objects, & strings
  • Manipulating & testing values
  • Creating composite functions

https://www.npmjs.com/package/lodash-webpack-plugin

Then you have these odd things pop up in tutorials and samples and people just seem to think you should know this stuff. Like BigNumber.js

bignumber.js (https://github.com/MikeMcl/bignumber.js/blob/master/README.md)

Say what? A JavaScript library for arbitrary-precision decimal and non-decimal arithmetic.


First there were callbacks, which lead to call-back hell, 

Then came (.then()) came Promises. Promises came out in 2015 with ES6
and
 
Now we have Async/Await, which came out with ES7 in 2017

Building a Progressive Web App

Progressive Web Apps are smaller in nature

Back in October, I attended my normal monthly Angular meetup and we talked about Building a Progressive Web App. I wrote a little about it back when I was writing about WebPack(Strikes Back!) in November. Then in December, my buddy Ray Villalobos, who has created quite a few learning courses for LinkedIn and Lynda.com, came out with Building a Progressive Web App. I didn’t have time back then to tackle the topic more in depth. But I am adding it to my list of projects to do, soon.

PWA’s use Service Workers

As well Google Developers has a nice little write up about PWA, and even walks you through building a weather app.

gitIgnore

So yesterday, I learned how to use a .gitignore file. I had seen them in use, and knew some folks used them, but i had not yet. Again another thing, that until you do it, you’ve never done it. Then once you do it, ok. Turns out, like most things, no big deal once someone explains it to you. Well, no one explained it to me. It was my job to explain it to someone else. Ya. ok, I have never used it, knew a little about it, so go figure it out. And I did.

A file, with no file extension like .doc, or .txt,  and starts with the .dot, which makes it a “hidden” file. Like your hosts file on windows, c:\Windows\System32\Drivers\etc\hosts

I currently just have two lines in there

node_modules
npm-debug.log

later I will have 3

Put the .gitignore file at the root of your project. Now in an earlier version of my project, I had the node_modules in a folder called flapper news, so it would have been /node_modules. But now its also at the root.
I later added the npm-debug.log to the .gitignore file once I started trying to deploy it and the log file poped up. I don’t need that in the git repository.
Later, if I use grunt, I will need to add “build/*.js” to the .gitignore file as well. So check out the Readit project and my use of the .gitignore file on my GitHub @gokemon

Lightning Talk Party II

AtlJavaScriptLogoLightning Talks again

So Ryan posted his talks slide-deck, from the Javascript Meetup group hosted at HUGE. (hint hint, their working on AMC stuff right now, whaooo)

https://docs.google.com/presentation/d/1Eg1NCs47sOcD1m1utaAcRPcQ0R450C91rxXvBKrhpp4/edit?usp=sharing

The Lineup for tonight:

1. Ryan Zimmerman – the future of JS, how to embrace the fundamentals (CS, design patterns, deep dives) and how to use these to deal with the ever changing landscape.
GUESS what, he recently changed jobs (keeping the old one, and adding some new educational opportunists here in Atlanta)

2. Willy Xiao – what I learned from interning in Silicon Valley.

3. Lois Harris – how to find projects to work on and stay on course as a code newbie.

4. Matt Brimmer – coding bootcamps and how to goserver-side-rendering from zero to hero.

5. Oliver B. – Introduction to Angular Universal.

Lightning Talk Party II

Monday, Jul 18, 2016, 7:00 PM

Huge
1375 Peachtree St NE Atlanta, GA

112 Javascript Developers Went

Hello folks! This month, welcome back for another round of lightning talk party!! This time, each participant has 5-15 minutes to present. If you go over, watch out for the broom!Our Lineup1. Ryan Zimmerman – the future of JS, how to embrace the fundamentals (CS, design patterns, deep dives) and how to use these to deal with the ever changing lan…

Check out this Meetup →

 

https://docs.npmjs.com/misc/scripts

But I think I should also cross-post this in my Node group