Hacker News new | past | comments | ask | show | jobs | submit login
A beginner's cheat sheet for web development (bentobox.io)
450 points by jonhmchan on Sept 20, 2013 | hide | past | favorite | 191 comments

The title and the pitch on the actual site are kind of disingenuous. This is a collection of resources to learn web development. Its hardly a cheat sheet or "everything you need to know".

A cheat sheet would be a succinct set of syntax/concepts/examples required to get by.

Having said that, its a pretty website and its a worthy cause so please don't take my critique too critically.

> The title and the pitch on the actual site are kind of disingenuous


> please don't take my critique too critically.

If you don't mean to critique harshly, then please choose a word other than "disingenuous". I see the word misused a lot to mean something like "misleading", but it actually means that the author intentionally, duplicitously was trying to mislead the user. It is an insult used to question the intentions of the person it is used toward.

Here are some synonyms from Google: insincere, dishonest, untruthful, false, deceitful, duplicitous, lying. Clearly those words are not generally used politely.

You do realize that when you look up the synonyms to misleading you get many of the same results, right?

I'm sorry that you feel the word disingenuous has too strong a negative connotation but I won't curb my speech because of your opinion. If I were to follow that line of thinking I'd have also used a word other than critique because many people foster the opinion that it too has a strictly negative connotation.

Disingenuous means "not of noble character", and more generally means things along the lines of "deliberately dishonest". "Disingenuous" does not mean "misleading, maybe by accident". It's an attack on someone's character.

So, if you wanted to say "misleading, maybe accidentally", you used the wrong word.

Maybe over time, people are evolving toward using the four-syllable word as a one-to-one replacement for the three-syllable word, as a way of disingenuously suggesting they're better educated than they are? If so, eventually, that'll be the most common usage, and thus what the word "means". I don't think we're there yet.

I came for the pedantry, but I'll stay for an opinion: For myself, I agree with the wording you used in the first comment, that calling that list "everything you need to know about web development" is such a high degree of bullshit that no one of noble character would do that. I believe it to be deliberately deceptive self-promotion.

Back on the pedantry, I find it hard to believe that you actually meant "foster" where you wrote that. I mean, who cares how many people foster the opinion that "critique" has a strictly negative connotation... isn't the real issue how many people hold that opinion?

I actually agree with you that it was deliberate to some extent which is why I used the wording "too strong a negative connotation". I think anytime you are accusing someone of being less than entirely honest, which is the definition of disingenuous[1], that it's going to carry at least a semblance of negativity. This is also why I added the caveat "too critically" to my original comment because although I felt the poster was aware of his word choice he was just writing what he thought was catchy marketing copy.

And no, I actually meant to use the word foster. While you're probably right that the larger issue is how many people hold the opinion, for me personally its about how many people vocally defend the opinion (i.e. promote). For instance, if you and Shawn didn't feel the need to defend your position on disingenuous it would be a non-issue because people would at worst understand what I meant by context. This method of understanding by context is the exact mechanism by which our wonderful language evolves over time so while those who hold an opinion of a definition will eventually go away those that foster an opinion on a definition can have a long lasting impact on our language.

[1] "not truly honest or sincere" - http://www.merriam-webster.com/dictionary/disingenuous

"slightly dishonest; not speaking the complete truth" - http://dictionary.cambridge.org/us/dictionary/british/dising...

"not candid or sincere, typically by pretending that one knows less about something than one really does." - http://oxforddictionaries.com/us/definition/american_english...

I'm not asking you to censor your speech. Your use of the word seemed to be at odds with the part of your comment that claimed that it was not a strong critique.

The problem with synonyms is that synonyms are not perfectly equivalent, so you can use them to support a lot of false equivalencies. On the other hand, it's difficult to capture subtle connotations of words in a discussion, and synonyms are kind of the best tool available for getting across that shorthand. It's still a rather inadequate tool. I would say that "disingenuous" being a synonym of "misleading" is itself misleading, because the word "misleading" is neutral to intent where disingenuous is not.

