skysight-inc/HackerNews huggingface dataset:
That is an awesome idea. For me, the power of BDD (it's really still just TDD but let's not open that can of worms further...) is in the process.

I'm not a fan of RSpec; however, I also find Steak just a little too minimalist for me.

Occasionally, I want very badly to be able to render my Scenarios to plain text for communication with customers and other developers. I need the individual steps for that as well.

Where the example here maintains the steps (eg., Given, when, and then) as comments, I prefer them in the code.

So I wrote Coulda (http://coulda.tiggerpalace.com/) a bit over a year ago. Yes, it uses Test::Unit. While I am in the minority, I still prefer Test::Unit. It scales well.

When I say that, I mean in the sense that I can write almost any test using just "assert" and then add an error message for when the assert fails. I don't limit myself to using solely "assert"; however, when I'm not sure how to write an assertion, and neither shoulda nor Test::Unit gives it to me, it's easy to build it using "assert" and then wrapping it in a method (making it a helper).

And I still find Test::Unit code readable enough. Maybe that's just a matter of taste.

Dare I add: RSpec, although cleaner with the release of RSpec 2.0, is still a very complicated swiss army knife. Miniunit, included in Ruby 1.9.1 but also available as a gem for older Ruby installs, is the basis for Test::Unit as Ruby moves forward. That is, Test::Unit inherits from Miniunit in Ruby 1.9.

And Miniunit is far far simpler than RSpec.

Update: I'll consider rolling a screencast of how I TDD w/ Coulda as a basis for comparison.
Arrington interviews Google's Mayer at LeWeb'10
I guess it's same question as "How can I learn to play guitar?"
That depends on whether you consider freedom in itself to be a quality or not, and if you do, how much weight you give to the freedom quality.

Then, the question is whether a certain proprietary software as enough other qualities to make up for the missing quality of freedom.

Also, freedom is not a pure ethical quality. It means greater independence as well as freedom of action, which both can be very valuable (in dollars), for companies even more then for single users.
Absolutely, I can't talk too much about what we actually benchmark, but real world applications are always used for benchmarking a compiler. Especially if it's a JIT compiler. Though it is in a repeatable environment with scripts and such to minimize variation and allow us to measure more accurately.
A game publisher would consider this to be playing hardball and move on. Work-for-hire gamedev is a really bad business.
Correct on all counts.
The future of all business models is subscriptions
I think it is supposed to mean a cell in which the amino acids have D chirality (as opposed to the more common L amino acids); the fully 'mirrored' cell the link is suggesting doesn't seem fully thought out.
When Computers Go Wrong
EXACTLY!!!!!!!
It isn't irrelevant if you're a proponent of open source (but not necessarily free) software, and want to argue its main advantage is better software through collaboration. That argument is challenged by the large amount of "irrelevant" and inferior open source software, because it suggests that better quality software isn't always a consequence of going open source.

Free software advocates don't have to fight that particular battle, since software freedom for them is the end, and not a means.
I can't recommend H. W. B. Joseph's _An Introduction to Logic_ highly enough. Once you master basic logic, Fred Sommers' Term Functor Logic is exceptionally helpful. http://www.ontology.co/sommersf.htm
Yeah, my kids and I doted on Avatar. I just rewatched the whole series straight through on Netflix a couple of weeks ago. Definitely thumbs up.

Johnny Test ain't half bad, either, in terms of shorter stuff, and there are plenty of others. It's not all Pikachu. GP, you're not watching the right channels.
IntoVPS (http://intovps.com)
Even if predators can't metabolize the mirror molecules, they can still eat them (possibly dying afterwards). So you'd need to release the mirror algae(
?) in very large quantities for them to overcome the predatory pressures in their environment.

It also means that by killing predators (zoo-plankton), mirror algae are creating a niche for standard algae too. So you could end up with a soup of R and L life, but diminished predatory activity.
Games are appealing to about the widest possible audience. Everybody likes playing games, not everybody is productive in the same way, or works in the same way, etc.
And nested ), ), and ) are easier to pick apart visually?

You don't have to pick them out in CL, just balance them. Much easier (IMO).
Well, he did say "exciting!"
http://projecteuler.net/

If you don't understand how to solve a problem, there's always Google to "cheat". The discussions are pretty often very enlightening, and have some wild solutions.

In more abstract means... number theory is handy, and I don't know what else you'd be interested in, the question is fairly vague. Read lots of puzzle books?
Nuclear Facilities
I don't like offsets because I don't they are that straightforward. First, the offset is useless without the base pointer. So that either needs to be global or you need to store that too (and now you have fat pointers). But the base can change, so you really need to store a reference to it. yuck.

And you still can't delete anything when using offsets. Forgetting about random deletions (which are important) an array works for a stack, but not a fifo, and fifos are at least as common.
You make a great point, but it's also somewhat disingenuous ;)

It takes some time to learn how to use a platform.

It takes some time to code on a platform.

The actual writing of code is easiest when you are doing small applications. However, when you are writing larger applications the coding becomes the larger portion of time.

Today it's easier to learn Twilio than Tropo - largely because Tropo needs better documentation (that's coming very soon). However, I will contend that once you know the platform, Tropo is easier - and much more powerful.

I think that's what others are saying in this thread. We've also heard that from customers who have switched from Twilio to Tropo.

None of this should be surprising to anyone. Voxeo has been doing developer-centric telephony for ten years. Voxeo knows all the little problems and challenges that can come up over time and we've built a platform to address them.

Twilio is new to the industry, they came at things with a fresh set of eyes and were able to "re-factor" the simplicity and usability yet again with that fresh perspective.

I say "re-factor" because it's exactly what we did at Voxeo when we started in 1999. The experience reminds me of Battlestar Galactica: All this has happened before, and all this will happen again.
Here's what different sorting algorithms sound like - http://www.youtube.com/watch?v=t8g-iYGHpEA

Bubble sort takes the most time. :)
Yes, and that just reinforces what I said. Free software done by pros is, mostly, done to professional standards, that done by amateurs is mostly done to amateurish standards.
But really, just how much of organisms constitutes molecules that can be mirrored? And whether or not a lion's stomach can actually extract nutrients from a dead mirror gazelle, the mirror gazelle is still very dead. Even if it wasn't ripped apart, stomach acid is unconcerned with what 'handed-ness' a molecule is.
But "Free Software" doesn't liberate you as much as "Open Source Software" - with BSD licensed "open source" projects, I can literally do whatever I want with the code.

With GPL licensed "free software" projects, I am not allowed to distribute in certain ways, locked out of packaging with certain other licensed code in certain ways.

>> Seriously, it's not the software that's free (as in libre), it's you

Except that it's the exact opposite
The Twain quote is the best in my opinion... those of us who are passionate about learning will remove ourselves from the systems that impede us, or at least endeavor to minimize their impact on our lives. School, at least in its current implementation, is a supremely flawed model for many of the reasons discussed in this thread and elsewhere. The solution is not to just do away with it though - while for some of us this would be liberating, for a far greater number of people it would be harmful. Anarchy, be it political, economic, or educational, rarely generates cut and dry improvement.

As someone who has many issues with education, and has felt openly hostile toward it previously, for me adopting a relaxed attitude about it was the most important step. I realized I could go to classes, engage with professors and other students, and do reasonably well in terms of marks without allowing grades or assignments to impact my external intellectual curiosity. I've been much happier, and much more productive both inside and outside of school, since I let go of the frustration with "the system" and put the focus on myself.
Aldo Cortesi has some striking images going on here
http://corte.si/posts/code/sortvis-fruitsalad/index.html
and here
http://sortvis.org/

He explains his anti-animation rationale here: http://corte.si/posts/code/visualisingsorting/index.html
C-Phrase: A natural language interface to databases under BSD
Dear All,

there is a chance that some of you may remember me from before: http://news.ycombinator.com/item?id=275973

It's a long story, but the short of it is that circumstances forced me to follow option #2. I have open sourced the system. It's under BSD and in LISP.

To refresh your memory:

http://www.youtube.com/watch?v=fWio8bHq4wQ

I have not been so involved in c-phrase lately, but that is about to change in the new year -- I will have a reduced teaching commitment. :-)

Any ways I revised the installation guide recently and was wondering if any one could verify that they are able to install the system. Any questions or feedback on the system/code/design would be greatly appreciated.

Regards,

Michael Minock
http://www.cs.umu.se/~mjm
Microsoft Seeks 1-Click(er) Patent
This is really important. Law firms, once on retainer (or even in-rolodex) constantly search for way to create billable hours. If you don't watch your lawyers very carefully, its not altogether unlikely that you'll get a big 'ol surprise bill for work that you not only didn't authorize, but also made you look like a total dick to your fans and customers.

Caveat emptor: watch your lawyers.
Please don't use this version of the effect. I've seen in on a couple of websites, and it seriously pains me to see it.

Because the "page" doesn't actually "curl", it looks more like background has been pushed down in places.
Another approach for visualizing sorting algorithms is http://sortvis.org/
How to set up Apache on Windows
I just quit my job over a similar issue. I was doing tech support and repair work but the bosses insisted on having all of us do everything with no division of responsibility. So out of a 9 hour day of constant interruption answering the phone and front desk, I got maybe 1 or 2 hours of repair work done.

I finally realized that I can make more money freelancing on my own, since they charged $99/hr but only paid $15/hr. The levels of inefficiency at that job were staggering, and I muddled through for 3 years.

Now I am living the dream coding on my own and don't look back. The funny thing is, based on my pay stubs and commission, I know I was making them on the order of $100,000 per year. They only acted like they wanted me around...the day I gave notice.

If your employer doesn't understand these concepts, then you may have to think about finding other work with people who are more at your level. You won't regret it.
Recently it was proven possible to construct an organism through synthetic processes. This is still limited to very close copies of the real things, but could be adapted to produce reverse chiral molecules.

http://www.jcvi.org/cms/press/press-releases/full-text/artic...

Edit: Although, the added difficulty would be the need to reconstruct a cell completely out of mirror molecules for it to work. In the case above, the genome was injected into an existing cell and left to replicate. So it's not quite a trivial thing to do.
Uh?? I thought they gave you a sample chapter so that you can see if the book interests you, not so that you'll feel obliged to buy the whole book to return this "favor".
Dear All,

there is a chance that some of you may remember me from before:
http://news.ycombinator.com/item?id=275973

It's a long story, but the short of it is that circumstances forced me to follow option #2. I have open sourced the system. It's under BSD and in LISP.

I have not been so involved in c-phrase lately, but that is about to change in the new year -- I will have a reduced teaching commitment. :-)

Any ways I revised the installation guide recently and was wondering if any one could verify that they are able to install the system. Any questions or feedback on the system/code/design would be greatly appreciated.

Regards,

Michael Minock
http://www.cs.umu.se/~mjm
If there are similar products to yours out there, base your pricing around them to begin with. Even if your product does things better than product X be sure to charge around the same price. If your sales take off review the pricing model around every year or so but be sure to include your customers in the decision process!
The headline is poor; the author's point isn't about the nature of lines in general, but of lines in China.
That's what I was trying to differentiate in looking at the list...the impact of zeitgeist relative to the butterfly effect. http://en.wikipedia.org/wiki/Butterfly_effect

In other words, it is likely that Dole [had he won the Republican nomination] would have defeated Dukakis as readily as Bush did in 1988, or that Carry Grant could have starred in The African Queen.

On the other hand, the specifics of Smith's personality and circumstances are hard to separate from the movement he spawned.
If I had to venture a guess, I'd say "bias".
This. I think most people "get it" by now, but I roll my eyes every time someone tries to say that those who exploit software or break into computers are "crackers". No, they aren't.
It's not as if the design alternative you're suggesting --- ie, storing "struct-proc-star" all over the place --- is much safer. You still have to track down and invalidate every stale "struct-proc-star" when you delete from the list. And this notion of having to store a base pointer and the pointer --- you're storing the identity of the collection somewhere. I think this is a straw man.

If you have a collection where random deletion is central to the design, then by all means, use a list. The process table is perhaps one example.

But just because you might at some point need random deletion doesn't mean it's a win to use a linked list. The process table will constantly have random deletions, but pid 47481 is far more likely to die at any moment than pid 10. Do you know how not-expensive it is to memcpy 1-3 "struct procs"? How often is the process table indexed or traversed? Roughly every 10th scheduling quantum? Are you sure you're optimizing for the right thing?

Incidentally, if you need FIFO behavior, a ring buffer is a nice thing to have in your toolchest.
My interpretation of it reads: "Getting into YC and being successful in SV do not overlap." In other words, they are independent of each other...
Dup:

http://news.ycombinator.com/item?id=1993830

http://news.ycombinator.com/item?id=1997104

http://news.ycombinator.com/item?id=1997239
As I said before when something like this came up, "The problem with security by policy is that the policy is always wrong."

Of course, as tptacek alludes, if you honestly believe you can make a correct policy, you don't like that answer.

If you think making a policy is easy, here's a simple question: Should /bin/ls be allowed network access?
"email, web browser, text editor and a compiler" and Ubuntu manages to screw up even this. I somehow find that Ubuntu seems to have less vertical space on the same laptop than Windows. Too many window bars etc. The consolas programmer-friendly font renders better under Windows (maybe patent problems), so my preferred way to work "on Linux" is to ssh using a full-screen putty to a tmux session running on Linux.

It almost seems like all the elves left the world of Unix in the early 80s, and nothing imagined after the 80s is actually of any use (X11 onwards).

And I take it you don't own a smartphone and hence are uninterested in viewing/organizing photos and videos (forget editing videos!). Ubuntu's tools have always been pathetic.

The ease of use of iPhoto and iMovie is ASTOUNDING. And from the "tinkering" point of view, apparently Apple provides scriptable APIs for almost all of iPhoto's functionality; and in the worst case you can just 'cd' into the iPhoto database (all photos in a single giant file!) with command line tools (like 'find', 'cp' etc) and DIY.
You can install Firefox too.

I've often wondered whether Android's default browser (MicroB) being bundled with the OS will prove to be a blessing or a curse. It's nice that it's always there and loads quickly due to WebKit being a part of the OS, but as part of the OS it's subject to the OS's release cycle, which is in the hands of the carriers and we all know how that tends to play out on Android. With a browser from the Android Market, users get updates much faster, and that's a tremendous advantage over MicroB, which, depending on the device and carrier, may not get updates at all.
"the biggest (IMO) problem with Lisp: the fact that his list includes "Too Good" and "Too Smart" (and the elitist tone that accompanies them).

"It is off-putting to try and read about this apparently amazing language, and have large portions of every (hyperbole) article saying effectively that if people were just { smarter || better || less sheep like } they would use Lisp."

Perhaps you missed the wave of Perl hate that Python and Ruby rode to popularity on. This anti-Perl snobbery hasn't seemed to have hurt them any.

Or how about the snobbery of C users against COBOL and FORTRAN? Once again, C got adopted despite (or perhaps even because) of it.

Or the religious wars over static vs dynamic typing, functional vs imperative, OO vs procedural, and which editor or OS is superior.

This kind of elitism is really endemic in the programming field, is by no means restricted to Lisp, and is probably not very relevant to the lack of adoption of Lisp in the general programming community.

