Ilan Gitter: Side Roads in Modern Programming

Node Streams Part 1: Readable Streams

7 minute read Published:

A deep dive into readable streams
Whether you know it or not, if you have coded anything in Node.js it is likely that you have used streams. An express server serves streams as its responses and accepts streams as the requests. You can think of a stream as a path for chunked data to travel down. Data is buffered and sent along in chunks, like trucks down a highway. In this way you can send a large amount of data in a manageable way to different processes without sacrificing performance.

Node Streams: an overview

3 minute read Published:

What is a stream? Why would you use one?
Whether you know it or not, if you have coded anything in Node.js it is likely that you have used streams. An express server serves streams as responses and accepts streams as requests. You can think of a stream as a path for chunked data to travel down. Data is buffered and sent along in chunks, like trucks down a highway. In this way you can send a large amount of data in a manageable way to different processes without sacrificing performance.

The Shopify Accelerator

1 minute read Published:

I've recently been accepted to the Shopify Accelerator program for NYC. It's a program that gives me access to an office space along with the great folks at Shopify and weekly workshops.
I have been working with Shopify for a few of my freelance clients and grown very fond of its ecosystem and community. Lately I’ve seen a lot of potential in creating apps for Shopify users and applied to this accelerator program in order to force motivation for myself in this space. I’m going to try to update this blog as much as possible in order to share everything I learn and mistakes I make along the way.

Building this Blog Pt. 2

3 minute read Published:

Using GitLab to host your files
Let’s say you’re cheap like me and don’t want to pay for hosting some html, css, and js. There are a few choices for free hosting, the best of which are using Github’s or Gitlab’s pages features. This site is hosted through Gitlab which has the added benefit of auto-updating the blog every time I push without any further setup. Here’s how you do it: Setup your repo with Gitlab.

Refactoring from one large main go file

3 minute read Published:

How to move from a house of cards to a villa of cards
How to move from a house of cards to a villa of cards Disclaimer: I am absolutely a Go beginner. In fact it’s the first typed language I’ve worked with. I am used to PHP and JS and Ruby which feels like the bohemian side of the beach compared to Go, but that’s not always a good thing. On this more elegant side there is an air of purpose with beach umbrellas conveniently already on the sand for you to use.

Concurrent command line processes

1 minute read Published:

An easy way to combine tasks
I recently had a project in which I wanted to use both webpack and gulp without the hassle of opening multiple console windows. After a little bit of searching I found the package Concurrently which just feels good to use: npm run dev And you’re done. To get it set up open up your package.json and put in some scripts you’d like to use like this: { scripts: { serve: webpack-dev-server --inline --hot --watch --config=webpack.

Building this Blog

3 minute read Published:

Using Hugo and learning Markdown
I’ve recently been curious about static site generators. After working with WordPress for years, the idea of having no database or dynamic content is freeing. No worries of 2AM database transfers or massive, delicate, and dangerous search and replace executions. Just good ol’ HTML, CSS, & a little bit of JS. I’m back in the nineties and I love it. These two styles of sites remind me of two kinds of travelers out there.

You don't know the firefox toolbar

3 minute read Published:

The unknown magic in the toolbar
I had no idea that firefox had this little command line toolbar but damn does it pack a punch. Docs can be found here. A small selection of things you can do through the command line is take a screenshot of the whole page, highlight all nodes that match a selector, emulate media types, inject libraries directly into the page, and log all function calls to the console.You can even create your own commands which I’ll get into at the end.