Regarding the word "critique" (especially that form of the word, as opposed to "criticism"), I would say that there's a broadly used academic usage of that word that contains no negative connotation.

Honestly, I have no problem with the word disingenuous. If you were saying that the site developer was intentionally misleading people, then I agree with your usage of the word. But the way that I read your entire comment led me to a different interpretation, and thus my comment.

I'm not asking you to censor your speech. Your use of the word seemed to be at odds with the part of your comment that claimed that it was not a strong critique.

The problem with synonyms is that synonyms are not perfectly equivalent, so you can use them to support a lot of false equivalencies. On the other hand, it's difficult to capture subtle connotations of words in a discussion, and synonyms are kind of the best tool available for getting across that shorthand. It's still a rather inadequate tool. I would say that "disingenuous" being a synonym of "misleading" is itself misleading, because the word "misleading" is neutral to intent where disingenuous is not.

Regarding the word "critique" (especially that form of the word, as opposed to "criticism"), I would say that there's a broadly used academic usage of that word that contains no negative connotation.

Honestly, I have no problem with the word disingenuous. If you were saying that the site developer was intentionally misleading people, then I agree with your usage of the word. But the way that I read your entire comment led me to a different interpretation, and thus my comment.


I've noticed that a lot of people on HN use disingenuous in this way that is more or less a direct synonym of "misleading", but outside of HN, I encounter the word much less frequently, and generally it is used in an accusatory tone. Of course language can mutate within communities and subcultures, and that's fine, but using the word disingenuous without implying negative intent carries the risk of offending someone accidentally. I liken the difference between the two words to that of the words "lie" and "misspeak". If you meant to tell someone that they misspoke, but used the word "lied" instead, they would tend to get offended and/or defensive, even though you clearly were not trying to hurl an accusation of ill intent at them. There would be some uncomfortableness created by the miscommunication that was completely unintended and unnecessary. That's the reason that I spoke up about it. I see the potential for unnecessary miscommunication.

Especially since most of the links are just to the original projects' homepages...

It pointed me to this [1] and I gotta say it's well worth it a read if you want a primer on JS, really good stuff, right to the point.

[1] http://learnxinyminutes.com/docs/javascript/

Thanks for the feedback! Anything to add in terms of tech I'm missing or better links?


As far as tech, you're covering a lot of different topics. My knee jerk reaction would be add more of the competitors (i.e. foundation since you have bootstrap) but there's value in maintaining a smaller list of technologies since this seems to be targeted at true beginners.

Yeah I have this for ruby I think. Will add it in - or you can make the pull request and put it in there!


For beginners, what about rad tools like Microsoft lightswitch or alpha everywhere/five or appcubator which offer much lighter learning curves and faster development, although for limited types of projects?

Hm, looks nice! The coloring of the columns doesn't seem to be meaningful in any way I can come up with. I think it would make more sense if things were grouped into categories (e.g. databases, web frameworks, frontend languages, backend languages, style/presentation). If you use color I would make it meaningful (e.g. represent order of learning things with color something?).

Seconding categories, though I'm not sure they should be columns. Maybe sections like "Styling" with a one sentence explanation of what they are, and then the boxes below that.

Yeah there's been a ton of suggestions for what the colors should mean but I'm leaning towards something like what you're suggesting!

The problem for me when I was beginning was not necessarily learning each technology, but rather the glue between each. That is what I tend to find confusing and is much harder to find resources for that clearly and exclusively demonstrate how to bridge the different technologies. Would love if you could add those type of items. For ex. I know Node, some Mongo, and am a avid user of Heroku. Recently I was trying to set up a system using all three and struggled quite a bit.

Yeah - I know what you mean. When I first learned python, I had to figure out on my own how to piece it together with mongo heroku and tornado. I'll look into it!

yes, seconded! the most difficult part is not the languages themselves but how to glue everything together...

Does anyone on hackernews have a resource like that? Its been such a pain trying to glue together a site.

