skysight-inc/HackerNews huggingface dataset:
Dynamo as described in the original paper was not made into a web service.

Facebook took up the Dynamo torch and created Cassandra... then switched to HBase after trying to use Cassandra in production.

Have you ever stopped to wonder about what Amazon might have taken OUT of Dynamo before launching DynamoDB? Things that Cassandra still has and just might be holding it back?

That to me seems much more important than just saying "DynamoDB has feature X that Cassandra has had for years! We're so smart!"
URDU SEX STORIES: SHADI SE PEHLE SAAS NE LIYA DAMAAD KA TEST
What have you been using them for then...
While true, it seems that if your array is that close to the inherent size limit in indexing by ints, this is at most a temporary fix. How fast does your sorting requirements go from 2^31 to 2^32? It seems that you should be using size_t here, not int.
Why is Google Search outsmarting itself?
No matter the challenges, Facebook still has one thing going for it that will keep it solid for years to come: switching costs. Rebuilding a social network, from the ground up, is hard and annoying work (sorry, G+, but it's true).

Back in the day, switching from Yahoo to Google was as simple as entering a new URL into one's browser. Switching from AOL to a different ISP was slightly more difficult, but not much more difficult than cancelling one subscription and signing up for another.

But if you look at the landscape of interest-based or activity-based social networking utilities today -- Pinterest, Tumblr, and so forth -- they really don't look like Facebook killers. In fact, many of them have integrated Facebook credentialing. In aggregate, they may take user eyeballs off of the Facebook homepage -- but they aren't taking user accounts away from Facebook.

Facebook seems to realize that the key to its longevity will be as a de facto social and identity credential, and not necessarily as a destination website (although that's nice, too). People may not want to spend as much time on Facebook.com as they once did, but it will take a lot to get them to abandon the Facebook ecosystem altogether.

Accordingly, I submit that the real challenge Facebook faces isn't monetizing display ad space on Facebook.com; it's monetizing the rest of the internet as credentialed by Facebook. (To your point, the "off-Facebook" ad platform). This challenge isn't insurmountable, either. In fact, it doesn't strain the imagination to think of an AdSense-competitor product that could serve up contextually relevant advertising to FB-credentialed users as they surfed the rest of the web.
We have a responsibility to provide server-side rendering accessible to the rest of the web. Can Serenade.js do this? The existing examples are all broken—no content whatsoever without running custom code at the client.
I always kind of assumed that most developers who work at these Google-level places automatically reflect without a specific process to force it, but maybe I'm just projecting.

Personally, I have a hard time stopping myself from reflecting on the code I've just written and the code I'm currently planning to the point where it is almost a social problem. (eg. my girlfriend will be telling me about her day and in the back of my head my brain is rewriting some code I actually wrote in an editor earlier to be simpler and more efficient... great for my productivity, bad for my relationships).
This is pretty nice. I totally concur with the post, and I think logical commands is the biggest (only?) benefit of Mercurial over Git... been using Legit by Kenneth Reitz lately... I recommend it highly https://github.com/kennethreitz/legit
The definition given for dynamic and static languages is not very good. The main difference is that a statically typed language has type checks preformed at compile time and a dynamically typed language has them preformed at runtime. My intro CS professor had a really good explanation for this: in a statically typed language, the variables have types where in a dynamically typed language, the values have types.

Also, his graph of languages doesn't really make any sense at all. If he just kept it as a division into groups, it would make sense, but it really looks like he's trying to say that C++ has a "weaker" (whatever that means) type system than C or that Haskell has a "weaker" type system than Scala.

Also, static typing is not always for robustness; it can also increase performance. C is a perfect example of this--it is one of the easiest languages to write bugs in but is also really fast.

Overall, I was not terribly impressed with this article--it gave poor definitions and little new insight (as far as I could tell, it just reiterated the same old cliches about static vs dynamic types without any anecdotes, experience or advice).
That chart is just plain bizarre. He appears to have placed languages randomly without even bothering to google the languages first to get even a vague idea of roughly where they might belong. I don't think he actually managed to get any of the language listed in approximately the correct area on the chart.
Habit, mostly. The first mail server I ran for myself was postfix, and I managed to get in a nasty tangle. Exim configuration just seems to fit my brain better.
Testing in iOS
I told them in my phone screen.
Indianapolis Super Bowl First To Have 4G WiFi
Hey, actually you can try our implementation at http://iDoneThis.com (author of the post here). We have a team thing we're rolling out and this post was in part to gauge interest.
Hopefully they also remove the one they're hosting for you, the copyright holder.

If I had files in dropbox for personal use removed because someone filed a DMCA request against the same file someone else was sharing with everyone I'd be rather annoyed. Especially in the day of digital downloads.

Just because 1 upload is using it in an infringing manor doesn't mean all of them are.
I've been saying what I did rather than reflecting on what is important and what to do next.

Doesn't matter because I don't think anybody's been reading them either. Most of my team doesn't use them at all.
Ask HN: Rails Book that explains the inner workings
Hi HN,

I'm a seasoned programmer that is just starting to learn Ruby on Rails. I have a fair bit of web experience (PHP and Python/Django primarily), but I'm totally green to both Ruby and Rails.

I've gotten to the point where I'd be pretty comfortable writing an app with Rails, but I don't feel like I have a good grasp of how things happen; i.e. I can use the provided abstractions, but don't know how the abstractions actually work under the hood. I've started digging through the Rails source, and am documenting my path along the way.

So, two questions:

1) Is there a book or something that explains this well? I've looked through the guides, and most of them seem more focused on "how to use the abstractions" rather than "how the abstractions work" (The "routing from the outside in" guide is a notable exception).

2) If there isn't, would anyone be interested in such a thing?
Most of this stuff can be done with aliases.

