I'm thinking of going back to college, can I get some advice? - <AUTHOR>

I dont think there's a better place on the internet to ask this question!
I'm interested in computer programming but I have little experience in it. My previous degree was in quantity surveying, sort of construction related applied accounting, but here in ireland the construction industry has been wiped out so Im considering a career change. I'm 23.
Im thinking about going back to college, and getting a degree, possibly in computer science, but apart from knowing how to make basic websites in html and messing around with Ruby a little bit I have very little knowledge in programming.
I think what I might be interested in is making my own programs and web applications, although this is just a thought.
So my question to you is, what areas in computer programming are going to be in demand in the coming years, what areas are you interested in personally that you think are good niches to focus a career in, and would you recommend a college degree as the first step in pursuing this career?
And advice is greatly appreciated, and I apologize if any of my questions sound strange. Thanks. <comment><USER2> Why don't you hit the books? College can be a little expensive. Why lose 5 or 4 years of study? why not just try to do something with what you previously learnt using Information Technology?

My Question: What if IT wipe out after 5 years? Will you consider another career change.

Since you are interested in IT, learn it yourself, it's not hard and all the resources are available on the internet. And then try to do something using your previous and your new knowledge.

Note that my advice is Startup-Oriented. If you want to become an employee and working as a developer, then you may consider a career change. However, try to answer the question! (Just imagine the situation)

<comment><AUTHOR> >What if IT wipe out after 5 years?

That's a good question. I'm just really stuck on what to do, I have no guidance and I dont want to waste my life.

I like the idea of setting up start companies, but I dont know what the ratio is on those being successful or not.

To answer your question, another career I was thinking of was medicine, that would take even longer that CS and would way be way tougher, but it would be a great career.

The idea of learning CS on my own sounds good, but if I did it on my own I'd feel like I was rowing a boat with one paddle. I might end up wasting time that way too.

<comment><USER2> >I have no guidance and I dont want to waste my life

You should learn to guide yourself and take responsibility of the consequences.

>I like the idea of setting up start companies, but I dont know what the ratio is on those being successful or not

Imagine a startup founder who work 5 hours a day and another who work 12 hours a day. The first is lazy, uneducated... and the other is smart, hardworking, do lot of networking... Who has a higher ratio for success??? It's you who change the ratio; sure the luck will play a lot in your journey, but if it doesn't come you can create it.

>I was thinking of was medicine

I study medicine (because my parents want me too and I have no other choices). As someone who study medicine, I'll advice you: DON'T FOLLOW THIS CAREER.

>I'd feel like I was rowing a boat with one paddle

The same problem, you are lacking confidence. You should believe you can do it your own. Try to find another paddle to the boat, can't you?

<comment><AUTHOR> >Imagine a startup founder who work 5 hours a day and another who work 12 hours a day. The first is lazy, uneducated... and the other is smart, hardworking, do lot of networking... Who has a higher ratio for success??? It's you who change the ratio; sure the luck will play a lot in your journey, but if it doesn't come you can create it.

Sure, but where do I start? Do I start making Iphone apps, or become a freelance coder, or try to invent the next twitter? Or do all 3 at once? I'm at the start of the learning curve here.

>I study medicine (because my parents want me too and I have no other choices). As someone who study medicine, I'll advice you: DON'T FOLLOW THIS CAREER.

Why dont you like it?

<comment><USER2> >Sure, but where do I start? Do I start making Iphone apps, or become a freelance coder, or try to invent the next twitter? Or do all 3 at once? I'm at the start of the learning curve here.

Building a service that sells subscriptions for $9 a month. 1000 users and you already have a good salary. Twitter, Facebook or Google are exceptions. Few startups succeed that way. But a web service, microISV... succeed if you work them the way it should.

>Why dont you like it?

It's a very bad career (terrible). Trust me on this. Lot of informations to put in your head and really nothing exciting about it. It's my opinion; you'll remember it if you happen to choose this career.

<comment><AUTHOR> >Building a service that sells subscriptions for $9 a month. 1000 users and you already have a good salary. Twitter, Facebook or Google are exceptions. Few startups succeed that way. But a web service, microISV... succeed if you work them the way it should.

Can you give me some examples of Micro-ISVs? I spent years during my first time in college learning affiliate marketing, (at the same time I learned my degree) which sounds similar, and I became an expert in Adwords, marketing, keywords, niche research etc, but I could only ever break even. It was extremely frustrating to spend so much time at it and eventually having to give up.

On Medicine again, I quite like the idea of helping people, such as in a charity like Doctors Without Borders, but it's just a dream right now. To each his own I guess.

<comment><USER2> >Can you give me some examples of Micro-ISVs?

Read this forum, all the information you need are here <http://discuss.joelonsoftware.com/default.asp?biz>

>On Medicine again, I quite like the idea of helping people, such as in a charity like Doctors Without Borders, but it's just a dream right now. To each his own I guess.

I like to help people, but are you ready for it? If so, then you can consider this career. Just be careful in this choice.

</comment></comment></comment></comment></comment></comment></comment><comment><USER3> I returned to university to get a 2nd degree in Computer Science after realizing how poor my job options were with my philosophy degree. The benefit of a 2nd degree, at least in the Canadian system (I'm not sure how it works in Ireland), is that you don't need to fulfil all of the elective credits, so you can complete a second degree in 2 years.

Having been through the degree, I am glad I did it, but I'm not sure it's the best and quickest path to a career as a developer. There was a lot of time spent on learning theory and history of the discipline, that may have been better spent on doing. Programming is definitely best learned by doing.

It is a tough decision to make. Many employers still hold the degree up high as a hiring requirement. You already have one of these.

My advice would be to explore your options. Try out some self-learning. There are many great books and online tutorials out there to learn from. Play around with the field a bit before committing to another degree.

</comment><comment><USER4> Since you already have a degree, if you are interested in learning PHP, Zend offers training. When you finish the training you can test for certification from ZEND. As far as PHP goes, this is probably much more in-depth than you will get from a university course.

Here is a link if you are interested: <http://www.zend.com/en/services/training/>

One thing that has helped me in the past is studying existing code and then making modifications to it.

<comment><USER5> Why was this downvoted other than the fact that he suggested pursuing a PHP certification? His answer was perfectly relevant and doesn't seem to serve any self interest that I can tell...

<comment><AUTHOR> I didnt...</comment></comment></comment>


20 years is too long for patent protection - <AUTHOR> http://tomasztunguz.com/2011/08/17/20-years-is-too-long-for-patent-protection/ <comment><USER2> Agreed. I argued that 7 years would be a better term ([http://venturebeat.com/2010/03/04/in-favor-of-software- paten...](http://venturebeat.com/2010/03/04/in-favor-of-software-patents) \- ignore the title, it was supposed to be "in favor of 7-year software patents)</comment>


JEP draft: Type operator expressions in the JVM - <AUTHOR> http://openjdk.java.net/jeps/8204937 <comment><USER2> > The syntax will allow any single type descriptor to be modified by an > optional suffix, which has the effect of constraining the original type > descriptor in an ad hoc, programmable manner

So, if I had a JVM dependent type lib, could my type be "Ljava/math/BigInteger;/$contract[$nonNegative;]"? Are we sure we want this buried in the name?

EDIT: There's a similar example "I/$interval[$ge;0;]" which seems to imply some might want to burying a mini expression language in there. I can think of a lot of uses and a lot of abuses. But at the very least, it allows you to give arguments to types that persist in the bytecode.

<comment><USER3> JDK11 introduces CONSTANT_dynamic[0] so anything expressed by that type descriptor string should also be expressible as a call to a bootstrap method at link time.

I think. Never played with it myself but here is a "bestiary"[1] of possibilities that CONSTANT_dynamic already opens up.

[0]: [http://openjdk.java.net/jeps/309](http://openjdk.java.net/jeps/309) [1]: [https://github.com/forax/exotic](https://github.com/forax/exotic)

<comment><USER2> Sure, or really just bury the method call/descriptor as an arg. It's not that much different than annotations.</comment></comment></comment>


Show HN: Must-have tool for your job search - <AUTHOR> https://afterinterview.com/about <comment><AUTHOR> Hi all, we just launched the web app for After Interview. Please feel free to share any feedback or suggestions :)

</comment><comment><USER2> Great idea for an application. Very useful and love the design on this!</comment>


WikiLeaks candidate quits upcoming Australian elections - <AUTHOR> http://www.abc.net.au/news/2013-08-21/wikileaks-senate-candidate-leslie-cannold-quits/4903084 <comment><USER11> Australia implements a form of proportional representation where the votes of losing candidates in an election can be directed to other candidates who remain viable, so as to ensure they are not wasted even though they are no longer optimized. Candidates encourage their supporters to vote themselves #1, and give their second-preference votes to someone else, though voters are free to disregard this. In such a system, by voting for every candidate in order you can also make sure that your least favorite candidate is disadvantaged, essentially an explicit vote for 'anyone but X'.

[http://en.wikipedia.org/wiki/Instant- runoff_voting](http://en.wikipedia.org/wiki/Instant-runoff_voting)

'white-anted' refers to erosion from within, as by termites.

As for the particular events of the story, I am somewhat surprised (eg by the idea of giving preference to right-wing candidates), but also not. Assange's comment that Wikileaks is a party of accountability and not government sounds to me like a desire for power (as a kingmaker) without responsibility. The coalition structures that often emerge in proportional representation systems lend themselves to this sort of politicking.

<comment><USER12> Politicking? I would see that as a good thing, and part of a healthy negotiation about issues, eg. transparency in government, the environment or civil rights.

Compare that to the first-past-the-post systems of the UK and US, where there are essentially no minor parties with any hope of having a say.

<comment><USER13> > first-past-the-post systems of the UK and US

Also known as the 'choose between two dictators every couple of years' style of democracy.

<comment><USER14> All mature democracies, regardless of the voting system, exhibit similar characteristics. The proportional representation systems prevalent in most of continental Europe don't return significantly different results from the FPTP systems in the US and UK.

<comment><USER13> Having witnessed a party going from nothing [1] to becoming part of the coalition and the biggest party in the polls [2] in under a decade I'd beg to differ.

That's not even taking into account the influence tiny parties can have merely by virtue of having a seat at the table and engaging in the discussions.

[1] [http://en.wikipedia.org/wiki/Party_for_Freedom](http://en.wikipedia.org/wiki/Party_for_Freedom) [2] [http://www.powned.tv/nieuws/politiek/2013/08/peiling_coaliti...](http://www.powned.tv/nieuws/politiek/2013/08/peiling_coalitie_op_34_zetels.html)

<comment><USER14> The "Tea Party" movement did much the same thing inside the context of the Republican party in the US in roughly the same timeframe.

Obviously, the mechanics are different (and, IMO, more colourful) in a multi- party system, but at the end of the day, Wilders can only decide to support Rutte as PM or, after applying the full might of his party, not supporting Rutte, who, never the less, remains PM.

They are probably an important factor in shaping public debate, and thus, shaping general policy, but you don't need to be a member of parliament to do that and plenty of non-MPs in FPTP and PR systems alike do just that.

<comment><USER13> But from what I know democracy had no hand in the rise of the Tea Party, apart from the Tea Party consisting of the dêmos.

In general, simplifying the situation, PR-systems simply give the population more degrees of freedom in steering the government.

Even though it's still just a handful of options over a single binary choice I'd argue that this difference is not inconsequential.

My usual argument against FPTP is that it's much harder for the population to challenge the two dominant parties in case they choose to collude (or more precisely: impossible to challenge the degree to which they collude) which seems to be the failure mode the US democracy is currently experiencing.

<comment><USER14> If it was possible to flat out buy 10% of the US congress with no involvement from the actual democratic process, it would be done more often. The Tea Party might be less grassroots than it lets on, but let's not get carried away. Millions of voters cast votes for tea party candidates in multiple elections, and democracy starts and ends with that fact. The best argument against democracy is five minutes with the average voter, yet it's what we have.

But instead of arguing over the Tea Party: How has Wilders caused the dominant parties in the Netherlands to collude less than the ruling parties in the US and the UK?

Basically, my thesis is that parties are mostly irrelevant. If there are important wishes in the population at large (ie. showing up significantly in polls), those will mostly be accommodated, not because of ideology, but because of self-preservation. For the 99% of stuff that we don't hear and care about in our day-to-day lives, the bureaucracy is in charge in all important aspects, and the iron law of bureaucracy[1] applies supreme.

It is a dangerous distraction that changing the voting system actually changes anything that matters.

1: [http://en.wikipedia.org/wiki/Jerry_Pournelle#Iron_Law_of_Bur...](http://en.wikipedia.org/wiki/Jerry_Pournelle#Iron_Law_of_Bureaucracy)

<comment><USER13> Thanks for the information; so if I understand correctly US democracy mostly comes from which officials inside each party you vote on?

As for Wilders, you could say that the dominant parties were all colluding on treating low-wage earning immigrants the same as low-wage earning Dutchmen. As painful as it is, Wilders did result in changing that.

As for the dangerous distraction, that could well be true.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> The Wikileaks party ought to be ashamed of themselves.

Not only did they screw up majorly by preferencing hard-right parties ahead of the progressive Greens. But they betrayed Scott Ludlam in WA who was one of the only people to stand up for Assange.

[http://www.crikey.com.au/2013/08/19/wikileaks-partys- adminis...](http://www.crikey.com.au/2013/08/19/wikileaks-partys- administrative-errors-incense-greens/)

<comment><USER16> If you had actually listened to the discussion, you would have heard Assange explain clearly why this is _not_ the case. One person who had no chance of winning a position but who was entering politics for the first time and was an indigenous Australian was given a symbolic position above the Greens in WA preferences for the purpose of showing support for indigenous involvement in policy making. Obviously this has backfired due to people not understanding the reasoning, but it was never a threat to the Greens.

<comment><USER15> I don't believe that just because David Wirrpanda is Aboriginal and a pretty fantastic guy by all accounts means that I should ignore the fact he is running as a National Party candidate.

<comment><USER16> I'm not super keen on that either, but if Assange's statements are truthful (and compared to the average person involved with politics he's ... err ... not exactly known for dishonesty) then the fact remains it never influenced the Greens and the media coverage of this issue is completely out of proportion. In addition, the individual state party candidate should be the one queried on the decision, not Assange or the national Wikileaks Party effort. Ideal situation? No. Still the strongest player for enforcing useful and transparent decision making in Australian political systems? Yes. Of course, they will learn from this media storm for next time.

</comment></comment></comment></comment><comment><USER17> See a better explanation here: [http://danielmathews.info/blog/2013/08/statement-of- resignat...](http://danielmathews.info/blog/2013/08/statement-of-resignation- from-wikileaks-party-national-council/)

</comment><comment><USER18> Australian election politics sounds like a genuine labyrinth. And I thought the primary process in the US was difficult to wrap my head around. Compound this with what, according to bentoner's link [0], sounds like substantial internal conflict within the party, and I don't have high hopes for the success of the Wikileaks party in Australia this go 'round. Though honestly, it sounds like they're just discovering that a democratic, Kumbaya approach is anathema to actually getting anything done. It all works great when everyone agrees. When divisive decisions have to be made and stuck by? Not so much. Dr. Mathews appears to agree:

>He really ought not to have set up a party with internal democracy.

[0] [http://danielmathews.info/blog/2013/08/statement-of- resignat...](http://danielmathews.info/blog/2013/08/statement-of-resignation- from-wikileaks-party-national-council/)

EDIT:

Excerpt from Wikileaks party response

[https://www.wikileaksparty.org.au/the-wikileaks-party- announ...](https://www.wikileaksparty.org.au/the-wikileaks-party-announces- independent-review/)

>If we are unsuccessful in having the AEC adjust the submitted preference nominations to meet the National Council's directives, we will release a "how to vote below the line" card so all supporters and voters can follow our true preference nominations, or select their own, so any remaining errors on our GVTs will not be passed on to our voters.

If I'm understanding this right, the Australians have the privilege of instant run-off preferential voting, and still prefer to just vote party line? Could an Aussie please explain this phenomenon to me? Coming from the states, I'd be frothing at the mouth to have anything other than our absurd closed (depending on state) primary single-vote elections.

<comment><USER19> Bear with me, this could take a while...

OK, so there's two elections going on simulateously - one for the House of Representatives and one for the Senate. Just as in the US, each electoral district (there are 150) elects a single member to the HoR, whereas each state elects multiple members to the Senate. In the case of the Senate though, each state is treated as one giant electoral district with proportional representation.

Both the HoR and Senate elections use single-transferable-vote ("instant runoff"), but this obviously plays out very differently in single-member electoral districts versus multi-member proportional districts.

HoR ballots tend to have a reasonably small number of candidates - between 3 and about 15, but usually somewhere nearer to 6. On these ballots, a full preferential ballot is the only option - you must number all candidates in order for your vote to count.

Senate ballots, however, are ballooning somewhat out-of-control. At the upcoming election, the Senate ballot paper in NSW will have 110 candidates. Requiring voters to number all of these squares for their vote to count was causing the informal ballot count to increase substantially, so in the 1980s "above the line" voting was introduced. Under above-the-line voting, you can simply indicate a vote for your preferred party ticket, and your full preferences will be allocated according to the ticket that the party submitted to the electoral commission prior to voting. These preference tickets are publically available, and the current controversy surrounds the party tickets lodged by Wikileaks in some states. "Below the line" voting is still available as an option (and obviously one I personally will be taking up).

There is growing recognition of the perverse results that "above the line" voting can cause, and of course 1-metre-wide ballot papers with over 100 candidates listed are absurd. There is some talk of allowing "optional preferential voting" above the line, so that you can just number the party tickets in your preferred order, rather than having to either number every single candidate individually, or accept your preferred party's direction of preferences in its entireity.

<comment><USER18> Thank you. Why is it that you must number 100+ boxes? I can certainly see why many would be put off having to do so. It would make more sense to me if you simply numbered the candidates you actually had a preference for, and anyone else on the meter-long ballot didn't get a vote at all. I imagine that would cut down substantially on fringe candidates cluttering up the ballot. It seems that the official parties actually do get this privilege --I've only heard of the major parties mentioning their relative preferences to each other, with no mention of 100+ rankings (edit: or is there indeed a full ranking the party submits, but only the top relative positions are typically reported in the news?). However, if you wish to vote purely according to your own preferences, you're saddled with a ballot that folks will undoubtedly scour for their handful of preferences to truly mark, and then blindly count up to 100+ from top to bottom so that their ballot "counts."

EDIT: Many thanks to coffeecheque, Volpe, BlackAura, and any others that help to explain all of the news I've been reading recently :)

<comment><USER20> It's all published before hand. The deadline was the weekend, which is why we're seeing all the stories about preferences now.

In the Senate, parties lodge Group Voting Tickets (GVTs) with the Australian Electoral Commission. If you vote "above-the-line" (say for the Liberal Party) the GVTs dictate where the preferences should flow.

The AEC did have PDFs of the GVTs, but I can't find them now. The ABC has published them here (in an easier to follow format): [http://www.abc.net.au/news/federal- election-2013/guide/gtv/](http://www.abc.net.au/news/federal- election-2013/guide/gtv/)

The reason why the candidate quit was in part because of the NSW Wikileaks preference deal: [http://www.abc.net.au/news/federal- election-2013/guide/gtv/n...](http://www.abc.net.au/news/federal- election-2013/guide/gtv/nsw/#gtv_nsw_i)

You can see at spot 36 and 37 the preference going to Australia First. Its chairman is a former neo-nazi, convicted in the 1980s of organising a gun attack on someone from the African National Congress. The first Greens candidate is down in the 50s.

As for why we have to number all the boxes, I'm not entirely sure. It probably didn't matter so much back where there were only a handful of candidates. It doesn't work so well when there's more than 100.

<comment><USER18> I see. So each party typically acts as a cluster. They may have their own internal rankings within that cluster of candidates, but on the whole parties will typically only be concerned with cluster rankings. That is to say, most parties won't bother with going through 100+ candidates' platforms entirely individually, and you'd expect to see all (or most) of a given party in a block on the ranking, rather than sprinkled throughout.

Senate Preferences for Party A:

1 - PARTY A - <USER2>

2 - PARTY A - <USER3>

3 - PARTY A - <USER4>

4 - PARTY A - <USER5>

5 - PARTY B - <USER6>

6 - PARTY B - <USER7>

7 - PARTY B - <USER8>

7 - PARTY C - <USER9>

8 - PARTY C - <USER10>

9 - PARTY B - Patrick <\- (For whatever reason, Party A just really doesn't like Patrick at all)

10 - PARTY D - NeoNazi <\- (Crazies at the bottom)

And so on and so forth for 100+ candidates. The abc.net.au preference listings seem to show this sort of line up. (And there seem to be a ton of parties: Stop CSG Party, Australian Sex Party, Help End Marijuana Prohibition, Smokers Rights Party, Stable Population Party)

I can certainly see how administrative error could creep in here --and sabotage as well. I still find myself preferring an election system like this however even with the bloat :)

<comment><USER20> Yep.

Though you have obviously worked out ways to game the system. It's happening more and more.

For example, in Victoria, a group of five libertarian aligned micro-group parties (headed up by the Liberal Democrats) didn't lodge their GVT, meaning you now can't vote for them above the line.

As most (95%) of people vote above, that's wiped them out in Victoria.

But here's the realpolitik: they had organized a straight preference swap deal nationally with the Australian Sex Party, which had a chance of making quota (aka winning a spot) with the help of the preferences in Victoria. It's less likely now in that state.

But the Sex Party has lodged its preferences in Victoria and other states with flows to the Lib-Dems. It means the Lib-Dems can avoid helping the Sex Party win a Victorian spot (and possibly balance of power in the Senate) but maybe win its own spot in other states (and also, balance of power).

It is complicated and strategy matters big time.

<comment><USER18> Oooohhhh that is devious. So the Australian Sex Party is trying to break into the Senate and have a say nationally. Their best bet on securing a seat is in Victoria. With the aid of preferences in Victoria from that small group of libertarian-minded parties, that was feasible. In return, the Libertarian bloc got preferences nationally; maybe they'll win, maybe they won't. But they've got a shot. All gravy, right?

Well, actually, the Sex party also had preferences nationally with the Liberal Democrats (whether the Lib-Dems were above or below the Libertarian bloc in those preferences is irrelevant, as we'll soon see). And it just so happens that the Libertarian bloc --that the Sex party is counting on to get their seat in Victoria-- had substantial backing from the Lib-Dems. By hook or by crook (hint: crook), the Lib-Dems utilize their influence over that libertarian bloc and stop the GVT from getting lodged. Now they get to keep the Sex party's preferences flowing to them, while not having to worry about the Sex party actually gaining a seat at all! Even the threat of the remaining libertarian preferences to them in other states is minimal; they've likely got better backing from other parties anyway.

[http://i.imgur.com/s2zg1qc.jpg](http://i.imgur.com/s2zg1qc.jpg)

<comment><USER19> Even better, most of that "Libertarian Bloc" are actually just front parties for the LDP.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Bloody hell we've got an interesting election on our hands. The Liberals and Abbott will triumph in the House of Reps and probably the Senate depending on preferences it seems. After that though, it's very interesting.

<comment><USER22> _and probably the Senate depending on preferences it seem_

Actually it's going to be an uphill battle for them in the senate. It is pretty hard to take outright control of the senate, especially with the good showing by Labor/Greens last election (since only half of the senate is up for reelection).

<comment><USER23> "good showing"?

I don't follow the actual makeup too much but labor have 31, the coalition 34 and the crossbench 11 with momentum swinging away from labor (and greens?) it seems like it's an uphill battle for labor to hold on to the current numbers.

<comment><USER22> That crossbench is made up of 9 greens, Xenophone and a DLP senator. Certainly Labor won't control the senate, but it's still a long way off the Liberals controlling it. If Labor + the Greens have 38 seats (which would be a loss of 2, which is well within projections currently as it is very hard to pick up senate seats and only 36/76 are up for reelection currently anyway) then they wouldn't be able to pass any legislation without either the Greens or Labor agreeing. If they pick up 3, they would need Xenophon or the DLP to agree.</comment></comment></comment></comment>


Fluid Grid System - <AUTHOR> http://designinfluences.com/fluid960gs/

<comment><AUTHOR> The download link was not very straightforward. Here it is on github:

<http://github.com/bauhouse/fluid960gs/tree/master>

I wasn't able to download the .zip from the master branch, but 1.0.3 is fine to download and try locally</comment>


America's largest corporations loot black communities - <AUTHOR> https://www.trtworld.com/opinion/how-america-s-largest-corporations-loot-black-communities-36867/ <comment><USER2> Just saying. CoreCivic, mtc , geo group are not Starbucks, Victoria's Secret and Target, nevermind exxon, apple , amazon... Ok maybe the limited is not doing so well.. But yeah, they're not even garda, g4s, prosegur... Like, maybe the sense of scale is a bit off?</comment>


Ask YC: Create an email address book from IMAP account - <AUTHOR>

There are nice tools outside to import your contacts by providing GMail credentials. I'd like to create an address book out of my IMAP inbox - as I'm some kind of "inbox address book user" with lots of "Re:garding" mails .. anybody knows a solution? <comment><USER2> What about a few lines of ruby or python to loop over your messages and extract the From: or To: headers. I did this a long time ago but I can't find the code anymore. I do remember that it was a hack of just a couple of hours work.</comment>


I'm Sorry I Criticized You, Apple. You Win - <AUTHOR> https://www.bloomberg.com/view/articles/2018-05-02/i-m-sorry-i-criticized-you-apple-you-win <comment><USER2> Previous discussion: [https://news.ycombinator.com/item?id=16977334](https://news.ycombinator.com/item?id=16977334)

</comment><comment><USER3> Replacing my 3 year old Moto G3 with a 3 year old 6S Plus was one of the best calls I've made in years. It's a weird feeling being current on an older phone, and knowing that it's got at least one more OS update coming. I know it's flagship vs. budget, but the way the Android phone began decaying before it even got here was still inexcusable.

I'd never really used an Apple device before, so it was easy to knock them for this thing or that, but I wouldn't go back after actually seeing how their philosophy works.

<comment><USER4> Two big reasons why I might switch from Android to Apple:

\- My Bluetooth audio has been broken for years. There's a discussion forum topic about this, but Google doesn't listen.

\- Starting the camera app takes about 3-5 seconds. In most cases, this is enough time to spoil the entire photo-moment.

Edit: it's also the fact that Google allowed these problems to exist in the first place.

<comment><USER5> These are bad reasons. Top of the line Android phones generally have better/faster launching cameras than the top of the line iPhone and don't have bluetooth broken.

Even some mid-range Android phones would probably outperform the iPhone X in these two areas.

Valid reasons to switch to an Apple product (in my opinion) are

\- Privacy

\- Better App Ecosystem (arguably, for both MacOS and iOS)

\- Faster Processors (for iOS)

\- Better idle battery life (for both)

\- Battery Life in general (for MacOS)

<comment><USER6> So I have a pixel 2 XL and I can attest for the camera taking upto 3s to load on average. This has been progressively getting worse with each OS upgrade (no way I am upgrading to the "AI" OS). My iPhone 3GS actually ran for a good 5 years and though "hot" apps werent fast, the default apps were as zippy as they were the day the phone was bought. Somehow Google doesnt seem to care about this!

</comment></comment></comment></comment><comment><USER7> > (But I won't buy a $1,000 phone; sorry, Mr. Cook.)

Strange that the author correctly dissects the problem with Apple's competitors, i.e. that their products are subsidised by violating their users' privacy and selling their data, but then ends with the conclusion that they still won't pay what Apple is charging. I wish they'd elaborated: Are they arguing that it'd better not to have a smartphone, or better to accept selling your privacy to get a cheaper phone?

<comment><USER8> Or get the cheaper subsidised phone and don't submit to the data collection.

Much like buying a Windows laptop subsidised with crapware but putting Linux on it.

<comment><USER9> How do you not submit to the data collection? Didn't we just find out google does that when you turn it off?

<comment><USER10> Remove Google software.

Unfortunately usually seems to result in a pretty bad experience.

</comment></comment></comment></comment><comment><USER11> The narrative that it's marketing or cult thinking that got Apple here always ignores this elephant in the room: what if consumers put a premium on their privacy?

Privacy is itself valuable. Until SV can see this obvious, self-evident truth, the ad-driven models will rule and shrivel with a predictable boom-bust cadence.

<comment><USER12> I prefer most things Google, but stick with Apple for the privacy. I'll put up with lower quality services, buggy Apple TV, and an expensive phone that arguably not much better than a $200 cheaper Google alternative, just to know some creepy corporation isn't collecting mounds of data on me which will be used who knows how in the future.

<comment><USER13> I'm pretty sure Apple also collects your data.

</comment></comment></comment><comment><USER14> While I applaud Apple for some of their practices, I still hate their heavy handed approach toward hardware/software control:

\- OSX _must_ run on Apple-approved hardware

\- iOS apps _must_ come from the official app store

\- iOS apps _must_ be developed on an Apple-approved device

\- Extremely difficult to repair your own devices

\- etc.

<comment><USER15> Like Steve Jobs said: "people who are really serious about software should make their own hardware". I heard that a lot and never thought about it. But it started to grow in me and now I can see it wasn't just a cool sentence but rather a real mean to make the best products ever to have the best experience. Even if it was challenging and he had to go against the flow.

<comment><USER16> It was Alan Kay, actually.

</comment></comment></comment><comment><USER17> Why is everyone here talking about iphone and mac products ? I thought the article was about how the Apple's philosophy has remained true to the customers vs rest of the big sv companies

"We view that privacy is a fundamental human right and that it's an extremely complex situation if you're a user to understand a lot of the user agreements and so forth. And we've always viewed that part of our role was to sort of make things as simple as possible for the user and provide them a level of privacy and security. And so that's how we look at it."

This I agree with 100%

</comment><comment><USER18> Note that this was written after the previous-quarter's earnings, _before_ AAPL crossed the $1T market cap.

</comment><comment><USER19> From Cook:

> If you look at our model, if we can convince you to buy an iPhone or an > iPad, we'll make a little bit of money. You're not our product.

</comment><comment><USER20> Despite my departure from Mac to happily become a full time Linux user...you'll pry away my iPhone from my cold dead hands.

<comment><USER17> Too dramatic for an electronic device, no ?

<comment><USER20> People did call it the Jesus Phone when was first released.

</comment></comment></comment><comment><USER21> "complex and expensive cashierless stores that won't deliver much of an improvement to our shopping experience but may cost underprivileged people their jobs" Cashierless stores are simple and amazing. I won't even comment the part about "underprivileged people", this is straight up dumb.

This is a time when an entire driverless car industry is trying to convince the world that its products are safe before it can even come up with convincing stats - Nearly 1.3 million people die in road crashes each year, on average 3,287 deaths a day. An additional 20-50 million are injured or disabled. More than half of all road traffic deaths occur among young adults ages 15-44. THAT is not convincing enough? Autonomous cars are the future and will allow us to focus on other activities during the daily commute or long distance travels. Will decrease deaths, will optimize energy consumption by intelligently setting the right route and speed. Humans are inferior to computers on the road, that's a fact.

<comment><USER22> Re: autonomous cars

Your narrative is a thing which _could_ happen, not the current truth on the ground. The truth is every time a Tesla rams into a stationary object at speed, or an Uber runs down someone crossing the road, the public's faith in the tech erodes. Every time that happens we edge closer to overburdensome regulation in the "Thanks to 3 mile island & Chernobyl it's basically impossible to build a new nuclear plant in the US" sense, and farther away from your utopian dream.

<comment><USER21> Accidents will happen, that is inevitable. Autonomous cars don't have to be perfect - they only have to be better than humans and that bar is not set very high.

There are very little examples of autonomous cars causing trouble on the road and plenty of them preventing accidents - an example would be videos on youtube showing Teslas predicting accidents in advance and taking action.

<comment><USER23> > _they only have to be better than humans and that bar is not set very high_

Not to rehash this discussion, but: the bar is actually set _very_ high, and current self-driving tests are seemingly not meeting it. There's a lot of deaths because there's a whole lot of driving.

Give humans credit where it's due.

</comment></comment></comment></comment><comment><USER24> I spent a lot of time a number of years ago making fun of Apple, their technology, and their business models. I have come to the realization that all of my criticisms were wrong. I don't own any Apple products right now, but unless the market changes significantly, my next phone will be my first ever iPhone.

</comment><comment><USER10> Ah man. Tim is a cool guy and Apple's products are quite solid, but their arrogance just isn't quite gone yet.

I don't want to charge through a weird port, need a dongle for everything and be prevented from installing/using proper apps that can even do what theirs can.

<comment><USER25> That's your list of priorities: great! I understand your decision. However I accept all of these inconveniences since my list is different: Privacy

Tom Cook's words: > If you look at our model, if we can convince you to buy an iPhone or an iPad, we'll make a little bit of money. You're not our product.

Not to mention that I love the years long consistent updates of all my iPhones / Macs.

</comment></comment><comment><USER26> Despite the iPhone and business success, I do kind of mourn for the days when their hardware was more reliable. My 2017 Macbook is not nearly as nice as my 2015 model.

Though, as a bit of irony I do like that I can charge my Android phone with my Macbook charger.

<comment><USER27> My father still use my square white Macbook, it stills work as good as day 1 with the factory battery. I wonder if my 2016 and 2018 MacBook Pro will get the same lifetime, if they does, it's still crazy hardware.

<comment><USER26> My keyboard broke on my 2017 Macbook and they had to replace the logic board to fix it. I've already broken keycaps on my replacement. I'll be lucky if this thing sees 3 years.

</comment></comment></comment><comment><USER28> If only we could praise the actual product (iPhone, Macbook Pro, Mac Pro, iMac, etc...) for being amazing an great and not something they dont do (collect user personal data and sell it). It's great Apple takes privacy seriously (as all companies should) it seems like lately Apple is using that all the cherry for the company versus turning out great innovative products that just work (like they used to). If they did both I could get on the Apple bandwagon, right now this is just PR and marketing.

<comment><USER29> "Marketing" is the stuff you write about yourself. Praise from a critic is called something else.

<comment><USER28> I would agree but Apple has a handful of journalist it 'likes' and get's first shots at a lot of things. Not saying this is the case, and this is a good thing Apple does. I think its just ignoring a important part of the Apple ecosystem, the product itself.

</comment></comment></comment><comment><USER30> My secret hope for Apple is that they buy an ISP / Telecom like Comcast.

It curdles my blood that ISPs are not only logging so-called advertising data, but are permissibly collecting and storing http requests, building full browser profiles etc, and of course are not being transparent with any of it.

Apple's message around privacy as a Human Right, along with the natural business model fit around content, wireless, telecom, etc gives me some hope that they could pull this off.

</comment><comment><USER31> I switched to android and am struggling to justify buying a new mac laptop: their whole platform is in the rear view mirror for me after decades of use. I may just get a chrome book to replace the old Air I'm writing this on. Time for a new platform with some new innovations!

</comment><comment><USER32> Is he actually making the case for stagnation? There are serious issues in tech these days - from surveillance to censorship. His argument seems to be that we can't be trusted to innovate and that Apple has essentially stopped doing so.

</comment><comment><USER33> my mind is being blown that this is getting upvoted. this article can be summarized as "other companies are making dumb products, so good for apple for not doing that". what? what the what? is this vapid apple propaganda really worth the read? to me the salient trajectory of apple of the last 10 years has been the absolute decline of their software. people who upvoted this article- why? genuinely curious

<comment><USER9> This article is a mea culpa. He spent the last however many years bashing Apple for not doing what everyone else does.

Now he finally sees there is value and merit to the way Apple has chosen to do things.

That's more than 'everybody sucks so go Apple!'

<comment><USER33> ah- i dont follow the writer so that makes a bit more sense

</comment></comment></comment><comment><USER34> I'm not sure if it's okay to call the entire Silicon Valley has gone rogue. Satya Nadella's Microsoft is still one company that's not part of these controversies and yet trying to innovate at the same time. What's disheartening is how Apple has become like IBM rather than Amazon. Probably, Always listening on Speaker that can steal couple's conversation wasn't their thing but they failed to capitalize on the love Siri had received!

<comment><USER35> Microsoft is no angel, it's just dwarfed by the egregiousness of Facebook, Google, and Amazon. It still does some sketchy data-collecting in Windows unless you opt-out (though it's backed off a bit since that came to light). Microsoft can afford to not fully partake in the skeeviness because a) it's not in the ad business, and b) it _is_ in the enterprise business. Enterprise customers won't put up with that stuff, and they have the money to pay for that privilege. So when Microsoft makes most of their money that way, their business model isn't centered around the other stuff, and customers get partially spared from it by proximity.</comment></comment>


The engine that parses meaningful content out of web pages is now open source - <AUTHOR> https://postlight.com/trackchanges/mercury-goes-open-source <comment><USER2> The repository is here: [https://github.com/postlight/mercury- parser](https://github.com/postlight/mercury-parser)

If you want to try it out while the API is still accessible, visit [https://mercurizer.herokuapp.com/](https://mercurizer.herokuapp.com/)</comment>


The Recombinant DNA Debate: Berkeley lecture on gene splicing [Audio, MP3] - <AUTHOR> http://webcast.berkeley.edu/stream.php?type=download&webcastid=20357

<comment><AUTHOR> The professor giving the lecture is Fyodor Urnov, and by the end of the lecture he is on fire.

This lecture is part of Berkeley's webcasts of the MCB 140 General Genetics course. It's a fantastic example of how great it is that anyone can now download the lectures and materials of entire university courses.</comment>


Ask news.yc: Are you organized about how many hours you hack? - <AUTHOR>

When working on a project/idea do you schedule your hacking time  or do you hack when you feel like it?<p>How many hours of hacking a week? <comment><USER2> If the project is critically important, then you'll probably end up working on it all the time, so scheduling would only serve to help you make sure you're doing the most important things first. In this mode it's all hacking, you're just putting tasks in order.

Otherwise, scheduling is a very good idea for different reasons. If it's a personal project, which means there's no one else to goad you into working on it, then it's especially important to use scheduling to help you keep working. Remember what PG says about personal projects: Always produce. Do something everyday.

</comment><comment><USER3> IMO a fixed schedule is always a better idea, and any hours beyond that are a bonus but in the end it all boils down to a matter of choice or habit. you should follow whatever pattern you are comfortable with

</comment><comment><USER4> moonlighting makes it easy and hard at the same time. I can only work when I'm not working at my day job. I must work when I'm not working on my day job.

I started doing that "don't break the chain" thing. I would say I can spend around 18 hours a week on the project.

<comment><AUTHOR> I am in a similar situation. Moonlighting too, but that should end shortly as I leave my current company for working on the startup full-time. Surprisingly I am doing the 'don't break the chain' thing too. I seem to be getting about 20-30 hours on my project.</comment></comment>


Are you concerned about viruses/trojans on your Mac? - <AUTHOR>

Do you use any sort of antivirus/trojan/malware detector?  Or are you pretty confident that your Mac is secure. <comment><USER2> I approach this 'question' differently for myself, it's not so much that I worry about Trojans/malware for my Mac, I know they exist though, it's more like I don't want to be the 'weak' link in the chain. Let's say I pick up some kind of Trojan/malware/virus for a Windows PC, unbeknown to me I send it to someone who uses only Windows PC's, that makes me the bad person because I was thinking I don't need an anti-virus protection ... I'm working with a Mac no? Why do I need any protection? ... I know the other person needs anti-virus protection too, but in case he/she doesn't, I'm not liable, I did what I could to protect my PC/Mac.

So, yeah ... I use a detector, not only for the small(er) chance I get a Mac Trojan/Malware ... But also to protect anybody I do business with ... Well more to protect anybody in general.

Extra benefit, it keeps my system clean(ish) of tracking cookies and other privacy invading nasties.

</comment><comment><USER3> I am confident my Macs are secure. I do run Little Snitch to monitor incoming and outgoing data connections, but other than that I don't worry.

The nice thing about OS X is the simple way it handles installing applications and if they ask for elevated permissions. I know that there are vulnerabilities with Macs, but I really didn't have an issue on Windows either because I paid attention to what I was running and where I was surfing online.

<comment><USER4> +1 for little snitch Its shocking to see how many apps make silent connections.

</comment></comment><comment><USER5> I think that unless I go to a site online that I should be behind a proxy, or start loading thumbdrives I find on the street I should be ok. That said, I will not upload attachments from emails I don't recognize. Even though I have a Mac, it's not hackproof.</comment>


CPU hardware vulnerable to side-channel attacks - <AUTHOR> https://www.kb.cert.org/vuls/id/584653 <comment><USER2> Side-channel attacks are notoriously difficult to prevent:

[https://en.wikipedia.org/wiki/Tempest_(codename)](https://en.wikipedia.org/wiki/Tempest_\(codename\))

I suspect these sorts of attacks will exist as long as people try to share running untrusted code on the same hardware.

<comment><USER3> It's not just untrusted code, it's all code.

"Trusted code" is one exploit away from being untrusted code. And solving that requires not accepting untrusted input, which makes most general purpose computing useless.

Has there been any research into solving this problem at the hardware level? I'm imagining something like having hundreds or thousands of distinct processors on a PC all isolated each running only one process.

It sounds extreme, but over time I've basically learned to treat "optimization" as a synonym for "introduces side channel attacks", and without something that can protect against a large majority of these kinds of exploits, computers are only going to get less secure.

<comment><USER4> Even with distinct processors, there would still be something in charge of who gets to use what hardware resource. I suspect that would be where the attack vector would shift.

<comment><USER3> At least _some_ of those resources can only deal with encrypted data to reduce the amount of leakage to acceptable levels.

Or maybe we can contain the problem by having a kernel that manages access to all resources, but keeps individual processes on nearly separate hardware.

As you can probably tell, I have no idea what I'm talking about here, but the more of these big side channel attacks that come out, the more I'm feeling that there is no way to securely share a machine among multiple processes without just giving up and letting them all have access to one another.

</comment></comment></comment></comment><comment><USER5> I wish desktop chips would trade a little performance for more simplicity and robustness. Even at half-speed, they are still pretty damn fast, and a lot of the bleeding-edge stuff was pushed over to the GPU a long time ago.

The economics are also a little off. If this were something like ARM64, the eventual replacement chip would be a few bucks instead of a few hundred. In that situation, I wouldn't get too upset about it. It would be like, "Oh well, I guess I have an excuse to upgrade my CPU now."

<comment><USER6> Hear! In them olden days of yore, writing x86 assembly, I had a decent mental model of what my code was doing when.

I no longer do.

<comment><USER5> " _These days I spend more time optimizing code for ARM chips than for Intel chips. The real reason for this isn 't any sort of assessment of current or future importance. The real reason is that ARM publishes the detailed pipeline documentation that I need, so squeezing out every last cycle for ARM is fun, while Intel hides the pipeline documentation, so squeezing out every last cycle for Intel is painful._"

[https://blog.cr.yp.to/20140517-insns.html](https://blog.cr.yp.to/20140517-insns.html)

</comment></comment></comment><comment><USER7> On one hand, great news for Intel: everyone needs a new chip. On the other, terrible news for Intel: AMD's offerings are pretty competitive these days. It'll be interesting to see how this plays out.

<comment><USER8> Do Intel even sell any non-vulnerable CPUs?

<comment><USER9> First couple of generations of Atoms, before they went out-of-order.

</comment></comment></comment><comment><USER10> Maybe the CPU is the wrong place to perform sophisticated optimizations. IMHO, the CPU should be far more simple and the intelligence should be in the compiler.

<comment><USER11> This has been tried several times and it just doesn't look like it works in practice. Delay slots, Itanium, etc.

The CPU is a bit like a JIT in that it can see how the program is really running and optimise for those conditions, which the AOT compiler cannot. Your AOT compiler may not know you're going to take a branch more times than not, but your CPU may be able to work that out at runtime. And then tomorrow you may never take the same branch and it'll work that out as well for the same code.

<comment><USER12> The compiler only knows about the program and maybe statistical information about the data.

The CPU knows about the actual data currently being processed.

Therefore, the CPU can do more by using branch prediction and speculative execution. It is more expensive in terms of energy per computation but so far it was worth it. The CPU can also optimize old code on-the-fly.

</comment></comment></comment><comment><USER13> I can't figure out whether this means that OS-level mitigation of the problem doesn't prevent all avenues for exploitation. The headline implies it (and probably made it to the front page based on that implication) but TFA doesn't make it clear whether that's true.

<comment><AUTHOR> Any branch on attacker-controlled data can be speculatively bypassed. You would have to at the very least recompile all applications to attempt to mitigate the two Spectre variants discussed so far.

Unless there is some way to turn off speculation entirely, but that would hurt performance _badly_.

<comment><USER14> So why are the OSes bothering to patch anything?

<comment><AUTHOR> There are (at least) two separate things going on. Meltdown, the flaw exclusive to Intel and some ARM CPUs, is very easy to exploit and is the one being patched by OS vendors.

Spectre is a whole other can of worms, on the one hand it's more tricky to exploit, on the other hand there might not be an easy fix and people are speculating (no pun intended) that it will have to be dealt with in hardware.

<comment><USER15> Spectre works in javascript due to how aggressive the JIT is.

Chrome and Firefox are already working on solutions as you cannot exploit the JIT if it generates code that ruins your timing as far as I'm aware.

So that solves the problem for most people, but all other environments that allow execution of untrusted code also need to be updated.

</comment></comment></comment></comment></comment><comment><USER16> In the old days this would be no biggie as every non-trivial site would have at least half a dozen different kinds of Unix workstations anyway. SPARC, MIPS, PA-RISC, AXP, m68k, POWER...

<comment><USER17> In the good old days everybody just used HTTP, FTP and telnet and NIS. Old archs also has other bugs we forgot about / never discovered.

<comment><USER16> The point being: monocultures are fragile.

<comment><USER17> Spectre impacts current iterations of: x86, ARM and Power. It's most likely impacts other archs that have variants of CPUs with out-of-order execution.

<comment><USER16> Spectre is harder to exploit - it's the Intel-specific one that's the biggie.

</comment></comment></comment></comment></comment><comment><USER18> so i bought my cpu a few months ago. will intel replace it for free?

<comment><USER19> After 15 years of class action appeals, you'll get a voucher for $15 off of a retail-packaged processor.

<comment><USER20> Meanwhile the lawyers and original plaintiffs will be able to buy their own sex islands...

<comment><USER21> ... with sex dolls... with Intel Inside stickers on them?!

;)

</comment></comment></comment></comment><comment><USER22> this is our golden opportunity to switch to something less privacy evading and bug-ridden.

(and it will incidentally also prove that the market really doesn't work very well, because most people will _still buy intel_ )

<comment><USER23> The problem is that there are not many alternatives.

AMD claims their current CPUs are not affected, but they still have the PSP, AMD's equivalent to Intel's ME. I suppose it has not been probed as thoroughly as ME because of Intel's bigger market share.

ARM CPUs are - according to Intel - also vulnerable, which disqualifies almost all other competitors.

I had hoped that the Longsoon chips would amount to something; I vaguely remember Richard Stallman used a notebook with Longsoon processor, but none of the vendors I checked at the time had even heard of it. And if you are paranoid enough, a Longsoon-based system might just replace the NSA with their chinese equivalent.

The only viable alternative from a technology point of view that I am aware of is the Talos Raptor workstation. Unfortunately, it is rather expensive. Okay, for a high-end workstation, the price is not unusual. But compared to the price of a regular office PC, it is very expensive.

<comment><USER24> I'm also looking at Raptor Hardware and I would love to hear the experience from somebody that uses it.

As well, I am not sure that POWER9 is immune to these attacks. And then, well, you still cannot buy their products, as far as I understand it from their page [1].

Does anybody know more about the Raptor systems?

[1]: [https://raptorcs.com/](https://raptorcs.com/)

</comment></comment></comment><comment><USER25> Anyone know the implications to the security of the crypto currencies? Are they highly prone to theft now?

<comment><USER26> Not if you use a hardware wallet (Ledger or TREZOR). If you're using a web (Coinbase) or desktop wallet, you might be at risk. In reality, it's pretty unlikely to be exploited.

Someone could steal your login credentials for any web service, but the risk is mitigated if you use 2FA, or some sort of IP whitelisting.

<comment><USER27> What happens when you use that wallet by plugging it into the computer, or by entering its information on a computer to perform a transaction?

People say "Hardware wallet" like it's a magic incantation.

<comment><USER26> If you use a hardware wallet, the private keys only exist on the device, and therefore cannot be stolen using this attack vector. The Ledger uses a secure element, which is an entirely separate MCU, and (as far as we know) can't be 'hacked' by any script kiddies.

However, if you for some reason decided to store the wallet seed on your computer, it's no longer secure.

<comment><USER28> An attacker can still use the hardware wallet to transfer money as long as it's plugged in. To prevent this you need external hardware with a display and external input (that cannot be reflashed through usb (!)).

<comment><USER26> Wrong. The hardware wallet requires physical access to sign transactions with the private key (you have to press the button to acknowledge the transaction).

</comment></comment></comment></comment></comment></comment><comment><USER29> disable high resolution clocks for non-sudo programs?</comment>


Snapchat's decline and the secret joy of internet ghost towns - <AUTHOR> https://www.theverge.com/2018/5/18/17366528/snapchat-decline-internet-ghost-towns <comment><USER2> The author, "dick pic" commenters, and celebrities are not really the core snapchat audience. Every single young person around me uses snapchat as a communication medium, not a social network. If Evan and his band of merry pranksters decide to hire people who actually know how to run a tech company (and perhaps the latest CFO hire is an indication), snap may have a very bright future.

<comment><USER3> Young people hate the redesign of Snapchat. They could very easily move on to some other app (kik?) and make Snapchat yesterday's news.

<comment><USER4> I would say that the next logical place is Instagram stories. Instagram is already used as a more permanent & curated version of Snapchat, and Instagram atories is basically Snapchat stories, but within the Facebook walled garden.

</comment></comment></comment><comment><USER5> Let's please call it as it is: the dick pic network is shrinking and hasn't ever found a proper purpose beyond sending those. Sorry to be so blunt.

<comment><USER6> Snapchat is not a "dick pic network" and if you've read the article maybe you could understand how someone can have a personal connection to a website, it's users, and the culture around it.</comment></comment>


Show HN: Fixing Voice Audio Breakups in Calls with Machine Learning - <AUTHOR> https://2hz.ai/blog/fixing-voice-breakups/index.html <comment><USER2> Any chance that you will open source this or offer an API?

<comment><AUTHOR> The most natural place for PLC is running inside a codec. So API probably wouldn't make sense. We do have plans to integrate it into Opus/WebRTC codebase at some point.</comment></comment>


Ask HN: What does an Epic represent for your team? - <AUTHOR> From the conversations I've had, for most software teams, epic basically equals to a feature they are building. It's broken down to user stories and tasks. I'm curious to know if you use an Epic to represent something else within your software team? <comment><USER2> We use the term "theme" rather than "epic" but it's in the same ballpark in terms of "thing used to gather issues together". However, we don't use them to represent features, instead we use them to represent initiatives or goals. We try to work in a way that we're focused on the outcome (what does doing this work accomplish for our users) rather than the output (which features are we going to ship). This in turn means that a theme is not done when the code is completed. Instead we need to follow up on metrics, feedback, etc. and ensure that we got the outcome we were after.

Disclosure: I'm the founder of kitemaker.co, an issue tracker that is quite focused on themes and trying to help teams improve.

<comment><USER3> Sounds like a sensible approach and also I believe thinking of outcomes is better for happiness and motivation than being a code factory or task factory.

</comment></comment><comment><USER4> For us, an epic is a unit of related work which is usually sized for completion in under a quarter or two. Many epics may be completed to get through an initiative. Ex: initiative may be "make a new service to replace section $FOO of a monolith." If this is able to be done in a quarter or so, then it is the epic. If it is larger, we may break it up into milestone epics like prototype, beta release, full release, and clean up. Like you say epics will be composed of stories, tasks, and spikes (investigations).

</comment><comment><USER5> The desired goal of the client, which is then broken down into features and tasks.

e.g. Epic -> "We want to georeference imagery in ${app}" Feature1 -> Upload Imagery to app Feature2 -> Manipulate imagery that is visible on the map with the mouse cursor FeatureX -> ... TaskY -> Warp an image via canvas TaskZ -> ...

</comment><comment><USER6> My work involves integrating financial institutions with our tech. In our workflow, each Epic corresponds to one institution.</comment>


Ask HN: Cheapest ways to do political polling? (For drug policy) - <AUTHOR> I'd like to run some state by state polls to see where drug decriminalization ballots could pass, if anywhere.<p>Are there any cheap ways to do this? <comment><USER2> Try polio.us maybe?</comment>


'Gerbils replace rats' as main cause of Black Death - <AUTHOR> http://www.bbc.com/news/science-environment-31588671

<comment><USER2> Sooo... what we're really saying here is that we really don't know.

<comment><USER3> Yep. There's even been some debate WRT to the Black Death agent being _Yersinia pestis_ (formerly _Pasteurella pestis_ ), some think or thought an hemorrhagic virus was a more likely cause.

It's hard looking that far back in time ... but we've got some amazing techniques now. We've found enough DNA in exhumed victims of not only the Black Death, but the 6th Century Plague of Justinian, 1,500 years ago (DNA is hardy stuff) to confirm they were distinct strains of _Yersinia pestis_.

From what animal reservoirs they jumped from, though, pretty much has to be speculative. But it is interesting they're smelling a new "rat" ^_^.

<comment><USER4> It wouldn't surprise me if the Plague jumped from one host to another and that became a semi-permanent reservoir. After the Plague came in during the Middle Ages it became a periodic event that only died out in the 1720s. Why it died out is still an open question.</comment></comment></comment>


Denial of Service affecting RHEL/SuSE Linux by sending crud to PTY. - <AUTHOR> https://bugzilla.novell.com/show_bug.cgi?id=875690

<comment><AUTHOR> I've tested against CentOS6.5, Fedora 20 and Ubuntu LTS (10.04), Ubuntu has been the only distro unaffected thus far.

scary thing about the attack is that it leaves the machine completely unresponsive, even to SysReq commands.</comment>


Taylor Swift, Spotify and the Musical Food Chain Myth - <AUTHOR> http://performermag.com/taylor-swift-spotify-and-the-musical-food-chain-myth/

<comment><USER2> It sounds like people used to buy her CD, but not listen to it. Now that she is payed per play the money is dry.

Actually it just sounds like her fan base has eroded, and nobody wants to listen to her music.

I think there is one fair point: Established artists at record companies have always been getting pennies on the dollar of CD sales, while independent artist got everything after expenses when selling CD's at their shows. With the streaming model it seems like everybody gets paid as if they were on a major deal - it is just not everyone who benefit from the investment and exposure that a major deal gives.

<comment><USER3> I partially agree.

I simply don't accept the complaints over people not coming to see the live shows. If people don't care enough to come out and pay to see you perform, it seems to me the answer is more likely that the artist is insufficiently popular to fill the venue - which I assume in principle was profitable given a certain level of attendance.

However, CD sales pay a hell of a lot more per play per track than 0.06 cents. According to my maths[0] for an album (songs ~4 mins long) you'd have to spend 1000 hours listening to make the same $10 as a sale. However, is this not how radios have paid artists for years? Now we get to listen to what we actually like

[0] (10/0.0006)*(4/60) =~ 1111

</comment></comment><comment><USER4> The basic problem is there is so much good music out there and it has become so easy to find (and cheap to make) that it impossible for most musicians to make anything but the most basic living. I don't have a solution.</comment>


Scientific Consensus Is Almost Never Wrong - <AUTHOR> http://www.realclearscience.com/articles/2015/11/25/scientific_consensus_is_almost_never_wrong_109464.html <comment><USER2> Scientific Consensus has been wrong many times.

Surgery, especially the importance of a sterile theater.

Age of the Earth, and universe.

Most common cause of ulcers.

The coming Snowball Earth (as recently as late 1980s).

Obesigens, like AD-36.

Microbiome importance and effects.

Numbers of moons (I had textbooks that said Jupiter had 12, Saturn 10, and outer planets, none)

Environment management (e.g. killing wolves and beavers because of "harm" they do to ecosystems).

Just off the top of my head.

<comment><USER3> [https://www.foresight.org/news/negativeComments.html](https://www.foresight.org/news/negativeComments.html)

And the sad thing is, that even if your logic is more strict, if you argue scientifically, people still think you are a nutjob just because you see things from a different perspective.

I just hope guy mcphearson is wrong, I so hope. [http://guymcpherson.com/recent-video/](http://guymcpherson.com/recent-video/)

He is a meta climate scientist, he looks at the output of all the others and combines them - what comes out is very dark perspective but the points he brings up are very real.

I can give you a very long list of what they will find out sooner or later to be wrong, but I collected enough negative points with my physics views the last days ;)

</comment></comment><comment> andrew-lucker Scientific Consensus Is Almost Never Wrong

on topics covered in Geology 101

except for that one time</comment>


Show HN: The Little Book - <AUTHOR> http://blog.153.io/Little-Book

<comment><USER2> For some reason (at least using Firefox on 32.0.1 on OS X 10.9.4) this prints with the grid of pages landscape. If it were rotated 90 degrees (printed in the other orientation) then each page could be made larger.

<comment><AUTHOR> Printing the grid landscape is the intended behaviour. It should look like [https://rawgit.com/quarterto/Little- Book/83d1a850cff195ce62e...](https://rawgit.com/quarterto/Little- Book/83d1a850cff195ce62ed6d98bad30abebb53d2b2/index.html).

How would printing it portrait allow larger pages? The pages are each an 8th of a sheet, it's physically impossible to get them any larger :)

EDIT: unless you mean it prints a reduced size landscape version on a portrait screen, in which case I have no control over that AFAIK. Change it to landscape in your print settings (and turn off any margins if you can).</comment></comment>


Japanese ghost towns - <AUTHOR> http://www.michaeljohngrist.com/ruins-gallery/

<comment><USER2> I would think the inevitable decline that came with a declining population / burst economic bubble would be of more interest to the HN population.

A lot of small-town Japan is suffering extreme Walmart syndrome; an AEON superstore moves in and takes over the whole place, and Japanese businesspeople immediately shut down since they "can't compete".

This feeds back on itself,and the "ghost town syndrome" is the inevitable end result. To repurpose a meme from Slashdot, only old people in Japan would live in those towns.

It's almost tragic how Japanese businesses fail to take advantage of the cost advantages of being outside of Tokyo, but it's a chicken and egg problem. What talented employee in the US is going to enjoy being in a town where the only enjoyment is at the local Walmart?</comment>


WasmBoxC: Simple, Fast, and VM-Less Sandboxing - <AUTHOR> https://kripken.github.io/blog/wasm/2020/07/27/wasmboxc.html <comment><USER2> > Wasm sandboxing is even safe to run in the same process as other code (at > least modulo Spectre-type vulnerabilities)...

If you want strong security with this big a modulus you may have been looking for RSA. (ugh, sorry)

Spectre V1 (speculative bounds check bypass / type confusion) is basically game over for intra-process memory isolation without introducing expensive or complicated mitigations: speculation barriers at _every_ branch, or a more optimized pass like Speculative Load Hardening ([https://llvm.org/docs/SpeculativeLoadHardening.html](https://llvm.org/docs/SpeculativeLoadHardening.html)) that can bring the overhead _down_ to 20-50%.

From what I've seen, the best understanding right now is that the process is the smallest defensible unit of isolation.

That's not to say that using WASM as an intermediate compilation target won't eliminate some threats! The runtime can definitely help to improve memory safety, for example. But if you care about _confidentiality_ of the data in your process, any code that is untrusted enough to require sandboxing should also be run out-of-process, e.g. across an IPC boundary.

<comment><USER3> Spectre makes me wish we'd give something like IBM's project DAISY / Transmeta's Crusoe another chance. If we have one mode with a simple and high- density instruction set similar to Hitachi's SH4 / ARM's Thumb2, along with a VLIW mode (similar to switching between Thumb2 and regular ARM), and some hardware support for tracing and dynamic recompilation (including reservoir sampling of instructions causing pipeline stalls), we might get decent performance and code density, while being able to move all of the speculation into the dynamic recompilation layer.

Having the processor natively support the dense non-VLIW instruction set means you don't pay much in the way of startup latency, and once you're warmed up, your hot spots have all of their cross-DLL calls inlined / no longer indirect, and your virtual function calls devirtualized / speculative inlined. Spots where the dynamic recompiler was wrong about pipeline stalls eventually use dynamic information to recompile and shuffle instructions around to avoid pipeline stalls. You don't pay the transistor and power budget for out-of- order execution or speculative execution hardware. Hardware speculative execution gets replaced with predicated instructions and shadow register save/restores.

I think IBM's DAISY was much closer to being on the right track vs. Intel's EPIC / Itanium. If your system is built for dynamic recompilation and re- optimization of native code on the fly, your compiler doesn't have to be as good at statically predicting execution paths and pipeline stalls.

Transmeta's main problem was that they were emulating all x86 instructions before they warmed up, and after warm-up they were still emulating all x86 instructions outside their hot code path. With a simpler instruction set like SH4 / Thumb2, they could hopefully have hardware support for the code outside of the hot spots / pre-warmup.

Given the amount of time spent running JavaScript, hopefully one would also look at the bytecodes for V8, JavaScriptCore, and SpiderMonkey for inspiration as far as making the non-VLIW instruction set an efficient and compact JavaScript JIT target.

<comment><USER4> > If we have one mode with a simple and high-density instruction set similar > to Hitachi's SH4 / ARM's Thumb2, along with a VLIW mode (similar to > switching between Thumb2 and regular ARM), and some hardware support for > tracing and dynamic recompilation (including reservoir sampling of > instructions causing pipeline stalls), we might get decent performance and > code density, while being able to move all of the speculation into the > dynamic recompilation layer.

Trading hardware complexity for software complexity is not the right strategy to combat sidechannels. They just reappear up the stack.

Any speculative optimization that depends on program values can potentially leak information through timing.

<comment><USER5> With speculation moved to a (JIT) compiler, this becomes way harder to trigger.

You can no longer deterministically trigger a speculative fetch and detect whether it was slow or served from cache. Whether the speculative fetch ever occurs is deteremined by the JIT, and once the JIT realized it should not even occur, it will never occur again. Quite likely you won't be able to collect enough bits _even_ if speculative execution is supported by the hardware. It it's not, you will just not have anything to time, AFAICT.

<comment><USER4> It's true that it is much, much harder to trigger, and less predictable, but the information leak is still there. Both the bitrate and the signal-to-noise ratio are far worse.

It's worth pointing out that JITs can and do get caught in deopt loops, and it doesn't even necessarily need to be a deopt loop in a JIT that is the information leak. Something as simple as interned strings can leak information about what strings a program is using. Also with hashtables; if you have control over some of the keys that go into a hashtable and some knowledge of its implementation, timing information can reveal information about hash collisions, and thus other keys in the table.

Fundamentally, side channels are unwanted information flows in a system, and the more complicated the system, the more potential there is for side channels. Moving complexity around might make a difference on the reliability and bandwidth, but it doesn't eliminate them. If side channels are a serious concern, the best defense is simplicity, not massive rearchitecting to a new and different kind of complexity.

(even speaking as a person who spent decades working on JITs--wrong hammer here)

<comment><USER3> My understanding is that Spectre/Meltdown attacks are all the result of either conditional memory operations conditioned upon speculatively read data, or else speculative data operations using addresses calculated from data that was speculatively loaded.

Is that correct? Doesn't moving speculation from hardware control to software control allow you to perform better dataflow analysis than you can reasonably do in hardware, which allows you to perform more provably safe speculations (or less often pay the I/O overhead of converting a speculative conditional load into an unconditional load and a speculative conditional register-to- register move) than you get if the speculation decisions need to be performed in hardware?

</comment></comment></comment></comment></comment></comment><comment><USER6> > By compiling to wasm we sandbox the code, preventing it from accessing > anything on the outside.

Operating systems are in a sad state, as virtual address spaces already offer exactly that in hardware at full speed. It's only through the operating system APIs that processes gain the ability to affect anything outside of the process.

Current operating systems weren't made with untrusted code in mind, but have so much inertia that new operating systems repairing old misfeatures can never succeed. All code is already written based on the bad Operating System APIs like for writing files. This project just handwaves the actual problem away:

> the sandboxed code can't do anything but pure computation, unless you give > it a function to call to do things like read from a file, tell the time, > etc.

<comment><USER7> > Operating systems are in a sad state, as virtual address spaces already > offer exactly that in hardware at full speed

Ever since reading about Microsoft Singularity all that time ago, I reached the opposite conclusion: software is in such a sad state that it must rely on hardware to provide isolation. From this perspective, WasmBoxC and many projects like it are IMO a huge step in a desirable direction.

The main lesson from Singularity for me (aside from requirements for memory safety) was that cross-component safety can be achieved by formalizing the protocols those components use to communicate. Sing# had a dedicated type to capture the state machine for every cross-component transaction, with strongly typed inputs and outputs. This problem is not unique to software isolation -- it is the basis for a huge variety of security problems everywhere across the ecosystem, not least network services

Wouldn't it be a wonderful world if we knew our application was fully safe when exposed to a network for the same reason we know it is fully safe to run in the same address space as another untrusted application? That is that path Singularity took us along

<comment><USER8> Example of such sad state of affairs, Android 11 is adding support for hardware memory tagging, as static analysis alone is not enough to tame the C and C++ components.

[https://source.android.com/devices/tech/debug/tagged- pointer...](https://source.android.com/devices/tech/debug/tagged-pointers)

iOS, Solaris on SPARC are on this path as well.

Regarding Singularity, we are slowly moving away from C on non pure UNIX clones, but still it will take generations.

</comment></comment></comment><comment><USER8> Well,

"Everything Old is New Again: Binary Security of WebAssembly" \- USENIX 2020

[https://www.usenix.org/conference/usenixsecurity20/presentat...](https://www.usenix.org/conference/usenixsecurity20/presentation/lehmann)

<comment><USER9> That's a good article! Some notes on it:

[https://twitter.com/kripken/status/1284576787624648705](https://twitter.com/kripken/status/1284576787624648705)

Perhaps wasm isn't (yet) a good replacement for native binaries for the reasons they mention. In particular such an application usually has access to files and timing etc., and you're (currently) missing some safety techniques native binaries use, which is a risky combination.

But as mentioned in the post here, if you're sandboxing a specific library that does pure computation (say, a codec or a compression library) then using wasm you can make sure it cannot escape the sandbox and that it has no timing or other OS capabilities. Those are powerful guarantees!

<comment><USER8> Pure computation is subject to UB and memory corruption due to lacks of bounds checking inside linear memory blocks, leading to outputs that cannot be trusted, even though they are sandboxed.

<comment><USER9> Definitely, yes, and you do need to be careful about those outputs. Still, the sandboxing guarantee here is very useful!

This isn't theoretical, Firefox does this approach in production (using RLBox, which is mentioned in the post),

[https://hacks.mozilla.org/2020/02/securing-firefox-with- weba...](https://hacks.mozilla.org/2020/02/securing-firefox-with-webassembly/)

<comment><USER8> Thanks for the link, I missed that post.

</comment></comment></comment></comment></comment><comment><USER10> > The OS-based implementation uses the "signal handler trick" that wasm VMs > use. This technique reserves lots of memory around the valid range and > relies on CPU hardware to give us a signal if an access is out of bounds > (for more background see section 3.1.4 in Tan, 2017).

On Linux you can also make use of userfaultfd(2) rather than handling SIGSEGV.

</comment><comment><USER11> This is a really cool concept. I'd love a mature supported technology, that could replace .NET's AppDomain.

<comment><USER12> biggest problem is that .net/dotnet core can not be easily wasm aot compiled. currently you compile the runtime to wasm and use the dll with the wasm runtime. this is the approach that blazor wasm uses and it is aweful.

<comment><USER13> I tried this. Aot compiling with the .net runtime just isn't very practical. I know mono does this, with some guided info for reflection based classes. But the way the structure is setup, is that string pulls in globalization. And enumeration. And comparable and equality which both work by reflection to pick the right default implementation. Reflection is expected to work, which pulls in all methods and their dependencies. By the time you have a working executable for hello world, you're a few MB ahead. The class library just isn't setup for this kind of use.

<comment><USER14> I was thinking about this just the other day, when Microsoft announced the latest dotnet 5 preview, and yet again have postponed AOT - Microsoft have been teasing dotnet devs with the promise of production-ready AOT for something like a _decade_.

Frankly, I wish they'd put up or shut up - either prioritise it and make it happen, or just admit defeat and say it's not going to happen.

<comment><USER8> Production ready AOT for .NET exists since Singularity, which MIDL and Bartok compilers were the basis of .NET WinRT on Windows 8/8.x.

Then some of the Midori tech eventually made its way into .NET Native, which from my point of view UWP + .NET Native is what .NET should have been all about back in 2001.

Apparently after the timid attempt with XAML Islands and MSIX, they seem to be getting the house in order and driving the platform into a way to pretend that Windows 8 and 8.1 never happened, but it seems to be lacking a lot of coordination and long term planning.

Windows 10X apparently is also not getting Win32 sandbox any longer, this assuming it ever gets released.

Still in the middle of the chaos, it still feels much better than if I had to deal with Android on daily basis, one IO best practices is next years legacy.

<comment><USER15> I think when someone says "production ready AOT" in any context, it's never quite obvious what they mean. As ckok implied, even when AOT is "working" it may generate a 100mb executable. For some end users that is production ready (like Facebook, who reportedly were shipping 1gb+ AOT'd php executables to their server cluster) and for other end users it is not (because a 100mb browser app is a closed tab.)

WASM now and emscripten before it both were designed and optimized for POSIX C apps and for games, and they're pretty good for those scenarios. Larger-scale stuff is pretty tricky and the tooling ecosystem will have to continue to grow to support more real-world applications. JIT, stackwalking, GC, etc are all still not there on WASM - thankfully threading is finally crossing the finish line but even that has taken years.

<comment><USER8> Some day WebAssembly will match what Flash CrossBridge and PNacl already had 10 years ago.

</comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> Alon did a really great job with the article, hats off.

I think WasmBoxC might be useful to try to benchmark how fast we can get Wasm to run server-side. We also hope to eventually beat native execution in server-side specific Wasm runtimes (such as Wasmer using the LLVM compiler and Profile Guided Optimizations) once the runtime ecosystem matures a bit.

Keep up the good work!

</comment><comment><USER16> Gary Bernhardt was prophetic [https://www.destroyallsoftware.com/talks/the- birth-and-death...](https://www.destroyallsoftware.com/talks/the-birth-and- death-of-javascript)

<comment><USER17> Wasm is amazing, but it's not intended to replace JavaScript. If you just want to add a form to a website, animate a drop-down menu, or the like, JS (or TS) will probably always be preferable to writing in another language and compiling to wasm. The web platform moves fast and maybe in a couple of years I'll eat these words. But nothing I've seen so far points towards the demise of JS.

<comment><USER18> Gary's talk is not exactly about the "demise of JS". Watch the talk, it's a great one :)

</comment></comment></comment><comment><USER19> Any time these come up i don't find a comprehensive analysis on security. The best, supposedly most secure libraries in the world get significant vulnerabilities.

<comment><USER20> This is not make any software magically secure. It's only purpose is to _sandbox_ a library to prevent it doing anything malicious. As wasm cant do any more than computing you simply contain the library, it cant anymore open any files, make network calls, etc.

<comment><USER21> > As wasm cant do any more than computing you simply contain the library, it > cant anymore open any files, make network calls, etc.

That presumes the WASM implementation is bug free, which is not a great presumption, especially for the more sophisticated implementations with JIT engines, and even more so for those adding multi-threading, GC, etc.

</comment></comment></comment><comment><USER22> So, compiling via WasmBoxC gives a 14% - 42% performance overhead compared to native compilation.

Is there also a significant overhead in terms of binary size?

<comment><USER15> wasm binaries are typically size-competitive with native x86 _once you compress them_ (i.e. foo.so.zip vs foo.wasm.zip), but the jitcode you get out of them is usually much bigger. In my testing the size overhead for stuff like the ICU unicode library was maybe 20-40% on-disk, depending on compiler settings. It's gonna depend on your workload.

Note that even if the actual generated jitcode is computationally efficient, it might be larger and as a result waste more space in the instruction cache, which would hinder performance.

</comment></comment><comment><USER23> Sounds similar to Fastly's "Lucet" \- [https://www.fastly.com/blog/announcing- lucet-fastly-native-w...](https://www.fastly.com/blog/announcing-lucet-fastly- native-webassembly-compiler-runtime)

</comment><comment><USER24> so, if you compiled a language shell, or interpreter this way; you would end up with a sand-boxed shell/interpreter?

<comment><USER25> One that couldn't do anything. The essence of the method is providing to the sandbox specific, safe means to interact with the surrounding process.</comment></comment>


How Safe is your Money?  Analysis of FDIC data. - <AUTHOR> http://www.r-chart.com/2010/08/how-safe-is-your-money.html

<comment><AUTHOR> Was kind of surprised by the decline in the number of banks around. Consolidation was a big deal in the 90s, but with the "too big to fail" claims of the last several years, it is a bit disturbing to see.

Not to mention the negative fund balance...</comment>


Revenue from my first day running iAd - <AUTHOR> http://dl.dropbox.com/u/153616/iad-day1.png

<comment><USER2> It seems Apple is calculating eCPM off of the impressions actually shown, not the number of requests made. Since the fill rate was only 34.9%, I'd argue the actual eCPM for this developer is $51.49, not the reported $147.55.

These are still impressive numbers. It's clearly 'get as much money as fast as you can while advertisers are still being irrational' time.

<comment><USER2> While I'm looking at these numbers - they're consistent with Apple's claims that they're charging advertisers a $10.00 CPM + $2.00 CPC and then giving 60% to the developer.

9,300 imps x 11.80% CTR = 1,097 clicks

9.3 mille x $10.00 CPM = $93 from CPM

1,097 clicks x $2.00 CPM = $2,194 from CPC

$2,194 + $93 = $2,287 gross from the advertiser

$2,287 x 60% = $1,372 to the developer (as reported)

If we assume that iAds clickthrough rates are because of their novelty, and that the CTR will decline to, say, 1% over time, that works out to an eCPM of $18.00 (assuming 100% fill rate) or $6.28 (assuming this developers' fill rate of 34.9%.) Still pretty good.

<comment><USER3> Thanks for clarifying calculations. Yet, would you please also include the calculation of eCPM of $18.00?

</comment></comment></comment><comment><AUTHOR> This is from a utility app that was released today. I was quite surprised by the return, though I'm not sure if it will keep up. It seems that people may still be enjoying the novelty of iAds.

<comment><USER4> I'm not sure the novelty will wear off though. I played with the Nissan LEAF ad a few days ago, and it was genuinely an engaging and enjoyable experience, certainly more so than any other ad platform I've seen.

</comment></comment><comment><USER5> Is this sustainable? As an advertiser, I probably wouldn't want to pay those rates to be included in an app people use while trying to find something that fell under their car seat at night.

<comment><USER6> Quite obviously the eCPM will go down as the novelty factor wears off.

</comment></comment><comment><USER7> impressive. Keep us up to date about the numbers of your LED Light app.

</comment><comment><USER8> iAd has good eCPM, but there's no way that's sustainable.

</comment><comment><USER9> wow, $150 CPM trumps the internet

</comment><comment><USER10> $150 is just too much for being sustainable. Let's see where it finally settles.

</comment><comment><USER11> Which flashlight app is yours?

</comment><comment><USER12> Hello, could you describe what kind of utility app you made?</comment>


Why are Google and Apple dictating how European democracies fight coronavirus? - <AUTHOR> https://www.theguardian.com/commentisfree/2020/jun/16/google-apple-dictating-european-democracies-coronavirus <comment><USER2> So, refusing to violate basic privacy standards is dictating how Europeans fight coronavirus?

<comment><USER3> American companies don't get to tell European democratic governments what privacy standards are appropriate.

</comment></comment><comment><USER4> They are not, most likely the tracking apps are completely irrelevant. The vast majority of European ( or at least German ) measures were motivated by scientists and not by Silicon Valley companies.

<comment><USER5> I think the point of the article is not whether the tracking apps are relevant - or damaging to privacy, which they very well may be. The point is that these decisions should be made by European governments, nót (American) corporations.</comment></comment>


70 Things Every Computer Geek Should Know. | Arrow Webzine - <AUTHOR> http://www.aagneyam.com/blog/?p=466 <comment><USER2> Say what? A password protected RAR is the best choice? I must admit I stopped reading shortly after that paragraph.

<comment><USER3> For a while there RAR had one of the better encryption schemes for archiving files, and had decent cross-platform binaries.

I'd pick 7-zip these days, as it does better compression, and the crypto is even better (serious key strengthening) opens nearly anything and has a non- annoying interface (on windows, CLI on Mac/Linux).

</comment></comment><comment><USER4> "Read 1337 At Normal Speed" lol, who writes something like that?! :D

<comment><USER3> This is definitely a "I CAN HAS SKRIPT KIDDIE" list...</comment></comment>