There is useful coloring - "Beginners, start by clicking the html box and the next lessons you should learn will get highlighted."

I still don't quite get what that means. If you click Python, why is Ruby highlighted, but not Django?

This is exactly what I was wondering.

I'm not sure if the order is supposed to matter that much, but I feel like the blocks should be ordered from easy to hard. Why is PHP at the end of the list? Why is JSON so close to the front?

But yea, I just think the ordering could be better, still a nice resource!

It seems to be in order of relevance -- that would explain PHP being at the end. :)

What a zinger. Unfortunately a basic understanding of PHP is still required for enough tasks that I would recommend learning it early on. It is also a very forgiving beginner language that naturally segways nicely from html/javascript.

Today's most trendy baristas have nothing but negative things to say about PHP.

Programmers that use PHP would rebut, but they are too busy paying for their drinks using money they make from actually shipping code.

This needs to be on a shirt. (Probably in very small font.)

I would use my money earned by shipping PHP code to buy that shirt, regardless of ridiculously small font size. Para. 1 on front, Para. 2 on back.

Haha oh man, that's just asking for trouble isn't it?

Honestly, it was just the order I added them in. It could really use some reorganizing, and if you can contribute that'd be even better!


It should be ordered alphabetically, with the colour of the block showing the difficulty or learning order (simple/compulsory = green, hard/niche = red).

Why would a data format not be very early in the list if ordered by simplicity or ease of learning? JSON is both..

A good list so far.

The lack of XML though, in addition to JSON's claim of being the ubiquitous data transfer format, seems a bit hyperbolic.

You're right XML should definitely be on there. I was going to put something in there with REST and SOAP with JSON and XML too. If you have suggestions for where, please pull!


Appears to be broken this morning. I see the template briefly, then nothing, in Chrome and IE. Which is sad because it sounds really great.

Sounds like a violation of rule #21: Don't use Javascript to load/render your content text. It's idiotic. Thanks.

And what do you use, Mr. Fancy Pants? Markup?! Psh, that's poppycock.

[11:31:37.963] SyntaxError: missing } after property list @ http://www.bentobox.io/content.js:627

Same here.

Only works for me in Chromium. Firefox is displaying "box.name" and "box.description" instead of their values.

Well, it doesn't degrade gracefully if you have js turned off (NoScript by default here).

I have JS enabled and it doesn't show any useful content anyway (win/Chrome29).

Chrome 29 here, and same issue. No errors in the console.

I was about to make a snarky comment about how the site should include a box on browser compatibility but I refreshed the page and it was fixed!

It's a fun site, worth checking out :)

You're right. It's working in Firefox now for me as well.

Where is knockout.js, SignalR, ASP.NET MVC, Azure?

Call it "hipsterbentobox.io".

PS: I am on BitBucket, I know it's not as hip as GitHub - sorry.

All four of those technologies have been created within the past four years. With that in mind, using 'hipster' as a denigration seems... ill-advised.

(I agree that they should be added.)

Also disappointed about the lack of ASP . MVC.net - but so it goes, I would hope it wasn't being intentionally ignored out of some personal bias. Either way, the site is still a pretty nice resource even if it fails to recognize some stacks.

This is not the first time I've noticed this omittance on HN posts.

Even though ASP.NET is one of the biggest web development frameworks on the planet, used by many, many companies, a lot of these so called web developers pretend like it doesn't even exist. Have they even used C# I wonder?

The Microsoft grudge runs deep in Silicon Valley.

I've noticed this as well. It's unfortunate, I think, that I still run into a lot of people who carry unfounded negative opinions on c# web development simply because of their personal bias against Microsoft. But c'est la vie, this is a common problem in the realm of programming, champion <your language here> disregard <set of all other languages>.

I can assure you all my prejudice towards c# web development comes from experience.

Excellent. I can assure you that I wasn't including you in the set of people whose prejudice doesn't come from experience.

