skysight-inc/HackerNews huggingface dataset:
When modification happens often relative to accesses, and occurs in the middle of the container, lists make sense. When else do they make sense?

(In this article, modification is the most frequent operation, but "replace" is the least frequent; for some of those lists, tail insertion might be the most frequent use case).

For me, the question is, what's the right go-to collection for general purposes? For most C programmers, that's the linked list, and I think that's a bad default.
As myspace has shown, when platforms stagnate they can easily fall apart and the decline can be fast and devastating

This gave me an image of a large mass of pack ice floating on polar seas -- it occupies a vast area, you don't want to mess with it, but when conditions turn, the whole thing can very quickly break apart and dissolve. (http://www.igsoc.org/annals/44/a44a057.pdf)
Arrays don't allow O(1) insertion and deletion except at the end.
No, the point of resizable arrays is that you don't store pointers in them.
Ask HN: Abandoning one project to pursue another
Let's say you've just got the first version of project A working. It has a web site, billing, but no traffic or users. It seemed like a great idea at the time, but you just came up with an idea that you think is 10x better. What kind of criteria do you use when deciding to abandon one project for another?
Does always working on your best idea mean a trail of abandoned projects? What if I'm wrong, and my best idea is dumb to someone else?
I think you're confused. The list head exists outside of the structs that are in the list. The list links (next and prev) live in the struct, but not the head.

To answer the original question, you decide a list is empty when prev == next.
Unfortunately "monad" gets used in a few contexts unrelated to the sense the OP is asking about. Similarly, the (cancelled) TV series Caprica recently started using "monad" to mean "monotheist".
I think the author misses the biggest reason why lisp never caught on: too many developers are simply aversive to s-expressions. Maybe Clojure, with its slightly richer syntax, will solve this.
If these folks spent 1/10th of the time they've spent on ideological wars doing something more productive, FOSS would be a heck of a lot better, especially for end users.
IMHO, a version control system shouldn't provide facilities for people to edit the history, but instead, to edit meta-information about the history. What git needs is probably a meta-history that gets aggregated during pushes. But if you wanted to see all of your own warts, you should be able to, for the philosophical reason that a VCS isn't supposed to let you "cheat".

"But," you say, "I want to prepare my patch to look super-nice when I publish it to the world!" Fair enough. Then edit your meta-history since that is what the VCS will send. Right now, you can already do this in GIT by creating a specific branch and pushing only IT. Can't you? So why rebase
I think you would be disappointed in the performance of a kernel that stored all procs in an array vs a linked list.
absolutely agree. It seems as if the author is saying all open source, versus the small set of proprietary software.

I know I have lots of 'open source' half finished projects, which I may or may not be using, and it doesn't really matter to me if someone else wants to take the code and continue it, or fork it or what have you.

I certainly prefer for my web server an open source stack. That's not to say there is anything wrong with proprietary alternatives, but I worked for a very large company that transitioned from proprietary software to open source, precisely for the 'open source' credo (it's stable, tested, more secure etc) as well as its gigantic cost savings annually.

I think proprietary software has a place, but I would like to see the author argue when and what those cases are instead of just talking shit on free software. Perhaps desktop applications for MacOSX and Windows is such a case...
This site isn't set up to preserve knowledge. A newcomer hasn't really got anywhere to go to see all the accumulated knowledge, and they can't tell which old stories they should read to get that knowledge quickly.

As such, things will continue to be reposted over and over.

So yeah, the site is doomed to that scenario.

Instead of reading every story, read the first few comments. They'll tell you if anything new or interesting has been posted.
Software quality is absolutely orthogonal with software freedom. Did I misss something or is your comment irrelevant?
Most of the time i shuffle my music library. I skip tracks that distracts me easyly with gnome do.
If i really need to concentrate, i prefer beethoven or dubstep.fm podcasts. In dubstep.fm podcasts, especially there is a dj named jungle visionary. I would recommend him.
I completely agree with that.

In this case I liked the fact that it was a one off thing, the guy had to play through the game a few times so they could get the data out of it.

Like if someone needs to take an acoustical reading from a room and you're the guy in the office who plays cello so get asked to work through a few tunes while your colleagues take readings.

Or if you're the office cycling nut, and get called on to fill in when the courier company makes a mistake but your team still has to get those plans to company B across town before 5pm.

Okay, I'm really stretching it. I know. Though that last one really did happen to me when I was 14 on work experience at an architects' firm, and I felt like a HERO. (Though in retrospect perhaps they were just concocting a story to give me a job to do...)
That is very different from saying we'd never be able to keep up on features.
I realise that defaults matter, but at least with Android you can install another browser. Opera mobile scores 100% on acid3.
What would you like to read about ?
When you publish something to the world, don't you want to take a minute to make sure it's good? You do this when pushing to production, right?

