HNHacker News
TopNewBestAskShowJobs

rstacruz

32 karma · joined February 9, 2012

[ my public key: https://keybase.io/rstacruz; my proof: https://keybase.io/rstacruz/sigs/A016QHhNxSAR6wwUCe0cRgDEFNlST6gDMJC7zEOUgco ]
submissionscomments
rstacruz··on An AI designed keyboard layout (2021)
Me! I was a Dvorak user for around 6-8 years, but switched to Colemak mod-DH. I found it to be worth it. Colemak mod-DH is more ergonomic for ortholinear keyboards, less "alternate hand" keys, more balanced left/right hand ratio, and overall (for me) more pleasant to use.
rstacruz··on Phoenix cheatsheet
Hey there! Author of devhints.io here... happy to answer any questions you may have.
rstacruz··on Show HN: SentinelJS – Detect new DOM nodes using CSS selectors
if you were using something like Angular or React to manage your full page, then by all means run with it! RSJS is an alternative to that that's more suited for "traditional" sites rendered on the server (eg, traditional Rails and Rails-like setups).
rstacruz··on Show HN: SentinelJS – Detect new DOM nodes using CSS selectors
Nice work! I've also done a similar thing (https://github.com/rstacruz/onmount), and it's really useful in managing behaviors in a page.

For those wondering what this is for, I've written a document with guidelines in building scalable non-SPA apps leveraging this: http://ricostacruz.com/rsjs

rstacruz··on Minimal Slack app
I think the post title can use some work!
rstacruz··on Transmission BitTorrent app contained malware
It's a very old P2P file sharing network modeled after Napster. It's main propositions (in my opinion) are its active users who share harder-to-find electronic music, and its discussion groups which are available inside the app.
rstacruz··on Velocity.js
author of Transit here. Velocity actually has a comparison over in its page (top right area) that makes velocity a good choice for animating multiple elements at once.
rstacruz··on EditorConfig
Typically those are done using configuration files of code-checking tools, such as .jshintrc[1] or .pylintrc.

[1]: https://gist.github.com/connor/1597131

rstacruz··on Hooknook: Like GitHub Pages for Your Server
Another way to approach this problem is to use travis-ci. Travis already comes with a full stack of ruby/go/node/python working that you can take advantage of to do any arbitrary commands on `git push`.

Just set the language to ruby, change your test command to a script that performs `jekyll build && rsync`, then encrypt any credentials using travis encryption keys (http://docs.travis-ci.com/user/encryption-keys/).

Here's one article that takes advantage of this exact setup to automatically deploy to a gh-pages repo: https://medium.com/@nthgergo/publishing-gh-pages-with-travis...

rstacruz··on NProgress: slim, site-wide progress bars
I'm not sure about that—"Rico Sta. Cruz" isn't some pseudonym I can restyle, it's my actual real name :)
rstacruz··on NProgress: slim, site-wide progress bars
The "placebo progress bar" UI pattern isn't new.

For instance, there's no way to monitor the progress of sending an SMS message, yet the iPhone UI displays a progress bar for it. It assumes that SMS's take an average of 4 seconds to send, so the progress bar moves at that rate.

NProgress follows the same idea, and its default behavior operates similarly. Ideally, you should tweak the progress to be more in tune with your average load times (which is what I've done for our 2 apps that use it).

rstacruz··on NProgress: slim, site-wide progress bars
Hi, I'm the author of NProgress. Yes! It's intentional.

You can disable this by removing the `cursor: wait` rule in the CSS file.

rstacruz··on Flatdoc is the fastest way to create a site for your open source project.
Good point—let me address that soon.
rstacruz··on Flatdoc is the fastest way to create a site for your open source project.
Hey guys! I built this, let me know if you have any questions.
rstacruz··on LucidJS: a lightweight, dependency-free event emitter library
If you are using jQuery and just need a simple generic event emitter, you may not need this library.

    var emitter = jQuery({});
    emitter.on('ready', function() { alert("Ready!"); });
    emitter.trigger('ready');
...or if you're on Node, Node.js already has API for events:

    var EventEmitter = require('events').EventEmitter;

    var emitter = new EventEmitter();
    emitter.on('ready', function() { alert("Ready!"); });
    emitter.trigger('ready');
The reason you'd use LucidJS is for its other features that these solutions don't have, like `.set()` and `.pipe()`.
rstacruz··on Show HN: Easel, web design in the browser
I've always thought about this idea. After dissecting my own process, I think Easel.io's "picture only" approach is good.

It's very common that I iterate by doing very messy things, like say, breaking menus apart into two just to see how it will work. A DOM-based tool will probably have a nightmare with this, and even if it manages to account for this elegantly, I know from experience that having too many iterations that actually mess up the code can only be a bad thing.

I like Easel's approach. I want to paint a "picture," then build it with hand-made CSS. I don't want some tool being smart about my workflow. Easel exports just the right building blocks so I can implement by picture into a webpage the way I want to.

rstacruz··on My Perception of CoffeeScript
Hey Jeremy! On a totally unrelated note, if I only have 48 hours to spend in New York city, what would you suggest I visit?
rstacruz··on Backbone patterns
That's how jQuery implements it for jQuery.fn.queue, and I think I'll revise it that way too.
rstacruz··on Backbone patterns
Interesting. Any concrete examples of how it can be useful in a real-world project?
rstacruz··on SPDYshark - WireShark extension to analyze SPDY protocol
"eee_c: Geez ppl, there is no Wireshark SPDY plugin. It wasn't working 6 months ago and it's not working now. Silly HN."

https://twitter.com/eee_c/status/167697122823639040

I can't confirm this, but @eee_c wrote The SPDY Book, I'm inclined to trust him.

rstacruz··on Backbone patterns
I think a simpler way would be to cache the value of `_.template($().html());`.