git stage

git config alias.stage '!f () { if (( $# > 0 )); then git add -- "$@"; else git add -u; fi }; f'

git unstage

git config alias.unstage 'reset --'

git undo is too ill-defind to actually implement. Sounds like the author wants it to be `git reset --hard HEAD`, but it's far more dangerous doing that while termed `git undo` than it is while termed `git reset --hard HEAD`, because people will have unrealistic expectations of what it does.

What's wrong with `git rm`? Here's a hint: you don't need to use it. Most people I know just delete the files however they want, and then run something like `git add -u` to pick up the deletions. That's exactly what the author is suggesting, but that's what people do today, so I don't see the issue.

As for git status, there's already a --short (or -s) flag that gives a very terse output. I personally use that all the time with an alias `git config alias.st 'status -sb'`.

Automatic setup? Put that info in the global config file. If git had to prompt for it, it would naturally place that info in the per-repo config file (absolutely would not make sense to automatically modify the global one), and it would be more confusing to users to be constantly re-prompted for name/email (because they switched repos). I don't see the problem with just telling new users to set up name/email globally, which every git tutorial I've seen does.

git switch

git config alias.switch checkout

For git diff confusion, just use aliases for different commands. Do not make me type STAGE, that's no friendlier to users. I personally run with the following two aliases:

git config alias.staged 'diff --cached'
git config alias.unstaged 'diff'

though I rarely use the `git unstaged` command. I also have

git config alias.both 'diff HEAD'

though I never use this one. Perhaps other names can be chosen that the author likes better.

The bit about deleting branches is misguided. `git remote` is a command that has sub-commands. `git branch` isn't. I understand that the author thinks having two styles of commands is weird, but there's not really a good alternative. Commands like `git remote` that have sub-commands would not work very well at all in the switch model (for a pathalogical example try to imagine what `git svn` would look like this way), and switch-based commands, which is most commands in git (and most commands in UNIX in general) would not do well in the sub-command model.
Allan Branch is poised to become the next big comedic superstar! His personality really makes this video work. Funny stuff!
Who is Hira Ratan Manek and What are Sungazing Benefits?
CMU's Bar-Joseph gains bio insight w/computers + computer insight from bio
> If a file resides on a server, but has no access to the outside world, does the file still exist?

When there are 100 more links to it? Yes. It exists.

> So, there is a huge question as to what probable cause the feds had to search MU's mail server in the first place, given that MU was complying with the DMCA safe harbor provision.

The rest of your post is one assumption after the other, that goes against what is reasonable to assume based on everything we've witnessed in this case.
Can anyone here speak to Tornado.websocket?
What's the performance like?
How could you load balance with torando.websocket? Is it production ready?

Congrats on the release!
Here's a link to a PDF of the paper referenced in the article:

http://www.tau.ac.il/~nogaa/PDFS/misbios.pdf
> Then they conspired (shown in leaked emails) to only follow DMCA requests coming from large US entities (while ignoring requests coming from Mexico, for example).

Color me ignorant, but this doesn't sit right with me. Does the DCMA have international scope? Does the FBI enforce Mexican law?
This discussion is missing two key things: Go and Dart. They both combine the best of static and dynamic languages. There is no need to choose, you can have the best of both worlds, without the disadvantages.

I'm using Go right now, it is amazing, blowing both Python and C# out of the water, with speed of development, robustness and maintainability.
GigaOm’s Kevin Tofel Talks Smartphones, Smart Homes
We do this at Xamarin. Every employee sends an email to the entire company first thing Monday morning, containing their A&Os (Achievements and Objectives).

We're a very distributed team and A&Os are one of the ways we keep everyone in touch.

Also, doing this Monday morning is pretty important -- it means people focus on planning the upcoming week, instead of just summarizing the week that ended. Having a time every week where you set goals for yourself, and then communicate them to all your peers, seems to be pretty effective. And one benefit of having these emails go out to the whole company is that everyone can read them and comment on what people are planning, before the work starts.
Show HN: Android bluetooth microblogging for activists
8. domain keys (DKIM) ?

did this recently on EC2 and found these helpful

http://pauldowman.com/2008/02/17/smtp-mail-from-ec2-web-serv...

http://www.practicalclouds.com/content/guide/sending-email-e...

DKIM on Ubuntu - https://help.ubuntu.com/community/Postfix/DKIM

Microsoft SPF record creation wizard - http://www.microsoft.com/mscorp/safety/content/technologies/...

not sending that much mail, but noticed after setting up SPF/DKIM/reverse DNS that the mail I sent to myself didn't end up in spam folders at gmail and hotmail etc., without having to send via a service like authsmtp.com.
The analogous party here might be the money laundering business that gets shut down for the duration of the trial.
How does your service compare with another service, http://www.pepperplate.com/? My wife and I are trying to settle on a product. We're considering that or just using Evernote, but Pepperplate lets you scrape from many different recipe sites.
I agree too - there will be a huge boom and bust when they IPO, but once it has time to level off, I think Facebook has plenty of room for long term profitability. Of course they could flame out and end up the next MySpace too. I'm not saying I'd invest my retirement fund in them, if I had one.
This looks nice. You might want to add a time-limited free trial.

I wouldn't take the pricing advice on HN too seriously because even if you charged $10 lifetime for something, you will find someone complaining that it's too much. "If only it were $3.33, I would totally buy it for the whole family."

Don't decide based on what the competitors are charging. Because the answer to that is ZERO.

Decide based on what kind of business you want to be in. If you want to scale it to the moon and make it up on volume, then sure give it away for free or cheap and work on optimising for premium upgrades or advertising.

