skysight-inc/HackerNews huggingface dataset:
Are you implying that every single passenger aboard a normal commercial flight is there for some absolutely necessary, useful purpose? I'd wager not, in which case a large quantity of the fuel used in the normal course of operations is also 'wasted' - or, at least, used sub-optimally - the passengers being the only reason the flights are undertaken in the first place.
anonymoushn said "object serialization". "marshal" doesn't serialize objects.

>>> import marshal, cPickle
>>> x = object()
>>> marshal.dumps(x)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: unmarshallable object
>>> cPickle.dumps(x)
'ccopy_reg\n_reconstructor\np1\n(c__builtin__\nobject\np2\ng2\nNtRp3\n.'

That's a bit tongue-in-cheek, but it shows that the marshal serialization only handles a handful (I count 9) of built-in object types.

What's "special" about pickle is it's the default recommended serialization method. Quoting http://docs.python.org/2/library/marshal.html:

> "If you’re serializing and de-serializing Python objects, use the pickle module instead – the performance is comparable, version independence is guaranteed, and pickle supports a substantially wider range of objects than marshal."
Pro tip: when you develop with gcc, don't settle for anything less than

gcc -ansi -pedantic -Wall

At university I often had people coming to me and asking, "my program compiles correctly, but it keeps crashing / doing weird things; what did I do wrong?". I always said, "add '-ansi -pedantic -Wall' to the compile flags and come back to me when you cleared that wall of warnings down to nothing". Every single time the problem was directly or indirectly caused by the things that were in the warning messages.

It's a shame that the default choice of GCC flags make this compiler pretty much useless for work.

The warnings are there to help you. You can choose to ignore them and that's fine, as long as you do it deliberately and with a damn good reason, not because you don't even know they're there.
They have indeed - long enough that their angel round was almost derailed by 9/11.
Might be a bit of a yak shave, but you can tunnel arbitrary traffic over http. http://dag.wiee.rs/howto/ssh-http-tunneling/
I'm just wondering, are people on the other side of the mail "actively" rejecting you when you say that kind of stuff, or is more of a subconscious thing?
I guess the whole point is don't rely on null terminated strings in your code.
Martin Rusev here, the guy behind Amon. I just want to provide a little bit more information about where the project is headed. First I want to clarify that Amon is not a new project. It has been in development for 2 years now, the SaaS version is in Beta, but I consider the underlying technology pretty stable and mature. My big goal with Amon is to move beyond monitoring into server analytics and recovery. That means - to analyze the data and send meaningful, troubleshoot friendly alerts that show the whole server state, not just "your cpu usage is > 70%". On recovery - The idea behind is to automate simple sysadmin tasks, like cleaning up log files, restarting a process, etc. As an example - if you have an alert: mysql is down for 5 minutes, execute: service mysql start
Silicon Valley as a startup hub is much older than PayPal. Indeed, Silicon Valley was a major startup hub (in hardware) before most of the PayPal founders were born.
I think because the large majority of the wealth is in the south-eastern Russian-speaking section. From the article, it sounds like that is where all the coal and iron mines are. Not to mention the most productive farmland.

The Russian-speaking section also encompasses the major ports of Odessa and Sevastopol.

So a split down language lines would leave the Ukrainian segment landlocked and with a vastly weakened economy.
Can This New Startup End The Organ Donor Shortage Forever?
Interesting; I ran essentially the exact same experiment a while back (June to August 2012) and had a different conclusion!

-- 68 incoming consulting leads

-- group A: responded to 34 with "let me know how I can help"

-- group B: responded to 34 with "would <date-and-time> work to discuss this further?"

-- group A: 20/34 (59%) responded, 14/20 (70%) led to contract negotiation stage

-- group B: 6/34 (18%) responded, 5/6 (83%) led to contract negotiation stage

So "let me know how I can help" outperformed (p < 0.01) suggesting a date/time.

There's a few possible explanations for the discrepancy:

* The kind of clients I had are different than Robert's clients. At the time I mostly did software engineering consulting and pair programming, and my clients were small units in mid-to-large size companies.

