Apple iCloud - <AUTHOR> http://www.apple.com/icloud/ <comment><USER2> Honestly, this is attractive enough for me to consider reinstalling iTunes. I've ranted a number of times on the numerous issues I've had with it, but this service is amazing, especially as someone who doesn't buy their music from iTunes.

Why's that? Because for $25, all those older CD rips and music which was certainly acquired legally can now be obtained easily in 256 Apple lossless (edit: not lossless, duh). I don't know if I'd keep using the service, but that alone is, to put it bluntly, fucking awesome. I wonder if there will be some sort of limit on this to prevent abuse.

Edit: Any of the downvoters care to explain why I was downvoted for this post? Tone, mentioning piracy/abuse, hating iTunes? I'm genuinely curious here.

<comment><USER3> Your rips will not help you. The iCloud music service does not work with rips. You need to have the actual CD. iTunes will scan, it, identify it, and identify the individual tracks.

<comment><USER4> Do you have a source for this? The blogging community seems to disagree with you...

</comment></comment></comment><comment><USER5> I want more control over my music with the cloud, not less.

* iCloud will not offer the ability to access content outside of Apple's devices: No web-based access has been announced or hinted at.

* Locked into music formats only Apple wants to support: No lossless format, no advanced tagging, no support for open audio standards, the list goes on.

* Forced to use iTunes: Forcing everybody to use iTunes prevents alternatives from being developed or brought to market. iTunes sucks but there's no alternative not because they don't exist, but because Apple's vertical integration prevents alternatives from gaining any ground.

The iTunes Store is great. The iTunes application is horrible. Media lock-in is bad for consumers.

<comment><USER6> The world before iTMS involved me going to tiny record stores and thumbing through physical CDs. In today's world, within 4 minutes of reading a review of a new artist, I can have the track on my phone.

Over the long term, maybe iTMS lock-in is bad for consumers. But when you say that, I personally (just me) think you have to account for the fact that over the short term, it's been a huge win.

<comment><USER5> False dichotomy. You can have an online music store without waging a format war and trying to control how people use their music.

<comment><USER7> "You can have an online music store without waging a format war and trying to control how people use their music."

You _can_ do this today only because Apple went to bat with the labels, won a bunch of freedoms, had a crapton of success and the labels (fearing Apple's leverage) gave even more freedoms to Amazon et al.

<comment><USER8> Exactly and some time down the line when Google/Amazon/Microsoft/Canocial inevitably offer an equivalent service/price it will be because Apple validated the model. The only interesting part will be if the labels make the iTunes clones pony-up the large upfront fees Apple did.

</comment></comment></comment></comment></comment><comment><USER9> On the music I have to give Apple credit. At first glance I was kind of annoyed at "download again" being their solution. But the more I think about it the more I think it's better than streaming. You get unlimited downloads so you can adjust for device storage space as needed and being able to download the track means you aren't subject to connection problems.

Add that to the fact that all your songs purchased in iTunes are available for free and I think you have a pretty stellar service.

Plus from their perspective it actually saves bandwidth. Since the number of downloads most people make will be limited to the number of devices they have (as opposed to streaming where you have to serve the song up every time it's played)

<comment><USER10> I think it's as simple as, consumers don't want to deal with the latency. I pick a song, it plays instantly, within half a second. Online players for now seem naive.

<comment><USER11> You obviously haven't tried Spotify. It's instantaneous.

<comment><USER6> Rdio is so fast I don't bother syncing music over to my phone anymore. I think I agree, that normal people aren't going to care about the "latency" here. Price, branding, and integration are huge clubs Apple is wielding here though.

<comment><USER10> On mobile or on your desktop? I think we need to make a distinction here.

</comment></comment></comment></comment></comment><comment><USER12> It seems to me that as far as photos go iCloud is only a temporary home while you sync your devices up (the so-called Photo Stream <http://www.apple.com/icloud/features/photo-stream.html> ) . So it is still a very device-centric view of the world, with the cloud as a backend assistant. Did I misinterpret what they said?

Obviously it is too early to know now, and we'll only know for sure when it comes out, but still, thoughts?

</comment><comment><USER13> I am honestly curious how they are going to prevent pirated music from appearing unless by "ripped from CD" they ripped by iTunes from CD. But they mention support songs purchased elsewhere in their blurb.

Maybe they just don't give a shit.

<comment><USER14> _This is all just a guess, but..._ You aren't seeing this the right way. That money? Part of that is going to the labels. That pirate stuff you are adding? Apple will keep track of it, and the labels will get a cut. So yes, the labels know people are going to upload pirate music. At least now, they get some money from it.

<comment><USER15> which is a pretty progressive decision by music companies. it's like they're accepting that people will pirate music no matter what drm scheme or lawsuit wave they throw out there, so they're trying to find a way to live profitably with it.

<comment><USER16> I have heard that Grooveshark started under similiar pretenses.

</comment></comment></comment></comment><comment><USER15> would be awesome if there were an android client :) but seriously, I think I need to see more details on how this works. can I choose to download just one song at a time? can I create a playlist of my cloud'ed music, play it, and delete it?

currently with itunes you have to manually select which artists/albums you want to sync if you don't want to sync everything. this would be laborious to manage with multiple devices, especially if you've got 100gb of music on your macbook, and a 32gb iphone and a 16gb ipad. I'd much rather be able to selectively stream my music.

<comment><USER17> You don't need to manually select them, since the shuffle was released you could always have iTunes select them for you to fill the remaining space on your device.

</comment></comment><comment><USER18> This is not cloud music. It's a file locker.

<comment><USER19> Sounds like both to me! As well as a data locker for my own apps!

</comment></comment><comment><USER20> So, is there no web access to iCloud content? No way to share, for example, photos or documents publicly (or in the case of docs, between apps)?

These seem like remarkably device-centric solutions for an increasingly web- centric world. Which is not surprising, I guess, for what is essentially a hardware company.

<comment><USER21> I didn't see any web access mentioned, but mobile me has always had web access for photos/email and the ability to make photo albums public or to password protect them (for group access). I don't see why they'd remove this

we'll know soon though

</comment></comment><comment><USER22> wandering what they'll do with those who paid (recently) for mobile.me

<comment><USER8> My MobileMe renewed... yesterday afternoon. Chatted the support up and he offered a full refund, however it would take 4-6 weeks to post, a partial refund in the next week or two, and no guidance beyond that because the MobileMe team didn't actually learn that they had been discontinued UNTIL THE KEYNOTE.

He was cool, and only made a few comments, but in the few he did, you could absolutely feel the repressed steverage.

:)</comment></comment>


UK Government Confirm Move to Force ISPs into Blocking "Adult" Sites - <AUTHOR> http://www.ispreview.co.uk/index.php/2016/11/uk-government-confirm-move-force-isps-blocking-adult-sites.html <comment><USER2> Please sign and share this petition:

[https://petition.parliament.uk/petitions/173407/sponsors/aeX...](https://petition.parliament.uk/petitions/173407/sponsors/aeXJMT2Df37mvburYqLK)

It reads:

Do not censor the internet. Please rethink forcing ISPs to Block "Adult" Sites.

As part of the Digital Economy Bill 2016-17 the government has officially announced that Mobile and fixed line broadband providers in the United Kingdom will be forced to block all "adult" websites. This is a slippery slope which can be used to force ever increasing censorship on undesirable views.

The bill also introduces a new power that forces payment services (e.g. VISA, Mastercard) to withdraw support from non-compliant sites. The legislation uses the term "adult content" (i.e. open to interpretation and mission creep.) Dating, self-harm support, social networks, different political views and medical sites have historically been tagged as "adult content". More at: [http://www.ispreview.co.uk/index.php/2016/11/uk- government-c...](http://www.ispreview.co.uk/index.php/2016/11/uk-government- confirm-move-force-isps-blocking-adult-sites.html)

<comment><AUTHOR> Whilst it isn't ready yet, it would be better to link to the petition page. (Ie, there is no chance I am signing a petition without reading the text first!)

[https://petition.parliament.uk/petitions/173407/](https://petition.parliament.uk/petitions/173407/)

</comment></comment><comment><USER3> Theresa May will go down as the worst PM in history IMO:

\- This

\- Article 50

\- IP Bill

\- Repeal of the Human Rights Act

Is there anything else to add to the list?

<comment><USER4> I just heard about a cut to benefits. [https://www.theguardian.com/commentisfree/2016/nov/08/theres...](https://www.theguardian.com/commentisfree/2016/nov/08/theresa- may-just-managing-victims-benefits-cap-poorest)

</comment></comment><comment><USER5> "Free" countries are getting less and less free every day.

</comment><comment><USER6> The proposed censorship seems to be to force sites to have proper age verification of _visitors_. I don't know how they will achieve that without forcing memberships backed by some kind of credit card or other such thing. I believe that would block out a majority of visitors.

<comment><USER7> Claire Perry has been pushing this agenda for a number of years, and the 'adult' industry has spent some time discussing it. From what I heard, a lot of the proposed "if this happens" solutions are exactly that - credit card or mobile phone verification.

Regardless, there'd be some kind of 'check' that ties you to the porn you watch.</comment></comment>


Ask HN: How many bitcoins did you have in your mtgox wallet when it shut down? - <AUTHOR>

Also i would like to ask HN users whose bitcoins are stuck/lost in mtgox wallets, what are you planning to do regarding the situation on mtgox? <comment><AUTHOR> I lost 2.5 btc. If someone with better understanding of the situation on mtgox could answer the other question, it will be very welcome.

<comment><USER2> I lost 1.5BTC I purchased as a 'long term' investment or even to use them when BTC became usable.

Now I guess their gone.

</comment></comment><comment><USER3> I, unfortunately, lost 58.2 BTC.

<comment><USER4> That really sucks, and you have my sympathy. When/how did you first find out, and if you don't mind me asking, how have you been taking it so far?

<comment><USER3> Thanks. Found out this morning, when I came back from a vacation. It sucks, but it's nothing I can't rebuild.

<comment><USER5> If you don't mind me asking, at what price did you buy them at?

<comment><USER3> I didn't; I mined them. It doesn't bother me immensely, as the total amount of coins I have mined amounts to 1,987.

<comment><USER4> You have... a million dollars worth of bitcoin? Goddamn.

</comment></comment></comment></comment></comment></comment><comment><USER6> Ah not much, around 1.7 bitcoins. Bought them pretty cheap (<$300) in the recent weeks because I wanted to take the bet. Turned out I lost the bet. But that's not a big deal, I made around 1 bitcoin profit through btc.sx.

</comment><comment><USER7> 0.

I used to mine bitcoins and have them sent to MtGox (in tiny fractions of course) but stopped doing it long before as this process became too inefficient.

</comment><comment><USER8> 0\. Mt. Gox was a publicly visible target. My laptop is much less visible. (Not that it matters, I sold off all my coins last August.)

</comment><comment><USER9> 0.

BTC that are in some service aren't in your own wallet and so aren't secure.

<comment><AUTHOR> Well, security is relative. On mtgox, they were more secure to price volatility, since you could sell them any time. But how can one be sure if any service is secure to the theft.

</comment></comment><comment><USER10> 0\. Mine are all in cold storage, where any sizable amount of Bitcoin should be.

</comment><comment><USER11> 0, Because I bought my BTC on Bitstamp and then put them in a private wallet.

</comment><comment><USER12> Unfortunately more than $500,000 in USD.

<comment><AUTHOR> I am sorry. This is more money then most people earn in their lifetime. I hope your other investments are safe and doing good.

<comment><USER12> Like many other people, I had been trying to withdraw for months.

This represents more than half of my Bitcoin ventures, but fortunately I was able to afford this loss.</comment></comment></comment>


Ask HN: How does the perfect office space look like? - <AUTHOR> Our company will move into a new office space soon, and we're looking into building the "best" office space possible. We have basically two kind of personell: Sales & Operation Engineers (very interactive teams and lots of calls) and Software/System Engineers & Management (somewhat talkative, but rarely on the phone). It would be nice if you could share stories about places that blew you away (good and bad), learn from your experiences (good and bad) and get references to (scientific) research material you can recommend on the topic. <comment><USER2> Depends on the type of work being done. If you're looking at a lot of employees that need to do focused work like coding, then you need a place where they can shut their doors, but with adequate meeting space dedicated for their use. As a software engineer, I loathe the open floor plan because I cannot get anything done. (Struggling with that now and actively searching for a new job because of it.)

When I was in operations, having an open-ish war room with a few shared displays of monitors where everyone can talk was helpful during a crisis only. That is easily replicated with a good chat software like Slack, if the ops team needs to work around quieter groups. Outside of a crisis, the openness was only useful for gossiping. Of course, outside of a crisis OPs have a much more limited number of jobs because they exist to fix the crisis situations, so the extra chatter really helps the group cohesion under pressure.

I would suggest asking your teams to make formal recommendations as teams about their future work space. A command decision, no matter how well grounded in research, will devalue the needs of your people and lead to sub-optimal spaces. They are unique groups, and may not need to follow the "best" industrial patterns.

Also, don't let the managers overrun the conversation. Otherwise you will end up with spaces that make it easier to micromanage people rather than get work done. Panopticons, where management are in offices while workers are in highly exposed open spaces, lead to higher turn over every single time. You want spaces where people can work conveniently, not where managers can manage easily.

<comment><USER3> I like the idea of soliciting input from your team. You might want to include some budgetary guidance to them as well. Since I'm assuming you don't have unlimited budget. Have them help you decide how to build it out.

</comment></comment><comment><USER4> A combination of open and closed areas:

Closed areas for meetings, calling, and deep concentration. Open areas for side-by-side coding and colaboration.

Usually marketing and sales can work anywhere: give'em an open space. Also give them a closed place where they can call confidentially a client without developers/pm hear them.

Project managers are similar, put them near sales and development teams.

Devs need to remain focused for 1-2h runs, and might need to do pair programming or just get help. If you bring them an open space, gift them with deep concentration cabins, and/or meeting rooms for 2-3 people.

Sysadmins need something with a door to make some friction between the team and them. Otherwise people passing by will ask them anything possible. If you don't have such space they will migrate silently to the datacenter.

Data scientist need absolute silence. Closed spaces, rooms, etc will work. If the place is not quiet enough consider renting some space at the nearest churh and install wifi there (not kidding).

</comment><comment><USER5> I've liked the idea of a hub-and-spoke model. I don't particularly like the idea of open offices, but does make communication easier sometimes. The idea of a hub-and-spoke space is that individuals have their own private work space, but are forced to go through one common space to enter their office. So for instance, maybe all the engineers would have to use one hallway, which would branch out to specific team meeting rooms, and then the individual offices would be attached to those team meeting rooms. So the offices would let engineers have private work spaces, but the common areas would make it really easy to have random conversations with other engineers about work and tech.

[https://www.archdaily.com/884192/why-open-plan-offices- dont-...](https://www.archdaily.com/884192/why-open-plan-offices-dont-work- and-some-alternatives-that-do)

Cal Newport also writes a lot about creative work, deep work, and how office layout influences productivity.

[http://calnewport.com/blog/](http://calnewport.com/blog/)

<comment> jon-wood Pixar's offices were designed around this principle, with everywhere being accessed through a large central hall designed to encourage interaction.

[https://officesnapshots.com/2012/07/16/pixar-headquarters- an...](https://officesnapshots.com/2012/07/16/pixar-headquarters-and-the- legacy-of-steve-jobs/)

</comment></comment><comment><USER6> I used to work at a place with an ostensibly open-plan office, but with lots of wall panels on wheels that could be moved to form little work areas. These also doubled as white boards.

In short: I like modular, configurable workspaces, with lots of whiteboards.

</comment><comment><USER7> Joel (as in the Joel test) had a worthwhile article about a decade ago, still worth reading: [https://www.joelonsoftware.com/2008/12/29/the-new-fog- creek-...](https://www.joelonsoftware.com/2008/12/29/the-new-fog-creek- office/)

</comment><comment><USER8> As most people are saying a balance between open and closed space would be nice.

For me personally I find that the temperature of the room/building is important. At my office people continually turn up the thermostat to 75-80F.

Aside from that giving employees enough room to turn around in their chair is decently important in my opinion . In my current setup (I call it the sweat shop setup) I'm not able to turn around or get out of my chair without bumping into my co-worker behind me.

Lastly - one thing that happened at my office was the installation of over- head speakers (think department store style) that constantly streamed Pandora. Please don't do that as it's annoying.

</comment><comment><USER9> The best office I have worked in had cubicles with tall walls and overhead cabinetry. The cubicle was large enough to move around in and could support one other person sitting looking over my shoulder. We had a small conference area with small table and whiteboard that didn't see much action. We also had a large conference room with a real wood desk. The managers had the three offices that surrounded the three rows. This was a team of 16 devs and QA and dba, 2 managers, and a CIO. Remote workers would come in and grab a free cubicle or take the group area when no free cubes were available.

</comment><comment><USER10> As evidenced by how heated these discussions tend to get, it really comes down to developer preference. If you can find a way to blend the best of both worlds, and offer your employees some choice of where to work, you'll be good.

Things to consider beyond the obvious questions of cost or distraction/focus: knowledge sharing, mentoring of junior devs, and culture building. The environment you build will fall somewhere on a spectrum of open office, doored single offices, doored shared offices, or open offices with "pods." Consider the tradeoffs of all these (and ask your employees for their input!) before making your decision.

</comment><comment><USER11> Give the people the option to work from home and welcome them to the 21st century... this is the best office space by far...

<comment><USER3> Maybe the "best office space by far" in your opinion. But I'm certain many (including me) disagree.

I think it is valid to offer as a possible option to consider regarding the original question. But not with the label as "the best".

Personally I like the option of working remote sometimes but I don't feel productive when remote for most activities. I feel productive in my office. I also find value in the irl interaction with co-workers. But we also have offices with max 2 people (3 for interns). So there is already lots of privacy and quiet at the office.

<comment><USER11> Not sure how many would prefer going to the office every day... from all people working (and worked) for me, not a single one...

</comment></comment></comment><comment><USER12> I've always liked the glass office thing. Seems a good balance between privacy and noise reduction but open so you can see each other and whats going on. Make make eye contact to communicate visually etc.

<comment><USER13> While there are better than open plan (and sometimes the only way to get small offices which still receive a bit of natural light) they're still a pain if you find motion in your peripheral vision distracting. Frosted glass helps.

</comment></comment><comment><USER14> If you were leaning towards an open space, I'd suggest including private rooms somewhere in the plan as well (and not dinging people for wanting to ensconce themselves therein).

</comment><comment><USER15> Coffee machine is good to have.</comment>


Envoy Proxy Performance on Kubernetes - <AUTHOR> https://www.getambassador.io/resources/envoyproxy-performance-on-k8s <comment><USER2> This is somewhat valuable, but misses any investigation as to why there were outlying latency spikes when using non-Envoy software for load balancing. Furthermore, using the average latency like this doesn't tell us much, especially with outliers making the graphs worthless for steady-state performance analysis.

My first thought is that the spikes are somewhat clearly the result of requests getting sent to pods that no longer exist, or are starting and not prepared to process requests. This might just speak to the method of configuration for all three of these underlying softwares and say absolutely nothing about how well they actually fare doing any load balancing.

If someone came to me with this at work, I would say it is the beginning of a series of troubleshooting steps to answer the question of why there are such outlying requests when using our load balancer of choice, and not an analysis of which software to pick.

Edit: Even worse is that this appears to be from a company that sells.. an API gateway built on top of Envoy.

<comment><USER3> (one of the authors here)

Thanks for the feedback.

So regarding your hypothesis on the spikes being sent to pods that no longer exist/are starting: 1) it is the responsibility of the ingress controller on K8S to properly handle that situation 2) it would be highly unlikely for people to implement their own custom ingress controller around a given proxy (it's actually somewhat complicated) and 3) the pod theory wouldn't address the latency spikes seen on reconfiguration.

But you're right that there probably should be some explanation around why we think this is happening (I just didn't want to speculate too much; I suspect that the issue is with the hitless reloads implementation in the proxies which is tricky to do well).

<comment><USER4> Could it be at all related to the circuit-breaking behavior that nginx describes[1] in some of their reference architecture? Unclear to me which (if any) of these properties might be in play for this test.

[1][https://www.nginx.com/blog/microservices-reference- architect...](https://www.nginx.com/blog/microservices-reference-architecture- nginx-circuit-breaker-pattern/)

<comment><USER3> I suspect it's because of reloads:

[https://kubernetes.github.io/ingress-nginx/how-it- works/#whe...](https://kubernetes.github.io/ingress-nginx/how-it-works/#when- a-reload-is-required)

The NGINX ingress controller goes to some lengths to avoid reloads because it recognizes the hit from reloads. In Ambassador-land, we use Envoy's xDS APIs to avoid this problem. Not clear what the HAProxy ingress controller does.

<comment><USER5> The official HAProxy Ingress Controller uses the Runtime API [1] to avoid restarts/reloads and also has hitless reloads configured by default. HAProxy Technologies also contributed the capability to use the Runtime API within the jcmorais-haproxy ingress controller as well but it requires you to activate using the dynamic-scaling option [3]

One thing I wanted to point out is that the HAProxy Ingress Controller actually has over 25 [2] configuration options at the time of publishing, not 8 as mentioned.

While we have identified a few on our own we'd love to work with you further to identify any missing configuration directives that can help perform some more accurate benchmarks using the official HAProxy Ingress Controller.

disclosure: I work at HAProxy Technologies

[1] [https://www.haproxy.com/blog/dynamic-configuration- haproxy-r...](https://www.haproxy.com/blog/dynamic-configuration-haproxy- runtime-api/)

[2] [https://github.com/haproxytech/kubernetes- ingress/tree/maste...](https://github.com/haproxytech/kubernetes- ingress/tree/master/documentation)

[3] [https://github.com/jcmoraisjr/haproxy-ingress#dynamic- scalin...](https://github.com/jcmoraisjr/haproxy-ingress#dynamic-scaling)

<comment><USER3> Thanks! Drop me a line (email in my profile) and would love to chat.

I updated the article to clarify that there were 8 configuration options at the time of testing (we started this effort awhile ago) and now there are 25.

We'd definitely like to rerun the tests with the official controller to use the Runtime API.

</comment></comment></comment></comment></comment></comment><comment><USER6> The article focus on latency spikes, which happen only sporadically. Can anyone more knowledgeable on the subject chime in and comment if this comparison is fair or relevant? Personally I was expecting to see histograms or empirical distribution functions of each service's latency.

<comment><USER7> Personally, I prefer looking at something more like 95th percentile latency, versus average, which is what I think this article is showing. I suppose a histogram would give you the fullest picture, though.

<comment><USER6> FTA:

> We measure latency for 10% of the requests, and plot each of these latencies > individually on the graphs.

So for what it's worth these spikes may very well be single requests that are not relevant and are only triggered by the way the Kubernetes cluster was being manipulated for the test.

<comment><USER3> The spikes aren't single requests (at 1000 RPS, the spikes are well over a second long and you see hundreds of requests that spike). As for the reason, we suspect that the different config reload mechanisms in the respective proxies is what triggers the spikes.

(disclaimer: one of the authors)

</comment></comment></comment></comment><comment><USER8> Nginx-ingress (the free version) does a reload when pods are added/removed. I would expect to see latency spikes. As I understand it the paid nginx-ingress can do these reconfigs on-the-fly. If you have pods adding/removing frequently, like maybe from "We then scale up the backend service to four pods and then scale it back down to three pods every thirty seconds", this is what you see. The more interesting question is if that is a realistic expectation for your workload. Unless you are doing aggressive auto-scaling pods can be very stable, only add/removing during upgrades.

<comment><USER3> This is a good point. I think an interesting test would be to add multiple services, and see if scaling up/down a single service affects latency to other services.

</comment></comment><comment><USER9> traefik?

<comment><USER10> I am wondering as well how that compares to this.</comment></comment>


Darkhttpd – When you need a web server in a hurry - <AUTHOR> http://unix4lyfe.org/darkhttpd/

<comment><USER2> python -m SimpleHTTPServer ?</comment>


Does the climate crisis violate the rights of those yet to be born - <AUTHOR> https://www.theguardian.com/environment/2019/oct/01/bad-ancestors-climate-crisis-democracy <comment><USER2> This is incredibly idiotic. I support societal change to reduce the impact of climate change, however, what this article argues is not part of the solution and just stymies efforts that actually have potential to make change happen.</comment>


How Porn Invaded Bitcoin - <AUTHOR> http://financialpress.com/2013/05/03/how-porn-invaded-bitcoin/

<comment><AUTHOR> Interesting because the outcome seems to be either:

1\. Distributing the Bitcoin DB, knowing what it contains, is illegal. or 2\. Illegal content can be distributed through some loophole.

There doesn't seem to be a good outcome for this. It seems that poisoning the Bitcoin DB with illegal content might be a good weapon against Bitcoin.</comment>


How I failed Google and Facebook internship - <AUTHOR> https://medium.com/@thientran_95230/how-i-failed-google-and-facebook-internship-a0fe34ec5377 <comment><USER2> I don't get it.

Why is he looking for these positions if he has to work for the local .gov the next 3years?

<comment><USER3> In the United States where Google and Facebook are based, internships are restricted to students. Everywhere, internships can provide a professional network that is useful throughout a person's career. The article describes the author's window of opportunity prior to conscription.

In the large it suggests aspects of Google's and Facebook's corporate cultures that may limit the opportunities of candidates from less normative backgrounds.

It is unfortunate that the author views the outcome as their failure despite Google and Facebook more or less pre-ordaining the outcome.</comment></comment>


Luther – Send messages. Anonymously - <AUTHOR> http://getluther.com <comment><AUTHOR> Good idea or bad idea?

Clearly there other ways to do this, but I think commodifying it _might_ be interesting? If you want to test it out for free, enter the promo TELLTHETRUTH.

<comment><USER2> $1.99 a message? Ridiculous. You could just use Mailinator to do the same thing for free.

<comment><AUTHOR> Mailinator is interesting and cool—I'm definitely going to use in the future—but it seems like just an inbox, not a way to send a message. Is that right?

<comment><USER2> Ah that's right. I was mixing up the services because there are so many. Anonymouse let's you send emails. There are a dozen or more of these services out there. I don't see much value here without additional features.</comment></comment></comment></comment>


Covid-19 Rapid Evidence Review: Exit Through the App Store? - <AUTHOR> https://www.adalovelaceinstitute.org/our-work/covid-19/covid-19-exit-through-the-app-store/ <comment><AUTHOR> I'm submitting this because it's a useful review of apps in development for the UK government, and I thought people here would want to know what problems need to be avoided.</comment>


Hey, C Is a Functional Language Too - <AUTHOR> http://spin.atomicobject.com/2012/11/01/hey-c-is-a-functional-language-too/#.UJK4VD2nzm4.reddit <comment><USER2> This is essentially the technique used to implement the meat of Chicken Scheme, too. [1][2][3] It's a pretty neat idea, but not a new one.

1: <http://en.wikipedia.org/wiki/Chicken_Scheme>

2: <http://wiki.call-cc.org/chicken-compilation-process>

3: The homepage is called www.call-cc.org :P

</comment><comment><USER3> ...and pigs can fly, if you throw them fast enough.

This is just an encoding of a Turing-complete language into another, I don't see what's been demonstrated here.

<comment><USER4> I'm not sure this is even Turing complete considering the limitation he mentions:

 _> The main limitation is that you need to know the size of the return value._

<comment><USER5> It's still Turing complete (though that's not saying much really). You can always grow the stack more :P

<comment><USER4> I don't think that solves the problem. Whatever fixed stack size you choose, you still cannot write a program that determines the size of the lists at runtime. A Turing complete system would have to be able to do that.

The only way I see is to allocate (almost) the entire machine memory to the stack, create one giant array in that chunk of memory and then put all lists in that single array. That's tantamount to reimplementing malloc on the stack.

<comment><AUTHOR> Any physical machine cannot be Turing complete because it has a finite amount of RAM.

<comment><USER4> Sure, but we're talking about whether or not this particular style of C can be Turing complete and I'm not sure it is, even on a machine with an infinite amout of RAM.

<comment><USER6> A machine with an infinite amount of RAM can have an infinite stack size.

<comment><USER4> C arrays that live on the stack have to be created with a constant size (at least before C99). It's a limitation of the language regardless of any machine or stack size.

<comment><USER7> If we're going to grant that a machine can have infinite ram, surely we can grant that a spec of C can have infinite stack allocated arrays... :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I would say the aspect that defines a functional programming language is the support of higher order functions. I.e. functions that can take functions as arguments and more importantly can return functions as return value.

<comment><USER9> I'm not that old but I remember that, back in the days, functional meant just that you are able to use plain functions (without objects) and pass them around. By that definition, C is functional language, as scheme or lisp or javascript and many others.

I don't know why, but some years ago, "functional programmers" started to change and twist the definition of functional language step by step, until all those languages fell off and only Haskel remained as "functional enough".

<comment><USER10> I don't see much use in a definition of "functional language" that includes nearly every computer language. We already have a term for that.

<comment><USER11> well it's primary use seems to be providing a moving goal post for the functional side during the occasional OO vs Functional skirmishes.

<comment><USER12> That is required for parity with the OO side. Cf. Alan Kay on OO.

<comment><USER11> quite. _Smalltalk is OO_ and _Haskell is Functional_ are about the only (currently) accepted facts about the definitions of OO and Functional.

</comment></comment></comment></comment></comment></comment><comment><USER13> I think that this is an interesting area. We can support just about any style in an existing programming language, but there are often rough edges.

This reminds me of how I used to mimic OO in C years ago. At a certain point you realize that you have to forgo certain things to help the person coming after you avoid making mistake -- often they do not see the ramifications of your conventions.

I see this in Ruby right now when I write in a functional style. The code is often terse yet easy to read, but the lack of lazy evaluation makes it far more memory consumptive than code written in a straightforward procedural style. If you know you are making the tradeoff, it is fine. For many people, it is too subtle.

</comment><comment><USER14> This is the same as the design of Chicken Scheme's implementation (on top of C).

[http://en.wikipedia.org/wiki/Chicken_(Scheme_implementation)...](http://en.wikipedia.org/wiki/Chicken_\(Scheme_implementation\)#Design)

</comment><comment><USER15> In fact it's purely functional!

[http://conal.net/blog/posts/the-c-language-is-purely- functio...](http://conal.net/blog/posts/the-c-language-is-purely-functional)

</comment><comment><USER16> From that it looks like the caller always has to allocate the right amount of space on the stack to hold the result. What if the result size is known only by the callee?

Denying yourself the use of the heap is also going to make closures rather difficult. You can use this style to pass back a function pointer, but the caller would also need to allocate space for the callee's captured variables. Ick.

</comment><comment><USER17> This seems like a lot of work just to avoid using the heap...

</comment><comment><USER18> It would be hilarious to provide this as an answer in a job interview to "how do you reverse a linked list?"

</comment><comment><USER19> I disagree completely that this is a 'functional subset' of C. I also don't know a lot about this stuff, so tear me up.

A functional language isn't just one that doesn't use malloc/only uses the stack. It must actually not have state, and instead evaluate a single function down to the result. Here, after calling make_lists, the input and the result still both exist as state variables (immutable, yes, but that's not enough)! At the same time, I haven't looked at code for a lisp interpreter, but I feel safe assuming that it allocates some memory somewhere. Functional programming doesn't have anything to do with the underlying implementation. The trick here, if any, is that the "underlying implementation" and the code are in the same language/program.

</comment><comment><USER20> Quick question: why does he do this?

        int main(int argc, char * argv[]) {
          (void)argc;
          (void)argv;

I've programmed C while in school, but I don't remember ever seeing this and I'm not sure how to google it.

<comment><USER21> It stops the compiler from complaining about unused variables:

[http://stackoverflow.com/questions/8052091/void-cast-of- argc...](http://stackoverflow.com/questions/8052091/void-cast-of-argc-and- argv)

<comment><USER22> Why would you do this instead of declaring it as `int main(void)`?

</comment></comment></comment><comment><USER23> At some point the stack is going to grow which will cause allocation at the OS level. And if we're discussing small embedded systems with fixed stacks, this code is entirely unsafe (non deterministic stack usage may cause stack overruns).

In embedded systems (non-MMU ones) you generally want to avoid repeated dynamic runtime allocation to prevent memory fragmentation.

It's a cute example, but I can't see any scenario where its better or safer than heap use.

<comment><USER24> > It's a cute example, but I can't see any scenario where its better or safer > than heap use.

The author does explicitly point this out: "While I find this style strangely addictive, I don't think I would advocate its general use."

</comment></comment><comment><USER25> It looks like someone trying to prove Greenspun right.

</comment><comment><USER26> Ditto on the addictiveness of continuation-passing style.

However, don't try it when coding with peers who are not used to it; you can be burnt at the stake. Because, even though it makes the code easier to read, to the untrained eye it is just cryptic.

</comment><comment><USER27> money quote (at the end of the article):

"So my title is misleading. I don't think C is a functional language. But it's an awful lot of fun (and sometimes very useful) to use C's functional subset."

</comment><comment><USER28> In my opinion, the meat of functional programming languages is that they are expression oriented. C clearly is not an expression oriented language.

</comment><comment><USER29> it might have also been worthwhile to mention that the stack array declaration:

       int32_t result[my_array_size];

relies on C99 support, which is not necessarily ubiquitous (especially in embedded device work). At the very least, many compilers make you explicitly enable C99 support.

</comment><comment><USER30> ... and why is it not obvious? just curious..

</comment><comment><USER12> On another satirical but deeply intellectually serious note:

[http://conal.net/blog/posts/the-c-language-is-purely- functio...](http://conal.net/blog/posts/the-c-language-is-purely-functional)

By Conal Elliot.

</comment><comment><USER31> No it's not. What makes a language functional is its ability to eliminate tail recursion.

<comment><AUTHOR> GCC can eliminate tail recursion, so does that make C functional?

I don't think the author is seriously of the belief that C is a functional language. This is just a fun little example of writing C in a functional style.

<comment><USER32> GCC can even eliminate non-tail recursion, such as with this piece of black magic:

        int factorial(int x) {
           if (x > 1) return x * factorial(x-1);
           else return 1;
        }

will be optimized by GCC to

        int factorial(int x) {
           int result = 1;
           while (x > 1) result *= x--;
           return result;
        }

(<http://ridiculousfish.com/blog/posts/will-it-optimize.html>)</comment></comment></comment>


H&R Block at risk for injection attack - <AUTHOR> https://medium.com/p/6a4f71578d7c

<comment><AUTHOR> What is the magnitude of the risk posed by this weakness?

<comment><USER2> There are no details given. I know; the author says up front he's (she's?) not a security person.

It looks, though, like the user can inject arbitrary JSON into their client side code. Not very interesting; I'm sure they're doing proper validation on the server.

<comment><AUTHOR> I only just noticed that the registration page where the password and security question/answer are initially set isn't even https. Even if the input is sanitized on the server side, that's another huge invitation for an attack.</comment></comment></comment>


Porting D to the Mac - <AUTHOR> http://www.ddj.com/development-tools/214502253

<comment><AUTHOR> D now includes Mac OSX version! <http://www.digitalmars.com/d/1.0/changelog.html> <http://ftp.digitalmars.com/dmd.1.040.zip>

<http://www.digitalmars.com/d/2.0/changelog.html> <http://ftp.digitalmars.com/dmd.2.025.zip>

Expect bugs. Thread local storage isn't working on OSX, neither are sockets and memory mapped files (for unknown reasons).

<comment><USER2> _for unknown reasons_

Well in the case of thread local, it's probably because OSX doesn't support the __thread modifier - you need to use pthread_getspecific/etc.

</comment></comment><comment><USER3> that's nice, but not enough.

i seriously considered adopting D as my primary language a couple of years ago. the fact that it is primarily a windows thing was the main reason i didn't. a sort-of-working mac release years later isn't enough to make me reconsider.

</comment><comment><USER4> In the end what counts is the result. Nobody cares what language you used if your software is great. Similarly, nobody cares about your language or the software, if it is a piece of crap.

Every time there is a post about D on Slashdot, Reddit, etc., there are people saying that D is such a wonderful language that they have migrated/are busy migrating all their projects to it. My answer to them: where is the result? Name at least one useful piece of software written in D?

<comment><USER5> On the other hand, the amount of software using a language and the decision to use a language is mutually reinforcing, and both are only loosely correlated with the quality of the language.

Ten years ago, there were almost no successful projects using Lua, but now there are many, and the language has barely changed at all -- likewise for Erlang. D is newer than either of these and occupies a niche in which other languages are deeply entrenched. I'd give it more time before writing it off.</comment></comment>


The Secret Life of Vector Generators (2001) - <AUTHOR> http://www.jmargolin.com/vgens/vgens.htm

<comment><USER2> If you want a more personal take on building vector games at Atari, Memories of a Vector World (1998) is a good companion piece:

[http://www.siggraph.org/publications/newsletter/v32n2/contri...](http://www.siggraph.org/publications/newsletter/v32n2/contributions/rubin.html)

(Disclosure: I was Guest Editor of the issue of SIGGRAPH Computer Graphics that this appeared in.)</comment>


Less is exponentially more - <AUTHOR> http://commandcenter.blogspot.com.br/2012/06/less-is-exponentially-more.html <comment><USER2> Already posted, with comments, <http://news.ycombinator.com/item?id=4158865>

<comment><AUTHOR> Sorry, Blogspot redirect tricked me again. Ty!</comment></comment>


Ask HN: Why is file sharing software not a cure for the RIAA disease? - <AUTHOR>

"A cure for the disease of which the RIAA is a symptom. Something is broken when Sony and Universal are suing children. Actually, at least two things are broken: the software that file sharers use, and the record labels' business model." [1]<p>1) Why is file sharing software not a cure for the RIAA disease? 2) How is Grooveshark, Spotify, Pandora, etc any better than p2p?  I can still listen for free.<p>[1] http://ycombinator.com/ideas.html <comment><USER2> I suppose that P2P file sharing will eventually end up doing away with "major labels" and the RIAA. The major labels and RIAA just had a lot of money and contracts to begin with. The influence lent them by the money and contracts (lobbying, PR campaigns, law suits) has let them hang on for a while, as file sharing nibbles the foundations of the business from under them.

There's also clearly a societal component. We believe that "artists" own the music, even when legally, they may or may not. The PR campaigns referenced above tend to support societal concepts like "owning" ideas or riffs or sequences of notes. It will just take a while for the population who believes in owning ideas or concepts to turn over.

In the meantime, the RIAA thrives.

<comment><USER3> The RIAA thrives because most artists don't know how (or have the money) to market themselves. Without the marketing, it becomes very difficult to even make a living.

It's very similar to the reasons why a startup wants venture capital.

<comment><AUTHOR> "Without the marketing, it becomes very difficult to even make a living."

Isn't this less true now that we have Youtube, Facebook, Soundcloud, etc...? It's totally possible to go viral.

</comment></comment></comment><comment><USER4> 1) Currently file sharing focuses on consuming content, not creating it, and usually it's facilitated by people who's only objective is to profiteer from copyright infringement rather than any greater good.

2) Those companies pay royalties for the music you listen to. Some arguably insulting portion of that revenue goes or is supposed to go to the artists. When you go to TPB and view a bunch of ads and popups and shit you are only paying the site owners.

<comment><AUTHOR> Is there a reason why those companies use a client-server service model rather than a p2p model?

<comment><USER4> Probably simplicity and control.</comment></comment></comment>


Bootstrap Treeview - <AUTHOR> https://github.com/chniter/bstreeview <comment><USER2> I recently used html5 sumary/detail to implement a treeview and it was the best experience ever solving such problem on the web. Very simple and easily customizable via css, and if you render it on the server, you don't need javascript at all.

<comment><USER3> Any example?

<comment><USER2> Unfortunately I didn't find an example that was simple enough on the web, and the work I did is not open source, so here is the best link I found, which was by the way what I used to derive my implementation:

[https://codepen.io/dsheiko/pen/MvEpXm](https://codepen.io/dsheiko/pen/MvEpXm)

This is a bit fancier than necessary and that makes it not so good as an example for learning, but hopefully it will be enough to give you the idea.

edit: this one is a little bit better to understand the basics: [https://medium.com/metaphorical-web/javascript-treeview- cont...](https://medium.com/metaphorical-web/javascript-treeview-controls- devil-in-the-details-74c252e00ed8)

In short, summary/detail has the native hability to collapse the details and you can explore that to implement a tree by nesting them.

<comment><USER2> Scratch my post above, I made a better example:

[https://pastebin.com/raw/9D02J80s](https://pastebin.com/raw/9D02J80s)

<comment><USER4> Unfortunately, this is missing the semantic metadata about the fact that it's a tree. It might be fine in some cases, but in general you would want to add some Aria attributes. But i'm not sure whether you could generate the entire thing server-side.

</comment></comment></comment></comment></comment><comment><USER5> I was surprised to see the markup generated by JS but after initial page loading the markup doesn't get re-rendered again in any scenario. Seems a shame to throw away accessibility for a single pass render when the markup could just already be there.

For anyone interested in rolling their own, nested UL/OL's and jQuery's slideToggle will get you most of the way there but with better accessibility.

</comment><comment><USER6> For complex tree views I can recommend FancyTree:

[https://github.com/mar10/fancytree](https://github.com/mar10/fancytree)

</comment><comment><USER7> Looks good, Sam! I'm going to tuck this away and use it next time I need a tree view.

</comment><comment><USER8> I had to do such a thing recently and ended up rolling my own mostly server side rendering in order to avoid loading it all at once.

</comment><comment><USER9> No. Just no. Don't install a library and two others just to show a tree view. Make your own with whatever features you need and just those features, nothing else. Less than 200 lines of code and one day's work for a competent developer. Don't install three libraries in your webpage just to show a tree view.

<comment><USER10> If you're in the market for a Bootstrap Treeview you're likely already using Bootstrap and therefore jQuery.

Your comment reflects exactly the kind of attitude that puts people off doing open source work. No one is forcing you to use this project, someone put effort into making this and released it to the world for free, what does your criticism add?

<comment><USER7> It's a problem with HN - Since the average user can't downvote, these trash troll comments stay at the top and derail any conversation, when they should just be insta-downvoted into oblivion.

You're totally right, but everyone should just ignore the idiot troll and move on.

<comment><USER11> There is no way to know if its a troll or a noob or just a kid trying to learn web development who doesn't know what bootstrap is and has probably heard that external dependencies are typically bad.</comment></comment></comment></comment>


The Encryption Debate Is Over – Dead at the Hands of Facebook - <AUTHOR> https://www.forbes.com/sites/kalevleetaru/2019/07/26/the-encryption-debate-is-over-dead-at-the-hands-of-facebook/ <comment><AUTHOR> From the article:

> In Facebook's vision, the actual end-to-end encryption client itself such as > WhatsApp will include embedded content moderation and blacklist filtering > algorithms. These algorithms will be continually updated from a central > cloud service, but will run locally on the user's device, scanning each > cleartext message before it is sent and each encrypted message after it is > decrypted.

> The company even noted that when it detects violations it will need to > quietly stream a copy of the formerly encrypted content back to its central > servers to analyze further, even if the user objects, acting as true > wiretapping service.

> Facebook's model entirely bypasses the encryption debate by globalizing the > current practice of compromising devices by building those encryption > bypasses directly into the communications clients themselves and deploying > what amounts to machine-based wiretaps to billions of users at once.

Seems like Facebook wants to live true to Life Invader. It doesn't matter that they use End to End Encryption from Signal / Open Whisper Systems (whatever they're called these days), there's no telling what they will flag through WhatsApp to be forwarded in plaintext.

</comment><comment><USER2> Privacy is a lost cause for the masses. Government don't what privacy for citizens, corporations don't what privacy for consumers and ordinary people are being misled.

Thing is, criminals will always have privacy because encryption will always be there. But ordinary honest people will not have the right.

And big tech will just be surveiling me talking to my wife and kids.</comment>


Motivations of a Hacker - <AUTHOR> http://nushackers.org/2011/04/motivations/

<comment><USER2> Hi all. I wrote the post above, so to provide some context:

1\. This was written with the Singaporean startup scene in mind. There are a couple of differences re:the environment in Singapore vs the Valley. For starters, students here prefer interning at banks, or other 'proper companies', as opposed to startups. Second, the startups themselves are often very new to the game. (Founders asking for NDAs are still a fairly common occurrence.)

2\. Google SoC is doubly attractive because of the exchange rate. USD5000 is a big thing when compared to the market rates in Singapore, and that still doesn't factor in the benefits of learning from a large, well-managed OSS project.

I wrote this primarily as a response to the number of companies that hit the NUS Hackers mailing list with off-the-mark ads. I'm not sure if this would help other companies looking to recruit hackers, but hopefully the context would give you enough information to decide for yourself.

Plug: NUS Hackers is a student organization dedicated to the spread of OSS and hacking in the National University of Singapore. We're affiliated with the Singaporean Hackerspace (<http://hackerspace.sg/>) and both organizations would be more than willing to show you around/lend you some help/introduce you to people, should any HNer choose to drop by Singapore. :)

<comment><USER3> And here's another handy link from the Singaporean hacker/startup scene: <http://connections.sg/>

All you need to know on one handy page =)

(I'm with HackerspaceSG too, so do ping me if anyone would like to pop by for a visit =)

</comment></comment><comment><USER4> While I agree that that solving an interesting problem is number one on the requirements for hiring a hacker, the last point is way off the mark. "Take the money off the table"? You can't match $5k for three months of work? I'm sorry, but even students need to pay for living. I'd love to be able to work for free on interesting problems, but it just isn't possible.

<comment><USER5> To give some perspectives, the article is written by someone in Singapore and intern rate there is about SGD 1000 per month ~ 750 USD, so 5k USD is kind of big deal for 3 months of work. I used to work for Apple Singapore for 800 SGD per month.

Additional figures, fresh graduate CS major worth about 30k USD per year.

<comment><USER4> I had kind of figured he wasn't American, but also misunderstood what he meant by "take it off the table". He's since updated it saying he meant to pay market rates, which is absolutely correct. I think you just need to pay enough to take the worry of being able to pay cost of living for the summer off the table.

</comment></comment></comment><comment><USER6> This ignores the number one rule of just about everything that involves dealing with other people: know your audience. True, there are some generalizations one could make about hackers. But by and large, we're all different. Rather than trying to figure out what hackers want in general, try to figure out what the hacker in front of you wants.

<comment><USER7> But in practice, we're not at all that different. Every one of us personally is a different, unique character but groups of people always share something: the hacker subculture itself is defined by the _common traits_ of hackers.

The generalizations offered by the article were very aptly at a point; I consider them ringing very much true.

I think the point of the article exactly was that you _will never_ get that hacker in front of you talking with you and much less sitting down with you unless you realize who you're dealing with.

</comment></comment><comment><USER8> The last paragraph of this article is where the inanity of this tiring line of thinking really exposes itself.

Coding a a travel search engine in node.js might titillate a hacker, but what on earth does that have to do with a founding a successful startup when compared to things like product design, marketing, user experience, market targeting, etc? Not a whole lot. Which is to say that no one set of priorities or roles within a startup should be catered to or worshipped, at the cost of sound strategy and direction for a startup.

Painting hackers as primadonnas who must be woo'd and courted as the top caste of the startup community doesn't do hackers any favors, let alone all of the other players necessary in a successful startup.</comment>


Ctrl and Alt and Del. Conservatives must reboot capitalism - <AUTHOR> https://unherd.com/2017/07/ctrl-alt-del-conservatives-must-reboot-capitalism/ <comment><USER2> (largely specific to _U.K._ politics)</comment>


Tell HN: Tomorrow is April 1. Bogus news articles posted - <AUTHOR>

Tomorrow is April 1st and the April Fools news stories are already starting.<p>Posting multiple copies of April Fools jokes just seems pointless.
Apparently YouTube is shutting down.
Google has invented some new outlandish invention.
Ugh. What a waste of time. <comment><USER2> It is already April 1st in some places.

(I'm trying to avoid all the April Fool's stuff, yes.)</comment>


Postagram Transforms Any Instagram Into A Postcard And Delivers It For $0.99 - <AUTHOR> http://techcrunch.com/2011/04/12/postagram/ <comment><USER2> This seems like a really good idea, except that for me, it destroys two of the main reasons I send post cards when I travel:

* The physical mail is moving from where I am travelling to where the recipient is back home. It has to travel, just like I am.

* The best post cards are cramped with text.

* postmarks: (for me at least) you see where it was mailed from and when, additional ties to the time and place when it was written. A postmark from wherever the postagram warehouse is located isn't as interesting as the Paris mail exchange or the airmail stamp from Dehli.

seems to me like they've missed what gives value to postcards to me: their timeliness & physical history. No one really looks at the picture anyway, that's incidental, it's the message that's important.

I always put a _lot_ more than 140 characters on the back of a postcard. I put more than 140 charters just into the "DO NOT WRITE IN THIS SPACE" space on the postcard. Postcards aren't about the picture, they're about sending a message from a specific time and place, forward to a person in a different place.

So, this is a good idea, but won't replace actual postcards for me. I could see using it for a number of other things, but I don't think this is in any way "at least 1,000 times better" than a long, thoughtful note crammed onto the back of some cheap cardstock you bought for a quarter at the beach. EDIT: spelling.

<comment><USER3> a_m_kelly - i'm the founder of Sincerely (creator of postagram)

I totally hear where you are coming from. We don't intend to replace old- school postcards.

Instead, we think of postcards simply as a delivery mechanism for photos. We are arbitraging the US postal service's subsidized delivery rates to get a photo printed and delivered from an iphone. If we make it incredibly easy to print and deliver a photo, we think it will create new photo sharing behaviors. Part of it will be the canonical "here is a photo i took while traveling" use case you mentioned. But I'm more interested in the "Brad - thanks for inviting us on the ski trip" thank you card or simply sending a photo of my niece to my parents & relatives.

<comment><USER4> Ya know, I am kicking myself for telling you this when you haven't hired me, but the best part of my suggestion is that it makes YOUR trips to the Eiffel Tower, to the Grand Canyon, to Maui, to Tokyo, to Niagara Falls completely tax deductible as you work to sign up local vendors who will do the printing and shipping and marketing at the local attraction for you.

<comment><USER4> And you probably can find actual vendors in those locations that can, at the location from their streetcart or small shop take the photo emailed to you (perhaps via QR code), print it out locally at their stand, and then they hand it back to the customer along with the proper stamp, and the customer can write anything they want on it, and drop it in the mail.

Hey, um, I have some free time this summer, happy to make those trips with you....

</comment></comment></comment></comment><comment><USER5> I'm really interested in the logistics for a service like this. In fact, taking any kind of digital content and massively putting it offline is fascinating to me.

Is there a 3rd party service you use to send data via an API and you get back all the postcards? Do you do it yourself with an expensive printer?

I've had lots of ideas in the past similar to this, I never had the resources to follow through. Interested!

<comment><USER6> I'm one of the co-founders of Newspaper Club (<http://www.newspaperclub.com/>), so I've got a little bit of experience in this area.

Honestly, there's nothing special to it. Pushing atoms around is hard work, but there's thousands of years of technology designed for it.

It's boring legwork calling and visiting logistics companies, fulfilment houses, and printers, trying to find the right combination of expertise, location, attitude, and so on.

But it's also what most traditional manufacturing businesses do all day long - us web folk have it easy. There's lots of people out there to help, but they don't appear in Google.

</comment></comment><comment><USER7> Great idea, but if you don't use instagram (i.e. share your photos with the world) there is one alternative that I could find in 5 minutes of Googling: shoot it!

<http://www.shootit.com/>

They appears to send it from the nearest country you are in.

<comment><USER4> I don't think so. Their play is on speed and reduced postage, not on coolness of trip through the mail systems of the world:

From their faq:

"How can you deliver a card in Western Europe that fast? shoot it! has established an international distributed print and mail network. This means your card will print and mail the next business day from the country closest to your recipient's address. This is how we eliminate the need for international postage and long transit times. Postcards destined to North America print and mail from the U.S. Soon, you will be able to send shoot it! postcards to Japan and South America. But again, you can send postcards "from" anywhere day one! "

</comment></comment><comment><USER8> Awesome. I don't have anyone's address though. I assume I can use their email and the service will send them a 'someone wants to send you a postcard, give us your address email' ?

<comment><USER3> unfortunately this app requires you to type in the physical address. But we do save it, so you'll never have to again

<comment><USER8> Then consider the above a feature suggestion. I actually think this would help you quite a bit. Here's why:

Using this app is an impulse decision. I'm three mimosas in and I _have_ to send this to my friend who I have the inside joke with. Oh. No address. I guess I can email my friend, wait a day or two for a reply.. then phone-copy and phone-paste the address into your app, _and_ pay a buck.

I think it's enough of a momentum killer that it would be a good idea to smooth out the process for the payer. The receiver has a post-card coming, so I think there's plenty of motivation to enter an address.. especially if you confirm to them who the sender of the postcard is, and assure them you won't use it for evil.

Plus, you could build up a database of addresses to emails if you wanted, and then receivers would only need to do this once. Seems like a win.

<comment><USER9> I was approached about building a very similar postcard service last year. They biggest issue I saw was this. We don't keep track of people's mailing addresses any more. Do a thought experiment - how many of your friends or family's addresses can you remember? How many do you have in your computer address book? How many on Facebook? Very very few.

The first approach we came up with was exactly this - email the person explaining we have a postcard for them and requesting their address. It's probably the best solution.

One drawback is it kills the delight in a surprise postcard, though that is offset somewhat by anticipation.

<comment><USER8> Totally, but there's a hidden win here. You'd only have to do this the _first_ time.. I'd let them keep my email-address-to-physical-address relationship if it meant being surprised next time I get a post card.

If it works out, suddenly they're the source of truth on physical addresses.. or something close to it. Seems like a service and dataset that has leverage.

You know, but don't do anything evil with it!

<comment><USER9> True. There could also be some kind of Xobni/Plaxo/etc. tie-in here to connect email addresses or phone numbers to mailing addresses.

</comment></comment></comment></comment></comment></comment><comment><USER10> I seriously woke up in the middle of the night last night thinking how I need to send my 84 year old grandma more postcards. This is so perfect for that.

</comment><comment><USER11> _The biggest photo service are the photos that are already on your phone_

This is one great piece of wisdom I frankly would not have shared.

<comment><USER12> I would like to use this service from my Camera Roll, with or without Instagram.

I guess I could go to Target or Walmart and print via Bluetooth from my iPhone for pennies, write a note on the back of the picture, and then put a stamp on the picture and send it to family/friends.

</comment></comment><comment><USER13> I wonder if Polaroid will ever make a version of this that works with AirPrint:

[http://www.amazon.com/Polaroid-CZA-20011B-Instant-Mobile- Pri...](http://www.amazon.com/Polaroid-CZA-20011B-Instant-Mobile- Printer/dp/B0019UGCLG)

</comment><comment><USER14> Easier than teaching your grandparents how to use a computer.

</comment><comment><USER4> There is a similar service on Android, but I think much of the value of a postcard is in the postmark, and the postmark is going to be 99 percent wrong on these.

</comment><comment><USER15> It seems, from the article, you are not using apple's in-app billing. How did you get the app approved? I thought it was mandatory these days?

<comment><USER16> According to a tweet from Postagram is because the in-app billing is for in- app stuff, and can't be used for physical stuff.

"apple won't let us sell physical products with their billing system" <http://twitter.com/postagram/status/57912193940852737>

<comment><USER17> That is correct. Apple does not currently allow in-app billing for physical goods, but they also don't currently regulate physical goods purchases either.

</comment></comment></comment><comment><USER18> just played with it.. really amazing...cheap too.</comment>


Wyoming Passes Forward-Thinking Computer Science Education Bill - <AUTHOR> https://edscoop.com/wyoming-passes-forward-thinking-computer-science-education-bill <comment><USER2> I've lived in Wyoming in the past (one of the pretty parts), it's different than most places.

The key to understanding this bill is that Wyoming is subsidized entirely by energy exploration. There is no corporate or individual income tax, low property and sales taxes and no will to raise them any time soon. With coal, natural gas, and oil prices permanantly sagging they're thrashing around looking for ways to replace those royalties. This is one of the prongs in the state's new approach, they are also drafting legislation attempting to capitalize on blockchain tech using thier biz-friendly culture and cheap energy.

I hope they figure it out, people I care about have jobs tied to state funding.

<comment><USER3> Oil prices permanently sagging?

WTI futures are at $65 and heading north. Most oil production in the US is now solidly profitable at those levels. Some of that production is extremely profitable there, which is why US oil production has been soaring. The dollar, which heavily dictates the price of oil, is heading south with the vast endless sea of budget deficits inbound over the next ten years.

Higher commodities prices due to a debased dollar, is an easy bet for the next decade. The trade wars will likely make the dollar damage worse.

<comment><USER4> I think it's credible to be concerned about a government that is funded entirely based on fossil fuels, given the likelihood of electric vehicles and renewables / alternatives playing an increasing role in transportation and energy in the future.

Medium term, this is probably not an issue, IMHO. But the outlook could be grim if "peak oil" actually happens due to lack of demand, and no reform has happened. The Economist pointed out ([https://www.economist.com/news/special- report/21738583-tradi...](https://www.economist.com/news/special- report/21738583-traditional-oil-producers-suggest-clean-energy-not-threat- middle-east-and-russia)) that this already has happened in Venezuela (a very different situation than Wyoming in terms of government contract, of course, but one that shows the dangers of overreliance.)

</comment></comment></comment><comment><USER5> Ha! Former Wyomingite here. The key person mentioned in this article--State Superintendent Jillian Balow--was my junior high English teacher. I can safely, and, sadly, assure you these folks have no idea what they're doing. In recent years, Wyoming has made a habit of cargo-culting tech trends and this is just the latest. It will invariably be a boondoggle like all the rest.

<comment><USER6> All it really takes is awareness. There's a lot of untapped talent in these states where for most most kids CS isn't even on the map as a career path, where I'm from smart kids get told to be doctors or lawyers. I didn't start coding until I was in college and went from nothing to full stack development with some machine learning skills in 12 months through self-teaching. I wish I'd had something like this when I was younger. Even if the implementation is awful some kids will take to it like a sponge and continue learning on their own.

<comment><USER7> I totally agree with what you said. I'm really quite sad how late I got into programming (at 14) by basically some random occurrence. Yeah, at the moment I'm ahead of my peers by significant amounts, but I know I could have done\would be doing a lot more, a lot more efficiently if I had had any formal education from the start on related topics, lessons that start with the sentence "Today we're learning how to use Microsoft Word" don't really count.

</comment></comment></comment><comment><USER8> How do you identify one capable to teach CS, capable to teach ages K-12, and willing to work for very little pay? Is the goal to train existing teachers (would they make more money because of it?), or hire a CS veteran to teach?

<comment><USER9> My guess would be training. You can have an online-supplemented course where most of the material is pre-canned and the teachers know just enough to guide the students through a semester or a year of class.

I doubt they intend on teaching much beyond the basics at that level, which shouldn't be hard for any teacher to learn.

<comment><USER10> Good Lord. Here's an excellent talk about why mathematics teachers should know mathematics: [https://math.berkeley.edu/~wu/Lisbon2010_2.pdf](https://math.berkeley.edu/~wu/Lisbon2010_2.pdf)

That's mathematics, not didactics of mathematics.

</comment></comment></comment><comment><USER11> "With a population of just 579,315, Wyoming is positioning itself to become a leader in one of the fastest-growing industries in the world: cybersecurity."

No it's not.

Outside of Jackson and environs it is frankly a miserable place to live. Imagine a wind-swept steppe petro-state inhabited by a mostly rural, extremely conservative population. Cold in the winter, hot in the summer, and perpetually windy. I could say "windy" 8 more times and it still wouldn't capture the reality. Like many states in this position, mostly rural, most jobs don't require a degree, almost everyone who gets one leaves for better pay, usually to Colorado.

I do believe that this bill is a great idea, but it's not going to magically transform their economy.

<comment><USER12> And Jackson is really expensive. Not quite Bay Area expensive yet, but Seattle area expensive. There are some parts of the state that are cheaper, beautiful, and less wind blown, like the Big Horn mountain area where I grew up. But they're still cold, conservative places dominated by the extractive industries. I got out as soon as I could.

It is nice to see the state making an effort to attract new industries, but it's really hard going. This Bloomberg article[1] sums it up pretty well: The small population is a bit of a chicken and egg problem. People don't want to live there because there are no jobs, and companies don't want to relocate there because there are no people.

There's also cultural resistance to new industry. People (men especially) want their coal and oil and timber jobs back, not these new high-tech jobs. It's not even that the populace isn't smart enough to do them--mining is actually a pretty technical field at this point. But there's a deep rooted perception that sitting at a desk all day isn't a "real" job.

[1] [https://www.bloomberg.com/view/articles/2016-12-19/why- wyomi...](https://www.bloomberg.com/view/articles/2016-12-19/why-wyoming-is- in-economic-trouble)

<comment><USER13> > There are some parts of the state that are cheaper, beautiful, and less wind > blown, like the Big Horn mountain area where I grew up. But they're still > cold, conservative places dominated by the extractive industries. I got out > as soon as I could.

Personally I prefer the more conservative environs versus the often over- bearing liberal attitude which dominates the Bay Area or other large cities. Perhaps the cold wind blown regions help people keep a level head. ;) So it's a matter of perspective.

Regardless, there are a lot of beautiful parts of the state and the K-12 education in many parts of the state excels [1]. Partly thats due to taxes from the mineral extraction industries.

> There's also cultural resistance to new industry. ... It's not even that the > populace isn't smart enough to do them--mining is actually a pretty > technical field at this point.

Unfortunately the cultural resistance to new industries does exist and dampens the development of new industries. Wyoming has a lot of talented industrially minded people. Many people grow up mechanically inclined due to the culture (here and surrounding states). This leads to younger Wyoming residents who are much more open to technology industries and looking for ways to stay in the state and willing to start businesses or create new technologies [2, 3]. There's also technology initiatives by the University of Wyoming, which due to the small population, have a impact across the state [4]. There is even some interesting deep learning research happening at the university in conjunction with a well known SV company [5].

All in all, the state has a small population but a relatively out-sized opportunities for those inclined to find them. Initiatives like the one in the article do make an impact here.

1: [http://trib.com/news/local/education/wyoming-ranked-th-in- na...](http://trib.com/news/local/education/wyoming-ranked-th-in-national- education-quality-report- says/article_a2b58314-784f-5b2b-940c-f204c5e0a4ca.html) 2: [http://wyomingpublicmedia.org/post/laramie-farming-start- has...](http://wyomingpublicmedia.org/post/laramie-farming-start-has-plenty- more-investors-after-merger#stream/0) 3: [https://gizmodo.com/maximize-a-lazy- summer-afternoon-with-th...](https://gizmodo.com/maximize-a-lazy-summer- afternoon-with-this-absurd-raft-1774887127) 4: [https://thejournal.com/articles/2016/08/19/wyoming-and- new-h...](https://thejournal.com/articles/2016/08/19/wyoming-and-new- hampshire-teachers-ramp-up-stem-expertise.aspx) 5: [https://eng.uber.com/vine/](https://eng.uber.com/vine/)

</comment></comment></comment><comment><USER14> But how do they define "computer science?" At my kids' school it's learning about Microsoft Office.

<comment><USER15> In high school I took a MS Office class my senior year - that was pretty much the extent of it. That was the beginning of my CS career, and I'm grateful that it was offered.

<comment><USER16> Honestly, the 'office skills' class I took was one of the most genuinely useful courses I took in middle school, simply for the keyboarding instruction. Although in 06 my high school, which was very proud of it's Cisco networking programs, didn't offer any CS courses.

</comment></comment></comment><comment><USER9> This is great! But I wouldn't call it forward thinking. Forward thinking would be doing this in the early 90s. At this point it's very much reactionary.

<comment><USER17> As opposed to all the places you can't get computer science education outside of college? I'd say they are ahead of most.

I was lucky computer science was taught in my highschool, but I've been shocked how much of the country doesn't have it.

</comment></comment><comment><USER18> Here's the actual bill: [http://legisweb.state.wy.us/2018/Enroll/SF0029.pdf](http://legisweb.state.wy.us/2018/Enroll/SF0029.pdf)

<comment><USER19> Not bad.

The best change in real-world implementation is probably going to be letting high school kids take CS for math or science credit. Opens up a lot of options for students.

The next big issue:

"Each school district within the state shall provide educational programs sufficient to meet uniform student content and performance standards at the level established by the state board of education in the following areas of knowledge and skills."

Now the BoE has to establish good CS standards. I don't really love the CSTA standards (my issues with which are beyond the scope of this post) but they're a decent starting point.

[http://www.csteachers.org/page/standards](http://www.csteachers.org/page/standards)

</comment></comment><comment><USER20> Passing a bill is certainly a small step forward but the focus should be in the implementation (like in every other thing) and the details within it. Factors such as the provision and quality of teacher training, resources for teachers to integrate CS in the classrooms, support for students to work on meaningful projects rather than dry, academic projects, and job prospects will probably be more influential in making this a "forward-thinking" step.

<comment><USER13> See my other comment, the Arduino education program for teachers takes a hands on approach to educating teachers around the state.

</comment></comment><comment><USER21> I've seen so many articles about schools teaching coding and acting like it's a new phenomenon. I took an AppleSoft Basic coding class in both middle school in 1988 and high school in 1992. Both in regular public high school. Did schools stop offering programming classes?

<comment><USER22> > Did schools stop offering programming classes?

Yeah, pretty much. My high school nixed their programming and other CS-related classes while I was a sophomore. This was 2001. Probably a terrible move, but they did it anyway. I assume they've wisely brought them back by now.

</comment></comment><comment><USER23> This appears backward thinking. A focus in CS would have paid off spectacularly over the _past_ 25 years.

Forward looking might involve focussing rather more on the human capabilities hardest for machines to replicate—relationship building, comedy, sales, and one on one coaching or counseling.

</comment><comment><USER24> While this is a good thing, I don't see this helping them out as a state. TBH, this could even result in more people to move out. This is actually a huge problem throughout the whole world where where the top talent gets scooped up in the most developed areas.

For this effort not to go to waste on other states(and states are not the nation and nor are they families so it may not be a big concern), Wyoming would have to improve it's infrastructure and turn itself into a migrant hub for the type of people they'd want in. And I don't think the Richard Florida methods are going to work.

My advice for Wyoming is to court rich billionaires who want to be in charge of their own cities. Or intentional communities for higher IQ ethnic/religious groups that want some kind of cultural autonomy.

[https://www.techrepublic.com/article/why-bill-gates-wants- to...](https://www.techrepublic.com/article/why-bill-gates-wants-to-build- an-80m-smart-city-utopia-in-arizona/)

<comment><USER25> What is Jackson Hole if not a rich playground. I can't see it developing much of a tech industry, however.

<comment><USER16> The trouble is, very few of those rich people actually live here, aside from vacations and for tax purposes. Sadly, most people here (especially the politicians) seem convinced that this current coal bust is part of the normal cycle, and the revenues will come back in a few years. At the point that even China is looking to reduce coal usage for environmental reasons, I highly doubt that the mine revenues will ever return to peak levels.

The only tech that the state seems to have attracted is datacenters, but those don't provide much in the way of tax revenues or jobs.

</comment></comment></comment><comment><USER26> I'm confused, what does better early computer science education have to do with cybersecurity?

<comment><USER27> The latter is attracting a lot of dumb money and grants to pay for the former.

</comment></comment><comment><USER28> Given what they'll probably teach, I bet it's actually backward-thinking

<comment><USER29> This seems like a really bad attitude to have against people that are trying to improve in a meaningful way. It's like making fun of an overweight person sweating hard in the gym.

<comment><USER30> Yes, let's try to have some more empathy for people who are overweight or live in Wyoming.

<comment><USER31> Seriously though, what's wrong with living in Wyoming?</comment></comment></comment></comment>


Gmail blocks access to custom "webview/browsers" - <AUTHOR> https://i.imgur.com/WwuOOUG.mp4 <comment><USER2> Your custom browser might be getting detected as a MITM attack on your account.

If that is the case, take a look at [https://security.googleblog.com/2019/04/better-protection- ag...](https://security.googleblog.com/2019/04/better-protection-against-man- in-middle.html) for the official statement and at [https://stackoverflow.com/questions/59480956/browser-or- app-...](https://stackoverflow.com/questions/59480956/browser-or-app-may-not- be-secure-try-using-a-different-browser-error-with-fl) and all the resources that it links to for some workarounds.

<comment><AUTHOR> Mmmh, I considered a MITM attack an interception. While maybe making a custom browser (that obviously have access to the webpage) could be considered as "In the Middle" I do not think the definition sticks to it, but they seem to do, given your link. I understand the reasoning but I dont share it, it sort of make sense, but doesnt. If someone got to install a "Chrome Embedded Framework" then they already bypassed the "(in)secure screen", but I see how this could be a problem..

</comment></comment><comment><USER3> Google doesn't allow auth in a webview. The reasoning is that any application prompting you to login with a 3rd party service (ex: google/facebook/twitter/etc) in a webview can compromise the account.

Technically, they're correct - It's pretty easy to inject code into a webview you own, and it can do basically anything it likes (for example - record the username/password you just entered into the Google login page).

So Google's stance is that you need to use a browser they approve of to access your account, and if they spot a webview they tend to block it and show this message.

I'm conflicted - As someone responsible for doing security audits, their concerns are fair.

As someone who does not believe Google is operating with any vestiges of the "Do no evil" motto, this is also a very convenient way to block new entries to the browser market.

<comment><AUTHOR> > Google's stance is that you need to use a browser they approve of to access > your account

Yeah thats the crazy up situation..... I could maybe access via a imap client, Guess they will ask for an "insecure app password" (I forgot the name of this)

But the thing that blows my mind is that you cannot make your own browser! Thats the problem..... because I was considering to do just that, my own browser, wow, I cannot do it without google approval..... I will need to think about it....

</comment></comment><comment><USER4> Does anyone know how they're detecting this? User agents can be changed and JS APIs can be modified with very little effort. Short of making something absolutely insane and forcing everyone to go along like they did with SafetyNet on Android, I don't see a way for this to actually work...</comment>