ObjC equivalents to Swift solutions #1: Avoiding ObjC class name collisions - <AUTHOR> http://penandpapersoftware.com/blog/2017-04-14-objc-equivalents-to-swift-solutions-part-1-avoiding-class-name-collisions/ <comment><USER2> A few days ago I downloaded a third party iOS library, written in Obj-C. It was provided as part of a paid cloud API service. After integrating it, I was amazed (horrified?) to find that the whole library had been implemented without class prefixes. There were multiple collisions with Swift classes in my project.

Surprisingly the app still compiled, but tried to use the library class definitions instead of my own. I didn't end up using the library, or continuing with the API service.

<comment><AUTHOR> Really? That's not good. Well, as long as they're not using any kind of class- aware RPC, you can probably just add prefixes to all the classes yourself. Would take about 10 minutes using the Rename Class feature of Xcode, and it would be tedious, but it should work.

<comment><USER3> Such libraries are often closed source. Even if not, such a solution does not scale. Each update, you'd have to go through this hoop. Just vote with your wallet and do not use services that offer terrible SDK / API.

</comment></comment></comment><comment><USER4> Historically, one of the key dangers with using unprefixed names has been that future system updates _add_ new classes which collide. Testing at dev-time won't future-proof you very well.

<comment><USER5> Somewhat related:

In 2010 I implemented a UIView subclass for a simple stylized spinner. In the view controller that contained this spinner, I added two methods to start and stop the spinner. I called them `startSpinner` and `stopSpinner`. Our app was rejected for using "private APIs." Finding it ridiculous that Apple would use such a common signature internally without any prefixes and actually would check for it in _all_ third-party apps and _reject_ them, we relented and changed our method names.

In 2015, at a new job, in a new city and working on an entirely different project, I had to implement another UI spinner. Since I'm a creature of habit, I again named the methods for starting and stopping the spinner: `startSpinner` and `stopSpinner` respectively. This time the project I was working on was an SDK so _all_ of _our_ clients were being rejected for using a private API, named... "startSpinner" and "stopSpinner".

Software is hard.

<comment><USER6> >Software is hard.

More like Apple is extremely arbitrary and ham-handed with their APIs. Cocoa Touch is the most poorly designed framework I have ever dealt with in my programming career. Their insistence on keeping the libraries closed source is absolutely insane, and often leaves you needing to roll something completely custom just to change a color. The lack of a viable native alternative led me to abandon iOS development personally.

</comment></comment></comment><comment><USER7> It doesn't seem very forward thinking to start a _new app_ in whats essentially a deprecated language.

<comment><USER8> If you have people who know Objective-C, there's no gain in being "forward thinking" for its own sake. But if you're not playing with your own money, sure, why not spend extra development time to bring everyone up to speed on what Swift looks like this year - it won't make the app any better and will cost more, but improves the team's résumés.

<comment><USER3> Don't forget the next year, when Apple yet again breaks the language and you have to take all your large codebase and convert it to Swift (x+1).

<comment><USER9> There might be a handful of changes in the future but it won't be anything like 2 to 3. I imagine that the automatic converter will get most of them. Swift is open source so you'll know all changes well in advance.</comment></comment></comment></comment>


Apollo Mission diapers on the Moon and the potential origins of life on Earth - <AUTHOR> https://www.vox.com/science-and-health/2019/3/22/18236125/apollo-moon-poop-mars-science <comment><AUTHOR> > Yes, our brave astronauts took dumps on their way to the moon, perhaps even > on the moon, and they left behind their diapers in baggies, on humanity's > doorstep to the greater cosmos.

> The bags have lingered there, and no one knows what has become of them. Now > scientists want to go back, and answer a question that has profound > implications for our future explorations of Mars: Is anything alive in them?

[…]

> there's a tiny chance that natural selection might have kicked in inside > those jett bags, leading to the microorganisms evolving to survive. If there > were just a few microorganisms in the poop with the ability to survive the > moon, they could have grown and spread.</comment>


Ask HN: Can we still trust SHA-1 and SHA-2 created by NSA? - <AUTHOR> <comment><USER2> Yes (at least, as much as we could before; SHA1 in particular has been showing weaknesses). They are still the hash functions that have had the most attention from the academic community, and so far no workable attacks have been found.

</comment><comment><USER3> SHA-1 should be assumed to be broken in any case.

The Flame malware was distributed using a fake certificate that was generated via a brand new (publicly unknown) chosen prefix collision technique against SHA-1.

<comment><USER4> Flame used an MD5 collision.

<comment><USER3> The Microsoft certificate revokation list for Flame:

       Microsoft is providing an update for all supported releases of Microsoft Windows. The update revokes the trust of the following intermediate CA certificates:

       Microsoft Enforced Licensing Intermediate PCA (2 certificates)
       Microsoft Enforced Licensing Registration Authority CA (SHA1)