Well, then why not take the same care and simply create a new branch with only the "clean" commits, and then push that branch?

I don't see a need for rebase. Don't rewrite your existing history, make a new branch to push to others! Like "tags" in svn.
I've been on low-carb for close to a year now, after reading the very same book. Right now I can't imagine anything else. That document is amazing, I've forwarded it to a bunch of people already! I've been having a hard time convincing friends that want to lose weight that this is a better idea, given how much utter nonsense has been imprinted in them.
Ask HN: How to develop logical skills?
For what is worth, perhaps very little, I would like to develop my logical skills. I'm referring to the skills needed to complete sequences of numbers, images, etc. The reason I want to develop them is because I really enjoy solving them in the first place. I wonder if someone know some good resources for practicing or he/she has some advice.

Edit: sorry if the question is confusing. What I'm referring to is the ability to solve logical puzzles, like where you have a sequence of images and you need to choose which one comes next. Example from searching on google: http://img43.imageshack.us/f/testdk.jpg/
No, but it helps. Even with zero oil. power production from other fossil fuels adds greenhouse gases to the atmosphere (assuming no attempt at sequestration).
Relevant resource on the topic: http://en.wikipedia.org/wiki/Chirality_(chemistry)
I liked my joke.
By the end of the decade, expect voice and video quality as good as you might expect from HDTV.

Bandwidth wise, this is (at least technically) possible today.
Maybe. I tend to believe stuff in the Linux kernel has been aggressively profiled (as opposed to C code in general, which the article also claims to be about). Why do you think so, though?
There's More Than One Way To Do It. Some people find rebase more convenient, some people cherry-pick commits onto another branch, or squash merge them into another branch and merge that into master. Or whatever. Git is fast and powerful in part because it's really stupid. Building another layer of "meta-history" into git would complicate things immensely.
I've been a user longer than you have, and I still learn things.

I think the solution, as with any news site, is not to assume that everything on it will be stuff you don't already know. Which seems pretty obvious, really...
What appears superficially to be a line is actually just a one-dimensional mob
"I miss lisp" articles are almost as old as Lisp itself.

In fact, I miss the days when nostalgic pieces about Lisp where far more eloquent, and well argued. The pinnacle of Lisp yearning was reached when Dick Grabriel wrote A Critique of Common Lisp, and never since has anyone opined Lisp as rightly.

The decline of sentimental prose about Lisp is largely caused by the standardization of Common Lisp. Its specification at 1500 pages, people never had any time left to learn basic essay writing.

The Lisp community also shares the blame for this deterioration in the expression of melancholy. The comp.lang.lisp newsgroup and its brash, unwelcoming denizens haven't exactly helped people be more wistful for Lisp in their absence.
But isn't that true if the list has one element? Then A->A, thus prev==next, but the list still isn't empty.

And if the head lives outside of the list proper, then you would need special-case code to handle deletion of the first element in the list (since the head contains a pointer to it). It wouldn't be branchless.
yep, we're due for a small WWIII (there are set of global problems - pollution, including green house gases, human rights, including ethnic cleansing, currencies valuations, intellectual property rights, Internet management - which can't be solved in the current framework of 180 states getting individually to agree to a treaty and after that actually obeying the treaty)

>10. Political-Economic reorganization:
[...] so I'm sure that people will muddle through and figure out some way to distribute it equitably...

he forgot

11. rapid increase of number of countries armed with nukes
If you don't like it- write something new and post it!
Yes, but isn't the Startup world rather "Groundhog Day" by its very nature?

A founder might make some egregious mistakes the first time around. The next time, s/he can bring some of the experience forward to make things smoother. The 4th or 5th time around, a newcomer might marvel at their prescience.
I grew up in the 90s. The shows on TV rocked. They are what influenced me to be who I am today.

I feel pity for the TV programming kids had to watch in the 2000s. What happened to all the brilliant writing? Pinky & the brain? Gargoyles? Disney? Animation with more than 2 frames per minute? We just got an avalanche of inane dubbing of japanese anime. "Hey, Ash, let's go into the forest and enslave little animal-looking things in balls and make them fight! I choose you Pikachu! Yay!"

The best thing to come out of the 2000s decade of children's shows is YuGiOh abridged :))

It can only get better from there.

Who's with me?
This is pretty disingenuous. It's the same exact two lines of code to do this in Twilio. Yes if you know ahead of time what those two lines are then you can type them in less than four minutes. Same goes for Twilio.

I think what patio11 is referring to is the amount of time it would take for a new developer who's never seen the Twilio API before to get up and running. This includes things like the time to understand the API and documentation. The actual writing of the code is always the easiest part of implementing something.
Even worse, those who picked well missed out. There were banks who realized this was going to blow up and stayed out of it with the idea of buying the banks that failed. What did they learn from this crisis? They missed out on millions by avoiding the subprime frenzy.
Not really a problem for facebook:

"For content that is covered by intellectual property rights, like photos and videos ("IP content"), you specifically give us the following permission, subject to your privacy and application settings: you grant us a non-exclusive, transferable, sub-licensable, royalty-free, worldwide license to use any IP content that you post on or in connection with Facebook ("IP License"). This IP License ends when you delete your IP content or your account unless your content has been shared with others, and they have not deleted it"
It's not like there are clean independent commits just floating around in there with the junk. It's the amalgamation of the junk that produces the clean commits, thus the need for rebase. As someone else in this thread talked about, being able to tweak my commit history has changed the way I've approached coding. I commit often because I know I'll be able to go back and rewrite history before other people have a chance to look at it.
Merlin Mann got very frustrated with this same problem as it pertains to the GTD/Lifehack community. (where he felt that he was part of the problem.) He wrote this essay about it: http://www.merlinmann.com/better
I think you're suffering from confirmation bias. Certainly there's a lot of repeating content, but there's tons of new stuff on HN constantly.

An unfortunate habit I once noticed in myself was skipping over articles whose titles I didn't understand, even though if I want to learn about new things that's almost certainly the wrong way to go about it. You'll notice (and remember) what you're familiar with much more than what you're not.

If you really want to increase the diversity of content on HN, spend more time on the new page. There are ~25 links submitted in the past couple of hours (on a Sunday). Probably 80% of submitted links receive fewer than 5 upvotes, but there's tons of great stuff in there that simply doesn't get upvoted quickly enough to get a front-page vote-boost.
both visa and mastercard had their payment processing servers down along with their websites.
Because of the emphasis on a particular business model by YC and by extension HN, ritualized repetition of the conventional wisdom isn't surprising. On the other hand, suppose someone had a radically different and successful business strategy. Would blogging about it at length be likely to raise or lower returns?
>another example: texas holdem. it may be fun playing with friends in your spare time, but i'm pretty sure it's a brain wreckingly monotonous chore if you have to do it for hours, 4 games open simultaneously at any time. not much fun in that.

No, but writing the bot to do it for you would be fun.
Security experts are saying it's security theater. And they're right.
You could try the "new" link up at the top, and up-vote things you find interesting. There are a LOT of worthy submissions that never make it to the front page.
It isn't a question of 'What' but 'What's next?'

Articles regurgitating AB testing homepages, green buttons, and, my favorite, 'Follow me on Twitter here' aren't progressing the community.

What's next? What can we do with this information that advances the discussion?

I don't have the answer. I'm raising the question.
I just skip over the repeats. I'm still new here so I probably haven't read all of them. And, after all some things bear repeating.
Oddly enough I'm working on fixing that (and a bunch of other things) right now.
I'm not saying writing and selling ebooks is an inferior business. I've bought a lot of great ebooks. But if you read the 4HWW closely, he recommends rehashing content from other sources and claims by doing so it justifies you to call yourself an expert. That's disingenuous at best and plagiarism at worst.
I agree, generally, but I much prefer writing a one-time script (or using one of the tools available) to populate the database with random-ish data instead of using production data.

It may be that I've been working with government data too much, but people's dev environments are generally far less secure than their prod environments, and I personally don't want to be the guy who declared that the scrubbed data contains nothing sensitive and be wrong, whether or not that data gets out into the wild.
Lessons for someone starting work for the first time in United States
I am graduating December and starting work as a software engineer. This is my first job in the United States. I am very scared about the cultural difference in addition to all other first job fears.

Any tips, advice or lessons that you learned in the workplace would be very very helpful.

For example, should I get some chocolates for my coworkers in the first day? I remember seeing someone do this when I was an intern.

Please help.
You're stuck in nostalgia-land -- TV has gotten a lot better over the last 20 years. And there's a simple reason for that. 20 years ago the only shows that had a plot line longer than a single episode were the daytime soaps. Now, in the age of >100 channels, DVRs and Hulu, plotlines are allowed to stretch over an entire season, giving much more room for depth and development.
The film "Daybreakers" did a promotion which used this technique in late 2009. The film's premise is that a vampire virus has swept through humanity, converting most people to vampires and leaving only a few surviving humans. These remaining humans are hunted and captured to provide blood for the rapidly starving vampires.

The ad was a site http://www.capturehumans.com , which pulled your Facebook picture and pictures of your friends. The site then showed a short video on the origins of the vampiric plague, with you as Patient Zero. Your friends showed up as other early vampires or as humans to capture.

The site isn't loading for me now, but this description gives this idea:
http://www.movieviral.com/2009/12/15/daybreakers-gets-a-vira...
Suppose as you hypothesize the TSA really doesn't know whether or not they work and whether or not they pose radiation risks to travelers and TSA employees. But they've told the President and Congress that this is the only way to keep us safe and we absolutely must spend $2.4B.