* I only ran mine on incoming leads, not outgoing (solicitation) leads. It sounds like Robert did it for everything.

* Content of the e-mail matters, not just the last line. Perhaps the way I write my e-mails is such that kicking the ball back to them is better for me, whereas Rob's style means a different strategy works better than him.

* Something changed about how people read e-mails in between my experiment and Rob's article.
> Its really hard to get those contracts or you need to have a contact.

Tech people often view this almost as an abstraction problem, or one that rightly wouldn't/shouldn't exist if nerds ran the world. I don't know if it would or wouldn't if us nerds ran the world, but in our actual world, finding and maintaining those relationships is very hard and very valuable.
Not really. The case is not being made that "all successful businesses have this specific trait".

I think the most relevant fallacy here is "post hoc ergo propter hoc", which says that if A came before B, then A must have caused B.

I.e., this business had traits A, and then they went on to become successful, so it must have been these traits, since they were there first.
They're going to make porn games with it. Sounds crazy, but you heard it here first.
Ukraine "uprising" isn't about the EU, it's pure facism
I would like C to have a native String type, and the primitives could be function pointers, replaceable in those cases when custom handling is needed (e.g. inside kernel). Object Pascal is sort like that.
How to hoax a hacker: 'honeypot passwords' could keep online accounts safe
Python, Ruby, Java... ;-)
I've done a fair amount of freelancing and this blew me away in that I had never thought about it. I guess I had developed a sort of instinctive understanding that clients want solutions not just another employee to manage, but I never thought about how common (and often vacuous) this phrase is. Excellent insight.
I try to find a trick that gets me up and speaking to people as quickly as possible.

In Spanish, for example, if you can conjugate poder, you can say pretty much anything. It's a get-out-of-conjugation-free card because it flips the rest of your sentence into the infinitive. "Is it possible to pay?", "Is it possible for us to go to the beach?". You can structure most any sentence this way and avoid having to deal with tense, subject, conjugation, etc.

I'm learning French now, and getting a ton of mileage out of je voudrais. For the same reasons. The infinitive helps a lot too. "It is very important for me to..."

Naturally, you sound a bit foolish speaking this way, but it gets your point across and gets you talking to people. Think of all those eastern Europeans you meet with their crazy sentence structure, word choice, tenses, etc. But you understand what they're saying, right?

That's the way forward, I think. Just get to the point where you're saying things and being understood. Conjugation, tense, grammar, etc. don't necessarily move the needle there, and can thus be skipped and left for the "polishing" stage that comes later.
This was before the craft brew revolution. I think so many folks drank Corona, Heinekin and Molson that they assumed everyone else did. But the power drinkers (multiple pitchers a night) go with Busch, Bud and Miller High Life.

The general point of overconfidence is very true.
I think it is because there aren't two distinct nationalities in play here. Even the Russian-speaking Ukrainians do not want to rejoin Russia; they would prefer to be Ukrainian.

The situation is much closer to the situation in the United States than to those in other central and eastern European cold war countries. While there are strong regional divisions between Democrats and Republicans -- divisions that are rooted in history and culture -- members of each party have large contingents everywhere. And separatism/partition isn't seriously on the table in the USA.
So I removed it. I would have loved to hear your thoughts though, in addition to "you're completely wrong"
It's always interesting to see these (in)formal fallacies on the internet. They're really only fallacies if they're wrong.

Usually I just want to say "fallacy of not knowing mathematical logic."
Rackspace Cloud Servers do the same, their instructions for enabling swap are here: http://www.rackspace.com/knowledge_center/article/create-a-l...

Their explanation for the change is [1]:

Why remove swap?

In a multi-tenant cloud environment certain resources are shared amongst customers, and in the case of swap the key resource affected is “disk IOPS” (IOPS stands for “Input/Output Operations per Second”; literally the number of read/write operations that can be performed on the disk per second). Disk IOPS are consumed whenever an application performs any sort of read or write to the physical hard disks.

