skysight-inc/HackerNews huggingface dataset:
I think when arguing about XML, many people forget its relationship to SGML. Many of the drawbacks in XML are design decisions made in order to maintain backwards compatibility with SGML tools that were in use when XML was devised.

In order to simplify parsing (and in order to enable parsing a well formed document without knowing its DTD), XML threw out much of the syntactic sugar that SGML had to offer such as implicitly closed tags. I.e. Many people think that <tr><td>foo<td>bar... is invalid HTML because of missing </td>. In fact, it is perfectly valid because the HTML (SGML-)DTD specifies that a <td>-tag implicitly closes a preceding <td>. Most think it's a browser-hack. It is not.

What both XML (and SGML) add over S-EXPR is support for expressing grammers, a well-defined validation mechanism and quite good support for coping with different character encoding.
Highly recommended read. Pinker's book _The Blank Slate: The Modern Denial of Human Nature_ is one of the greatest books I've ever read. A brave, profound thinker and a wonderful writer.
> I have tried to teach myself but have had trouble doing so

Could you go into more detail about the problems you had?
100 million greenbacks for Stanford energy site
Hire a guru interested in teaching beginners and explain him your task. A teacher cannot read books and learn for you, but he could tell you what you are doing wrong when you're doing it.
General immunity only build up until about 20 years old (end of adolescence, basically), sorry, but can't remember the source. Afterwards, exposure to disease does not contribute anything to general immunity. Specific immunity to colds is impossible, as the virus mutates several times per year (you never get the same cold twice). Also, frequent colds tend to lower general immunity, opening the door for secondary infections.
Testes found to yield versatile stem cells
I'd sell it as some sort of library. You'll have to add a lot more features, bells and whistles to make it seem worthwhile. Here's a premium math library for .NET: www.dewresearch.com. We've also stumbled upon recommendation engine libraries for PHP or Java.

I'd be interested in speaking with you further about licensing your library. Email me at hanyangliu (gmail)
This has been known for a long time. Cellphone distraction has little to do with holding an object in one's hand. It is the brain-taxing effect of conversation, and the fact that the other participant is not in the car to sense danger and therefore know when to stop talking. From the article:

it is easy to equate talking to a friend on a cellphone with talking to a friend in the passenger seat. But a December report in The Journal of Experimental Psychology: Applied debunked that notion. Utah researchers put 96 drivers in a simulator, instructing them to drive several miles down the road and pull off at a rest stop. Sometimes the drivers were talking on a hands-free cell phone, and sometimes they were chatting with a friend in the next seat.

Nearly every driver with a passenger found the rest stop, in part because the passenger often acted as an extra set of eyes, alerting the driver to the approaching exit. But among those talking on the cellphone, half missed the exit.

“The paradox is that if the friend is sitting next to you, you drive safer,” Dr. Strayer said. “When you talk to that person on a cellphone, you’re much more likely to be involved in an accident.”
Just go to the App Store and buy a Binaural Beats app for a couple of bucks instead
Super E-Line Applications in Automotive Electronics
It made its way into the .NET space also many years ago. Working on a pretty big application now with a big team. We have two sets of Factories, with interfaces between them so that nobody ever sees an actual class. Egads!
being succinct is un-java
For the love of god, please don't start out with How To Design Programs.

Learn Scheme and Java. Use SICP for scheme, that will make you think like a programmer. Then you can learn Java using HeadFirst Java.

That way you'll have a "normal" language that a lot of colleges will use, as well as scheme... which is incredibly powerful and functional. Some colleges do tend to use scheme as well.

