skysight-inc/HackerNews huggingface dataset:
25000 (!!) allocations are made for every keystroke in the Omnibox.

The Omnibox is no doubt far more complex than simple text box since entering characters into it can invoke things like network connections (for search suggestions), but 25k allocs is still a bit on the excessive side.

Strings are an interesting case in that in general they are of indeterminate (and variable) length, which makes them somewhat difficult to accommodate in computer memory which is finite and allocated in fixed-length pieces. Abstractions like std::string have been created to make it simpler and easier to perform operations like appending, resizing, copying, and concenating, but I think this is part of the problem: by making these operations so easy and simple for the programmer, they're more inclined to overuse them instead of asking questions like "do I really need to create a copy just to modify one character? do I really need to append to this string? how long can it be?" Essentially, the abstraction encourages ignorance of the real nature of the actual operations, leading to more inefficient code. It only helps the programmer to perform these tedious operations more easily, and doesn't help at all with the decision of whether such tedious operations should be needed at all, which I think is more important; the first question when designing shouldn't be "what abstractions should I use to do X?", but "do I really need to do X, or is there are simpler way that doesn't need to?" The most efficient way to do something is to not do it at all.

Contrast this with a language like C, in which string operations are (unless the programmer writes or uses a library) far more explicit, and the programmer can be more aware of what his/her code is actually doing. That's why I believe every programmer who has to deal with strings should have at one point been exposed to implementing a resizable string buffer and/or length-delimited string library, to see the real nature of the problem (including how to do length management correctly.) Without this basic, low-level understanding of how to use memory, the advantages of all the other fancy string abstractions won't make much sense either.
I'm 52, married w/ teenage kids so I personally don't have a horse in this "race".

From what I can tell from listening to my kids, girls seem to own their sexuality more than they did when I was a kid. That changes things but I'm not seeing the sort of changes in that article.

I'll admit that as I read that article the idea that "these guys have no game" crossed my mind but I really don't know, I'm not out there dating.

Do people really believe that article? Is fluxquanta's choice a common one? If so, that's a bummer. Porn is fine and all but the love of a partner is an entirely different thing.

I have to wonder if we're talking about a section of society that has a tough time interacting with women (and understandably tough time, women are complicated). Seems like the marriage rate would be going down if this article is correct. Anyone have stats on that? OK, I googled and read for a while and while marriage rates are going down, the sense I got was it was mostly about economics, women aren't that excited about marrying broke people. It appears like the rate amongst upper middle class people is pretty stable.
If you care about performance a lot, it may well be that most of your critical paths are in numeric code, and strings are only used to read input and write output. So you should just use strings unless profiling shows problems there.
If you demand any information that opposes your existing opinions to be spoon-fed to you, but blindly accept things that you agree with, you're just covering your ears in a different sort of way rather than being truly open-minded.

I've found this information in two google searches and integrating information from three results available on the first page of results. Google filter-bubbles, so your results might be different. But probably not impossible.

Notice also that you were factually wrong about whether or not this equipment was free. Are you going to go through your mind, search for all the conclusions you made based on that incorrect assumption, and propagate that belief? Or are you going to squelch it with an excuse?

Don't hide behind the rhetoric of rational thought by requesting "strong evidence for strong claims" when you're disagreed with. It outs you as a hypocrite.
And another, Pale Moon: http://www.palemoon.org/
It's always a matter of the type of content you distribute and the reach you have.

Take for example Anwar al-Awlaki. He was a US citizen and his content was extremist religious views that he distributed via Internet. Without a trial or conviction he was killed by a drone strike for that, as was his 16 year old son in a second drone strike.

http://en.wikipedia.org/wiki/Anwar_al-Awlaki
Variable Types in Swift for Objective-C Developers
This has happened to me in the past when I was wearing my project manager hat. From my perspective it felt like I was negotiating with extremely apathetic individuals (not saying you are like that; this was just my experience with these people). I would make a request and the response was usually something like, "that is so simple...here are the instructions." It would have been a huge pain to convince the other parties that the business purpose of my inquiry was on solid ground. I would have to explain that I was trying to tie up a minuscule patch in a larger gantt chart, the nature of project management, the way I was looking to build long-term relationships (usually completely under-appreciated), etc.

In one case I offered to pay a premium to a developer for his domain expertise, only for him to loop around and use our project discussions as an evangelism platform for his software of choice. Almost every one of his replies started with "No problem," had the software name in the middle, and ended with "makes this extremely simple." At the end of the project he gave me a gigantic discount because I was now "part of the community." Needless to say, I found the didactic nature of his communications extremely difficult and we never worked together after that.