Came here to ask the same question. We built www.staffsquared.com with .Net, I think it's on par with anything I've seen created with "trendy" languages.

It looks good, HTML source is pretty clean as well.

Did you look inside #habla_beta_container_do_not_rely_on_div_classes_or_names ?

Seems like that's markup generated by a third party tool their site uses for chat.

and some pretty sweet markup it is indeed.

Great post, thanks for the effort. But I definitely second BigChief on this, please include ASP.Net MVC and for completeness ASP.Net Web Forms.


How popular is ASP as a stack? I'm looking at





And ASP doesn't make the list, presumably because it is a framework rather than a language per se -- both C# and Visual Basic make the list, but that's not really a good indicator. I don't really know anything about the Microsoft stack, and I don't know anybody who does.

To clarify: I'm not denying ASP is popular, I'm just asking if you know of a good metric to gauge its relative popularity. Apparently Github wouldn't be a good indicator either?

Correct, ASP wouldn't make (it onto) those lists in the same way I don't see Rails / Django on those lists, just their parent languages, python and ruby. On the site referenced in this HN submission (bentobox) frameworks and not just their parent languages are represented.

To answer the question posed, I wouldn't know where to begin to provide a good metric for gauging it's (ASP / MVC.net) or any other frameworks / languages popularity.

Rails and Django are both on there.

I think you misunderstand me. Rails nor Django are on any of the lists contained in the comment to which I replied to. I explicitly acknowledged their existence in the site that this thread is about.

edit: The point of mentioning that frameworks weren't included in any of those lists was in response to the parent reply questioning the popularity of the (ASP) framework as he /she didn't see it in any of those lists of language popularity that they cited.

Here's an idea. Let each box 'expand', perhaps to its own page. This way, if you want to dig deeper, you can find more resources in the expanded box. You can let users suggest resources with an 'add' button; users can vote for resources so the best ones bubble to the top. You could take this further and break each resource list into beginner, intermediate, advanced.

OP here: in case anyone has suggestions, this is also on GitHub: https://github.com/JonHMChan/bento/tree/gh-pages

Would love your feedback!

Very cool. Like the site. The one thing I noticed is that you put "Codeacademy" but they really spell it "Codecademy", with no leading "A" in academy.

You should have links to webplatform.org - this is a varied collection of docs and tutorials contributed by browser vendors and other key web players, via the W3C.

Awesome - is it good for any particular technology or topic?

JavaScript, HTML, CSS, SVG. Not proprietary technologies (Flash, etc.) and not really server-side JS (yet).

I would recommend adding HTML5 Doctor http://html5doctor.com/ as they do a very good job of explaining the specific use cases of the semantic elements in html5 which is something many people either overlook or they use incorrectly. I really like it!

Yeah I definitely agree. I got your pull request, so I'll merge it in soon!

I think the web would be a better place if you encouraged beginners to start with the HTTP block, rather than HTML.

I am happy I started with HTML. I composed a page, all full of blinks, and it blinked! And then on to CSS, where I found :hover, and I was hooked. Then javascript, python, and only after python and frameworks did I really need to understand HTTP. What I mean is that if I had started with HTTP, I would just have been perplexed, never hooked.

I've always been looking for something like this to send to friends wanting to learn to code. A couple of recommended

This step by step guide to learning Github: http://www.thinkful.com/learn/a-guide-to-using-github-pages/

My first [hilarious] exposure to Ruby http://mislav.uniqpath.com/poignant-guide/book/chapter-1.htm...

Eloquent Javascript [built in console with examples]: https://eloquentjavascript.net/contents.html

If anyone's interested in some front-end web development sources: http://www.quora.com/What-are-the-best-sources-to-learn-web-... [You won't need to make an account with this url] [1st answer has the skills you'll need to learn with documentation and 2nd has a great collection of resources for newbies]

I could really use your help putting this on there! (All the sudden there are so many changes to do haha)

Make a pull request if you can! https://github.com/JonHMChan/bento/blob/gh-pages/content.js

will do! great job on this project :)

