zafriedman
In terms of some concrete attributes which I like, I think it probably is the best framework I've seen in terms of the general aesthetic. I have high hopes that it will allow me to create most of the view elements I'd need to prototype in an incredibly short period of time. I haven't used jQuery mobile for some time now (> 1 year) yet it seems like there are more CSS classes in Ratchet that mimic the iOS look and feel well enough that one could develop a full iOS app prototype in a day or less. If I remember correctly from using jQuery mobile, there was a bit more code to write, and the general look just didn't feel as good to me.
EDIT: I see what you mean now, no I didn't put up a hosted link since I just developed the one screen during a 5 min break. That's a decent idea though, maybe I'll make a full demo application (maybe I'll make it a Todo list, no one has ever used that for a demo app before) and put it up on Heroku.
One other thing that I just want to put in your head, I'm not sure if I'm even going so far as to suggest it, is the possibility of flexing scope to write perhaps a 50 page e-book, not dissimilar to the Sacha Greif ebook (http://sachagreif.com/ebook/) but for getting from zero to the next book on Rails for absolute beginners. The benefit of this would be that you could probably spend about 20 hours writing it (I'm pulling this number out of my ass, so I could be waaay off about this time estimate) and therefore you've risked a much shorter amount of time, which I'm assuming is your main concern.
Node.js isn't a framework. AND it's not a programming language. Node is ostensibly a set of libraries and a runtime environment. I've been to a few Node meetups over the past few years, and inevitably people (not just newbies btw) will ask "what will be the Rails for Node?" But I think making this analogy is wrong. It's wrong for two main reasons, the first of which is that it implicitly compares Node.js to Ruby, which is a category mistake. More importantly though I'd argue, it's wrong because making the Rails for Node analogy deprives the developer (you!) of the opportunity to allow an emergent programming paradigm to change the way you think about programming! So how should Node do that? My fantasy for how Node.js will evolve in the next few years is that it will be a series of node packages which can be easily dropped in and out of my programs. I believe that the goal of the third-party node package development community should be to encourage this modularity, because I think it is the right abstraction for what Node.js actually is, and not necessarily what some people might wish it was. It's easy enough to set up EventMachine in Rails and then you can use your familiar stack, but I'd encourage anyone looking to use Node.js to fully embrace it and use it as an opportunity to explore new workflows, and not just try to fit your old stack into an event loop.
It scares me a little (a really little) in that this trend is ostensibly a precursor, or leading indicator if you will, to the increasing commoditization of our profession. But here is the thing. There are steps that we can actively take to mitigate the complacency that recent technology has afforded to us. This is likely where I agree with the author the most. If your skill set is narrower than you wish it to be, engage problems in a different domain, and acquire the knowledge to do so beforehand. Meanwhile, if you're one of the people, like me, who feel beyond fortunate to wake up everyday doing something that you love, then continue to do that, stay hungry to learn new things all the time, and hope that that will be enough. That's pretty much all you can do.
P.S. I'm aware that a) this doesn't help anyone not using Node.js on their server (it's not even part of my production stack at work (yet!), even though I'm bringing it to light here) and b) it's more than just WebSockets, for instance it will gracefully degrade on legacy browsers.
I just can't miss an opportunity to sing its praises because it has so many benefits over the simple implementation.
"Math is useful I see a lot of people around telling “I don’t need math”. In poker (and in programming) you need a lot of math, even for simple operations."
I think the importance of math is overstated in poker. When you look at a hand you must determine your chance of your hand improving, which is a straightforward mathematical exercise. You must also determine your opponents chances of improving his hand, which is also a straightforward mathematical exercise, but is complicated by the fact that you can't see the cards your opponent has. So once you have pegged your opponent for a certain hand based on his or her behavior earlier in the hand as well as any previous knowledge you have of the player, if applicable, then again straightforward math. Finally, professional/skilled poker players always calculate the odds the pot gives them versus the odds that either their hand will improve or the odds that in the specific situation they can expect to win the pot, and they further must consider what odds they are offerring to their opponent by their actions. Weighing those factors pretty much completes the degree to which mathematics plays a role in no-limit Texas Hold'em.
"Be fast and precise In online poker you can’t think hours for your next move. If you are a programmer you should be fast-thinking and precise. Fast and no errors."
While this resonates much more for me in vis a vis poker, I think this is borderline idiotic in the sense of programming. In poker you must act fast because it is forced upon you in the context, you have no choice. Think of it like using Javascript before Douglas Crockford came along and enlightened you to the good parts of the language, the only reason to use it was because you had no choice! But in programming, to say that you have to be "fast and [make] no errors" is stupid insofar that it's an obvious goal of which stating serves no purpose. It's like when I tried to explain to a non-programmer friend of mine the concept introduced by Jason Fried of "getting good at making money". He thought it was the stupidest thing he'd ever heard, like as if someone saying "I'm going to work hard to improve my skill at making money" is going to in any way have a causal relationship with the actualization. I probably didn't do Jason justice in setting the right context for my friend, nevertheless I think this phrase exhibits the same logical fallacy.
"If you want to try poker there are a lot of free poker games on facebook, iPhone, etc… Don’t waste your money. The fun is the same."
You'll never get good if you're money is not on the line. Now, I'm not saying that one should get in over their head, or even wager large amounts of money, especially when learning to play poker. However, you will simply not see the real scenarios and wrestle with the real hands that make you a great poker player, unless you and your opponents are playing for money. My impression of free poker games is that they mimic televised poker. Televised poker is for entertainment, not education, so the hands that are shown are epic bluffs, balls-to-the-wall all-in wagers, and other 5%-ish hands that provide the greatest level of excitement to viewers. I'd do the same thing if I was a TV producer, but it's not real poker. My point in this tangent is to illustrate that 95% of winning and loosing in poker comes down to average-plus hands beating average-minus hands. And while no hands are trivial in poker, playing an average-x hand against an opponent who holds the counterpart is ridiculously challenging. You will not have the motivation to really wrestle to find the answer without your money on the line, and getting good at finding out how to induce small mistakes in your opponent is basically synonymous with becoming a good no-limit Texas Hold'em player.
And finally, a gaping omission in my mind:
Poker is great for programmers (and maybe more accurately entrepreneurs) because it is a game where the perfect amount of information is available such that a skilled player, in the long run, can expect to have a positive ROI when playing against players of lesser skill. No-limit Texas Hold'em in particular, is the epitome of this. At the height of its popularity when big no-limit tournaments were attracting deep-pocketed beginners, a skilled player could expect his tournament entry fee to be worth 5 to even 10x its value in terms of expected value each time. The concept of imperfect information is resonant in entrepreneurship I think for sure, and as for it's benefits with programmers, I believe the best way to think about it is that poker in beneficial because it ostensibly uses the same cognition as design patterns in software engineering. You have a problem to solve with a variety of factors, and you apply patterns to solve those problems based on your knowledge and the past experience of others who have blazed the trail before you.
Why Global Variables Are Bad
Any app that is at its core assisting people to hack their current behavior is inherently asking people to change their behavior beyond that point at which it would be reasonable given the difficulty of such a task to attempt this feat.
The disclaimer was meant to say that I'm not labeling those as such, just that they seem overused to me. I'm also not looking for a startup idea.
Can I ask what specifically you have used successfully and with what results have come of applying the Lean Startup methodology? It also scares me regarding the community of entrepreneurs out there when someone questions the mindset of someone taking a contrarian view to the Lean Startup. Putting shit out in the consumer space especially can be an instant death, and that's fact not opinion. If I was working for a B2B startup I would be much more likely to agree with you.
Ask HN: I know how to build, but not what to build. I can haz help?
Title is pretty self explanatory, but the catch is that the following are NOT acceptable answers:Anything related to the Lean Startup Anything related to Customer Development Anything related to any other form of fanboy, wantrepreneur bullshitDisclaimer: I'm not saying that these above references are bad (except maybe the last one), nor am I implying that the third is descriptive of the first...