New Posts  All Forums:

Posts by hajile

Atlassian (bitbucket) allows you to create closed-source repositories for free (and costs less when you only have a couple dozen developers). That puts them far above github IMHO. JIRA and their other professional-grade tools make them a far better choice if you need to grow as well (and you can self-host these if you need/want). Another big issue with github in my experience is that their catch-all issue idea becomes very unwieldy when projects grow.
XML is lisp for COBOL programmers. S-expressions are much better for reading, parsing, and modifying programatically. HTML needs to flexbox all the things.
Vi binding for emacs. They are better than any non vi implementation I've seen. You get all the good parts of emacs (async, plugins, sane config, etc) without the terrible emacs key bindings (not intending to start an editor war here).http://www.emacswiki.org/emacs/Evil
Vim or Emacs + EVIL are my preferred environments no matter the OS. If we're talking about a more classic IDE experience, webstorm (JS), WingIDE (python -- great debugger), and LightTable (clojure/clojurescript) aren't terrible, but good VI bindings is a perennial IDE problem.
If you want to check out a cool language with the best object system ever (meta-object protocol), take a look at dylan (http://opendylan.org/). It was designed by Apple (and a couple other companies) in the 90s, but got dropped when Jobs returned and started dropping divisions. It's got relatively little syntax, but is very powerful. Because dylan uses M-expression syntax (it was originally a lisp, but was converted to infix), it should be easier to build a compiler for...
Why the drop in size? The extra inch doesn't affect portability, but for affect usability. The extra inch of my nexus 10 is very noticeable compared to my 8.9 that I use for testing (especially for the readability of web pages.
That's what I get for not actually running the code (I had something come up just as I was finishing, so I just threw together what I had)The apply error was because of __slice.apply(arguments, 0) instead of __slice.call(arguments, 0). The former requires an array while the latter takes individual arguments.n.floor() works in most of the other languages I work in, but it's supposed to be Math.floor(n) because of poor design choices in JS.I never assured that opts was...
NEVER, NEVER, NEVER use 'new Array()' !!! It has tons of issues and is a javascript anti-pattern. Also avoid new Object(), new String(), new Number(), new Function(), etc. Use literals instead. The only possible exception is 'new Error()'In general, Object.create() is better than 'new' anyway. [[SPOILER]] Here's a version that uses a variant of the revealing module pattern. I haven't tested the code, but it should point you in the correct direction. [[SPOILER]]
My advice
I'm working on a legacy application in knockout that requires a deeply nested (and irregular) object to be bound, but the date coming over the wire is basically a database dump (back end devs with no front end experience). I need the knockout bindings done lazily, so I'm wrapping the nested parts in a computed property that queries a taffydb instance, mapreduces the date, applies the necessary knockout bindings which include a nested computed of their own, and defer...
New Posts  All Forums: