skysight-inc/HackerNews huggingface dataset:
"people don't use Rails because they want to use Rails, people use it because they're afraid of anything else"

Nonsense. Almost doesn't deserve a response, but...people use Rails because they agree with many of the choices made by the framework. Where they don't agree, and are willing to absorb the cost to maintainability, they override the framework.
Re: Template-Haskell - sadly not enough. I have used it to generate N-tuple-generalizations of functions in toys. I simply don't get enough time to hack around in Haskell. As far as being primitive, I guess you would have to compare that to the drudgery of emitting all the automatically generated code produced by macro expansions by hand. Yes, in Haskell TH is relatively infrequently used.

In no way am I trivializing the complexity of what would be involved in bringing a useful macro system to Scala, but compiler plugins for Scala are filling this role today, a good macro system could make meta programming more accessible. Already there are plugins for SBT to invoke FreeMarker on Scala-program templates to generate code, clearly a poor-man's solution, but it simply is more evidence that a macro-system would and would be put to good use were one available.

Taking Racket as an example, a good macro system would enable many kinds of experimentation in the Scala language without having to extend the core directly. In Typed Racket Hindley-Milner type-inference was added on-top of a dynamically typed-core, and Typed Racket targets Haskell-level (or better) typing infrastructure. All this enabled essentially due to support of Macros.

RE: Cutting edge - And Haskell isn't? While there are a number of language features where Scala may in fact outshine Haskell, I would hardly place Haskell in the old and well-trodden place on the programming language landscape. It is still evolving rapidly, and without the need to conform to any particular run-time-system (e.g. the JVM) the researchers working on Haskell are able to practically make the language warp space-time.
Just because of the "remix" feature and the community behind it. Hasn't been done before afaik. Kinda neat.
Wow. This one is tough. I have to admit I'm not very strong on the SEO stuff. There are people who work on this professionally and end up having to learn everything all over again whenever "they" change the rules.

This may not be helpful, but the thing I hear the most when it comes to increasing Page Rank is to produce quality content. All things will start and end here. My favorite walkthrough site before they sold out was gamefaqs.com. They had a REALLY simple layout which was well organized, directed you to the needed info and was easy to consume. They cared about having high quality content with information (like size, number of views, etc) that helped a visitor to decide what was important to look at. I wouldn't worry too much about the design at this point. (Besides, teens are the most discerning audience, either.) Content is key.

As far as monetizing a site like this, I'd say advertisement is your best bet, but I'm certain there are clever business models a diligent business-minded person could figure out and test. One thing I'd consider (and partly answer your first point as well) is that your actions don't have to DIRECTLY result in higher revenue. You might, instead, focus on growing your traffic and stickiness on the site. As many social-media gurus will attest, attention is the currency of the internet. With attention, revenue will likely follow.
It goes past even that-- how many devs today do you figure see Rails as a black box?
I just picked up rails for the first time this month. My background is primarily in the desktop environment, but using rails 3 has been nothing but a joy so far. Glad I didn't take this guy's advice.
> Node.js’s concurrency mechanisms are simply an approximation of Erlang’s.

Lulz? Here's a much simpler explanation: it's a polling server. It's not an intentional approximation of this or that (Erlang), this is just how event loops using select\poll\epoll\kqueue have always worked. Unless you want to do a bunch of extra work and throw in per-core preforking\threading and scrap the libev dependency Node built upon.
> how many successful companies have started with Rails only to end up with a patchwork of Java, Scala, C++, etc. after lots of downtime and growing pains.

So how many? I've hardly heard of this as the 'norm' for growing companies on rails... ? This sounds like 'Does Rails Scale' FUD.

Getting your app into production is not a pain point at all, services like heroku, or engineyard have made this as simple as 'git push'. Which nirvana of release management are you coming from where this is a 'pain point' ?
Free idea for YC W12: RescueTime Introductions Manipulatr.ly
Extend he TrackMeNot to generate a fictitious browsing history modelled after the employee an HR department thinks it wants.
Dating: Professor Holiday - Free Online Games
Thanks, Will add you
Software Coupon Code, Downloads and Reviews
The Return of the Phantom Time Menace
Typed Racket is a marvelous wonder. Sadly, it is simply not appreciated enough for what it is: an utter triumph of Lisp over all challengers. ;-)
Interest HN: Send your fave clothing in and we'll add your startup's logo
Our startup, UpOut, is a small operation but we want to wear our logo proud! We hate crappy t-shirts and bulk ordering... so we talked to a few friends who run their own screen print shop and said they can do a custom print for around $14-$20 per article (min 10 articles). Anyone interested? If so, I'll make the site for it and start taking orders.
Mozilla proposes new Home tab page for Firefox
Accounting tap-dancing. It still nets to zero income unless the contingency is lifted.
While maven is very powerful, the minimalist in me wants to see something far more simple and still just as functional. If they can achieve that, I think it would be great.

Maven is just too much, IMO.
What is new in FIrefox 6
Anonymous Discusses Upcoming Malaysia Op, Talks About Security
Oh very cool -- I wrote some super basic stuff for this, but it didn't work well at all, and I never had any time to improve it. Is your stuff merged into the qdot branch yet? If not, you should definitely send a pull request, as I think it'd work well with what he's been working on.
http://en.wikipedia.org/wiki/Tor_(anonymity_network)

"Originally sponsored by the US Naval Research Laboratory"

They also operate proxies for China.

They clearly care.
When I developed the application for my talk on non-Java development for Android [1], I found that Scala performed as quickly as plain Java. However, it does use a bit more heap.

[1]: http://www.deepbluelambda.org/events/live/decaffeinated-robo...
Invent!? Who said anything about inventing? It says file. Inventing is what the suckers who have to pay me do.
That's cool! I was doing something like that at KnowNow in 2000 and 2001 (eventually open-sourced as mod_pubsub), but it never took off.

I agree that JS-on-server is a nicer way to share code than compiling other languages into JS.
The guy needs to take a step back and look at the bigger picture and pick-up some fundamental skills before diving into the objective-C "toolbox."

That said, he does have a point about the "shield of complexity". Although I don't think it applies to C, it does very much apply to many of the things we use. In particular, I feel the same way about CSS layout that he feels about C-- far too much complexity for something that should be straightforward and crystal clear.
Yes, you can make a business out of it. Whether or not its worth pursuing, that's totally up to you.
How I Taught Third Graders Binary Numbers
wow this is what reversing entropy would be like if it were possible - I'd love to have a rl undo button :)
> Seems like you write a few little functions...

Seriously? A very common problem in web apps is validation logic is usually duplicated in JS and Server side language.

Node allows the same logic to be used in both cases. These are not a 'few little functions'. Validation is a central part of most business applications.

Given the potential to template html with javascript, and to code exclusively in javascript. You could end up with webapps written entirely in one language.

Whether that is a good thing or not remains to be seen, but it is something that we should pay attention to.
The myth that engineers lose their game when they get older always seemed a little off to me. It usually gets clumped in with all the software jobs are going to go to China. I have met a lot of very bad developers that were older as well as very good ones. The same goes for young developers.
Flowchart: Using "That's What She Said"
If reports around here are any indication, though, a $150 Nokia phone will work better (e.g., better sound quality) for making phone calls than an iPhone.
Thanks! I hadn't seen that site, appreciate the pointer.

One challenge I'm seeing is making it easy enough to contribute yet organized enough to be meaningful. At the bare, bare mimimum I'm finding it useful to collect my own thoughts so I've enjoyed that aspect thus far :).
What do you think of my concern of it "scattering the transition logic" across the classes? Each class becomes a production, and only it knows which classes can come next. It's hard to get an overall grasp of how the state machine works, because you have to inspect all the classes to know the transitions.

This is a significant concern for me when reading others' code: the individual parts might be easy to understand, but there is usually no documentation of the overall design, of how the parts operate together. And there is no code that ties together all the parts - so you are forced to inspect all the local details in order to get a global overall view.

There are many ways to evaluate a program - how efficient it is, how many features it has, how complete it is, whether it is consistent, whether it is correct, how easy it is to prove things about... but I think how much work it is to understand is one of the most important - and usually neglected. For a complex program, having some way to quickly grasp the overall design is key to this, IMHO.
My first Flask extension: Flask-Bcrypt
A few years, I don't know :-) Why don't you start with 3 months first? I've been traveling/living/working in Asia for 4 months now, Indonesia, Philippines and Vietnam. I'm currently in Hanoi, Vietnam where cost of living is very low (you can totally live under $1000/month here with a good apartment).

Considering your additional requirements: dive, surf I would make sure to check out Bali/Philippines. I've heard Cebu in Philippines is quite a dynamic city with beautiful beaches nearby. I wouldn't recommend Manila or Jakarta or even Bangkok if you are not into the giant sprawling metropolis kind of city.

I've also been in South America/Mexico, Brazil/Mexico/few countries in Central America are great for surfing. I haven't been in Colombia so can't tell you about it. Buenos Aires is my preferred city in Latin America: a very European feel, big without being a mess like Sao Paulo or Mexico City, quite cheap, great food (their meat is fantastic), lots of music, culture, bookstores everywhere, friendly people who like to party, etc. The north of the country is gorgeous (Salta, Humahuaca). But yeah, it's a bit far from the ocean :-)
To reiterate a point implied by other commenters: macro-expansion is a compile-time operation. If the language utilizes a typing system to help promote sound programming then the results of the expansion will be compiled in the context of type constraints - the expansion is either sound or unsound w.r.t. such constraints.

To some extent there is a continuing popular schism with the idea that "strongly typed" must be synonymous with the lack of "eval", which, at least in principle, cannot be true. In fact, StandardML does have the ability to extend the environment of a program at run-time (as well as Typed Racket). All the necessary typing and meta-data is retained at run-time so that newly evaluated code is checked for type-consistency just like when the "main code" was compiled. So, not only can one expand macros at compile time and verify that the expansions are sound, one can also do the same at run-time.
This echos my experiences exactly. I've found little value in state machines as a frequently used pattern. Abuses abound and I've also ran into the multi-page-html-form-as-a-state-machine anti-pattern. It's horrid and should not be done.
Funny you mention that, one of my taglines in progress was "turning huh into aha!". But seeing why a bad example is false can be useful too.
Weird, that's one of the most insightful comment here. Why would it be killed?
No iOS 5 For iPhone 3GS
Another news related to technology hit the web, that really shocked everyone.
Since the early days of node there has been a proposal to dispatch tasks via the WebWorker API, with a callback - as is currently done for calls to OS subsystems. Sounds like that would be a great way of dispatching CPU intensive tasks without breaking the semantics of Node. What happened to this?
18.5%? I live here in CA and have always done 15 but feel recently being forced into 20... but I could never calculate 18.5% in my head =)
Pinguino: an alternative to the Arduino, based on a PIC
Samsung Galaxy S VS Motorola Atrix
If your are looking forward to buy a new phone and bit confused so this post of mine will definitely provide you
iTunes is hacked and Apple appears to know about it
You're arguing semantics: about words, not meaning. My point wasn't that this isn't interesting, but that the jargon you are using (and that book is using, for that matter) is revisionist and confusing. That's just not what "concurrency" means to most working programmers, who have used it for decades to talk about (ahem) "systemy stuff".

Rewriting language via blog posts doesn't work (c.f. "hacker"). Doing so as a way to, frankly, cover up a huge design flaw in your favorite library just seems dumb to me.
I really needed to read this. Thank you.
The Obama Digital Team is Hiring
If an established restaurant sees any sense in offering a 60% discount, it's probably already fucked. You said that the restaurant looked dirty and uninviting from the outside. That would be fine if it was part of a successful restaurant's branding, but clearly they're not successful, otherwise they wouldn't be offering a 60% discount.

Groupon is for the most part the small business equivalent of Pets.com losing a buck on every sale and making it up on volume. Anyone who has been in the business for more than five minutes knows that voucher customers convert very poorly to regulars. Given the size of the discount and Groupon's cut, there's no way that this restaurant could be profitably converting, particularly if they're making no effort at all to do so.

Badly run businesses are badly run; Film at eleven.
Yes, there are several reasons not to use Clojure on Dalvik, but this is absurd.
This article reeks of speculation...
For those that care, Tower Bridge back online and tweeting at http://twitter.com/#!/twrbrdg_itself
lol this is just some pay your dues nonsense. "You will love rails if you begin at the start like we all did"

http://pine.fm/LearnToProgram/ (probably not relevant for HN)
http://ruby.railstutorial.org/ruby-on-rails-tutorial-book
http://devcenter.heroku.com/articles/quickstart
Case in point: Doom 3 vs Half Life 2.
Yeah, just saw that, and can't edit...
Look out behind you! It's a Creeper!
I hope so too, for those times that I cannot avoid Java -- although, following Avery's blog posts and programming style, I would assume that Java is not one of his favourite languages.
Street wear
http://www.attitudeinc.co.uk/ - Attitude Inc specializes in street wear and high-end designer clothing. Purchase Adidas Originals, Nike 6.0, Stussy, Carhartt, Obey, Vans, Skullcandy plus many more."
5 Most Inspiring Tools Based On Google Images
Erlang, and other similar efforts like Haskell's forkIO and Python's eventlet/gevent, are also built upon the same fundamentals as libev (and some actually just use libev). But using libev in the way that Node.js does boils down to user-space threads with cooperative scheduling (you yield control every time you make a blocking I/O call). The abstractions that Erlang/Haskell/Python provide let you program in the familiar synchronous, threaded style while retaining the performance advantages of an explicit (e)polling server.

Ted Dziuba explained this well for Python http://teddziuba.com/2010/02/eventlet-asynchronous-io-for-g....
jQuery Credit Card Form Plugin/Extension
Cool. Make it clearer that people can hire you, and what for.
When is the right time to introduce high availability for web site?
How are you able to work 30 hours a week? Are you lucky to be in some kind of management position, or do you have some valuable skill that could be productised?

As for motivation ... it's like a muscle. You can't lift 150 pounds if you've been lying in bed all day for a year. Don't expect to work a 12 hour day, either. Just get better.
You could argue that this is very off topic for HN, and you'd probably be right, but on the other hand Obama's 2008 campaign was very entrepreneurial in many ways, and turned out to be a great launching pad for some of the folks that worked on it.

From the campaign's letter:

We need your help recruiting the folks that will wage the most innovative and effective digital campaign in history, a team that will not just surpass but demolish our fundraising, communications, and organizing goals.

That kind of work takes a lot of people -- and not just people with political experience. If we're going to transform the way campaigns are run and use every possible channel to help elect President Obama to a new term, we need fresh ideas and new talent from creative agencies, non-profits, media companies, tech startups, and anywhere else that employs people with drive, skill, and a desire to serve.

So here's the deal: We need people from around the country to join us full-time in our headquarters in Chicago, starting ASAP and committing through November 2012 for this once-in-a-lifetime chance to use their skills to make a real difference.

It won't pay very well. The hours are terrible. But it will be the most extraordinary, exhausting and fulfilling professional experience you or someone you know will ever have.

That last part definitely sounds a lot like a startup!
A quote from this really stuck out for me:

"So, senior coders earn their higher reputation by providing more answers, not by having answers of (significantly) higher quality."

A lot of people here are focused on "being smarter" or "doing a better job" or "higher quality"

Excluding all of the self-taught developers, and limiting ourselves only to people who follow the standard "get a 4-year college degree then go out in the real world and work" crowd, as that's pretty sizable. Make extrapolations as necessary.

Remember your first year (or two?) of development? Looking back, you were probably way in over your head, had mentors looking after you, making tons of mistakes etc.

Fast forward 5 years. Can you write code faster? Probably not. Can you write better code? Sometimes. It's all about experiences and learning from them. When you take a new job, or a new project, or a new anything, you call upon past experiences to guide the efforts of this process. It might be something as vague as "I am going to write tests first because I found it helped me earlier", or (ignoring TDD), "I'm not going to write this function like this, because I know the code will be hard to test when I get around to writing a test for it later"

You learn this all from experience. Senior people who have been in the field longer have more experience. They aren't "better" in the sense that they are smarter or have more intelligence, they just know MORE because they've been exposed to more.

It's also why so many people (especially in hacker news) have been successful without degrees. It's not a degree that matters it's EXPERIENCE.

It might be a fine line differentiating between smartness gained from pure intelligence and "smartness" gained via experience, but I think it's an important distinction, and one that I think this post highlights well.
There was another golden boy, it was called Merb. Then their team joined Rails and started refactoring things…

Members of the Rails core team recognize that growth has limits. They are looking for ways to reduce the stack to improve the design and make things more performant. See Aaron Patterson's RailsConf 2011 keynote.
It is part of their (Apple's) ecosystem, so it really is just sales and general admin. expenses at this point.
Find other people's projects and/or ventures that you genuinely believe in and can honestly contribute and commit to. Then get stuck in. By doing this, you will build up your skills and more importantly build up your work habits.
Facebook Considering a $100 Billion IPO in Early 2012
I think such engaging and visual teaching methods are far more etching on the mind. Great post.
This announcement seems likely to make RescueTime's individual offering seem radioactive. They must be doing well with Team Edition.
Not large and not Node.
Serious question, then: do you think that a place in line is a fungible commodity that can be traded?

These queues exist because Apple decides to avoid introducing new devices at their true market value (say, at a 20% or 50% markup over their long-term price) and sell them to people willing to pay this exorbitant amount; it's a similar logic to lining up for a concert. I've heard it argued that this kind of pricing for scarce products would damage the brand (e.g. no-one wants to hear about $500 tickets for a concert, and wants a mix of customers rather than the perception that everyone at concert X or buying product Y are rich douchebags).

The promoters, or Apple, or whoever, are leaving some money on the table in order to spread early access to the product to people who are enthusiasts, not necessarily those who want to spend the most money.

What you've decided to do is to try to take this money off the table yourself, in ignorance of the social conventions that you're violating.

I wish your business a slow death, but a speedy journey to hell!
The CAPM tells you how "risky" a company is depending on its historical market returns; E.g. A manufacturing company is likely more risky than a retailer because the former's previous market returns vary more than the latter's.
If you knew C really well, and someone said "Hey, you can be more efficient building a website in C#/ASP.NET", would you have that hard a time believing them?

I wouldn't. But if they said that I could write systems code better with Objective-C I'd say prove it.

Unfortunately whenever I see RoR people talk about ROR vs anything else, including ASP.NET MVC, they talk in broad strokes with statements like, "Obviously dynamic languages are far more productive than static ones." Or "People who program in Ruby are much better developers -- which is obvious to prove, because they program in Ruby."
I would bet more SQL injections occur due to lazyness than inexperience.
.NET in both places, actually, and start-up dev in SV (which I suspect makes a cost-of-living similiar pay to myself)
Beautiful Dull and Dreary Wallpapers, Natural images,photos
To get download dull and dreary picture individually right click on the image and select "Save Link As..." or "Save target As .. "