If Cloud Servers running on the same physical host are running more processes than their allotted RAM, they will begin to heavily utilize swap. This has the side effect of consuming a large portion of the available disk IOPS pool, thereby causing what we refer to as the “noisy neighbor” effect. Put plainly, this means that other virtual machines can monopolize the disk and affect your performance, much like a “noisy neighbor” in the real world can disrupt your quiet dinner plans.

Prior to the change described above, a separate partition, solely dedicated to swap memory, would be given to each virtual machine by default. In order to provide the best service and consistent performance, as well as aligning to industry standard practice, we have removed this default swap partition. We believe this will lead to better customer experiences across the board.

I've also just added a note about it in a blog post here: http://blog.human-friendly.com/a-week-with-docker

I think for beginners having some swap enabled would be a good thing although there are probably production scenarios where there are risks of massive performance degradation once you start swapping and you may prefer to know that you have hit the wall.

On the SSD backed cloud servers I would hope that swap would perform relatively well compared to spinning rust and if that is how you want to use the i/o that they allocate you it should be fine.

[1] http://www.rackspace.com/knowledge_center/article/changes-to...
And the natural corollary is that if someone is attempting to stitch you up with a crappy piece of work that they're trying to get out of doing, if you respond to their attempt to palm it off to you with a question about the work that forces them to engage with it before they can respond, you will find that the crappy piece of work quite often never comes back your way.
Probably impossible to know.
Right - everything you said is true. I'm highlighting that Jobs as the exception. :-)
A recently launched HN style community [0] is pretty good as well

[0] http://www.datatau.com/news
Entrepreneurs Need To Extend Their Range Of Change
My all-time best-liked comment here (judged by karma) has advice about this.

https://news.ycombinator.com/item?id=6302816

I am a native speaker of English who has learned Chinese well enough to work as an interpreter and translator in that language, and I speak and read other languages.
If you believe a slippery slope argument, you'll soon find yourself believing any old rubbish.
Grids are good
There is already a patch out for Ubuntu:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1274349
I'd argue that `while True` would be fine in testing, but problematic for production, particularly in the types of programs I write most frequently (long running, minimal supervision). In these daemons, stalling on infinite loops is significantly more painful than dropping out of a loop early occasionally (and with proper logging that it did fall out of the loop, to boot).

It's certainly not as idiomatic, but it's more correct in the long run. My eyes were opened to this when reading through the NASA C guidelines. Closing the door on infinite loops lets programs recover gracefully and do the correct thing for the duration of the programming, as opposed to thing that may be correct for that moment of operation: i.e. looping 1-2 more times beyond the limits of the xrange counter.
To expand this is also a really dumb mistake. It's the equivalent of passing user input directly into a SQL query.
This is why you should use strlcpy()!
....what?

You should not consider swap space as additional memory. The performance of swap, even on SSD, cannot compare to RAM.

> Secretly wants you to switch to larger droplets

They operate a business where they get more money if you switch to a larger plan. What, do you think they want EVERYONE to stay on the $5/month plan?

Running out of memory is an issue of not being able to tune your stack correctly, and not being able to scale your application correctly. This is not the fault of Linux, mysql, or your hosting provider. It is your inability to plan ahead and prepare.
Not enabling swap is extremely common in the hosting business. Even in EC2, a lot of the AMIs have no swap. This is to prevent users from thrashing your server hard drives. It's often better to have the customer run out of memory and realize they have gotten too small of a server then for them to start thrashing your HD and then just think your hosting is slow.
Note: -ansi is equivalent to -std=c90 (in C mode).
If you want C99 or C11 support, use -std=c99 or -std=c11.
Unfortunately, English is not his first language.
If you are interested to know more, see Penn and Teller's Bullshit! episode on Abstinence.

https://www.youtube.com/watch?v=EDOGQ5A8M0w
Article mentions The Pictish Trail (@PictishTrail) but omits his recently launched record label run from Eigg - http://lostmap.com/about/

