Programming

Micro frontends—a microservice approach to front-end web development

Micro frontends—a microservice approach to front-end web development

2017-07-06Article updated with references to HelloFresh, micro-frontends.org, Single-SPA (incl demo) and using a shared event bus. For web apps, the front end is becoming bigger and bigger, and the back end is getting less important. Our web app at Weld (web/app creation tool) is 90% front-end code, with a very thin back end. I can […] Read more

How we turned GitHub Issues into a game

How we turned GitHub Issues into a game

2017-06-23Our list of bugs was growing. Something drastic had to be done. So we built a game. At Weld we’re building a code-free tool, but we sure are generating a lot of code. And a lot of bugs. Our issue list on GitHub was stacking up something fierce, and something drastic had to be done. Then […] Read more

The “Rule of 10” for functions, components and modules

The “Rule of 10” for functions, components and modules

2017-06-16Here’s my “Rule of 10” for functions, components and modules: If a function has >10 lines of code, break out into multiple functions. If a component has >10 functions, break out into multiple components. If a module has >10 components, break out into multiple modules. Update 1: I break these rules on a daily basis… […] Read more

Pocket Coder — coding JavaScript on the go

Pocket Coder — coding JavaScript on the go

2017-06-08I made a trip to Italy recently, and on the plane I started thinking of a coding problem I was working on at Weld. I had a rough idea, but I wanted to express it as an algorithm. I didn’t want to boot up my laptop and go into full coding mode — I just wanted to […] Read more

All the CSS sizing units you didn’t know existed

All the CSS sizing units you didn’t know existed

2015-11-11If you’re a front-end developer/designer, you probably know px and em sizing units. But did you know there’s 15 of them? em: This unit represents the calculated font-size of the element. If used on the font-size property itself, it represents the inherited font-size of the element. ex: This unit represents the x-height of the element’s […] Read more

JQuery is hard to beat

JQuery is hard to beat

2015-06-13JQuery is hard to beat. Looking at the number of questions on Stack Overflow*, JQuery is 6X more popular than Google’s AngularJS, and 40X more popular than Ember.js. And Facebook’s React and Google’s web component framework Polymer have very little activity. *Yes, more questions could mean that it’s just harder to learn, but I’m willing […] Read more

Designing a CRUD API for WebSockets

Designing a CRUD API for WebSockets

2014-02-16When building Weld, we are using both REST and WebSockets (Socket.io). Three observations on WebSockets: Since WebSockets are so free-form, you can name events how you want but it will eventually be impossible to debug. WebSockets don’t have the request/response form of HTTP so sometimes it can be difficult to tell where an event is […] Read more

Tools for Creation

Tools for Creation

2013-07-06One problem I’m very fond of thinking about, is tools for creating things: physical objects, food, art, software. I’m a big fan of Bret Victor’s work and especially his presentation Media for Thinking the Unthinkable. I’d like to try to apply this to programming (and no, not like Light Table). More to come! Read more

Email Lookup for Mac OS X

Email Lookup for Mac OS X

2012-09-20Updated to v1.3! It started when I was creating a party invitation, and wanted to get an email list together. I already had the names, I just needed their email addresses as well. And that data was in my Address Book on my Mac, but I didn’t want to go through the list manually. It […] Read more

You should learn a new programming language!

You should learn a new programming language!

2011-10-24Learning a new programming language is great for two reasons: 1. It expands your mind. Your brain gets exercise when it’s forced to think in new ways.2. If you’re building something big, take the time to learn the best tool for the problem at hand.I learned this the hard way when building Zyked.com. At the […] Read more