Where are you heading for college?
Ask HN:Want to Learn Objective C/Cocoa - No Previous Coding Knowledge
So i couldn't find a training institute in miles to learn Programing for OS X/Iphone. Have no previous experience in coding. Have only added bookmarks from previous HN discussions.oh by the way my first post here.:) and you guys are just great!
Note how you haven't used the keyword `this` inside the closure. What you've written is functionally equivalent to the technique I described, assigning the `this` object to a temporary variable. The only difference is that you bind it with a lambda instead of a `var`.
MYOB Indonesia Community - Soetan
i.e. to learn computer programming take long years
Give yourself a couple of small projects with a timeframe within 8 months (a game, software related to other hobbies, etc. ... something you can get passionate about). Split your time between learning the fundamentals and explicitly working on the project. It is my feeling that you will learn more if you are motivated to complete a project with explicit goals. Good luck. (btw, go with python)
Virtualization is sometimes considered important because it may provide OS features that certain operating systems have failed to provide in the past, e.g., separation of code/data areas, efficient utilization of resources, security, etc.

And you _can_ run multiple OSs on one physical machine.

See http://www.virtual-strategy.com/Features/Why-Virtualization-...

and use Google for more.

Honestly I would be happy to find an OS/hardware combination that did everything they _should_ do (short of an IBM mainframe). As it is, virtualization is a meta-OS layer that is just waiting to be hacked/cracked.
Ask YC: Greasemonkey script to hilight "friends" on News.YC
Ted says:

You can buy 4 pounds of standard issue table salt for $5.37 on the internet. Alternatively, I've seen 4 ounces of sea salt for sale for $2.39. That's a markup of roughly 712%.

Sea salt is 5 pounds for $3, here: http://www.herbco.com/c-184-salt.aspx
Thanks, best article I've read in a month.
I made a little greasemonkey script that hilights users that you specify, it's probably more useful if you download it and upload it to your own environment, then add the users you want to track.

It isn't anything major, just something I needed and thought you guys might appreciate it.
Today's Top Tech Articles
Given that the question reads "how to learn computer programming in 8 months?", I'd say there is no definite carved out approach to get there. Individual mileage might vary. However, as most other people have already suggested, "quickly building something" (preferably something that you care about) and trying to improve upon it will make you a decent programmer. In the process of trying to improve upon it, you would have hopefully figured out what is wrong with the existing program, quickly learn from it and come up with a better evolved program/product.
It is known that there was iron use at the time, but it is apparently referred-to as "iron use in the Bronze Age".

http://en.wikipedia.org/wiki/Iron_age#Iron_use_in_the_Bronze...
Thanks for taking the time to check it out, it is encouraging to see positive and constructive feedback.

I'll be sure to change the hmac to use a separator for the iv and ciphertext, that's a subtle vulnerability that you articulated well.