Disclaimer: He's a friend and former bandmate from uni. His music is awesome.
I guess you refer to "1. What is Ukraine? Ukraine – not "the Ukraine."

Whoever got stuck there will miss the rest of the article which is quite good. If you actually got stuck there, please avoid claiming what others are.

Disclaimer: not an American.
Is Apple about to kill iPod?
Magnus Brading on Phantom Protocol (DEFCON16 video)
One benefit of this is Nokia could potentially acquire the successful ventures - once Microsoft is out of the picture and they're allowed to return to the smartphone business.
Thanks! Feel free to use the comment. :)
They're a parody of ads promoting abstinence from sex (probably targeted at high school aged kids). It looks like a typical US campaign. I couldn't find the original ads, so I can't answer your last question.
I agree. But, that said, I don't know that "people who are active on Twitter" and "people who are up on the latest trends" are always connected (which is what was implied).
Seems stupid to me; why are they wasting PCBs - can you recover any data from anywhere other than the platters?

Surely one very powerful magnet would render it useless anyway?
Very good article. Posted my response here: http://swombat.com/2014/1/31/let-me-know-if-i-can-help
I'd love to see all the fallacies reframed as "persuasion tactics".
Works for internal "clients" too. Proposing a couple of solutions is almost always better than asking someone else to do so.
I can comment!

I'm not very familiar with Android Annotations, but they seem to be primarily a way to shuffle some processing to a background thread. All those methods return `void`, so if that method wants to return some results (or failures) to the caller, it needs to find some other mechanism to do so. It's not impossible, but it's bound to be more inconvenient than a plain old return value.

A common solution is to return what Trickle calls a `ListenableFuture`. The method can do any amount of async processing (on a background thread, or using async I/O, or whatever) and eventually will 'populate' that future with a value. You can test if that value has been set at any time, or add a callback to be called when the future completes / fails.

The problem with that solution comes when you're dealing with multiple APIs, and need the results of some as inputs to others. (This is commonly known as 'callback hell'.) Trickle's solution to this is to make you define the information-flow graph explicitly, and it does all the shuttling-of-intermediate-results around for you. It seems like an improvement, but I much prefer the RxJava / Akka approach to this, since the types are checked and error handling is more explicit and convenient.
The point of the n is that you specify the maximum length that it's allowed to copy. It's slightly harder to mess that up than with regular strcpy.
U.S. Government secretly sprayed radioactive particles on U.S. Citizens
Another way to look at it is seeding the ecosystem to create new markets over the long term. Nokia knows about pivoting. Before they made phones, they made rubber boots!
I've created a similar project that uses jasmine and formats the test cases into general purpose flows.

The motivation is to economically (both in test suite run time and development time) test the system's many edge cases, including race conditions.

https://github.com/btakita/jasmine-flow

It's only dependency is jasmine. I use it with jsdom, so I can test all > 95% client's edge cases in a reasonable amount of time and confidence of the software working. This allows me to run the entire test suite before commits on mature projects.
A Hug for Amazon
I think we are all aware of what they wanted to achieve, but some are afraid to say it.
The Boston startup community can do more – Boston.com
But it is tougher when one side expects to be able to get away with anything, and so often sees no downside in acting like total dicks.

I'm from Norway, and I was shocked when I moved to the UK where typical notice periods is only one month. In Norway it is extremely hard to write a contract that will hold up that limits notice periods for full time non-seasonal workers to less than 3 months.

Most of the time people work out a 3 month notice period. And in fact, except in special circumstances, we generally have the right (and duty, if we want to continue to get paid through our notice period) to keep showing up for work and doing our job.

In practice, most people who are offered/asked nicely to stop coming in to work earlier will come to a suitable arrangement, but it is not very common.
You are looking for this: http://en.wikipedia.org/wiki/The_Art_of_Being_Right
-ansi and -pedantic often produce a lot of useless output unless your goal is to really target C89.