Back in development mode (as opposed to project management mode) I can understand what was happening. I've landed new clients because they noticed my community contributions and saw that I was geographically close to them. And whenever someone says, "we just don't have time to do this ourselves" I can now offer 100% of my empathy. Still, I'm surrounded by community members who type up massive tutorials within an hour, or build a completed demo project that does 80% of what the requester needs, and then disappear when the requester asks for just a bit more, or heaven forbid, offers money.
Problem with that situation was that the Joyent guy was commenting on Noordhuis, an employee of a direct competitor to Joyent. So to many it came off as political opportunism to screw with Strongloop and not a sincere evaluation of the situation.
Great tutorial, Dan! Since it sounds like you are planning to continue the series, I have a few thoughts on potential directions to go with it.

First, a link to Doug Lea's classic malloc page might be a good addition to the resources section. His dlmalloc() is the basis for GCC's current ptmalloc. His code is wonderfully clear and commented, both for the implementation and the rationale behind it: http://g.oswego.edu/dl/html/malloc.html

Second, I wonder if it would make sense to jump straight to using mmap() instead of the classic brk()/sbrk(). I think it's no more complicated, has more uses elsewhere, is conceptually more portable, and allows multiple arena's to be added in a straightforward way. Are there advantages I'm not seeing to sticking to the ancient ways?

Last, on the debugging side, I think you might want to start with an introduction to Valgrind rather than gdb. It's a much easier learning curve, and even for an expert it's often the better tool for the memory allocation type bugs that are going to be most common here. Alternatively (or additionally) some examples of the more modern Address Sanitizer that's now in GCC and CLang would be slick: https://code.google.com/p/address-sanitizer/wiki/AddressSani...
It's a good thing Chris Hughes likes to break things, because he's irreparably broken The New Republic.

The people who read TNR (myself included) do so specifically because it's been a bastion of traditional journalism, and moreover we read it for specific writers & contributing editors, and since they've all resigned now, TNR is dead.

Outside of a very small sliver of the population nobody's ever even heard of the The New Republic — it's not a brand name that Hughes can gut and remodel. The New Republic is not a brand that anyone cares about; we cared about the content, the writers and the editors.

I can see no way for TNR to carry on as a viable operation. As a TNR reader for more than 30 years, it makes me rather sad.

This is all so stupid and sad.
Are you sure that isn't backwards?
You assume that the group that did attend community college is the same as the group that did not. This seems, to me, questionable. After all at least those who attempt to get a college education think it is worth the work, which is likely to cause them to reoffend, no?

Ignoring that, how about the effect that if you get caught for your crime you get a free college education? Wouldn't that remove some of the downside of a life of crime.
Yes, I could do that.

What I can no longer do is come out revenue neutral if I generate exactly the same number of kwH that I consume in a 12 month period.
I see. They put that restriction in another agreement here:

https://developer.apple.com/programs/ios/information/iOS_Pro...

And hooked it from the SDK agreement with this:

-----------

2.2 <...> You understand and agree that Applications developed using these SDK materials cannot be
installed or used on an iOS Product or submitted to the App Store unless You enter into a separate iOS Developer Program Agreement with Apple and comply with the Program
Requirements. Information regarding the iOS Developer Program Agreement and the Program Requirements is available within the iOS Developer Program website at http://developer.apple.com/programs/ios/information/index.ht...

------------

And that brings almost all the same restrictions like before. It's marginally better since now actual building process is not declared illegal, but installation and running the result is. Which doesn't make any practical difference anyway.
For some more perspective. The layman should know that actually getting into Low Earth Orbit is BY FAR the most fuel-consuming burn of any rocket mission. Even on a mission to Mars, the most predominantly fuel-consuming burn will be to LEO.

Getting to the moon from LEO takes less than half the delta-v that it takes to get to LEO, and WAY less fuel (because by this time you've dropped so much weight getting to LEO)

So the real problem will always be the stupidly inefficient method by which we conduct space flight. We send all of our supplies out of an enormous gravity well with a thick atmosphere.

Imagine what we could build if we already had everything in space for us already.

The only way we'll be able to become truly space-fairing is if we either become an astroid-mining civilization, or if we build something that lets us virtually ignore Earth's gravity well, like a space elevator.
There hasn't been any official word, as far as I know, but the rumor has been that the pad abort originally intended for November might happen in January sometime.
Depending on how much diversity you need, your neighborhood could add an on-site natural gas or propane generator to the mix.

TL;DR You need to do the cost benefit on a case by case basis.
Chef Client 12.0.0 Released
How to use the SSH protocol with Go – part 1/2
Kerry Puts Brakes on CIA Torture Report
Robo-Wars: The regulation of robotic weapons
We should look at the bigger picture though, past our subjective preferences.

Lyft/Uber should be exciting from a business perspective to the HN community because it represents a business model that has been uniquely enabled by changes in the landscape. Ten years ago, this business wouldn't work, but the rise of the smartphone, and then GPS implicitly enabled this entire new segment. People, for better or worse, no longer need to be trained taxi drivers to drive people around the city because of smartphone GPS.

The more interesting conversation is about how this trend could have been anticipated.
May I ask, do you believe, that the Russians, Chinese, Israelis, etc. don't already know all this, already?
Great, now apparently Renly^H^H^H^H^H Robb Truthers are a thing.

(Edited because I'm an idiot)
The Science of Suffering
From the article:
"Mozilla did a study of various lossy compressed image formats. HEVC (hence BPG) was a clear winner by a wide margin. BPG files are actually a little smaller than raw HEVC files because the BPG header is smaller than the corresponding HEVC header." This study includes WebP.
You want "oh", "pancake", "plaque-fly" or "fuck".

Always interesting to see how cursing translates to other languages. Or other phrases for good/bad. 牛逼 is literally "cow cunt," but people use it to mean "great." That was very strange to me until I realized that "bad ass motherfucker" literally meant "an incestuous incompetent donkey."

Is learning how to swear properly in various languages a valid hobby? It seems like a fun one.
Not the original poster here, but I've got 5kW on my roof and it can often out generate the house load but there are times when it cannot.

There are interesting "moments" when my house spikes in power usage. One is a combination of 'freezer compressor' + 'refridgerator compressor' + heater fan + oven + microwave. (I don't have whole house AC but do have it in one room). I'm getting better at monitoring individual circuits in my house to understand exactly where power goes.

Generally an 'average' day in Northern california my total usage for the day is 25kWh
I am sure there is a lot more to your story that you are not sharing here, and it would be interesting to hear how you got to this point. It might help us to better assess how to help you in the short term. As it is, I can only speak in generalities.

There is a level of insecurity to going it on your own that you need to embrace, to put it bluntly. Obviously if you quit your job and found office space then you have started down this path of embracing insecurity, but you haven't embraced it enough. You have thought of a few ideas and then knocked them all down because you are a sensible guy. You can see how they will fail, why your dream (which seems to be just "entrepreneurship", maybe) won't come to fruition, and how you will have to start over again, or whatnot. That's a tough spot, I have always started new ventures with my product idea in mind beforehand. But whether you come up with the product idea beforehand or in the middle of the process, you have to embrace the idea that you are likely going to hit hundreds of roadblocks and issues, and you will most likely fail. That's no big deal! That's part of the fun.

Another problem you seem to have is, despite the few ideas and potential revenue models, you aren't solving a problem you actually have. If you were, you wouldn't be worried about the potential problems with hypothetical development paths. You would be fixing a problem, a problem you have and understand, and one you need a solution to right now. Solving a problem you have also answers the question of how revolutionary your solution is. If you hate how the rest of the world distributes widgets, and you need widgets, and you come up with a better way to distribute widgets, is this not revolutionary? Maybe "widgets" in this case are men's shaving razor blades. I don't think that razor blades are all that interesting, and certainly aren't that revolutionary. But Michael Dubin had a problem, thought up a solution that was better than what everyone else was doing, and "revolutionized" the men's razor blade industry. In reality he made it easier to buy blades online; his model can be described on a cocktail napkin with room to spare. But he did something revolutionary. He seems pretty happy.

What problem do you have, regularly, that you hate? If you have no problems, what problem does your significant other have? Your best friend? Your dog? Your local municipality? Stop thinking about development paths and revenue models; those will come in time. Find something you can get behind and care about. Something where, when it doesn't work out, you won't care about how much money you didn't make, you'll only care that the problem isn't solved! The voice in your head that says "just take one of the ideas and execute on it, don't worry about the outcome" is totally right! But first, find an idea you care enough about that the outcome doesn't really matter.

On an unrelated tangent, think long and hard whether you want to learn an entirely new development ecosystem while you are trying to solve your problem. C# and .Net are good. So is Python. Do you want to build the solution to your problem, or do you want to learn a new language?
I bill weekly. Clients can book time in increments of one week. Each week costs a fixed amount, though I give clients a 10% discount for pre-payment in full, cleared in my bank account before work starts.

Snarky but true: implementing this was roughly as hard as reading a comment by tptacek about billing weekly, deciding that I bill weekly, and then telling all existing clients and future clients that I now bill weekly.
We could make it much cheaper, if we wanted to. Cages hold a man as well as cells made of bricks, prisoners can work whenever they are not sleeping and things like recreational facilities are just going be used for and by gangs.

We could make prisons much cheaper than they currently are just by choosing either rehabilitation or warehousing. Warehousing would be even cheaper - or maybe split the prisoners up by worth (essentially asking is this person a good person who did something bad, or a bad person) and then have two different criminal systems.
You're right, of course. But given how many people/counties/cities/etc just accept NEC recommendations, it's functionally equivalent for a huge portion of the US.
This is easily solved if the utilities get properly involved.

My utility has been pushing a thermostat that they provide at no cost and will even give you a bit of cash for installing. The reason is that this thermostat is hooked up to the utility through the internet and can be shut off by them during a spike or an emergency.

I just got new smart electric meters installed too.

If those meters were a little bit smarter, connected over the net, and had the ability to restrict flow ... they could easily install devices on a per house basis that would protect the grid. That would put the ball back in the homeowners court and the homeowner can implement a solution to shut off the panels when the utility isn't interested in purchasing power back.
Swift Boating in Modern Cryptography
There's only so much they can do about demand correlation. Electric stoves, for instance, are likely to be used at the same time by most households. That's one reason why really good batteries would be such a benefit.
TorqueBox 4 Alpha1 Released
> It seems to have a problem with handling more than 2.3K message insert/sec.

We've written to SQS at rates several times this using only 3 EC2 nodes without issue.

The only issue we have seen is occasional and sporadic latency issues reading from SQS which causes the queues to backup a bit but it generally clears within 30 minutes or so.
This works for simple DNS configurations, but gets a lot more complicated if you use DNS based load balancing, any kind of automated changes to DNS, DNSSEC, etc.

Also, I would absolutely make sure you have a way to keep records in sync. Updating the backup should be an automatic part of updating any records.
Very interesting market research. It makes sense that separate tools for logs, errors and monitoring, will reduce their efficiency
These friendship bracelets will teach girls to code
This is very true. Logistically (not technically) this wasn't an option - read: business decision. Before the days where everything had an API, and things were done with spreadsheets, and billing codes, and product codes, and typos... managing DNS for a large number of domains was not fun and rather expensive. Want to move a bunch of domains to a new IP address? $$$+Time + more time and money. We weren't able to trust our domain broker and had to double check EVERYTHING they did.

To you point, if you are a large provider, especially one that passively and actively sends a lot of money towards the search engines, there are some additional options at your disposal. We (the business units) had contacts with adsense etc, which would come in handy.
Google ($358B), Palantir($??), Apple ($676B), Facebook ($213B), can someone fill me in?
Nintendo Always Avoids Catastrophe. This Time Might Be Different
Negative vs. positive doesn't matter. What matters is that you isolate one of the battery terminals before doing further work. If you've got a single wire attached to the negative terminal and several attached to the positive, then the breaking the negative connection gets you the most safety in the least steps. If there's only one wire to each, it doesn't matter.
> Blaming the Iraq war for their dislike of us is about as silly as it gets, they didn't like us before.

Which Iraq war are you referring to? Iraq -- people and government -- was generally favorable to the US prior to the 1991 war. For generally diametrically opposed reasons between the government and large segments of the populace, that was significantly less true prior to the 2003 war (the government was anti-US for the US fighting the 1991 war, large segments of the populace that weren't favorable to the government were less pro-US than before the 1991 war because they felt betrayed by not being supported by the US in the aftermath of that war.) But certainly there were a whole new set of sources of anti-US sentiment resulting from the conduct of the 2003 war and, perhaps more importantly, the occupation after the defeat of Saddam's regime.
Cool. Any reason Amazon isn't on the list of providers?
>Can you expand on how you believe the US violated the Helsinki Accords?

1. a cornerstone of Helsinki is "fundamental freedoms, including the freedom of thought, conscience, religion or belief"

2. it is well established legal principle, incl. in US legal system, that mass surveillance violates such fundamental freedoms (by means of chilling effect in particular)

>>The Helsinki Accords, however, were not binding as they did not have treaty status.

There is also a binding treaty http://en.wikipedia.org/wiki/International_Bill_of_Human_Rig...

and "U.S. Finally Ratifies Human Rights Covenant"
http://www.cartercenter.org/news/documents/doc1369.html