Diving into React.JS. Just completed this fantastic tutorial by Wesbos that walks you through building an online store.
Tag Archives: Professional
Vue.js wattage calculator
This started as an AngularJS tutorial on Lynda.com. I re-wrote is in Vue.js – using webpack and vue-loader.
Dial in the lumens, kW hour cost and hours.
See the code on GitHub
Fancybox and Vimeo
I was getting privacy errors when trying to display my Vimeo videos in my fancybox gallery.
The fix was to link to get the embed tag from Vimeo and pull out the href link. Use that in fancybox rather than the share link.
RWD Sortable Gallery
I spent a a day going through a tutorial on creating a sortable photo gallery that scales to screen.
This relies on fancybox to provide light box functionality to hi-res images.
On resizing the screen, the thumbnails animate to a new grid lay out. Other design elements such as the navigation and background art adjust for computer, tablet or phone.
At phone screen size, the light box behavior is disabled and a straight targeting of the hi-res photos occurs.
This is a type of product I’ve built in Flash many times, but it’s good to now have one in javascript that i can pull off the shelf and customize rapidly.
To do-
- Make the gallery load content dynamically.
- Test on IE.
- Test on windows versions of Safari, Chrome, Firefox
- add light box behavior back to images when screen goes from less than phone screen size up to tablet size or larger.
Box2DWebb, CreateJS Interactive Canvas animation
Interactive animation – bouncing balls – created with the Box2dWebb and CreateJS frameworks. This is a canvas application that will play on mobile.
The bouncing ball logic is all handled by Box2dWebb – which is a port of a physics engine used in ActionScript.
Code break down:
Animation properties (bouncieness, etc) are set up in the init. A bit map (the soccer ball) is loaded into a createJS sprite and loaded on to the stage (canvas). A box2d object is created and added as a property of the createJS objects. On the ticker, the bitmap tracks the x, y position, and rotation of the physics object as it bounces around.
Basic game logic such as creating the balls, keeping and displaying the ball count on the canvas are all handled with standard javascript.
TODO
Dive into the Box2DWebb code and figure out collision detection.
Note – As a Flash developer, I have found the CreateJS frame work to be both helpful and a little frustrating. There are a couple key version discrepancies that I had suss out on my own. Although, I did not use Flash for this little example, the CreateJS Toolkit that is built into Flash CC exports versions of the frame work that are not the latest. Apparently there is an update to Flash Professional that is due out soon and this will be addressed.
More canvas game set up experiments forth coming. Stand bye.
Javascript/CSS animation test – Oscillating dot animation
A test using greensock GASP and jquery – with:
Note that the animation plays choppy on older mobile devices when the alpha is tweened.
var MYAPP={}; $(document).ready(function() { MYAPP._body = $('body'); for (var i=0; i<100; i++) { initSQ(i); } $(window).on('resize', onResize); //get query string value if ($.url().param("tweenAlpha") == 'true') { MYAPP.tweenAlpha=true; } else { MYAPP.tweenAlpha=false; } onResize(); }); function onResize(){ var origX = $(document).width()/2; var origY = $(document).height()/2; if (MYAPP.tweenAlpha) { TweenMax.set($("div.bip") , {x:origX, y:origY, opacity:0}); } else { TweenMax.set($("div.bip") , {x:origX, y:origY}); } $("div.bip").each(function(index, element) { if (origX < origY) { rad = origX/2; } else { rad = origY/2; } var ang = Math.random()*2*Math.PI; var x2 = (rad)*Math.sin(ang) + origX; var y2 = (rad)*Math.cos(ang) + origY; TweenMax.to(element , 2, {x:x2, y:y2, opacity:1, delay: index*.01, repeat:-1, yoyo:true}); }); } function initSQ(i){ MYAPP._body.append(" "); }
New code, new dev environments
As part of my effort to try new code, I’ve been mucking around in Python, Node.js, and Ruby on Rails.
Setting up a coding environment is a daunting challenge. I have a brand new mac book air with os 10.8. And I’m doing things in terminal I’ve never done. But I’ve been able to set up the necessary, code, packages, frameworks… what have you all without running sudo. I don’t know much unix but I know know, sudo is like doing internal engine work on your car.
I’ve been using Homebrew. I don’t know how i found it but it hasn’t let me down.
Started full time gig with Yahoo
I took a full time job with Yahoo in the Ad Technology department in Jan. It’s the largest company I’ve ever worked for by far. I’m on a small team of smart cool folks. We bring in a lot of revenue for the company. I started the same day as the new CEO, Scott Thompson.
Shooter Game
This a silly little shooter game. Code based up on the Canon Macro Language.
Veins!
Using Grant Skinner’s Vein Manager class… so pretty.