Rather, I'd chalk it up to more of a matter of marketing. Lisp is still viewed as more of a (difficult) academic language, rather than a practical one. It's also rather old by now, and doesn't have the shiny/new sparkle that helped Java and Perl (in their day), and Ruby and Python (more recently). Also, how many killer apps (that a typical programmer cares about) have been written in Lisp? Where is Lisp's Ruby on Rails?
That's a terrible strawman though. By being open source the quality could be improved by anyone at any time. That software could be proprietary and it would be equally poor and irrelevant.
This topic is always coming up on HN, and generally the two favourites are www.slicehost.com and www.linode.com. (Personally I've used them both and would support both, though my choice is currently Linode due to availability of UK servers.)

A few example previous topics:

http://news.ycombinator.com/item?id=966555

http://news.ycombinator.com/item?id=1432386

http://news.ycombinator.com/item?id=1496630

http://news.ycombinator.com/item?id=1658161
Metrodome roof collapse (video)
The cost of 1MB of memory, 1 FLOPS of processing power, 1MB of long term storage, 1Kbps of bandwidth wired or wireless, 1 email sent to a person, and correspondingly the cost of storing one book or film or picture also falls.

You don't actually get a 1Gb hard disk made and on your doorstep for $0, but you do get much more space for the same money than you did three years ago so cost per Gb falls and falls towards zero.

(Though I don't follow how this counts as the "cost of almost everything" unless you say something like, a new car costs the same as one ten years ago but now comes with more features, so each feature cost less than it used to" perhaps?).
Instead of wasting more energy on improving the (overused) linked list, write a little resizable array library that doubles size on each fill-up. It's easy and much faster.

Don't do this.

Doubling the size of your allocation whenever you expand can easily lead to large amounts of wasted storage in common scenarios. "Yes," you may say. "But memory is cheap." Which it is at the small scale, but when you're allocating 1GB to store a 512MB array you have a problem.

A vastly better approach is to use some form of adaptive rescaling which avoids excessive overcommits.

Here, for example, is the code (and explanatory comment) Python uses to determine the new allocation size for an expanding list:

/* This over-allocates proportional to the list size, making room
* for additional growth. The over-allocation is mild, but is
* enough to give linear-time amortized behavior over a long
* sequence of appends() in the presence of a poorly-performing
* system realloc().
* The growth pattern is: 0, 4, 8, 16, 25, 35, 46, 58, 72, 88, ...
*/
new_allocated = (newsize >> 3) + (newsize < 9 ? 3 : 6) + newsize;
if (newsize == 0)
new_allocated = 0;

Note that you will also want to avoid using the same calculation for expanding and contracting the allocation size, to avoid thrashing allocations when the list size varies around the pivot point. (i.e., add one element, triggering an expansion; remove the element, triggering a contraction; repeat.)
Maybe a simple keyword filter would help? Could be done as fancy 'realtime' search which would actually be cool/useful giving instant feedback. It would make it easy to screenout posts that are uninteresting to the user.
Obviously a favorite - it turns up so often:

http://news.ycombinator.com/item?id=1905940

http://news.ycombinator.com/item?id=1733814

http://news.ycombinator.com/item?id=730346

http://news.ycombinator.com/item?id=555549 <- This has some comments

There are more:

http://searchyc.com/submissions/sort+algorithm+animation?sor...
in this story npr presents itself as concerned about one thing: is it effective at catching 'terrists'

okay, so yes, we live in a utilitarian nightmare, not news.

what about where does it lead us?

what about who have we become?
5 years until we get there.
I'm kinda pissed about my lack of time-traveling delorean. They said we were supposed to have these 25 years ago!
There is no 'ballpark' price, it's mostly dependent on how valuable your product is to them. How much time or money does it save them? What are the alternatives (in terms of other software or non-action, etc.)

On top of that, what are YOUR costs to host and support the software? And, if you haven't considered that larger businesses often require significant hand-holding in terms of support and training, you need to factor that in also.

The only thing I can really say is that getting large businesses to pay can be a PITA, especially at first. You might want to understand how/when they pay new vendors (I've dealt with some large Corp that process new vendors once per quarter. Come in on the 2nd week of the quarter and its going to be a while before you get paid at first).