the github guide is a good one. that should definitely be added to the list.

Where's the content? I thought it's just my browser (Chrome), but on browsershots it seems to be empty for most browsers. Is it a WIP?

Hilarious to me that no one here gives a second thought of how intimidating a list like this would be to someone first getting into web development. On my initial scroll down the list, I first thought it was a tongue-in-cheek joke ("cheat sheet"? Lol) about the incredible range of things your typical full stack developer needs to know to actually go from 0 to .com

Constructive point: I like the color coding, but use it. Server: red, database: yellow, app: blue.

Javascript: blue Postgres: yellow Nginx, Apache: red Django: purple Node: blue Express.js: purple LAMP: white?

If that won't work, maybe shades of those colors for the various types

This is great! Thanks! As a beginner, figuring out what to learn, as opposed to how to learn, is a struggle. This provides a pretty great roadmap and explains how things fit together.

As for feedback, you could potentially add: -Hartl tutorial to the rails section -Udacity to the python section.

Udacity is my absolute favorite tutorial for python - added!

For Rails, the article "What is Ruby on Rails?"


It's getting a lot of praise as a good starting point for beginners. (BTW I wrote it)

Awesome! I would love if you added it :)


Done! Awesome to see an open source project to recommend resources. On a bigger scale there is the Odin Project to create an open source web development curriculum. It provides some of the "glue" to explain the connections between the technologies.


I think it's a great site. What I need is the "glue"(how all the different programs, set of instructions) fit together.

I realize most website developement is not programming; it's following a lot of directions. This is the reason I hated working with computers when I was younger. I just wasen't interested in learning a bunch of man made terms that seemed to change yearly. As older dude, I'm looking at it differently.

I still think there's got to be a better way of learning dynamic website developement? I do like the idea of condensed teaching--like cheat sheets.

Sometime ago I finished Codecademy's Web Fundamentals. I learned enough to understand what's going behind the scene but not enough to start hacking on my own. Since then I have started learning Python, also on Codecademy. There's Java for Android. And I would also like to learn C++/QML to hack my Arch Linux/KDE box.

Is it common for programmers to be proficient(reasonably well) and also be able to work on multiple projects requiring multiple languages at the same time? Or do most folks learn many things but tend to work with one language on one project.

Awesome! I'd be great if the title of each language was a link to the language's home page (if applicable) rather than having a <a>Home</a> in every box.

That is an EXCELLENT idea. If you can make the pull on github that would be even better!


Okay! Just give me a few minutes..

Edit: Done! @see https://github.com/JonHMChan/bento/pull/11

Cool. Thanks for putting this out there. I like it overall, but stepping through the beginner's sequence by highlighting different squares doesn't work great. Separate from the exhaustive glossary view, you could have "track" views where you could guide beginners through different paths, like an all JavaScript path that takes users from front-end stuff to Node to Heroku or whatever. Like Codecademy's tracks. Beginners love that stuff.

These kind of cheat sheets make order in my mind and motivate me to start doing something, or at least reinforce the thought that hopefully sooner or later I will!

In either case, thank you.

Great stuff :)

Shameless plug for more of the same: http://pineapple.io/tags/all

This is great! I thought Bentoboox was good but I feel like it s too narrowly focused on learned each exclusive technology. I love how you have guides and other resources that bridge the gap!

It is definitely meant to be narrow. I think that a lot of beginners are overwhelmed by how many resources there are for each piece (hence the <=3 links for each one).

I would love to put something in here for integration between each technology, though I'm struggling to figure out how...

How about a pane for "How to build a static HTML/CSS website" that hides all panes but prerequisites? Then maybe one on how to build a dynamic site (raw, no framework). Then to build an [x-framework] site. Then, the penultimate pane, "How to build a scalable web application with automated infrastructure (prereq: chef or puppet or whatev), advanced monitoring (prereq: Nagios, or whatever that CustomInk/Etsy toolset is called), test-driven development (prereq: Lang-appropriate testing libs), and continuous integration (prereq: Jenkins)"

