Hacker Newsnew | past | comments | ask | show | jobs | submit | bitplanets's commentslogin

"This code reminds me of a simple server-side scripting language such as JSP or ASP that’s used to fill HTML templates with database content. These languages have their place in the web development stack — but on the server, not in the browser."

What is the problem? I make isomorphic apps and I really like this. DRY


This is cheerio with node.js and extra bells. Example: http://projs.hackhat.com/the-making-of-the-hackernews-crawle...


Sounds more like phantomjs/casperjs.


Espion is similar to PhantomJS in that they're both headless browsers that you can inject JavaScript into.

Espion comes with a lot more. First there is the infrastructure: processing power, storage, connectivity and IP addresses that you don't have to provision, set up or manage. Second, Espion includes the features that surround extracting data from a site such as job scheduling, data quality monitoring, online debugging and problem resolution and data delivery.

PhantomJS is perfectly viable, but if you need the features I highlighted and use it, you'll have to build a lot yourself to get the job done.


So, is the Espion headless browser based on an existing one? If this is the case, which one?


it's just PhantomJS wrapped up behind a cloud


If you use react.js and rcss you will be able to build your whole app with just js. Well organized and modular. No html, no css (not directly, of course. You still have to fix css issues).


Yeah, I added a comment about that. It's true that web frameworks essentially work like this, but I still think it's massively backwards that we're building web apps by using JS to manipulate a text rendering engine and not the other way around. In my opinion, this is one of the primary reasons why web apps never feel as good as native.

To look at it another way, this means that HTML and CSS are sort of the web's "layout and appearance bytecode", and they're pretty mismatched for that purpose.


Why do you care about it in the first place? Also what is your definition of good programmer? Just make a function? Make a class? Make a big app?

IMO you don't need to learn too much math before programming to be a good programmer. Basic operations are good enough, if you need more you learn as you go, you'll never know what you need. Lazy learning, like lazy variable loading.

The test you are making are more like problem solving which is closer to what programming is and not math. Of course basic math (+, -, /, *), but what it really matters is knowing what operations to do. The operation itself is the easier part.

A better test would be to make a chose between which approach to take to solve a problem and explain the rational behind. That is what will define a good programmer.

Also what better indicator you want than programming itself? You'll never make a choice based on this.

Also one thing is to figure out how to solve "here are 3 consecutive integers with a sum of 69. What are they?" than solving "here are X consecutive integers with a sum of Y. What are they?". Same in "Adriana’s age is 1/3rd of her dad’s age. If her dad is 36 years old, how old is Adriana?" vs "W’s age is X of Y’s age. If Y is Z years old, how old is W?". The complexity increases a lot.


I disagree with many of your points.

First, the algorithmic part of programming is a lot like doing algebra. So much so that algebra is an important part of any serious CS syllabus. Clearly "writing a function or a class" is not the skill they are testing here, but problem-solving.

Knowing how to solve simple algebraic problems engages your "problem solving" skills in a similar way as solving something by writing a program. Note that algebra is not "basic math (+,-,/,*)" like you said. Algebra, like programming, requires the ability to understand and write abstractions, and to figure out how to approach a problem.

> Also what better indicator you want than programming itself?

They clearly want to establish a correlation between something else and programming. This is interesting in itself.


IMO, what algebra and programming have in common is simply abstraction, so people in the mindset of recognizing patterns to which abstraction can be applied tend to do better as programmers / automation engineers in general.


Algebra and programming are very, very similar. Algebra [1] deals with formal languages and their rewrite rules in general. Programming is dealing with a certain (but yet very wide) class of formal languages and an extremely wide variety of rewrite rules (i.e., algebras).

It does not matter that nobody is using, say, a term "refactoring algebra", but it is still, essentially, an algebra.

[1] Here I'm referring to a generic meaning of "algebra", as in https://en.wikipedia.org/wiki/Universal_algebra


Even if it was just that, it would probably work as a predictor of skill. After all, people being good at one system of formalized abstract thought must be a reasonable predictor that they will be likely to master another one.

But it's more than that. Algebra and "algebraic reasoning" (to use a non-technical term I just made up) are the underpinnings of Computer Science, which is why Algebra is featured prominently in the CS syllabus. Of course this is obvious in CS theory (where you'll play with numbers as if they were programs), but it's also useful in order to write actual programs.

I'm not saying you must understand Algebra in order to write a CRUD in your typical web application. Likewise, you probably don't need to understand Relational Algebra to write SQL for the aforementioned web application. You can understand surprisingly little in order to "muddle through". And intelligent self-made programmers will actually be able to write complex software without a solid theoretical foundation to back them up (maybe rediscovering the wheel along the way). It's definitely possible to write software without knowing the theory.

However, I think you'll be a better programmer if you do. (My highly subjective opinion: it's definitely more fun if you also understand at least some of the theory!)


>why do you care about it in the first place? Also what is your definition of good programmer?

Is this a joke? They care because they are selecting applicants to a programming boot camp and want to select the ones more likely to be successful. I suppose they could make all of the applicants learn to program and select the best ones, but there could be issues with that. And they are pretty clear that they are defining 'good programmer' as 'good outcome in their course'.

> A better test would be...

Prove it.


>They care because they are selecting applicants to a programming boot camp and want to select the ones more likely to be successful.

Just make a programming test. IMO is more certain than relying on knowing algebra well or not. But I don't have any data to show you, is just me thinking about it.

>Prove it.

I can't, you are right. I just said what I was thinking.


You seem to be missing the point. They can't use a programming test on people who don't know how to program.


The thing is that they aren't saying that algebra learning causes good programming. They're saying it predicts it. They don't delve into underlying factors, but general mental ability is certainly implied.

In other words, an algebra test just acted as a noisy, imprecise measurement of general mental ability.


I can see you


app engine


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: