HNHacker News
TopNewBestAskShowJobs

aria

377 karma · joined November 6, 2010

http://aria42.com
submissionscomments
aria··on Faster, Better DOM manipulation with Dommy and ClojureScript
Author here. Happy to answer any questions/concerns.
aria··on You are not Steve Jobs
I think the most mature thing to do here is get into a pissing match about whose cancer is worse rather than just agree that it's all probably worse than being yelled at. Let's meet under the bridge to discuss.
aria··on You are not Steve Jobs
Can't argue with logic like that.
aria··on You are not Steve Jobs
There's no indication that she couldn't endure the silly dress down, just that it was a dick thing to do. Also, lady's been through a ton of shit, including cervical cancer (https://medium.com/lady-business/67303ff64202). So yeah, I think she could handle a little yelling. I'd do a little research before I put someone down. Guard your ignorance.
aria··on You are not Steve Jobs
Also, she didn't know what he looked like that particular year. Not who he was. Some people just have incomplete photo shrines.
aria··on You are not Steve Jobs
How dare she have an opinion about management? Seriously. I'm glad you're here to police such matters.
aria··on You are not Steve Jobs
Um..Shouldn't Steve had yelled at said middle management or at least sussed it out before yelling at engineers?
aria··on Prismatic creates a special signup for Google reader users
Sorry to hear about that. Want to email feedback@getprismatic.com and we'll look into it and try to get it fixed ASAP
aria··on Our Beta is Now Open to All Developers
Thanks Chris, I'll look into it based on your recommendation!
aria··on The Magic of Macros: Lighting-Fast Templating in ClojureScript
Author here. Happy to answer any questions or concerns!
aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
It's definitely a complicated language to learn since you have to learn the complexity of

(1) Clojure core itself and readjust to functional programming (2) Understand how ClojureScript is translated into JS in order to do interop which will absolutely be necessary for any real project (3) Understand Clojure on the JVM in order to understand/write macros

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
Ah sorry, I didn't see. So the decision about DOM elem vs String is one I'm not 100% sure about, but I think the performance difference is at most like a 10-15% difference which wasn't that compelling to us. So I didn't see a strong reason to go one way or the other and the code I believe is cleaner producing nodes rather than Strings, but I easily could be wrong on both counts.

I didn't actually consider EDN. I haven't see enough of a win over JSON to consider it, but that could just be misinformed.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
I'd be curious to hear what you're not liking about it.
aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
We did a post a while back on the frameworks vs. libraries and our overall take on software engineering:http://blog.getprismatic.com/blog/2012/4/5/software-engineer...
aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
Frankly at the moment, we're not using any external clojurescript libraries; we've tried many, but none quite meet our needs or the style we really like. We're internally phasing out jQuery selectors in favor of some code that we'll be releasing once we know it's battle-hardened and ready.

We don't use an MVC or components type framework, but ideas about how to setup those abstractions are percolating.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
The nice thing about dommy (github.com/prismatic/dommy) is that emacs doesn't need to be changed at all to use it. It's just clojure and all the highlighting and the emacs major mode work.

Also out of the box, you get a repl to live test and evaluate template functions and data structure. It would only take a few lines of emacs lisp to take a string from the repl and pipe it through XHTML validation.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
That's a fair point. Really, I think we're making the argument that we prefer data approach to templates (i.e., language-native data structures (maps, arrays, strings)) represent html structure.

You can certainly take that approach in JS. domo-js isn't quite that, it would look more like:

["html" ["head" ["title" {class: "class1"} "Welcome to Domo"]]]

As we say in the post, you can totally pull all this off in JS, but I think if you're going to be manipulating nested data structures, it's better to have immutable data structures built in and the suite of functions that can manipulate them. Clojure makes building template structures really easy: persistent data structures, map/seq argument destructuring, keywords, sets, etc.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
No, but I think enlive is great.

To me and the team, most of our functions are making Clojure data structures and thinking of templating as converting data to dom elements or HTML strings seems the most compatible with that way of thinking. But both are definitely valid.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
Yeah absolutely. One of the better CLJS features is getting the Google Closure modules and explicit dependencies.

