Skip to main content

Posts

Showing posts from 2017

JavaScript: ForwardJS Day 2

IntroductionI went to ForwardJS. Here are my notes for day 2:Create Electronic Dance Music with JavaScriptWalmik Deshpande"When you go to a club or a party or a rave.. What is one of the most obvious things you notice about the music?"It's repetitive!"Since we are engineers, what comes first to mind when we see something repeating itself over and over again?"Automate the damn thing \m/"I've created a Node.js module called Scribbletune which has a very minimalistic API (only 3 methods). I'd like to showcase this module along with the options available to us today when it comes to creating music with JavaScript & Node.js right from the terminal. Using my module and regular JavaScript String and Array functions I will put together the structure of a Electronic Dance Music track and show how easy it is for you to start dabbling with EDM using JavaScript"Unfortunately, I missed this talk. I heard the demos were pretty awesome.One person told me…

JavaScript: ForwardJS Day 1

IntroductionI went to ForwardJS. Here are my notes for day 1:Livable CodeSarah Mei @sarahmei @LivableCodeShe's the chief architect at devmind.io. She's been doing software consulting for 10 years--half of her career. She runs RubyConf and RailsConf.She talked at a very high level about the software process in general such as the Capability Maturity Model, Conway's Law, the statement that there's no silver bullet, etc.There's the code, and then there's the team. She's focusing on the codebase.If you see a problem in your code, it's reflecting a problem in your team, and vice versa.http://bit.ly/brooks-1986 is Brooks' paper on "No Silver Bullet".Software is more like theater people putting together a play than factory workers making cars.Software projects are never "done" these days.She talked about software architecture.New jobs are in application development. Rarely do they focus on the architectural concerns. The frameworks alre…

Dear new guy: Some personal advice from an old software engineer to a new software engineer

IntroductionDear new guy (or girl), I threw together this doc based on advice I’ve given to other people in the past. Hence, it wasn’t all written with you in mind, but hopefully, there are a few useful nuggets in here.First of all, beware of pride. Pride has been the downfall of countless individuals. Among other things, it prevents you from being open to contrary points of view which stunt growth.Second of all, you should know that you are talented and intelligent. However, these things are not enough to succeed. There are other things such as discipline, hard work, follow through, prioritization, graciousness, negotiation skills, networking, general communication skills, etc. that are all important for success in our line of work.Email and SlackThe keys to productivity are discipline and flow. Flow takes awhile to get into. Anything that interrupts your flow is disastrous for productivity.Email and Slack are destroyers of productivity. I find that if I read all of my email early in…

JavaScript: Porting from React Router v2 to v4 (with tips for Enzyme and MobX)

I recently ported a large app from React Router v2 to v4. It was hard. I jotted down some notes in case you have to do the same thing.First of all, start with the video, and look around in the Quick Start. The video will explain why v4 is better, and the Quick Start has a bunch of examples that you may find useful. I'm not going to duplicate all that knowledge. I'm just going to touch on some details.Here's a little utility to configure the default routing configuration:import $ from 'jquery'; /** * This is the default configuration for React Router v4. * * Usage: * *     <Router { ...getDefaultReactRouterConfig() }> */ export default function getDefaultReactRouterConfig() { const args = {}, href = $('base').attr('href'); // Make sure to strip the trailing slash from the base href; otherwise, it causes     // a double slash issue on route changes to the root route. It is also not     // possible to not have the trailing slash at the end of the base href,   …