Definitely agree with you about keeping clutter to a min due to overwhelming. This may be stretch but maybe just another pane appearing on the right third of the screen when you click a box labeled 'Connecting It All' and just providing links to other resources the demonstrate how to connect the technologies highlighted.

Oh I'll have to look into this.

Javascript based templating engines and the web don't necessarily mix. They are ideal for mobile, intranets or other known environments, but not something I'd use in this sort of environment. Right tool for the job. https://minus.com/ly4w7OtUMBvxX

The colors are off. Particularly the yellow. It is hard to read. The blue is nice, could be a shade darker. The last square position is empty. Why not put one there with links to your blog or whatever? Its prime real estate, because the reader will flow into it. Having a blank space there takes away from the design.

This. The boxes are bright, so you would want black text. In general, white text goes with muted backgrounds, black text on bright backgrounds. This hurt my eyes =\.

Also, the page starts with black text on white background and transitions to white on colored. I'd stick with one for consistency, in this case, black.

Here is what I mean, I just changed the box text color to black: http://i.imgur.com/ENnoGnv.png

That...looks good! I changed the text to be a dark gray. Should be updating soon :)

I would also use a better font. Droid sans would work nicely (its on google web fonts).

I like this, you should include Udacity for the Python section. They teach everything from Basic Python to web development to software testing and even debugging. Can't find better resource for Python than https://www.udacity.com

I was JUST about to do this. I love Udactiy's python course - since they take you through everything and even teach you to build a search engine on the way!

IMO clicking rails should show sass also. It shows less which can also be used with rails, but if I'm not mistaken sass is still the default. I'm sending you a pull request now. I didn't remove less, I figured you could consider that yourself, just added sass to rails.


Interesting, I do not see anything other than a link to github page. https://dl.dropboxusercontent.com/u/50999755/Screen%20Shot%2...

I get the same thing. It seems to be because "content.js" is lacking a comma in some of the elements making it invalid JSON.

I don't see nothing either. Site's broken I guess.

Since a portion of beginners are interested in employment, I wonder how much of this sheet needs to be 'filled in' to become employable at a minimum, junior position?

I've found that the threshold between beginner -> employable is really fuzzy and that's a bit frustrating.

Can you build stuff that is useful and useable? That's the line. Not how many boxes you can check off.

"Well, I wrote a python script for this thing once..."

These are still subjective qualifiers though. Useful for who? Useable by which audience? I can easily do both given no other constraints (especially ignoring time). Useful and usable, but never used because chances are someone's done it better and there's no reason to reinvent the wheel.

Other answers I've received have piled additional frameworks or languages on top of what I already know, or suggest specific projects that encompass a wide range of requirements.

I'm not seeing any content and the console gives me:

"ReferenceError: CONTENT is not defined"

hey Just pushed some laravel links to This project. . I'm actually wanting to start a dev boot camp her in Dayton that uses online learning resources to teach the fundamentals.. i.e why reinvent the wheel... with pair coding and real idea pitch sessions and learning while working on real startups that we may also help get some traction. ie Dev boot camp meets coworking space meets incubator/accelerator. this will be a great starting point for that... I learned a lot of my coding skills from code academy, team treehouse, and code school..and ruby koans..all are amazing resources.

Can I ask for an argument in support of Laravel being the only PHP framework on here? I think it's very "cool" (especially the Silex-esque routing), but there's not a whole lot of Laravel jobs out there.

I think that would make some mad in the php community.. though I'd love to see the whole lot of phpers get behind one framework like Ruby on rails or at least a couple like symfony(since laravel is built on components from symfony makes it important for the future of laravel), laravel, and possibly Zend...There should also be a cleansing old php versions and frameworks and spaghetti code since learning laravel I've become a much better coder and just love coding.. before it was a major headache that I put up with.

I found out about this cool site a few days before it was posted on HN.

Pats self on the back