We'll probably add dom selectors and/or manipulation and wheter it's the same library as dommy (github.com/prismatic/dommy) or a different one will depend on if the selectors borrow the same abstractions and syntax as templating.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
Indeed it's not the same language. I wasn't bit by the macro differences (which are probably the largest non-interop difference) since I tend not to use macros in my Clojure or ClojureScript code. Macros are going to be different since the macro compile host (JVM) is different than the run host (Javascript VM).

Other than macros and the VM interop (ugh I think (.-length str) is an eye-sore for property acesss), the core of the language is close enough that I Don't think of it 90% of the time.

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
While you can use ClojureScript (CLJS) server-side running on say node.js, the largest benefit is as a replacement for client-side JS (ClojureScript converts to JS at compile-time).

You can actually use all the libraries you mentioned (jQuery, underscore) from ClojureScript. What CLJS really brings to the table are a set of abstractions and data structures that make it easier to write strong reusable functional code. In fact, alot of underscore comes built into CLJS and I think much of what jQuery buys you can be handled as a good CLJS library (but more on that soon!)

aria··on Bringing functional to the frontend – Clojure and ClojureScript for the web
Author here. Happy to answer any questions or comments.
aria··on A Funny Thing Happened on the Way to Academia
Thank you for the kind words! Indeed, the NLP and ML behind Prismatic are pretty intricate. Not just because they use something mathematically sophisticated, but you have to make a lot of good decisions about what can be tackled with a simple approach and when to spend a month thinking about a harder problem.
aria··on A Funny Thing Happened on the Way to Academia
Prismatic has a much larger vision of bringing together elements from my AI and machine learning research background along with modern interaction design to build smart everyday consumer products.

The current app is just the first step in a longer roadmap of building smart products. Currently, we're great at discovering new articles, but in the future will include discovering relevant apps, music, movies, and local events. Don’t be too surprised if we’re on your TV soon.

aria··on A Funny Thing Happened on the Way to Academia
Building Prismatic is way more than just about having a formal ML background. It's that along with large-scale systems skills and having a sixth sense for working with data (text especially) and knowing what simple ideas will work and what needs to be complicated.

So to answer your question yes, you need a formal ML background but you need a lot else. Luckily, you can pick up all these skills from online courses, real world building, and a lot of self study and improvement

aria··on A Funny Thing Happened on the Way to Academia
Thanks! It seems like an obvious thing, but thinking about "operationalizing" intuitions computationally really helped me hone in on what I should be focusing on with research. My advisor Dan Klein was really awesome at teaching that.
aria··on A Funny Thing Happened on the Way to Academia
We will publish on interesting aspects of our models. Frankly, our main reason for not doing so is time and resources.

In terms of industry research on the whole and publishing. It is true that you can't publish everything, but look at Google. Arguably some of the influential systems papers of the last decade or so have come out of Google. Google doesn't publish all the details of their search algorithms, but it turns out that because they address real-world problems they've done enough great stuff that some of it can safely be shared without endangering their moat.

Another aspect to consider is that while industry publishes less, we do tend to churn out useful open-sourced (Prismatic will definitely be doing that soon) that is of at least comprable utility to people out there as most papers.

aria··on A Funny Thing Happened on the Way to Academia
Well, I think the number one thing that would correct the balance between academia and industry is if people could freely go from one to the other. Someone could take insights from one arena to the other, enriching both.

There are many reasons why this is difficult, but the primary obstacle is the tenure system.

aria··on A Funny Thing Happened on the Way to Academia
I recently answered a Quora question about this that has many more details http://qr.ae/1viyQ.

The core NLP behind Prismatic is topic modeling; we don't use anything off the shelf, but something crafted pretty specifically to our needs.

We do model user similarity based upon interest overlap and social graph analysis. So we know how likely you are to care about what someone in your extended network shares.

aria··on A Funny Thing Happened on the Way to Academia
I'm the post author and would be happy to answer any questions and discuss academia CS and startups.
← PreviousPage 2 of 3Next →