(from [http://technet.microsoft.com/en- us/security/advisory/2718704](http://technet.microsoft.com/en- us/security/advisory/2718704))

Two of the certs were MD5, the third was SHA1.

<comment><USER4> The hash collision exploited by Flame was in MD5, not SHA1.

</comment></comment></comment></comment><comment><USER5> These aren't closed algorithms. They are well understood and explored in-depth by the academic community.

</comment><comment><USER4> Yes, but you shouldn't anyways; SHA-2 is inferior to SHA-3.

SHA-3 is the product of a peer-reviewed cryptographic contest.

</comment><comment><USER6> Why not use Keccak/SHA-3 instead, it was developed in an open competition run by NIST with some NSA involvement.

[http://en.wikipedia.org/wiki/SHA-3](http://en.wikipedia.org/wiki/SHA-3)

</comment><comment><USER7> BCrypt is superior to the SHA family of hash algorithms.

That should be reason enough not to use SHA.

<comment><USER4> This is a non sequitur. BCrypt isn't an alternative to SHA hashes; it's a password storage construction.

</comment></comment><comment><USER8> As much as you could trust them 5 days ago.

While SHA-1 should not be trusted too much because it has shown possible theoretical attacks SHA-2 still holds. Also these kind of things are IP - there are a lot of eyeballs and scrutiny going on.

There is much bigger chance of fraked up implementation that will make it insecure than the theory - there are a lot of independent researchers that have scrutinized them quite a bit. And while I am sure NSA employs a lot of very capable people they do not hold monopoly on world class cryptographers.</comment>


Show HN: Simple, but powerful domain agnostic sentence (& word) embedding models - <AUTHOR> https://github.com/jwieting/charagram <comment><AUTHOR> This builds upon earlier work (which is included in other projects in the same account, complete with demo scripts.)

</comment><comment><USER2> Related paper: [https://arxiv.org/pdf/1607.02789v1.pdf](https://arxiv.org/pdf/1607.02789v1.pdf)</comment>


Fzf Integration with Zsh Completion - <AUTHOR> https://github.com/Aloxaf/fzf-tab <comment><AUTHOR> This is a very impressive integration of fzf's speedy fuzzy-match CLI, with zsh's completion menus for command line parameters:

[https://github.com/Aloxaf/fzf-tab](https://github.com/Aloxaf/fzf-tab)

[https://asciinema.org/a/293849](https://asciinema.org/a/293849)</comment>


The Meritocracy Trap - <AUTHOR> https://www.nytimes.com/2019/09/12/opinion/markovits-meritocracy.html <comment><USER2> Maybe my experience is totally unique, but when I hire someone who isn't fresh out of college, I only care about experience / interview skills / references. I give someone _bonus points_ if they come from a no-name school and still wind up at the top of their game. I've also noticed that the best entrepreneurs I've worked for have come from no-name schools.

It's almost like industries that are more focused on skills don't give a shit about what school you went to! It's always the capped jobs (law, medicine, accounting) that arbitrarily limit who can work in the industry that care most about prestige labels.

<comment><USER3> The elite is small. The companies engaging in practices like only hiring from Stanford CS, only hiring from Berkeley, and only hiring one ethnic group (!) from Stanford are engaging in self-limiting behaviour, as far as head count goes; but their command of capital is high.

<comment><USER4> Which companies are you talking about?

<comment><USER5> Can't speak for the parent comment, but for example back when I was in college doing recruiting, the big management consulting firms only recruited at and hired from specific schools (not mine).

</comment></comment></comment></comment><comment><USER6> This article conflates many different definitions of elite: top quintile (20%) is mentioned at one point; super-elite colleges (<1%) is mentioned at another point; and superstar performers are probably <0.1%. I'm not sure it's saying anything useful beyond just generally ranting about our obsession with prestige.

<comment><USER7> I'm likely a member of the top quintile but the gulf between people like me and the super elite at HYPSM seems absolutely massive - I wonder if it's an exponential difference at some point.

</comment></comment><comment><USER8> This is a weird conflating of tech companies and universities. At the beginning:

 _Exclusive meritocracy exists at the super-elite universities and at the industries that draw the bulk of their employees from them — Wall Street, Big Law, medicine and tech._

Okay, I can believe that both tech companies and universities have an "exclusive meritocracy" attitude. But later:

 _In the exclusive meritocracy, prestige is defined by how many people you can reject._

No, that doesn't sound right at all. Nobody cares what percent of applicants Amazon or Google rejects. They get a lot more prestige from their market cap, and from the huge amount of people using their products.

<comment><USER9> > In the exclusive meritocracy, prestige is defined by how many people you can > reject.

This is borderline doublespeak. Is not about how many you reject, Its about finding the best. Obviously you will have to reject the not-best, for that particular task.

The way this is phrased reveals it as an obvious and clumsy attempt at social engineering.

Edit: The best is defined as the optimum person to complete the required task. The "best" is found by measuring his aptitude (tests, etc.).

<comment><USER10> How is "the best" defined? Who defines who is "the best"?

How do we know that hiring "the best" is a valid concept to begin with if it's quite arbitrarily defined?

I think there is more behind those two words than you are willing to admit. Appealing to hiring only "the best" appeals to our common sense, appeals to simplicity, a simplicity that simply does not exist at all. There is more to it than it just being "the best".

And I'm not talking about out there conspiracies and evil intent. I do not think that plays any meaningful role, and it does not have to for "the best" being more complex than you think.

<comment><USER9> > There is more to it than it just being "the best".

No, there is no more to it. It's a trivial concept. If you think otherwise, then explain.

<comment><USER10> How do you know/measure who is the best and what justifications do you have for doing it that way?

You(and probably everyone else) have an intuitive understanding of what being the best means and that's alright, but it's important to question our underlying assumptions.

</comment></comment></comment></comment></comment><comment><USER3> _Similarly, last week I was in Wichita to observe the Kansas Leadership Center. The center teaches people how to create social change and hopes to saturate the state with better leaders. But the center doesn't focus on traditional "leaders." Its mantra is: "Leadership is an activity, not a position. Anyone can lead, anytime, anywhere." The atmosphere is one of radical inclusion. The enrollees I met included business leaders, teachers, line workers and people with intellectual and developmental disabilities._

Radical inclusion may not be the right away to describe this. It makes it sound like a new idea.

</comment><comment><USER11> > Parents in the exclusive meritocracy raise their kids to be fit fighters > within it. Markovits calculates how much affluent parents invest on their > kids' human capital, over and above what middle-class parents can afford to > invest. He concludes that affluent parents invest $10 million more per > child.

$10M investment per child? How is that possible? Even top boarding schools and private US universities would not add up to that amount. You could hire several teachers full time for your kid and it wouldn't get that high.

<comment><USER12> Private school tuition, starting with preschool at $15k/yr x 2 yrs, elementary at $25k x 7 years, middle & high school at $60k x 6 years, 13 years of "enrichment" at $9k/yr, and undergrad and graduate school at $90k/yr for 4-11 years.

<comment><USER11> Doesn't add up to 10M. Or is that your point?

<comment><USER12> Just quoting the reference from the book.

</comment></comment></comment></comment><comment><USER13> The university I attend is considered moderately competitive (~35% acceptance rate). Each year since the year I was admitted it has only gotten more difficult to receive automatic admission (top percentile students). The highly coveted classes at this university are reserved for students that require the course in order to graduate on time, because the demand is generally much higher than the supply of professors to fulfill that demand. This means you cannot take relevant courses across departments. I get the impression that these "elite" universities are busting at the seams and can barely cater to the influx of students they are receiving each year.

<comment> throway- Does it happen to be a certain school in Canada? Or California?

<comment><USER13> Texas

</comment></comment></comment><comment><USER14> There's a small elite that is born into wealth, good education and access to more wealth that feels entitled to this wealth. And there's a large growing underclass of people that mostly can only dream about any of that no matter how hard they work.

That's not a meritocracy but feudalism.

<comment><USER9> >That's not a meritocracy but feudalism.

Exactly, there isn't any merit about being born with wealth. They are bending the meaning of the word Meritocracy.

Often, the wealthy can get better trained and have more time and resources and they end up being the best candidate for some projects, product of the advantage they had.

This doesn't negate the fact that they are still the best and if you want to get shit done right, you have to hire them. Anything else is charity.

<comment><USER7> Honestly that idea sounds absolutely un-American to me. Those with "merit" design the systems that define "merit" to benefit themselves.

This should not occur in a society uniquely positioned as one that emphasizes social and class mobility.

<comment><USER15> Given parents' instincts and vested interest to support their children in any way they can, it's inevitable. The only solution I can see is keep improving access to education and stable home lives for the others to ensure they don't fall further and further behind

</comment></comment></comment></comment><comment><USER16> When only the top n% are allowed to "win" a seat at the table that comes with the implicit assumption that there isn't enough to go around. That might be ok when you "win" a fancier car or nicer clothes, not when you "win" the right to child care and medicine. And yet here we are.

</comment><comment><USER17> One thing I've noticed in a lot of schools abroad, including US, is that one can apply for as many schools as you please. Where I live, you can only apply for 5 schools / programs, and that's it.

I feel that with unlimited applications, you heavily inflate the rejection rate - anyone can apply to Harvard just for the sake of it, even though it's completely unrealistic.

For schools, it's a great PR tool - as rejection rate is directly tied to the elite and prestige of a school; But only in context, of course.

Many cashier jobs get something like 10 times more applicants pr position than the most prestigious college spots or professional jobs, but you rarely hear anything about that.

In fact, when I studied at a top university, they were conducting a internal study on whether good math grades from HS worked as a good predictor of success in college - and there turned out to be a relationship. Later on, one proposal was to put more weight on specific grades like that, and then be more lax on overall GPA - but this was quickly shot down because the "perceived prestige" of said school could get hurt, if employers learned that future students with lower overall GPA would get admitted, even though they had stellar grades in the classes that mattered most.

But with that said, I can understand why prestigious companies want to hire people from top schools and with top grades: It signals that the students are willing to do anything for success, and are willing to work around the clock to achieve something. After all, many have been doing this since they were teenagers.

If you look at consulting, banking, law, etc. junior programs are basically set up so that the workers will forego their private lives, and work 100 hour weeks if needed. And they will do that, if you also entice them with a nice bonus and attractive exit prospects.

Almost every investment banking analyst I've ever known, went into the analyst program because of exit options (good business school, hedge funds and private equity firms, etc.) .

</comment><comment><USER18> Summarised conversation I had with my interviewer during a FAANG interview:

Me: So why do you work for FAANG company X? Interviewer: Mainly so that other companies will take me seriously when I'm looking for my next gig

I appreciated the honesty, but disappointed that this was the honest response

</comment><comment><USER9> The optimum way to complete an activity or project is to hire the most skilled people to do it. It's a simple fact, very easy to prove.

Media is spending a suspiciously big amount of money to try to disprove this very simple fact.

<comment><USER19> The problem is how to measure that skill. For example, I've known very skilled individuals who switched over to my industry later in life. They neither had past experience, nor strong technical abilities when I first met them. But what they did bring to the table was the ability to learn quickly, and after investing in them, they were capable of delivering fantastic results. Furthermore, even early on, they brought their experiences from other industries with them, breaking up the group think that would have formed without them.

Some companies believe the most skilled people are the ones who have demonstrated certain technical abilities. Under this form of meritocracy, the companies delude themselves into thinking they've hired the most skilled people, but they haven't.

The inclusive meritocracy in the article solves that problem by expanding the definition of skilled, and by investing in a more diverse group of individuals. This results in more (in number) skilled people at the end of the investment.

<comment><USER9> >The problem is how to measure that skill.

Then it's a testing/measurement problem, not a meritocracy problem.

> The inclusive meritocracy in the article solves that problem by expanding > the definition of skilled, and by investing in a more diverse group of > individuals. This results in more (in number) skilled people at the end of > the investment.

There is no problem to solve. If you don't choose the best, you choose sub- optimal personal. Also the definition of "inclusiveness" is ridiculous, as it assumes that diversity means hiring different sex or race, but not diversity of thoughts or culture.

In fact, it opposes different ideas, it's exactly the inverse of diversity. It's a thought monoculture.

<comment><USER20> It IS a meritocracy problem. If you are unable to measure who has the most merit, if you're not concerned with this problem, how can you possibly be having a meritocracy?

Connections and the ability to play politics seem to be much more important for getting to the top. Current systems, managers, etc., are just not setup to evaluate skill from what I've seen, you have to sell yourself, which means "ability to sell yourself" is how the system is stratified, and that's not merit.

So when you say "the best", often what you get is "best at selling self", which is not actually the best.

<comment><USER9> >So when you say "the best", often what you get is "best at selling self"

Then the test is wrong. Not meritocracy.

</comment></comment></comment></comment></comment><comment><USER12> Though the concept doesn't seem to appear in Markovits's book, in his LSE lecture this past May, he introduces (at about 50 minutes) the distinction between "law takers" and "law makers". This creates an interesting parallel between _monopolists_ and _political influence_.

In economics, in a competitive market, both buyers and sellers are _price takers_. That is, the market sets the price, and buyers and sellers simply determine their spending (or selling) decisions based on this. In a _monopoly_ market (or monopsony), the monopolist _is a price maker_. Total quantity is still determined by the market, but the monopoly seller or monopsony buyer can choose the price _which maximises their profits_. (Basic market theory, BTW, but probably not widely known outside econ majors.) There is a specific dynamic to this, and the power isn't unlimited, but it's a fundamental difference between competitive, and monopolistic / ologopolistic markets.

On to law:

The poor, the proletariat, the masses, all but the non-elites and major corporations, are _law takers_. The law, the rule of law, is a given. It may be contested in court, but that's about the limit of it. The wealthy, the elite, are _law makers_. Elite interests can, and do, specifically influence law, legislators, executives, even courts and law enforcement, to an extent. Rather than accepting law as a given, it becomes fungible. Also to an extent within courts, where the wealthy can bring to bear vastly more legal talent (much of it aimed at process complication, that is, increasing costs of prosecution or civil suits), but very much in the case of policy and legislation.

As mentioned, the idea turnes up 50 minutes into Daniel Markovits's LSE lecture. This is based on _The Meritocracy Gap_ , though that doesn't seem to include the concept itself.

As Markovits says, the wealthy can change the rules which make it easier for them to both gain and hold wealth, in ways the non-wealthy cannot.

The Meritocracy Trap [Audio]. LSE: Public lectures and events

Duration: 1:31:17

Published: Wed, 8 May 2019 18:30:00 GMT

Episode: [http://www.lse.ac.uk/newsAndMedia/videoAndAudio/channels/pub...](http://www.lse.ac.uk/newsAndMedia/videoAndAudio/channels/publicLecturesAndEvents/player.aspx?id=4685)

Media: [https://media.rawvoice.com/lse_publiclecturesandevents/richm...](https://media.rawvoice.com/lse_publiclecturesandevents/richmedia.lse.ac.uk/publiclecturesandevents/20190508_1830_theMeritocracyTrap.mp3) (MP3)

There's a book with a similar title, though I've yet to look at it in depth. Based on related web searches, the term seems to come into currency about 2010-2011, so timing seems about right.

 _Non-State Actor Dynamics in International Law: From Law-Takers to Law- Makers_ , by Cedric Ryngaert (2010)

[https://www.taylorfrancis.com/books/e/9781315598475](https://www.taylorfrancis.com/books/e/9781315598475)

</comment><comment><USER21> tl;dr David Brooks is all about Arizona State University.

"Everything is on a mass scale. A.S.U.'s honors college alone is bigger than Stanford's entire undergraduate enrollment. It graduates more Jews than Brandeis and more Muslims than Jews."

<comment><USER22> David Brooks is not a good writer, yet he has a column in the NYT. Meritocracy. The end.</comment></comment>


How We Learn (Is it the same for you?) - <AUTHOR> http://members.shaw.ca/priscillatheroux/Glasser.htm <comment><USER2> I agree with the ordering, roughly, but these numbers are complete bullshit.

<comment><USER3> Why does that bother you so much? Most people (89.4%) expect and accept that 73.8% of all statistics are made up on the spot.

(I think all their percentages are too high.)

</comment></comment><comment><USER4> and 99% of what we program (from GJS or Knuth or someone like that)

link: <http://www.oopsla.org/2005/ShowEvent.do?id=403>

this google video is also cool: [http://video.google.com/videoplay?docid=-2726904509434151616&q;=gerald+sussman](http://video.google.com/videoplay?docid=-2726904509434151616&q=gerald+sussman)

anyone have any sussman stories they'll like to share?

<comment><USER5> "and 99% of what we program"

That seems consistent w/the "95% of what we teach" number. As Douglas Adams wrote, a computer "...was, on the other hand, very good at being a slow and dim-witted pupil. ... And the more slow, and dim-witted the pupil, the more you have to break things down into more and more simple ideas. And that's really the essence of programming."

</comment></comment><comment><USER6> Here is then the ultimate learning method: Read something, then hear an audiobook version of it, make sure to look at the illustrations, then discuss it with others in a personalized environment, teaching to anyone who doesn't understand.

The result: 10+50+80+95 = 235 percent learning. Great!

</comment><comment><USER7> I'm an auditory learner. I prefer to read at a conversational pace while _hearing_ the words in my head. In an academic setting, I learn much more from listening than by note-taking. I go into some sort of zen-like state when taking notes that I don't get into while just listening. It's like my ears tell my hand what to write without my brain processing the information. If I put my pen down and listen (and participate when appropriate), I retain a high percentage and usually don't need to study later. I wish I knew this sooner about myself. It would have saved a lot of wasted effort.

</comment><comment><USER8> You don't really know how well you know something until you try to explain it to someone. This is why at my startup we require that:

1) At least once a week you explain something you've learned in the past week to everyone else

2) To keep an internal/external blog/wiki going. Blogging/Wiki editing forces you to put your thoughts down on 'paper' and you can distill a lot of your ideas this way.

</comment><comment><USER9> I would agree that teaching someone else is the best way to learn. The reason why is because when you teach someone else you are forced to understand how something works.

Learning why 2 + 2 = 4 is true is much more important than memorizing the multiplication table. Never been a big fan of rote learning for that reason.

<comment><USER10> I learned the most as an undergrad when TAing CS classes (a benefit of brown is the undergrad TA program). Not only do you learn the material at a deeper level, you have an opportunity to teach at that deeper level too.

There's nothing more satisfying than explaining something to someone and seeing the "aha!" moment.

</comment></comment><comment><USER11> Maybe, but I can read 10X faster than I can produce material to teach it.</comment>


Compute Engine Preemptible VMs Are Now Generally Available - <AUTHOR> http://googlecloudplatform.blogspot.com/2015/09/Compute-Engine-Preemptible-VMs-now-generally-available.html <comment><USER2> TL/DR - Preemptible VMs are the same as regular instances except for one key difference - they may be shut down at any time [1, 2, 3]. Similar to early AWS spot instances from what I gather (minus the bidding exchange).

[1] [http://googlecloudplatform.blogspot.ca/2015/05/Introducing-P...](http://googlecloudplatform.blogspot.ca/2015/05/Introducing- Preemptible-VMs-a-new-class-of-compute-available-at-70-off-standard- pricing.html)

[2] [https://cloud.google.com/compute/docs/instances/preemptible](https://cloud.google.com/compute/docs/instances/preemptible)

[3] [https://news.ycombinator.com/item?id=9564122](https://news.ycombinator.com/item?id=9564122)

<comment><AUTHOR> And of course we give you a 70% discount ;).

Disclaimer: I worked on Preemptible VMs.

<comment><USER3> I love Google Cloud except for Google Cloud Storage request pricing.

Cloud Storage considers retrieving an object through its HTTP url is considered a class B XML request type which is priced at $0.01/10,000 ops. This is 1.3x-2.5x more expensive than cloudfront and s3 respectively

Can you get somone who works on Cloud Storage to take a look at the pricing please? :) It seems like an anomaly since Google Cloud is usually at par or cheaper than AWS equivalents.

Also, the pricing on this page [https://cloud.google.com/storage/pricing#operations- pricing](https://cloud.google.com/storage/pricing#operations-pricing) specifies only XML API pricing. I didn't expect HTTP GET requests to be counted as XML API requests and that caused me some trouble. We moved from cloudfront to Cloud Storage and the bill increased

<comment><AUTHOR> Sorry for the confusion; I'll file a docs bug to make it clear that direct web serving of GCS buckets triggers class B get requests.

The pricing difference has been a long battle...

</comment></comment></comment></comment><comment><USER4> I love Google Compute Engine. On projects where we've been offered significant Azure credits, I strongly recommend to still use GCE. It's fast, it's cheap, and the management UI is simple and makes sense. Oh and their networking is great (fast and reliable).

<comment><AUTHOR> Glad to hear it!

For those that are curious we have a $300 free trial for 60 days, as well as a $100,000 startups program for those that qualify ([https://cloud.google.com/developers/startups/](https://cloud.google.com/developers/startups/))

</comment></comment><comment><USER5> Pretty reasonable pricing in return for the preemptible nature. Dividing the numbers on the pricing page [1]: If you use them as a replacement for occasional (full-price) instances, it's a 70% discount across the board. If you use them as a replacement for mostly-on instances that would qualify for the sustained-usage discount, it's a 57% discount on top of that. So for example an always-on n1-standard-1 goes from about $25/mo to $11/mo. That ends up actually being cheaper than an equivalent DigitalOcean server, if your workload is ok with being preempted.

[1] [https://cloud.google.com/compute/#pricing](https://cloud.google.com/compute/#pricing)

<comment><AUTHOR> I personally prefer to think of the 1 to 1.75 cents per core-hour as being competitive with "roll your own": if you're thinking about building out more servers or using preemptible, I think preemptible comes out ahead a lot.

The distinction though is that these are from our spare capacity, so it's not a replacement for a 24x7 anything (whether that's our regular VMs or a DO droplet). But if you're prepared for disruptions, come and play!

<comment><USER5> That's a good point, and sort of what I was using the monthly rate to eyeball. I think in (amortized) monthly costs for other ways of provisioning bulk computation, e.g. owning+powering your own hardware, renting a dedicated server, or VPSs. Not really equivalent, since those are better options if 24/7 uptime is needed, while a physically owned server or rented dedicated server are poorly priced when only occasional usage is needed. But I have a feel for what bulk compute currently costs me per-month with full utilization, as a starting point for comparing other options.

</comment></comment></comment><comment><USER6> The documentation says that you get 30 seconds warning before your VM is forcibly terminated. Does anyone know if that's enough time to spin up a new instance to take over from the one being preempted? I haven't messed with GCE much, so I don't know what the typical startup latency is.

<comment><AUTHOR> That's just about our median time to "create to ssh". I wouldn't encourage betting on being able to spin up a replacement when you're getting shot: that's precisely when we might be running out of capacity!

If you're looking to checkpoint and save state though, you can mount your persistent disks separately and store whatever you need. You can also start your shot VM back up later when capacity is available again.

<comment><USER7> Your team might want to consider extending the warning. AWS gives two minutes notice:

[https://aws.amazon.com/blogs/aws/new-ec2-spot-instance- termi...](https://aws.amazon.com/blogs/aws/new-ec2-spot-instance-termination- notices/)

<comment><AUTHOR> Thanks for the feedback. We explained the reasoning behind 30 seconds vs "longer" in the InfoQ interview I mentioned in a different thread.

But basically if you're getting preempted it's often because some regular VM is trying to land on the box and needs to be kicked off. Our goal here is to make sure we don't impact even our 95th-percentile VM creation time for regular VMs. We create and boot VMs so much faster (I think even p90 is 36s right now) that "2 minutes" is more than it sounds like.

Finally, one of the things we tracked carefully during Beta is how quickly people actually shut down. Median on Linux was something like 5 seconds. Even the 90th percentile was something like 10 or 15 seconds. There might be people avoiding the product because they "need" more time, but honestly most of those use cases aren't really prepared for preemption and should probably stick with a different solution.

<comment><USER7> > There might be people avoiding the product because they "need" more time, > but honestly most of those use cases aren't really prepared for preemption > and should probably stick with a different solution.

I really have to say it, and I'm sorry to say so, but its things like this that keep people on AWS. Google Compute still has the feel of an experiment versus a business, and you don't want your critical infrastructure on someone's experiment.

2 minutes is provided by AWS to give you time to checkpoint your process(es), get logs off the box, and to remove from an ELB if its attached to one. Doesn't matter if you get a new VM for me spun up fast if I can't finish up housekeeping on the ones being terminated.</comment></comment></comment></comment></comment>


Amazon CloudFront - Production Status and an SLA - <AUTHOR> http://aws.typepad.com/aws/2010/11/amazon-cloudfront-ga-status-and-an-sla.html

<comment><USER2> Typo? : "If the availability drops below 25% you can apply for a service credit equal to 25% of your monthly bill."

\- if availability dropped below 25%, I'd be looking for more than 25% back...

<comment><USER3> Yeah, that doesn't agree with <http://aws.amazon.com/cloudfront/sla/> which says 25% back for any downtime greater than 1%. If you dismiss extreme cases (like 50% downtime getting a 25% credit), it's not bad.</comment></comment>


Ask HN: Tech predictions for the next 10 years? - <AUTHOR>

The recent posting of the 10 Predictions [1], got me thinking. What predictions do people on HN have? Focus on tech. Upvote the best ideas.<p>This could be very interesting ...<p>[1] https://sites.google.com/site/steveyegge2/ten-predictions <comment><USER3> Mac OS X will still be on version 10.

Java, C, and JavaScript will be the three most dominant languages. Languages will be built atop them to handle better concurrency without programmers handling threading. Android and Mozilla will dominate cellphones, both supporting fully JavaScript apps.

Broadband fiber and broadband (cell) wireless will dominate home connections, with cable and phone lines rapidly dying.

There will be much hype over electric cars but super-efficient gas-powered cars will still dominate.

The database and app server will finally converge with successors to CouchDB.

We will live in a police-state with ubiquitous surveillance and nobody except hackers and civil libertarians will care.

The stock market will have crashed worse than '09 due to banks failing yet again.

Cannabis will be completely legal in about 20% of states and the federal government will tolerate it or add exemptions for states voting it in.

Apple and Microsoft will be niche players in a market dominated by Google and Amazon.

Mars will still be a fantasy after several high-profile deaths on missions there. We'll be anticipating faster-than-light travel and dedicate our efforts to finding Earth-like conditions and space mining.

</comment><comment><USER4> * Windows desktop will still thrive on Enterprise and BigCo's, as politics and bureaucracy will ensure data will not live in the cloud

* Return of the dumb terminal: The home desktop will die out in favor of tablets connected to a keyboard, mouse, and monitor, and your ISP will double as your Desktop/Amazon AWS provider.

* If above scenario happens, NVIDIA/ATI will no longer produce consumer level hardware

* Death of the thick client gaming console as cloud computing and faster networks will be able to stream Crysis 3 at 72FPSin 1080p. The Steambox-like devices would only be periodically upgraded with a faster ethernet connection.

* Conventional phone lines will go 'dark' as everything will be TCP/IP based, with redundant Wi-Max like networks

* SPAM will be finally completely eradicated

* Car2Go will transform into a legally approved self-driving car rental service

* You will still need a several years of experience to be a decent developer, regardless of how much languages evolve

* The Roomba will dust as well as vacuum

* New York Times will go bankrupt and Tesla will become a huge force to reckon with, as electric cars become commonplace, their technology patented and licensed out to major car manufacturers

</comment><comment><USER5> * The mobile device becomes the desktop computer. Sit it next to a keyboard, mouse, and monitor and it transforms into the desktop. No wires needed!

* Home robotics are common place. Autonomous lawn mowers and leaf gathering. Even autonomous vacuum cleaners that actually work graduate to most households.

* General purpose CPU has a thousands of cores. Core i12. And it'll sip 1 watt.

* The wireless Internet is everywhere and our cell calls become IP calls.

* China has 5000 miles of maglev trains. Some will be "low-speed".

There's lots of cool stuff that will happen in the next decade. Medicine... detect the first few cells of cancer as soon as they occur, more robotic surgery, personalized medicines, ...

</comment><comment><USER6> \- Cleaning up email will be a priority - outgoing messages will probably be signed by the source server (or isp) and only accepted on the client if the email key and server keys (requested via http or other route) validate. Thus reducing anonymous spam and identifying compromised systems, also better identification of suspect routes/sources.

\- Fax machines will evolve into some sort of fax via internet machine, probably merge into email but still be a plug and go option for businesses.

\- Phone books will be dead - there will be a new cloud based directory (likely government subsidized or regulated to enforce access and consistency)

\- The desktop wont die, but the mass consumer market will move onto cloud appliance stuff.

\- Land Line phones are become very obsolete.

\- With the transition to the internet there will be government subsidies/programs/grants for every citizen to have a reachable "address" and be educated on access to the internet. Postal service will change....?

\- Green energy generation and battery storage will have major milestones.

\- Some 'damn fool' kills himself while doing some sport in low earth orbit. More fools gladly follow.

\- Global warming is called a boom - for the construction, fossil fuel, and mining industries.

\- Self-Driving cars will be popular in large cities - <USER2> subscription plans will reduce number of privately owned cars in those areas as well.

\- Cops will implement wide-range quadcopter drone first-response to record incidents and track suspects.

\- People my figure out that money != economy... maybe not...

\- Armband computing (bigger than a watch but still fashionable... bracer sized with snap on space for peripherals?)

</comment><comment><USER7> * CPU speed will get vastly more ridiculous, but battery life probably won't improve significantly (on x86 laptops).

* ARM will have around 50% market share as tablets become ubiquitous and laptops move to ARM. Those laptops will run some form of Windows, but Windows will continue to sell poorly on tablets.

* Reliable, reasonably fast internet will be available to almost all of the US.

* Cloud computing still won't be fully adopted. More computer users will do most of their work in a browser, but smartphones and tablets will still run many apps locally and desktop OSs will still be structured similarly to today's.

* Something huge and crazy will happen to education and Khan Academy will be involved in it.

</comment><comment><USER8> My prediction:

New social websites where you either pay for subscription or they are distributed, so you in the end own your own data. This will happen after a few public scandals where sensitive information was leaked or sold to companies or the public.

</comment><comment><USER9> Too Much. There will be Too Much of everything: music, video, books, social, advertising, etc. Artificial Scarcity will be the New Thing because people still need to pay for non-digital things, like rent and food.

<comment><USER10> +1 Information Overload will happen much sooner than 10 years but in 10 years there would be many solutions to combat this problem.

People will be spending a lot more time in their digital devices than real people.

</comment></comment><comment><USER11> I think that ad blocking software will become commonplace like spam filters are now. I don't know how advertisers will adapt.

</comment><comment><USER12> Wearable tech will be a big thing

Google Glasses will be just the start of things.

</comment><comment><USER13> * Google launches self-driving cars that disrupt Taxi Services, Delivery Service (think mobile vending machine put cash in vehicle and your dinner pops out - nearly theft proof), Cars become shared assets via time-share and are scheduled very dynamically via mobile apps, less people will own their own cars - especially in big cities.

* Robotics takes over more industries requiring some sort of robotic tax to help keep the economy going for those under-employed.

* The internet of things will explode.

* Google Fiber becomes airborne and nationwide. 1gig access in all major and minor metropolitan areas via wifi-- allowing cars, bikes, law mowers, chainsaws and everything to have some internet connectivity.

* Patent trolling becomes near impossible as patents will require a prototype/MVP be built within 6 months of Patent application or automatic denial of patent.

* SF / Silicon Valley's startup draw comes to an end as developer realize that they can build awesome things in smaller Communities like Dayton Ohio, kinda like the Dayton Ruby School is trying to accomplish.

* Moore's law is shattered by nano-technology, and pc's become crash resistant and resemble bio-engineered organisms. CPU speed goes through the roof.

* USA gets a small amount of MAGlev trains finally (towards end of decade, and only after seeing how much it helps places like China grow and thrive.) -- side note China becomes the major super power in the world.

* Open access to media / news / social sites breeds more democracy throughout the entire world, and also helps bring back honesty and integrity to american capitalism in things like lobbying, and campaign finance.

* Game of Thrones series is finally completed, HBO executives commit suicide out of frustration getting George R R Martin to stop playing World of Warcraft and get back to writing.

* Mind/technology interfaces will become reality. Think downloading memories to flash drives and sharing them with people. Microchips that can improve memory and learning. Gaming/controlling pc's by brain activity. Etc.</comment>


French publishers win decisive [copyright] battle against Google - <AUTHOR> https://www.politico.com/news/2020/04/09/french-publishers-win-decisive-battle-against-google-177686 <comment><USER2> > France is set to become the first country where publishers have succeeded in > wresting payment from Google for their content.

Is it? Or will Google simply not carry their content?</comment>


Why Masked Passwords Are a Serious Security Hole - <AUTHOR> http://blog.passpack.com/2011/04/why-masked-passwords-are-a-serious-security-hole/

<comment><USER2> It's hard to lose customers due to customer ignorance, but the alternative of giving them what they want (despite it being bad for them) is probably worse. At least, I don't know that I'd be comfortable doing so.

We run into it quite a bit, because our products are _extremely_ complex, have numerous security-sensitive contact points in the system, and we've made some choices that do not match those of our competitors, often due to security concerns. Our refusal to treat chroot as a security tool is perhaps our most common source of "why don't you support this?" questions, and despite years of explaining our position, referencing numerous resources on the subject, providing examples of the futility of it, etc. doesn't make the question go away.

I think the best you can do is try to educate whenever the question comes up. It gets frustrating to answer the same question over and over again for years, especially if it's answered in the FAQ or documentation, but you pretty much just have to do it.

<comment><USER3> I think it's equally important in those situations to get at _why_ the user wants to do that and coming up with a solution to their problem in your framework. One thing I've learned after years of supporting users is that they often ask for something because "that's how they've always done it," but if you find out what problem that they are trying to solve, you can come to reasonable solution for both parties without having to implement whatever "feature" it is that they are asking for.

</comment></comment><comment><USER4> Could someone detail the process of "sharing a masked password", or at least how it would theoretically be implemented as a feature? I'm not quite sure I get the scenario. Is the masked password to access passpack user account? Or is it to access some site passpack is managing a password for?

<comment><USER5> It seems to be some sort of utter nonsense imagined by someone who has no idea how any of this works. Well written article, but I don't see why it's worth taking the time to address this.

<comment><USER6> You overestimate people's understanding of security. Clearly Passpack have had enough customers request the feature or complain about its absence to be worth writing about it.

<comment><USER5> The customers don't care about the particular method, they just know what they want to accomplish and try to suggest how they think it may work. It's beside the point and somewhat obtuse to go into detail explaining why a particular way doesn't work.

A much better way to respond to this request would be 'Yes! Here's a one time/time limited password generator that will do what you want'.

<comment><USER7> passpack already provides the ability to generate one-time passwords.

<comment><USER5> Great, what I'm saying is they should steer their customers towards the solution and not bother refuting inanity.

</comment></comment></comment></comment></comment></comment><comment><USER8> Who shares masked passwords? I thought they were just there to keep someone over your shoulder from reading it.

<comment><USER9> One usecase might be if you have someone over at your house and they need to use your wifi. You might want to be able to let them connect securely without you having to tell them your password.

<comment><USER5> My suggestion for that would be to change it, either before or after.

This entire idea of 'sharing a masked password' is completely ridiculous.

</comment></comment></comment><comment><USER10> Um, OK. Or you could just go to Preferences > Security > Saved Passwords (Firefox), or fire up Keychain Access (for Safari/Mac), or ... ?

<comment><USER11> Yes. This is a big vulnerability on Mac. If someone knows your password (say, to let them in in case of a screensaver when you're not there...) then they can view any saved passwords in Keychain Access with this same password.

I know a lot of people who don't realize this.

<comment><USER12> That's a feature, not a bug. I use it all the time. It's a password manager, as the admin I should be able to view its data.

<comment><USER13> None of my linux keychain passwords are the same as my user password. The keychain password is much more difficult and I never re-enter it to get back into my machine (unlike the screensaver password prompt).

<comment><USER12> You can change your Keychain's password... "Edit > Change password for Keychain "login"..."

<comment><USER13> when i said 'my linux keychains' i meant ssh-agent and firefox's password repository. neither can have their passwords changed without putting in the password again; the credentials are merely stored in memory.

(so if you could get past the screensaver you could in theory extract the creds from memory, but i don't know of a tool to do this and doing it by hand could be time consuming)

<comment><USER12> Sure, but I was speaking of OS X. Your Keychain password doesn't have to be the same as your account password.

<comment><USER13> Oh, I misunderstood; I thought you meant anyone could change the keychain password once they logged into the box (which would be kind of dangerous)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Passpack is one of the more interesting security applications in the cloud -- they actually do client side encryption properly (I work out of the same office as them and talked with their lead developer a few times).

</comment><comment> brown9-2 If a third party is able to run arbitrary JavaScript in your browser / on a login page, isn't it already game over?

<comment><USER2> You've misunderstood the context. This is passwords that are handed over to a third party (but in a "masked" form). It's not _your_ browser you're worried about...it's the browser of the person you handed the password to, without trusting them to actually know the password. Due to numerous methods of figuring out the password anyway, some of which the author documented, this would be an irreparably insecure feature.

</comment></comment><comment><USER15> how about we don't install any bookmarklet? i don't have any, and i aggressively hate toolbar extensions, being a refugee from the old IE monopoly time.

or how about browsers letting us know whether a bookmarklet is doing something suspicious?</comment>


FCC Republicans vow to gut net neutrality rules ASAP - <AUTHOR> http://arstechnica.com/tech-policy/2016/12/fcc-republicans-vow-to-gut-net-neutrality-rules-as-soon-as-possible/ <comment><USER2> Par for the course. Republicans don't believe in the state protecting consumers except in the most dire cases like predatory pricing, natural monopolies, intentional by-design lack of transparency of the product to the consumer, and other anti-competitive behaviors. Oh wait... guess they just don't care about anything but profit.</comment>


Provisional Death Counts of Covid-19), Pneumonia, or Influenza [pdf] - <AUTHOR> https://www.cdc.gov/nchs/data/health_policy/Provisional-Death-Counts-COVID-19-Pneumonia-and-Influenza.pdf <comment><AUTHOR> Doesn't this seem to indicate the Influenza death rate is much lower versus previous years?

<comment><USER2> No that's about a normal amount. It's about 10-60k/yr, depending on how bad the strain is. Pneumonia is on the higher end of that. So 50-60k between the two by now is about right.</comment></comment>


AI Trained on Old Scientific Papers Makes Discoveries Humans Missed - <AUTHOR> https://www.vice.com/en_us/article/neagpb/ai-trained-on-old-scientific-papers-makes-discoveries-humans-missed <comment><USER2> Hype article? Where is the paper and methods?

<comment><USER3> [https://www.nature.com/articles/s41586-019-1335-8](https://www.nature.com/articles/s41586-019-1335-8)

[https://doi.org/10.1038/s41586-019-1335-8](https://doi.org/10.1038/s41586-019-1335-8)

No access to the paper myself, but the above should get you what you need through other means.</comment></comment>


The Forgotten Sidekick - <AUTHOR> http://www.aaronsw.com/weblog/forgottensidekick

<comment><USER2> One of these devices runs a full Webkit browser.

The other needed a firmware update to support Javascript.

These do not seem like superficial differences, Aaron.</comment>