But if you are looking to make money from the get go, then don't even think of charging less than $10/month or you will end up losing money.
idonethis.com provides exactly this service.
Yeah, the contents of the questions are covered under NDA. It's because if they weren't, people would post the coding challenges all over the web (they do this anyway, but this keeps it to only the most egregious violators) and we'd have to think up new questions with every single new candidate. That'd prevent interviewers from ever getting good at asking a single question, which means we wouldn't know what skills we're actually looking for and how to tease out the candidate's best side by avoiding ratholes they might fall into, and that's ultimately a disservice to candidates.
Heroku's Cedar stack does not have a read-only filesystem. However, it is ephemeral, meaning it is not durable and it's not a guarantee that things you put on the filesystem will stick around between requests.
I think the funnier ones are the truest. This one is more caricature than anything.
Could Your WordPress Site be Hacked by a Teenager With a few Simple Techniques?
> Removing individual links makes sense--if someone filed a DMCA request with Dropbox for a song and it ended up getting removed from my Dropbox as well that would be ridiculous.

Dropbox has a very clear concept of private files and public files. If a DMCA request was issued for a file you're storing in your public folder, I would certainly expect Dropbox to remove all instances of that file in all public folders on all accounts.
Those are business problems, not tech shortcomings. Poor performance is due to horrendous overselling, while poor maintenance is due to being cheap.

You don't have to oversell like that. It doesn't change the fundamental, unavoidable fact that containers are a far more efficient way to virtualize than hypervisors for fundamental architectural reasons. An OpenVZ-based hoster that didn't oversell ridiculously would be cheaper and faster than a hypervisor-based host.

With a hypervisor you are running an entire kernel within a simulated machine within another kernel. That will never be more efficient.
Atlassian does this with their software too. It's great to be able to start using their packages for a $10 donation each.
I've always found this (daily update w/ tomorrow's plans) to be a great way to work as a contractor as well. You demonstrate that you're productive (usually much more so than employees) and future planning helps you uncover additional work to pitch to your client.
An ex-googler friend and I made a similar tool as a weekend project a while back http://www.snptz.com/ (code: https://github.com/tedpower/snptz)

We later ran across another implementation of snippets here: https://github.com/kushal/snippets
Random question here: Let's say I keep a backup of my movie and music library on Megaupload. Is there anything wrong with it? Like is it my duty to password protect the files in order that nobody else can access it? i.e. what I am trying to say is, does just because there is copyrighted content on Megaupload it has to be automatically illegal?
How a magnet can turn off speech [video]
Vulcanite Dentures, or When Patent Violators Strike Back [9min audio]
The process of self-reflection multiplies my own motivation.

I noticed a big change in the way I work and how successful I feel after I started keeping a daily journal. My focus was not directly on productivity, but I wanted to see where my time had been going on the days where I have multi-hour lapses which seem to produce nothing.

On a typical day, I type 500 words to describe the 2 or 3 most significant moments / insights which happened that day. I also note ideas, people I meet, and more mundane things (ex. how much sleep I got) in less detail.

I write mine in the iPhone Notes app since it's already with me all the time. (I'm now designing an app which will extend the concept a step further to aggregate some of this info in more useful ways without sacrificing the convenience of one big text area for input.)
Dart Synonym: translate JavaScript to Dart
I think Opera comes with a VIM compatible keyboard setup.
This is impossible. The parent bash is suspended while the python process runs.

`` (not '') in Perl runs it in a child process.

The equivalent is at the bottom of http://hyperpolyglot.org/scripting - or read the subprocess module documentation.
I just love it! One of my friend is doing exactly the same all time! gonna share it :)
Golang for Java programmers
Thanks for the suggestion. Unfortunately I'm already specifying the pixel delta strategy that works best with my images, and using the fastest zlib compression setting. Going with no zlib compression would turn my CPU problem into a bandwidth problem :).
There are various international acts, treaties, and arrangements on copyright and intellectual property.