D'oh! You missed out on incrementing your integer in a database!

Your integer has been incremented by one for this comment.

Really?? Where?

a mutual friend posted it on facebook!

oh awesome! I put it out there yesterday to see what might catch on :)

I can't say how many times I have been asked 'How can I start learning to build stuff for the web?' and wanted to give this as an answer. It's not perfect, but it's on GitHub!

Such a relief to see xml described as "An alternative to json".

Would like to see the Ruby micro-framework Sinatra on this list.

It's a great starting point for Ruby development and could be a good entry point into Rails, which can be intimidating for a beginner.

Seconding this. If I had started with Rails I might have been just turned off by all the Active* gems it seemed had to know.

Why is ColdFusion always the ugly red-headed stepchild? I realize that the amount of people using it in comparison to PHP is very low, but it still exists! Can we get some love?

What about C# and Java? These are widely popular with big companies with a lot of money.

I think adding a "tools" section would be a little helpful for beginners, like myself, to find out about. I use jsfiddle for online code edit a lot, and I prefer Sublime Text 2 on my Mac and Netbeans on my PC workstation.

I have no idea where to start with ColdFusion! If you have any suggestions, make a PR https://github.com/JonHMChan/bento/tree/gh-pages

This is great, thank you. Some links for Scala:

Documentation: http://www.scala-lang.org/ Twitter School for Scala: http://twitter.github.io/scala_school/ 99 problems in Scala: http://aperiodic.net/phil/scala/s-99/ Coursera with Martin Odersky: https://www.coursera.org/course/progfun

Don't know if anyone else noticed this but I see the page template briefly before the content is loaded in.

Can't say I've seen this for long enough to notice before.

"Java, a popular programming language." - that's basically best thing you can say about it, but it also deserves a caveat on how awesome the JVM is.

I don't see anything related to web development on this site. It's just an empty page with a header, About Me and Pull request. What's going on?

Periods. Overused. In marketing. So much. Appears normal.

Ha! I've always felt that way about exclamation marks in a lot of marketing copy. I can't help but think that the person that wrote it was coked up!! For some reason it annoys me :)

I feel like i have to read period-ridden marketing in a really dramatic way. In my head.

And if i'm not doing that, then i just have ideas. Separated.

iOS chrome: huge white popup with text "{{ boxes[more_index].name }}" Keeps reopening after I close it... will have to check it out on a comp.

Yep 'tis broken. I'm guessing site robustness isn't part of the cheat sheet.

No matter how many times 'tis deleted or hidden, syntax error does not equate to inadequate robustness. Syntax errors have nothing to do with unexpected variations in experience, and everything to do with coding errors.

How does a syntax error have anything to do with robustness? Now if you had mentioned something that made sense, like "testing" or "continuous integration", then only the "'tis" would be irritating.

Robustness - "the persistence of a system’s characteristic behavior under perturbations or unusual or conditions of uncertainty". Changes like Chrome versus IE; like 1 visitor versus 1000.


Good list indeed. But nothing about Play Framework?

If you're going to include Laravel, which is built entirely on top of Symfony, you may also want to include Symfony.

Why is there vim and not emacs? Emacs is far better suited for web development, especially with stuff like web-mode.

"SQL" is not a database.

You're right - should change it to query language.

You can make the change directly too if you spot others! https://github.com/JonHMChan/bento/tree/gh-pages

"SQL" is not a query language.

Are you being ironic or something? The very name SQL stands for Structured Query Language. https://en.wikipedia.org/wiki/SQL

Well, to all too many people I've encountered (who consider phrase "Are you using SQL or Oracle?" a sane question), it is, as "SQL" means "Microsoft SQL Server".

But that's clearly not what was intended here...

Nice page, Doesn't seem to be any rhyme or reason to the layout, which is strange.

Code snippets in the JSON tutorial are blocked by ad-block plus in Chrome

Lost all credibility (in my mind) when it pointed to w3schools

Removed them all (except sql...still need a good one).

