Roswell Studios

139 Fulton Street, Ste 132
New York, NY 10038


This is where we write stuff.

Filtering Shopify product lists

— November 24, 2017

Normally Shopify only lets you filter by up to 3 product tags. It doesn’t offer any sort of boolean options, or the ability to filter anything else. There’s not much you can do about that. It is just what Shopify’s search does. Unfortunately, something like a single slider selector (greater than X AND less than Y) would occupy 2 of your 3 slots, even if it...

Slack + SVN

— September 1, 2016

Git has all sorts of Slack integrations. I’m a bigger fan of git once I found the max-depth thing, the exact syntax of which I’ve already forgotten. (so cloning a repo doesn’t download the entire repo history, which may include massive media files or entirely different websites) However, I still like svn. In an effort to increase our velocity or flywheel or other business sounding keywords...

Angular directives

— August 22, 2016

Rather than the jQuery way, to assign behaviors via selectors. [crayon-5a321579a7e96252315167/] Angular wants to define the behaviors in directives: [crayon-5a321579a7eaa772952390/] then assign those behaviors to dom elements directly: >input type="number" ng-model="bid.price" string-to-number auto-select /< Eventually you too can build up the necessary directive library, each of which re-implements some minor dom element function, each with timeouts of various lengths, just to make sure nothing ever runs...

Jasmine Hack: $q

— July 22, 2016

Lets say you have a Jasmine test of an asynchronous call with then(). You need to call $rootScope.$digest() in order for the then() to happen. Lets say you are testing the bit that returns that promise. You can’t expect($q.reject).toHaveBeenCalled() because the reject inside your function is not the same thing as $q.reject, which is the only thing spyOn can see. You could fix that by calling...

Angular Core Concepts

— July 1, 2016

Angular2 (or 1.5) for new or old users If you have avoided Angular to date, good news! You won’t have to forget anything. If you know all the differences between services and factories and controllers and directives, good news! Free up those brain cells! This guide is not going to answer all the possible questions about Angular. Rather it is a mindset that I found very...

Forum Review: Sabai

— May 22, 2016

WordPress Stack Exchange style forum. I’d never heard of it, and the cheap looking website doesn’t seem to have been updated since 2013, and English is clearly not his native language, but it seems quite extensible, the product itself was updated recently, and the author is quite active in the support forum. I was worried that because it was not free, the source would require ioncube...

Javascript Review: Angular 2

— May 15, 2016

the j2ee of javascript. So many classes. Very brittle: survey: {{}} produces 100s of lines of stacktraces (there’s the j2ee again) and kills the program if survey is defined in a promise in onInit. survey: {{}} works. Hoped you enjoyed adding “isset($a[‘x’]) &&” in every if($a[‘x’]) in PHP, because it’s back. “TypeError: Cannot set property ‘endSourceSpan’ of null” – unclosed or malformed html in the template....

Angular Review: Form Validation

— March 1, 2016

Another place that should be far simpler than it is. It doesn’t help that one of the solutions starts with “If you google “angular js password match” you would find a lot of solutions.”*, and I couldn’t get that one to work. There is an official Angular UI that has a “General-purpose validator for ngModel.”, but requires installing the entire suite for just that. This is...

Slow Server Tips

— February 15, 2016

We had a problem in which a server began running extremely slowly. Primarily for one magento site, but then the entire machine. top: There was a high load average, but nothing was running out of the ordinary. No Disk waits, Zombies, 6G/8G mem. yum install iotop; iotop: there’s almost nothing running here, either yum install sysstat; iostat -dkx 60: at last, a sign of a problem:...

older »

Latest from our blog Filtering Shopify product lists