You're copyright and IP rights don't disappear the moment the data crosses into the USA.
Super Bowl Ads Online: To Seed or Not to Seed?
Super Bowl advertisers in recent years have made a practice out of seeding or teasing their commercials via YouTube, Facebook, Twitter, and blogs. Among a few questions, it raises this one: While the online viral may produce buzz for creative agencies behind the TV work, does the seeding tactic actually have a positive impact for the brand spending big money on the uber-premium TV inventory?
Vidify - The Instant Video Maker iApp
Old Techies Never Die
Looks like we are building a very similar node.js client for dynamo. https://github.com/Wantworthy/dynode
Renaming mongodb Columns
Founders aren't necessarily the ones putting up the cash. I haven't seen any statistics on the percentage of "startups" that are founder-funded, but in my personal experience the majority are not - even if the money is borrowed from family. Not considering opportunity cost, the founder isn't out $200k, the investors are. IMHO founders usually have the best position in a startup. They get paid to possibly reap the benefits of ownership, but if it fails they are out of a job like any other employee. They assume similar costs as their employees, but stand to gain much more.
Tornado has definitely taught me to keep my templates as dumb as possible. Most of the time my errors are me trying to access values that doesnt exist
Not impressed either. It also repeats the misconception that statically typed languages make it harder to do exploratory development. But with type inference, not only do I not have to define my variable types up front, the type checking makes it very easy to explore and refactor code,
especially when the exploration involves changing the types.

Add in the ability of haskell to let you write your own control structures and do higher-level programming, and I find myself exploring and refactoring my code much more than I do when using a dynamic language.
Per "git undo", what about something like:

git rewind
git rewind FILE

git rewind --revision=REVISION
git rewind FILE --revision=REVISION

We already have the "fast forward" metaphor.
Twitter Traffic Map of New York
My point with It Gets Better is that she is suggesting there may be unintended negative consequences to the movement. First, this is sensationalism. Second, her own words ironically have unintended consequences since people who "oppose" LBGT groups will no doubt use this argument in the future. What would danah boyd think about giving the latest talking point to the likes of, say, the Westboro Baptist Church?
I'm with you. His example of dynamic typing is really an example of inferred typing.
One important firewall that can't deal with it: Amazon's NAT images for EC2. AFAICT, there's no way to run an ftp client behind Amazon's NAT unless you open all outbound ports, because the server is still the one that specifies which port the client should use for its PASV connection.

I think most firewalls solve this by actually rewriting the FTP packets on the fly (IIRC Cisco calls these "fixups"). That's seriously, seriously broken.
You can prove the correctness of a program given a specification of the language you write it in. But is the compiler you use to compile your program correct? Do you know all processor bugs?
If you would have read the article; clearly states what you said in the first line of your comment. Also your professor maybe right, the distinct is less clear when stated in those terms.

It was never said that static typing is for robustness it does decrease the occurrence of runtime errors.

I think the overall point was just to give insight on what people don't consider when making a programming language choice.
Wasn't this already done?

http://www.youtube.com/watch?v=BR8zFANeBGQ
Once I wrote a server that speaks the Redis protocol using Tornado's TCP networking tools. It was probably the nicest API for asynchronous networking without coroutines that I have ever seen.
I guess I should have prefaced my last post by saying that I'm looking at the whole case from a legal perspective.

There is no question in my mind that MU thrived by appearing to comply with the DMCA, while encouraging illegal use of its service.

However, if the gov't wanted to really send these guys to jail for a long time, they appear to have screwed up the foundation of their case pretty well. If the initial search of the MU mail server was not found to be valid, the feds lose. If Cogent & Carpathia delete all of MU's data (i.e. evidence) and the feds can't prove in court that offending material existed, the feds lose. It's turned into a real mess from a prosecution standpoint. No wonder Kim pleaded not guilty instead of taking a plea bargain.
Modern CPUs have dozens to hundreds of registers. It's difficult to scale registers though due to fundamental technological limits.
That's interesting. Do you know How the bidding works for ads shown along with content? Like with blog posts, news stories, and in gmail. How do they bid on how close and likely to buy it is from the content?
Interesting idea, though I don't get the need for the --revision flag in your example. It's already pretty easy to tell the difference between revisions and files. If you want to call it unwind, why not just make that an alias for reset?

git config alias.rewind reset
On the other hand, I work on enterprise apps with 200-500k LOC and maybe 1-2K LOC for test. So "Enterprise" probably isn't a good indicator on test ratios.