Any suggestions? https://github.com/JonHMChan/bento/tree/gh-pages

nodeschool.io might be a nice addition to the node.js seciton.

Cool! I'll look into it. Also add it directly if you like :)


The site's broken.

I recommend to avoid that website. That's why: http://validator.w3.org/check?uri=http%3A%2F%2Fwww.bentobox....

If that is reason to avoid it, you should avoid this one too http://validator.w3.org/check?uri=http%3A%2F%2Fwww.google.co...

Good stuff! Commenting so I don't forget about it.

I would rather hide blocks instead of graying them out.

everything about web development... apart from the two of the biggest languages/platforms for web development.

And what are those two?

I was going to say PHP but then I saw it at the bottom. I am guessing they mean ASP/.net? I am not sure though, the list looks pretty complete to me.

Java and Microsoft .NET?

Java. If you did not write a EJB, a servlet ,used hibernate , and lost yourself with spring IOC, you are not a real developper ( sarcasm ).

Added it in! Need suggestions for links though :)


Awesome, nice design too. Thanks for this

Does the color coding indicate anything?

Green Yellow Red coloring never fails.

Well done. A very well executed idea.

Is it just me or is this site broken?

descriptions about why I would want to learn each one would be helpful.

Add 'donate' button!

Great work

I was hoping to see GO

I recently made this resource for a camp on learning Go with the end product being an http server. If it's helpful I can repurpose it for general use. It's a series of 2 quick tutorials currently, start here : https://github.com/rdallman/gofirst

Oh man, I totally missed this. Will add!

Django but no Drupal?

Groovy? Grails?



omg hi hoon

The thing I was most interested in was backbone, and it just links to the original site. I mean the colors are nice but this is pretty much useless.

I need suggestions for backbone! Any good links?


This is what I started with, but it's incomplete - http://backbonetutorials.com/

Love all these new technologies that are hardly proven in production and many have been proven to have fundamental design problems leading to security issues that cannot be engineered around without breaking the flexibility offered by the technology, such as PHP and Ruby.

JSON and XML are just data formats, there's nothing special to know about them other than that a lot of stupid enterprises decided that they are standard now so that's what you'll use. Considering that Javascript isn't even a defined standard (although ECMAScript is) , I find the idea of a standard based on it quite laughable.

This is more like a cheat sheet for farmland development, as requested by the landowner. Bring your own tools and teach yourself how to use them, just don't bring your own land unless you plan to forfeit it.

> Considering that Javascript isn't even a defined standard (although ECMAScript is)

ECMAScript isn't a different language than Javascript, its just the name on the standard for the language (IIRC, the name is because of the trademark Sun had -- and Oracle now has -- on "JavaScript" [1].)

[1] http://tsdr.uspto.gov/#caseNumber=75026640&caseType=SERIAL_N...

> ECMAScript isn't a different language than Javascript

That's not true, Javascript is what is implemented in various browsers under the standards those developers choose to implement. If ECMAScript was the same thing, then why would Mozilla bother licensing Javascript from Oracle?

Considering all these tools are just development platforms for THE WEB? Shouldn't you be learning how the Web works so you know what you're actually building? No mention anywhere here of ports, REST, SOAP, caching (like I dunno, nginx which is now on what? like 75% of internet facing web hosts?)

These so called technologies are shit, as proven in various papers on the subject. All you'll be doing is laying the groundwork for your enterprise to get hacked and taken over by large corporations using older, more secure and proven technologies.

> If ECMAScript was the same thing, then why would Mozilla bother licensing Javascript from Oracle?

Trademarks are basically labels; what Mozilla licensed from Oracle (actually, as I recall the history, what Netscape licensed from Sun and transferred to Mozilla) is the right to use the trademark "JavaScript". It has nothing to do with the actual language, just the label.

That's just more fuel for my argument. The fact is that the trademark is where the value is, there is no value in the Javascript language. Every other day there's another Javascript vulnerability because that is how it was designed.


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