-Wall is enough to catch most relevant things, throw in -Wextra if you want overkill, not -ansi -pedantic.
Promising project but the New relic comparison is misguided. New Relic does have server monitoring but it's core strength is in application layer with agents for java, ruby, .net, python, php applications.
Agreed, which is why I don't do it or recommend it. I had a client look in to it once, and it was a toss up between renting dedicated servers vs reserved instances, and they went dedicated.
> It's a shame that the default choice of GCC flags make this compiler pretty much useless for work.

I disagree (not "strongly" because your clarification in the next paragraph). That's only true if you don't know what are you doing.

That said, I am a big fan of gcc's -Wall since the late 90s, and I can tell you gcc has improved a lot since then.
I don't care. I want my space rocket and electric car!
> Node is a general purpose language that can be used for all kinds of things.

Node is a library that can be used for all kinds of things. FTFY
Sorry, but those are terrible examples. If your processes keep crashing, you should find and fix the underlying problem, or if you're forced to use unstable software, rely on something like upstart or daemontools to keep it running. And if your apache logs regularly fill your disk, add them to logrotate.
Appreciate the clarification. The advice sounds much more sane that way. It sounds like a terribly confusing way to put it, but maybe it's better in context.
Adblock Plus Payday – $ 30 million from Amazon, Ebay, Google and Yahoo
Not a C guy. Why are these functions unsafe?
It's important to really know what those fallacies look like, though. Just insulting someone isn't an ad hominem, and just using emotionally charged language isn't necessarily an argument that's relying on an appeal to emotion.

And if you're going to call someone out on a fallacy, don't throw it down like a trump card. SHOW how their argument is fallacious.
I think even the most skilled programmer can benefit from making their code pass -Wall completely, even if just for the sake of sharing with other developers (but we all make mistakes and it'll likely catch some of those too!).
Sorry about the examples, the general idea is that you can execute a command on the server when there are alerts for a specific problem. Upstart and daemontools can't keep your processes running. For this specific task there are tools like Monit, God, Puppet to some extend
Have you joined/visited http://datatau.com? Fun HN-style community site.
Very good analysis. I'm curious if this was a "blind" study. I.e., did you randomly assign the leads into group A and group B?
You can go further and specify a particular standard, plus extra warnings not included in -Wall:

gcc -std=c99 -Wall -Wextra -Werror

I'm not sure if -pedantic is still beneficial in that case. The gcc documentation had a list of every warning category, and which parameters enable each warning. This SO question was also interesting: http://stackoverflow.com/questions/11714827/how-to-turn-on-l...
One other interesting fact about Ukraine: their national hero (http://en.wikipedia.org/wiki/Taras_Shevchenko) is a poet.
Even when you do have a good reason to ignore them, you should still either disable that specific type of warning or, better yet, disable that specific warning for that specific spot in code using gcc's diagnostic pragmas [1].

[1] http://gcc.gnu.org/onlinedocs/gcc-4.3.3/gcc/Diagnostic-Pragm...
I'm not at all saying that LibreOffice should copy Microsoft. I'm not fond of the ribbon, and I've never heard of anyone who likes it.

Modern design does not require following any one company's lead, but it DOES require innovation. LibreOffice's UI does not innovate.
The migrations project was a re-write, not an integration with South. Common misconception, but the new migrations implementation is actually better than South's.
A bit offtopic, but I'm wondering if you pay a referral fee? I can never figure out if it's worth doing or not? Any insight on that?
It's not "older", it's "Republican". There are still states that predominantly teach abstinence (looking at you, Texas, https://www.dshs.state.tx.us/abstain/), and any mention of contraceptives as both a means to reduce the risks of pregnancy, and of STDs, are mostly at the teacher's discretion, rather than a mandatory part of the course work.
Perhaps a better example would be automating a previously manual failover, i.e. if a service becomes unavailable on one machine, start it on the warm standby. Or in EC2, terminate an instance and start a new one.
He said he was unimpressed by east London's multiracial neighbourhoods, telling one British user of the forum: "It's where all of your Muslims live. I didn't want to get out of the car."

Is this quote verifiable? If so, it's certainly changed my perception of the guy.