Would you consider that 'lying' or 'stupid'?
The government and the manufacturer refuse to give people access to the machines.

And the government has refused to release testing data; EPIC's currently got a FOIA suit.
It remains incredibly disappointing that Android still doesn't support SVG (including in 2.3), however I discount this article immediately as it comes from AppleInsider. It's like listening to Gruber talk about Android.

Though what's the deal with the caption on the SunSpider benchmark (the one where they don't note that smaller=better): They say that "iOS takes advantage of the GPU as well, so scores here do not reflect actual performance".

What? The GPU has zero relevance to base JavaScript performance, and that aside is idiocy.
You can just create a new branch before you start the rebase, which achieves exactly the effect you ask for. Rebase is how you "create a new branch with only the clean commits".

But, most of us don't bother copying before rebasing. The reflog makes that pointless from a safety perspective and, without the safety need, there's not much reason to copy before rebasing.
The most exciting thing is that because of the accelerating pace of technological deflation, the cost of almost everything is asymptotically approaching $0.

Access to all information, global communication, books, entertainment (movies, tv shows, music etc), software, and even hardware are getting cheaper at an alarming rate. The entire body of human knowledge (art, history, science etc) is being interconnected into a global application that will be instantly accessible and practically free (in inflation adjusted dollars).

It will be interesting what effects this will have on our socio-economic system.
Why is this post falling? 7 pts in 28 minutes should be front page, and now its on the second page? I thought it was a valid argument to raise...
Ask HN: How do international web apps handle payment through Paypal?
I am looking at Paypal's Website Payments Pro programme, and they require the business to be situated in the US.

How do I charge my clients - seamlessly without sending them to paypal's site, given that I am located in Jamaica?
It would depend on the console. I worked on "Midway Arcade Treasures" (PS2, XBOX and GameCube) and none of the emulators in that package was based on MAME, including Spy Hunter.
The problem with this argument is that it's one of the key reasons most lispers like lisp and where the language draws many of it's strengths. You're essentially writing an AST, which gives you lots of flexibility and makes things like advanced macros and DSL programming viable solutions to problems. A dislike of s-exps may fall in the "too smart" problem category.
I think you would like Bonobo. He released a really good album this year. And Flying Lotus as well.
You can download a full-length HD film to extant (but not-yet-sold) phones and output it via an HDMI port. The only problem is that doing so will burn probably $40 in bandwidth.
I can only speak for myself. I am not sure how others have done it. I have some savings and I am a frugal guy, Experience is more important to me than "stuff". By selling everything I have (except for the bare minimum) I won't be tied down to anything. My savings is enough to keep me going for at least 2 years. I hope to do some kind of work during this period - but only enough to help me with my expenses, not trying to be a millionaire. It most likely will be in the form of freelance work, but I am open to odd jobs working part time where ever I end up in.

One of the reasons I am doing this is my life is too easy and predictable. If I try to prepare too much on what "exactly" I will be doing on my travel or what I will do after 5 years; that defeats the whole purpose of doing this. I want to keep planning to the minimum and just flow with whatever happens. It might end up badly or it might be an awesome experience and I am mentally prepared for both and fine with both.

Loneliness is not a problem for me because I am an introvert and I actually enjoy quite alone time.

Yes I do plan to travel to singapore, thailand, malaysia. My plan is to start from asia and neighboring countries; as I get more used to travelling I will try other continents.

I don't have any plans to come back to USA, for now.
Template metaprogramming is awesome. All of the C++ messes I've seen are related to ridiculous OO crap.
save-as the install link. (edit: whups, you're right. annoying...)

I'll also be putting it up on GitHub soon.

edit: it's up: https://github.com/Groxx/Flattehn
Having a staging server doesn't only help with capacity problems, but more so with deployment problems and differences in the environment. You might be running 32 Bit on your server but 64 Bit on your dev box. Or prod uses Amazon RDS, but locally you just have MySQL on the same box. And oh suprise, now your mysql gem doesn't want to be built. Or you ran each migration on your dev box separately as you build them and when you run them all at once during your prod deploy, things blow up. That's what a good staging environment should protect you from. And for all of that to be a problem, 2 users a minute are more than bad enough. You don't need to be Facebook for that.
Even better, if you for example host your app on heroku, you get you staging and demo env for free in less than 30 minutes!
What does "add a lot of layers and abstractions that make sense in one context" mean? Is that like "entities and/or actions placed or performed in a certain manner for a particular purpose, or to carry out a certain task"?

Everything in a high-level programming language is an "abstraction". And anything outside the grammar of the language is a convention.
_my_ DNA will be floating throughout my wife's body

Strictly speaking, only copies of half of your DNA.
Also, I almost always work on topic branches and do my rebasing there. This may be a crucial point that others have missed. Personally I don't rebase on master.