I think you are also correct about encrypting the iv being worthless. Thinking back to when I wrote this, I believe that I originally added the encryption for that purpose exactly, to prevent modification during transmission. I later added the hmac to prevent modification of the ciphertex, but I ended up adding the iv in there too. Thanks!
Frameworks can sometimes be annoying. It's like learning a new sub-language on top of the programming language as there is a certain amount of familiarity you need with a framework's calls (ex. to program in Python, it goes a lot faster if you know that it's len(list) not list.length() and similarly if you're using Rails it's important to know that there is no validates_is_number, but there is validates_numericality_of). So, you start learning all these things that may or may not apply to your project - the language of the framework. And in some places it slows you down and you feel like there's abstraction just for the sake of abstraction, but in the end I think it's worth it.

I also think Joel misses something: most programmers are bad programmers. They'll dig you into holes, write lots of spaghetti string code, etc. At least when they're using a framework there's some constraint on their madness. Frameworks (generally) make it a tad difficult to work outside of their constraints and so the default becomes to work in that standard way. So, you don't get people doing weird things as often - like building a string that is the page that they'll echo out like the piece of PHP I'm working on today does (guess they didn't realize that you could simply go out of PHP mode to do that).
Don't bother with this link if you are expecting any sort of analysis.

You could sum it up as "Notebook PC's are a good idea for the third world - better even that mobile phones". That's it - nothing more.
I am a cynic (who has completed a few P2V projects) and I would say that many if not most people don't understand that virtualization is just one possible technique for consolidation. Consolidation matters because what is constraining datacentres right now is power, cooling and floor loading. Computational power per kilowatt and per square foot are the new metrics that matter (you assume that everything is 42U tall and work in 2 dimensions). Serious datacentre operators have long been happy to pay a premium for density.
While I didn't vote for Obama, this seems like a good pick.
Exactly. This is why the article is such a bad analogy - frameworks makes things simpler by handling things you'd already do without them.

If you're making a spice rack:

Without framework: DIY shed filled with tools

Framework: IKEA
It will be. True. But I fail to see how sites like outside.in are helping.

My concern with what you guys do is that you've spent the last few years "indexing" everyone else's content...without hardly sending anyone to the original sites themselves.

I explained this to one of your biz-dev guys a few months back, so I see no need to do so here but I'll restate a few points.

I added my publication's RSS feed to outside.in several months ago. Since then, my biggest day of referrals from you guys has been 6 visitors/24 hours according to Google analytics. Big whoop.

Meanwhile, how many Google hits did you get from my content? From everyone else's content? Feel free to call me wrong with data, but I imagine Outside.in is an SEO machine and that Google accounts for most of your traffic.

How is this helping the publishers you "index"? It's been very, very clear from day one how it's helping outside.in.

Your business-development guy told me you're hatching partnerships with major newspapers to put "publisher" content on their sites. Will those links lead back to the original publishers? Or will they point back to the summary page on Outside.in?

There are now a handful of players doing this between you, Everyblock, YourStreet...even the Huffington Post with its local channels.

And not one of them sends any actual traffic back to the sites they index. Meanwhile their traffic numbers go up, up, up, the VC money rolls in, and the publishers themselves keep on spiraling down.

People rip on Digg all the time. But I tell you what, Digg actually sends bodies through the door. Same with reddit and other sites like this. Sure, they probably get a lot of Google hits that would otherwise go to the original sites, but they focus on sending people along to the original stories. They profit from the ecosystem of good content and then contribute back to help new sites sprout up.
of course it's flavored. fish piss in it...
The technology for monitoring homeworking will be a very big sector over the next five years, to root out the slackers.

You may be right, but the mindset of needing monitoring technology to root out the slackers in your workforce seems symptomatic of a larger problem of lacking meaningful metrics for whether actual productivity has occurred.
A bunch of HN folks have formed a SICP study group, if you choose this route: http://news.ycombinator.com/item?id=428248
Studies generally agree with that. See the book _Peopleware_ for much more in-depth investigation of these issues.
There is a 'Learn Series' from APRESS 'Learn C on the Mac', 'Learn Objective-C on the Mac', 'Learn Cocoa on the Mac', and finally 'Beginning iPhone Development: Exploring the iPhone SDK'. Apple also has very good documentation on their developers site.
Add Security to your PHP projects using .htaccess file
Add Security to your PHP projects using .htaccess file
Can I take a minute to talk about this blog post? It ended abruptly and the last two paragraphs read like he had envisioned a longer post but ran out of steam and/or things to say. Good overall theme, though.
The Top 25 Most Dangerous Programming Errors
> I think it's under the HR division.

Then Microsoft indeed doesn't get it.
Yep, they're nice.

One thing though, when there's direct light, what's written on the surface casts a shadow on the painted back-side. It looks a bit odd.

Also, the same effect results in a fuzzy picture when the glass board is used as a projector screen.

I'd love to experiment with back-lighting the glass board. If would eliminate the shadow-problem, and look pretty neat, I think.
I share your preference but I think as long as a significant number of people still buy the entire magazine or even a subscription to get the 'great stories', unbundling will only hurt publishers' profits.
At the risk of sounding like a jerk... Duh.
A friend convinced me to try AppFuse once. I have a burning, probably un-justified hatred of Eclipse, so I tried the AppFuse + NetBeans tutorial.

That may be the most unproductive I have felt in my entire life. I made a damn login form and it took like 12 pages of tutorial, tons of setup, generating a whole bunch of files that seemed like they could have been done algorithmically because they are always the same, editing like nine different XML files with little bits of glue, and eventually like one or maybe two lines of code.

Then, I got to wait for the WAR to compile each time I wanted to test a change, because the tutorial didn't seem to know about a developer mode which probably exists.

I hate to sound all ranty and partisan, but I could find no way in which that process could be efficient and couldn't imagine anyone doing it voluntarily unless they were ordered or just had no exposure to the rest of the world.

Also, I sort of object to having code stuffed in an eight-folder deep hierarchy where the preceding seven folders contain nothing at all. That's a lot of wasted navigation and clicking time and distraction.
Sibu.com - The Sea Buckthorn Company - Sibu Balance For Health
Sibu.com is the original manufacturer and retailer of all natural products from sea buckthorn. We offer Sibu Balance, nutritional supplements, hand and body cream, rosacea treatments, acne treatments, and beauty bars.
No serious chef would ever claim that sea salt has a discernible taste from regular salt; it's the texture that matters. I have certain dishes where I will only use sea salt and other dishes where it doesn't matter.

The iodine issue is true, although you would have to go out of your way to get iodine deficiency living in any 1st world country.
http-twiddle mode for Emacs is handy for tinkering with web-based XML stuff:

http://github.com/hassy/http-twiddle/
Disclaimer: I am not a teenager :-)

But it's not unusual for me to send a text to 30 people at a time, e.g.

3 Crowns at 8pm, see you there?

So the numbers are completely believable.
Well, not quite... that's a bad analogy too, actually... Rails isn't IKEA - and most java frameworks are definitely not IKEA.

Frameworks are tools, not end products.
Userfly: Capture and playback user interaction on your web site
I hallucinated after pulling two all-nighters in a row in college. I ended up being awake for three days and two nights and ended up seeing that the world was just _beautiful_. Spent hours in a park looking at blades of grass and then a long time examining the surface of an orange.
That's funny because the moment you put programmers in warehouse everyone of them puts on headphones - as such no communication is increased.
Financial Casualty: Why Adolf Merckle Killed Himself
Good thinking. I was attributing it to the Stephen Fry temper tantrum, but your suggestion is more logical.
some fast input device like a chorded keyboard, as stenographers have

Or this: http://www.handykey.com
We've had them in my previous company. How different are they from the regular whiteboards?

They probably look a lot cleaner than the white ones after years of usage. If the ink in the marker dries out, it is harder to read than it is to, from a whiteboard. Can't think of others for now.
There's most likely a developer mode, but that's only good for reloading a change to a Java class file. Reloading an xml file will still take a restart of the servlet container. I agree with you that there is basically nothing efficient about the entire process.
I guess I'm one of those bad programmers who does "weird things" , I often create a string with my entire page and then output it. I thought it made more sense since I now have a string that I can run regexes on or find/replace if necessary. Also it makes it easy if I decide I want to cache the page somewhere, I think I must be "dumb and gets things done."
Yep. Worse still, he's wrong even on that small point.

I'm working on Delay Tolerant Networking for mobile phones, mostly for deployment in isolated communities in the developed world. Mobile phones are everything OLPC strives to be, cheap, portable, power optimised, connected and hackable. Better still, they do all this now. They're already available in any country in the world, manufactured in extreme volume, we don't have to wait for some philanthropist's wet dream to bear fruit.

Any of the software I write could be trivially repurposed to suit the needs of the third world. Then people could get the benefit of access to modern information networks without necessarily having to have all the modern infrastructure in place first.
Dire Predictions: Tech Vendors That May Not Survive 2009
On a related note, I saw this on reddit this morning: http://ws.apache.org/xmlrpc/apidocs/org/apache/xmlrpc/server...

What's sad is that I have no idea if this is a joke or not.
I don't understand the mystique surrounding C. If you forget about pointers and structs for a minute and keep everything to one .c file and one .h file, there's nothing that would keep a beginner from learning the rest. Even though you can do complicated things with it, it's not that complicated of a language. Once a beginner learns to deal with "array index out of bounds" etc. they'll have a much easier time writing well-formed code in the future. C's role as an ancestor of (almost) all modern languages means that once you're familiar with it, new languages will be easier to pick up. Plus, the language has a great book: I'd tell a beginner to pick up Kernighan and Ritchie and read that.
That is a good recipe. Gee, wish I had that 10 years ago, ha!

I would suggest PHP for "scripting language" since syntax-wise it is similar to C, so if one is learning that, then PHP goes with it nicely. w3c.org has good tutorials on all kinds of web related stuff, HTML, XSL, etc., including a tutorial on PHP. Recommend K&R's "The C Programming Language". That is like my holy book of programming, or would be, were I religious, lol. Plenty of books on shell scripting at the local barnes and noble, but I would focus on general syntax, not specific operating systems, since those come and go.
Wow, spammers are getting ballsy these days.
Alex [...] was frustrated then that the reporter hadn't wanted to hear about anything except the carbon emissions caused by Google searches. Which, in typical reporter fashion, he then proceeded to present in the most simplistic and controversial way.

There are people who know how to talk to reporters. It is an established art that is taught to political activists. http://www.google.com/search?q=%22how+to+talk+to+reporters%2...

It is not necessarily the fault of reporters that their published articles are predictably sensationalist. They are controlled, and edited, by editors. Editors are, in turn, controlled by distributions of media-consumers. Consumers control editors control reporters.
I don't use the keyword this inside the closure, but inside the function dosomething() I can happily use "this".
I'm confused.

If you install solar panels, which generate electricity, surely you don't need to spend so much buying electricity?
I worked in a Web agency a few months ago and it was an open-plan office, with many 4-places tables. There was a table for the designers, another for the devs, etc. There is a high staff turnover in this company.
I did not realize it until i came accross this article, but the open-plan architecture of the office may be a big reason why i left this company. I was not comfortable with all the noises. Now i work in my apartment and i'm happy with that.
The Best Environment for Rails on Windows
Find out how to best develop Rails on Windows environments
This is just a repeat of
http://news.ycombinator.com/item?id=430577
only now it's the BBC writing about it, rather than the original page.

I wonder if someone at the BBC monitors HN - it's not the first time a link has appeared here, only to be followed promptly by an article on the BBC web site.

Nah, probably not.
If you install solar panels [...] you don't need to spend so much buying electricity

Does it cost nothing to install solar panels?
Stanford Launches Green Institute
Why must you learn in these 8 months? Yes I agree you should get a head start but you've got your college career to become good at it, meet smart people that will guide you and meet peers willing to help you learn.

I was very much in your shoes when I finished high school. AT the time I was much more involved in hardware/circuits and had only taken one java class. When I go to college, aside from my CS-based curriculum I tinkered with web development on the side and 4ish years later I'm working at my own startup doing ruby (and still learning). Best of luck!
I've seen good frameworks (OWL, Nitrogen + Powerplant, maybe 1 or 2 more), and I've seen a crap-ton of bad frameworks (any web framework on java, minus maybe WebObjects).

They're necessary, but they're hard to do right. The man who did Powerplant said he went through about a dozen different designs before getting one he liked. That's why it was often so useful. Most times, people say "hey, let's take these APIs and let people subclass! yay!"

And that's how you end up with crap like doGet(), doPost(), etc.
Lisper's know that XML has a fairly complex model behind it. That's part of the argument against XML because the complexity doesn't seem to buy much.
Hold those robo calls: Tips on how to stop those unwanted calls
If it's a web-based startup you want to do, then you should just decide on a language. Then, start cranking out prototypes of your first system.

Start with simpler languages, start with 3-page (i.e. demo1.html, demo2.html, demo3.html) prototypes.

Probably the best way to decide is to hit the bookstore. Get a list of potential languages, and check out the books available. The one that's the easiest to read & follow, use. Then maybe get another book or two on the same language, to help get past rough spots.

If you're into a framework (e.g. Rails), start with the language first. Do the framework second, unless there's a book that teaches you both.
Browser bug could allow phishing without e-mail
The 2009 Technology of the Year Awards