Alphabet Creating Stand-Alone Self-Driving Car Business - <AUTHOR> http://www.wsj.com/articles/alphabet-creating-stand-alone-self-driving-car-business-1477524494 <comment><USER2> Out of curiosity, has anyone seen Google's self-driving cars testing down El Camino, University or Castro in PA and MV?

Each street presents uniquely complicated obstacles. In the case of El Camino, the police recently shut down the lights at an intersection due to Stanford game traffic. I'm curious if the self-driving cars know how to recognize hand signals from a legit police officer.

Over on University and Castro, there is a lot of foot traffic and sometimes people briefly double parking to drop off/pick up people. Some human drivers in these cases will (illegally?) cross the double yellow lines into the oncoming lane to pass the double-parked vehicles. Again, I wonder how the self-driving cars handle these scenarios.

<comment><USER3> A self-driving car does not need to be able to handle every situation to still be useful. For example, if I had a self driving car that occasionally stopped and said "Please get in the drivers' seat, human driver required," it would still be a huge improvement over a normal car. And in the taxi fleet scenario, the cars could use alternate routes, or refuse a pickup in a place it can't get to and drop off as close as it can get.

<comment><USER4> By the time you are in the drivers seat, it will already be too late. A vehicle can't just stop and do nothing. A bad decision may be better than no decision at all.

<comment><USER5> It can in the scenarios listed above. If it sees the traffic lights blinking because a human is doing traffic control there, the car could safely stop and require a human to take over. If you're waiting behind someone who has stopped in the middle of the road to load or unload passengers, it's safe to just wait, or allow a human driver to figure out going around them.

</comment></comment></comment></comment><comment><USER6> The sooner they get the product in use by consumers the better. They've taken an overcautious approach and been too focused on partnering.

I really hope they'll deploy their own cars so that they have control over the platform and can iterate fast. There was a rumor that Apple was trying to buy McLaren. A similar deal might allow Google to move faster and get the product out there.

<comment><USER5> I think caution is warranted in dangerous situations like this. Accidents could be a major setback.

<comment><USER6> Human drivers caused 1.25 million fatalities in 2013[1]. When do we start blaming those deaths on our collective failure to deploy self driving cars?

[1] [http://www.who.int/gho/road_safety/mortality/en/](http://www.who.int/gho/road_safety/mortality/en/)

<comment><USER7> Machines are always held to much higher standards than humans. It would be rational to switch to robocars as soon as they drive at least as safely as humans. In reality, even a small number of accidents caused by the AI will destroy all trust in the technology. Most people don't think in expected death rates.

</comment></comment></comment></comment><comment><USER8> Given that they are apparently getting out of the ISP business because of the startup costs involved, I'm wondering how they'll do getting into the car business, which must have even higher startup costs.

<comment><USER9> My theory is that they are getting out off Fiber / ISP business not because of costs, but rather the goal of Google Fiber has been met. Back in 2012 there was a real risk posed by ISPs, however with effective lobbying ensured Net- Neutrality becoming adopted as an official policy, and with next president likely being from the same party. There is no longer need for Google Fiber as it was in 2012. Also maybe there is another technology thats more lucrative which is on horizon and thus Google is recusing itself from making likely to fall investments in optical fiber network.

<comment><USER10> I don't agree with this at all. Google's projects don't always make money, but I don't think it ever does something without an _intention_ to make money. The idea that Google Fiber existed solely to further a political cause seems far- fetched to me.

Also, net neutrality being in the Democratic Party platform is a far cry from it actually being law. The election isn't over yet and so we don't know who the next president will be and which parties will control which houses of Congress.

<comment><USER11> It was to further a political cause that allows them to continue to make money. In the end, it was still about the money.

</comment></comment></comment></comment><comment><USER12> I'm still cheering for George Hotz in this one. Competition is good. I especially like scrappy types.

[http://www.pcmag.com/news/347864/hacker-george-hotz- unveils-...](http://www.pcmag.com/news/347864/hacker-george-hotz- unveils-999-self-driving-software)

</comment><comment><USER13> _" The world is going to have cars that are sold to individuals and cars that are shared by individuals, and which one Alphabet does, we have our thinking on it"_

As Tesla is going after the former ("affordable for everyone") it would make a lot of sense for Google to go after the shared market. It also feels more Google-y to me.

</comment><comment><USER14> Makes sense. Google's technology is about ready for initial commercialization.

<comment><USER15> I had assumed it needed close collaboration with the maps/earth team and was mutually beneficial. If they spin it off I guess they could have some deal in place to preserve that aspect?

</comment></comment><comment><USER16> LAGUNA BEACH, Calif.—Google parent Alphabet Inc. is graduating its self- driving-car project from its research lab X into a stand-alone business, said X chief Astro Teller, a major step in the vehicles' path to commercial operations.

The car group's finances were separated from X on Jan. 1 this year, and now the team is completing a series of corporate and legal moves to become its own business, Mr. Teller said in an interview at the WSJDLive 2016 tech conference.

As its own stand-alone business under Alphabet, the car group would likely be expected to soon begin generating revenue, though not necessarily a profit at first. Mr. Teller declined to disclose the car project's planned business model.

"The world is going to have cars that are sold to individuals and cars that are shared by individuals, and which one Alphabet does, we have our thinking on it," he said. "But right now we're very focused on safety."

Mr. Teller said Alphabet will likely roll out its self-driving cars incrementally over the next several years as they improve with more time on the road. For example, the group could choose to launch the cars commercially in just a handful of cities with favorable roads and weather, before expanding to more challenging roadways and climates, he said.

He compared the process to teaching a teenager to drive, from parents first keeping their hands close to the wheel to letting the teenager drive alone only during daylight to eventually eliminating restrictions altogether.

"Any other company that's acting rationally will probably do the same thing, which is finding constrained ways to roll out so that we're learning safely," he said.

Other companies building self-driving cars are deploying their technology gradually, though in many of those cases the auto firms are releasing semiautonomous technology that still requires drivers to be ready to take control.

Mr. Teller said Alphabet's cars will be fully autonomous from the start. "You press a button and tell the car where you want to go," he said.

Full Text^^</comment>


Denmark's spy agency is creating a training academy for hackers - <AUTHOR> http://qz.com/657357/denmarks-spy-agency-is-creating-a-training-academy-for-hackers/ <comment><USER2> Wonder when someone will claim copyright on the image, they are using for the adverts.</comment>


Saliva is more sensitive for SARS-CoV-2 detection than nasopharyngeal swabs - <AUTHOR> https://www.medrxiv.org/content/10.1101/2020.04.16.20067835v1 <comment><USER2> Summary by Professor Akiko Iwasaki:

"A super useful new study led by @awyllie13 shows that saliva is a better diagnostic sample for #COVID19 testing than nasopharyngeal swabs. Switching to saliva solves problems of shortage of swabs, PPE, saves healthcare labor and gives better sensitivity and consistency "

Summary and additional discussion here: [https://twitter.com/VirusesImmunity/status/12530383813716623...](https://twitter.com/VirusesImmunity/status/1253038381371662337)</comment>


Master of the house: why we should fight for truly private spaces - <AUTHOR> http://www.theguardian.com/technology/2015/dec/04/private-spaces-technology-thoughts <comment><USER2> Not being able to find private space in your multi-million dollar open floor plan modern home is one of those good kind of problems to have. If you want to live in a home with private space it isn't exactly hard to do. Since when did twitter prevent you from keeping a diary if you so choose?

I do agree with the author that private space is important though. It's nice have time to reflect without the worry of interruption or judgement. In these "Open offices" it can be an actual problem, I seem to be the only person I know who would be fine with just a cubicle.

<comment><USER3> I think the author means that tweeting keeps you from writing a diary in a way that it makes you feel that you already wrote about your happiness, problems, emotions, etc somewhere else. In my opinion there is a misleading feeling of privacy in social media in general. If you post something online, by keeping it "private" you may be mislead to think that no one else is going to be able to read/see it at any point in time. There seems to be no space where you can currently be alone with yourself anymore.

<comment><USER4> I'm having trouble with understanding the confusion that leads to the idea of doing something private, "alone with yourself", on the Web. It's kind of like, pretty much opposite by definition?

I mean, being private on-line is like setting water on fire. Yes, you can do it, but you won't be able to unless you know some pretty specialized stuff, you'll most likely hurt yourself badly if you don't have the training, and there's _zero point_ in lighting up a lake when going sailing on holiday!

If you want to be alone with yourself, use a text editor. A _native application_.

Or paper.

<comment><USER3> Sorry, when I mentioned "alone with yourself" I was referring as in general, not only on the Web. I agree with you that online and private don't mix. What I was trying to say is that it is like if you don't have your space anymore. Unless you turn off your WiFi, put away all your gadgets, there seems to be no space for your thoughts, for you to think by your own about your day-to-day problems and find some interesting conclusions and perhaps to establish a commitment on improving yourself. Wherever you go, sometimes even to the bathroom, people end up taking their phone. When alone in your bed, phone is again present. You're always being influenced by what you see, read and perhaps impulsively making decisions based on that without thinking by yourself first.

<comment><USER4> You're making a good point. I've noticed myself that the only moments I do _real_ thinking nowadays are shower, bed (when trying to fall asleep) and the rare occasions when I don't feel like reading on public transport. Otherwise, there's always something else available that's easier and more comfortable than running with your own thoughts.

<comment><USER5> Was on bus yesterday for first time in close to decade, 65℅-70% of users where sat on their phones the entire way without ever looking up, it was actually quite fascinating to notice.

<comment><USER4> Yup. Though before that, they'd be listening to their iPods, before that to their Walkmans, and even before that they'd be reading newspapers.

Isolationism in public transportation is not a new phenomenon.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Great article +1 to The Guardian which is becoming a favorite source of things to read.

Good point at the end about privacy not really being about hiding dark secrets. Privacy is a psychological benefit. I argue that privacy is a basic human right.

Re: writing diaries: I sort of do this, but in the cloud. I write a ton of stuff for just myself in the form of organized notes. For things that should not be public, like research on medical problems, I like to keep notes in SpiderOak (encrypted cloud storage). For other things that are for myself but not sensitive tools like OneNote and Keep are fine.

</comment><comment><USER7> I don't think that's why people don't keep private diaries. I would rather guess that they have no interesting thoughts.

Technology actually made it easier to keep a diary that's truly private (I use a simple rar archive with a password). When I was a teenager without a PC, I had a paper diary, which always made me worry about my parents finding it.

<comment><USER4> Maybe it's also about difference of form? I can't for life keep writing a normal journal for more than a week, but I generate tons of notes about ideas, all in text files scattered around a synced folder. Is that "journaling" too?

<comment><USER8> I've found keeping a diary to be more difficult and more rewarding than it might popularly be thought to be. There are different approaches, from logs of events to records of thoughts/feelings, with varying levels of detail, and there are inspiring published diaries of all stripes to take as an example. I completely agree with the author about the latent connections between diarizing, privacy, self-awareness, awareness of one's public image, and the internet era. I think it'd be a great idea if diaries were a standard unit in secondary lit classwork.

</comment></comment></comment><comment><USER3> Really nice article imo.

</comment><comment><USER9> Meh, sorta rambling nonsensical article imo.</comment>


Google chart API - daily limit lifted - <AUTHOR> http://code.google.com/apis/chart/#usage

<comment><AUTHOR> I may have missed this before but the updated usage policy is:

"There's no limit to the number of calls per day you can make to the Google Chart API. However, we reserve the right to block any use that we regard as abusive, an apparent denial of service attempt for example. If you think your service will make more than 250,000 API calls per day, please let us know by mailing an estimate to firstname.lastname@example.com."</comment>


How to block the DiggBar - <AUTHOR> http://daringfireball.net/2009/04/how_to_block_the_diggbar

<comment><USER2>
      <script language="JavaScript" type="text/javascript">
      <!--
      function breakout_of_frame()
      {
        if (top.location != location) {
          top.location.href = document.location.href ;
        }
      }
      -->
      </script>
      ...
      <body onload="breakout_of_frame()">

</comment><comment></comment><comment></comment><comment>==

The above is from: <http://www.thesitewizard.com/archive/framebreak.shtml>

Another, shorter example: <http://www.irt.org/script/473.htm>

Actually, now that I've RTFA, it looks like the one DF linked to originally is swell, and doesn't require using onload:

<http://en.wikipedia.org/wiki/Framekiller>

<comment><USER3> Psst...indent your comment two spaces to display as code.

<comment><USER2> Thanks, erlanger!

</comment></comment></comment><comment><USER4> It's a pity that Digg also made a grab for the URLs at the same time as they did the framing. Framing, despite all its 1996 squick factor, can be very handy: I've often wished HN had a bar similar to Reddit's, and the Google Images frame is good, too.

I don't think Gruber goes nearly far enough in explaining his objections, however: he barely bothers beyond an "of course" and appeal to consensus. He does mention that URLs are important, and assumes that people will agree. But if you don't automatically agree, that's not going to carry the argument: after all, the full URL is in the DiggBar, and can be C&Pd by anyone savvy enough to care.

Of course, the real problem is with _unsavvy_ users who are going to start passing around URLs that flow via Digg, a blatant landgrab on their part, but he doesn't really explain this. By talking in passing about fights that we had in 1996 he's talking about ancient history to Digg's audience, and they're simply going to assume he's a cantankerous old grump, rather than realising why Digg's actions should be condemned.

The "fuck you" page doesn't help this cause either: he could have used it to explain why the seemingly-useful bar's actually a bad idea. Instead, he's just going to piss off the hordes. A wasted opportunity, I think.

<comment><USER5> You appear to have mistaken the author for someone who cares about Digg's audience. Gruber doesn't care about Digg's audience ( _"mindless, borderline illiterates"_ ), and he has little incentive to educate them on why Digg's new shit salad has so much shit in it.

<comment><USER4> I understood that, but he's got an audience that he presumably _does_ care about, and he could have both snarked at Diggers _and_ educated the people who don't understand the fuss at the same time.

(Also, if he actually wants Digg to stop this, the best possible way is to point out to Diggers why the salad they're getting is full of shit so they can have one of their classic revolts)

</comment></comment></comment><comment><USER6> Love it: <http://digg.com/d1oNOZ>

For some reason I like this method better than frame-busting. To make it useful you could add a link to your homepage on there.

<comment><USER7> There is a direct link to the page in the digg bar itself and when clicked, the "fuck you" message remains (the digg bar disapears). Does the referrer change depending on which frame the request comes from?

<comment><USER8> the link is in the context of the digg domain, so if you click it, even though the bar is no longer present, the referrer (or should I say referer) will still be digg.com. interestingly, if you ctrl-r, the same HTTP_REFERER header will be sent. but ctrl-l, cr will blank the header & you'll get the regularly scheduled content.

</comment></comment></comment><comment><USER9> While I concede that the majority of Digg users are either unintelligent or insane, there are still a good portion of relatively reasonable people like myself who enjoy the service. Personally, I don't believe I'm the type of reader Gruber should be telling to "fuck himself", but that's exactly what he's doing. A far more reasonable approach would be to simply redirect to an unframed version of the page. Otherwise, why not just display this lovely page to any traffic with "digg.com" as the referrer?

<comment><USER10> Suddenly, without warning, digg has transformed themselves into IE6. The vast unwashed majority that you really don't want to have to deal with, but are forced to.

<comment><USER11> The parallel with IE6 goes further than you might have expected. The Digg folks have managed to screw up the page rendering in at least one non-IE browser.

<comment><USER10> Curious - which one?

</comment></comment></comment></comment><comment><USER12> I see his point, but I'm not sure that "go fuck yourself" is the most effective way of making it. <http://digg.com/d1oNOZ>

<comment><USER13> I don't know, "go fuck yourself" sounds pretty unambiguous to me. What is there to explain? Digg knows exactly what they're doing, and that's exactly the reaction they deserve, IMO.

<comment><USER3> There is something to be said for manners though.

</comment></comment></comment><comment><USER14> Doesn't Facebook do pretty much the exact same thing?

<comment><USER15> As does HootSuite: <http://hootsuite.com/>

Personally, I don't get why Gruber is so upset. There is an option to always hide the DiggBar. Hover over the X on the right and click the down arrow. Then there's a link that sets a cookie so you never see it again.

To me, he just sounds like a grumpy old man. The thing is useful, simple, and non-intrusive if you don't want to see it. No need to get profane about it...

<comment><USER3> It goes against the grain of the web, that's why. Sites that connect so many users to so much content should not do that.

<comment><USER16> But is there a logical reason to not do it?

<comment><USER3> It goes against the grain of the web, that's why. Sites that connect so many users to so much content should not do that.

</comment></comment></comment></comment></comment><comment><USER17> I want to bookmark those pages as their are, not as digg pages. I do not know but I think this is going to backfire on Digg in the long run.

</comment><comment><USER3> Assuming he uses Apache, why not just use a RewriteCond for that referrer and redirect to such a page? Executing that regex on every page is a performance hit, and generally I prefer to use Apache for stuff like this.

If you do use the supplied PHP code on your website, I recommend using strpos() or strstr() instead of preg_match().

<comment><USER18> Maybe he knows what kind of performance margins he has.

<comment><USER3> What do you mean by that? At the very least, most PHP devs know that strpos/strstr are much, much faster than a regular expression.

<comment><USER19> Unless page load times are affecting your browsing experience, why bother optimizing when a regular expression is so clear and simple.

<comment><USER3> You know what, you're right. I was thinking of something like:

      if (strpos('http://digg.com/', $_SERVER['HTTP_REFERER']))
         header('Location: whateverPage');

But that would block all traffic from Digg, including links in comments, etc. To perform the same check as the regex would require much more code.

However, I stand by my Apache recommendation as the best option.

<comment><USER13> erlanger, put a newline somewhere in your code! It's breaking the page.

<comment><USER3> Too late to edit. It doesn't force a scrollbar even in NetNewsWire though, so you might just want to widen the window a bit.

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Or you can just use the DiggBar disable feature that it provides.

<comment><USER7> "No, wait...." moment in 3..2..1

<comment><USER21> I'll explain, The problem is you seeing the links its that google will index the digg links to your site, people will pass around the digg links to your site. You'll see the digg link for every link you click on too.

<comment><USER22> Digg did a blog post yesterday explaining all the steps they took to give the page juice to the content and not to their URL, so it shouldn't hurt the content-site's SEO (using rel=canonical, et cetera).

<http://blog.digg.com/?p=636></comment></comment></comment></comment>


Show HN: Vpython – easier virtualenv - <AUTHOR> https://github.com/tbug/vpython

<comment><AUTHOR> Author here.

I know i have a few naming clashes, but i havn't been able to come up with a better one. Suggestions welcome.

Also, i did a blog post on this tool [http://www.tudb.org/articles/2014/03/31/vpython/](http://www.tudb.org/articles/2014/03/31/vpython/)

</comment><comment><USER2> Nice tool.

There's a similar tool that lets calling a virtualenv by name. Handy when you are used to virtualenvwrapper way.

[https://pypi.python.org/pypi/vex](https://pypi.python.org/pypi/vex)

<comment><AUTHOR> Didn't know vex. Looks nice.</comment></comment>


What the Space Age taught us: Earth is the best option we have - <AUTHOR> https://www.washingtonpost.com/national/health-science/what-the-space-age-taught-us-earth-is-the-best-of-all-possible-worlds/2019/06/18/b7454e78-65cd-11e9-8985-4cf30147bdca_story.html <comment><USER2> Earth isn't the best option. It is the ONLY option.</comment>


How to get a 72h ban after sending a private message on Facebook - <AUTHOR> https://sebastian.korotkiewicz.eu/minilog/posts/2017/11/06/facebook-watches-our-messages-from-messenger..html <comment><USER2> Rant. I consider this the frontier of impending AI-Armageddon—detached, final, zero-recourse—except it won't be Facebook, but your home heating bill. And it will involve circular arguments with humans who are also monitored by audio NLP bots who flag workers for immediate termination for not following company policy. /rant Google docs nuked a password table I was collecting at a job center where I helped seniors. Said it was against their policy for me to have a sheet I shared with the program director.

</comment><comment><USER3> I have had a couple of videos and images deleted from Messenger that were sent to me. Usually involving some level of nudity. Sometimes weeks later.</comment>


Js-hotkeys - Google Code - <AUTHOR> http://code.google.com/p/js-hotkeys/ <comment><USER2> Unfortunately there's a pretty nasty bug in that library - it creates a massive number of unnecessary global variables. I reported it a couple of months ago but I don't think the project is under active development: <http://code.google.com/p/js-hotkeys/issues/detail?id=17>

</comment><comment><USER3> I did a library that works the opposite way: given a key event, what's the string that (Js-)hotkeys needs to bind an event handler to that event? Wrote it for GameClay, where we needed an easy way for users to specify keybindings in games, but it may be useful if you want eg. user-configurable hotkeys.

It's sorta half-open-sourced: up on GitHub (<http://github.com/nostrademons/keycode.js/tree/master>), but I haven't gotten around to writing up real documentation, working out the kinks, or doing a formal release yet.

</comment><comment><USER4> Ooh, let's check that off my to-do list. Now quick! Someone create a site to share Greasemonkey hooks into websites, and let people combine these two!

Emacs and Firefox, sitting in a tree...

</comment><comment><USER5> Just for others that may need it: <http://livepipe.net/extra/hotkey> (MIT License) You can do this pretty easily in PrototypeJS though! <http://www.prototypejs.org/api/event>

I actually use this frequently in a project I'm working on, but I think it'd be beneficial to almost any project for accessibility.

</comment><comment><USER6> We open sourced a higher-level framework for keyboard shortcuts: [http://www.acunote.com/open-source/javascript-keyboard- short...](http://www.acunote.com/open-source/javascript-keyboard-shortcuts) This lets you setup (optionally multi-key) keymaps, similar to Emacs, and basically is all you need to get Gmail-like keyboard accessibility.

<comment><USER7> You presented this at the SF JS meetup last month, right?

<comment><USER6> Yup. Alex presented it, but it was primarily written by another engineer, Serge.</comment></comment></comment>


A great story on bootstrapping: Stormpulse.com (video) - <AUTHOR> http://www.davidedicillo.com/social/a-great-story-on-bootstrapping-stormpulse-com/

<comment><USER2> I talked to Matt at Pycon for at least 30 minutes in the vendor area. He's a very interesting guy, and stormpulse is a very customer-focused company. It's a great example of building a product in a crowded market but finding success by addressing customer needs.

</comment><comment><USER3> this was filmed at <http://refreshmiami.org></comment>


Ask HN: My SaaS startup is getting a partner, how much I should charge them? - <AUTHOR> I started an SaaS startup that is aimed at very specific hosting for civil engineers. I do have a basic product but to have something ready to general public I need additional 6 months and input from the engineers. The current costs of running the software are very low (~$100 a month). I developed the project in my evenings so there is not fixed cost there either.
I am talking to one engineering company as a partner and we are currently discussing how much I should be charging them.
It is crucial for me to be able to have at least one company to partner with. I need them to provide me feedback on the features, suggest new ones and use their name on my website as a partner.
My question is how much I should be charging them such that they move from the legacy vendor to me. I could go as low as $0 given my very low running costs but my worry is that in a 6 months time when my services becomes popular I have to continue to service them while I will have multiple other clients that actually pay. Any ideas how I can structure the pricing ? <comment><USER2> One common recommendation for SaaS is never to over unlimited pricing. I'd see charging $0 as unlimited. Limiting that, e.g. to the first year, seems fine though. I'd still ask for $50/month. The difference is that any invoice amount means they (e.g. product manager) needs approval, signatures, review. That's a higher commitment from them while the amount is hopefully nothing compared to whatever they pay for the legacy software.

</comment><comment><USER3> I think the main question is: do they need your product?

It seems to be the case, which is why I strongly advise you to not make it "free" no matter what feedback, help or features you think they'll bring to your project.

Instead, think of them as your first customer. You might get 100 more or only one. Charge them the cost of the software and foster a special relationship with them, maybe in terms of support or beta features, whatever works for you.

Good luck!</comment>


Will Listen Later – Save and Play YouTube and SoundCloud Links - <AUTHOR> https://chrome.google.com/webstore/detail/will-listen-later/lpjpiocccpdnkigkkmcfgpablkmapipf?hl=en <comment><AUTHOR> Are you ever too busy to listen to a song you come across right then and there? Will Listen Later is a Chrome extension which allows you to quickly save songs and videos from Youtube or Soundcloud for later from the right click menu when you are too busy to enjoy them now.

Also features a built-in media player, allowing you to access all the functionality you'd come to expect from Youtube or SoundCloud.

Please let me know what you think so I can improve on it!

<comment><USER2> The biggest thing I wonder about that the description doesn't easily answer:

How is this better than YouTube's "Watch Later" playlist?

One obvious answer is that it supports Soundcloud as well, but for YouTube, what's the advantage? Just the browser integration, or something more?</comment></comment>


Ask HN: Current legality of running an ICO for a startup? - <AUTHOR> This discussion may very well have already occurred, but I'm curious as to how legal it is to fund a startup via an ICO (i.e., create a fancy lander with a lofty stated mission, draft out a whitepaper with a few nice graphics inserted to demonstrate to the public how your loft mission will be built out) these days? I know the SEC has implemented new rules but I don't know how they apply to a startup taking money from the public in the form of a currency which cannot be used to purchase anything.<p>I began pondering if this is the "new" method of fundraising for today's "leading-edge" tech entrepreneurs. I see many sites like https://sparkster.me/ advertising a sale of tokens and it makes me wonder if I've missed an opportunity to fund the growth of a startup (potentially to a large scale) without outside interest. <comment><USER2> A few thoughts.

1\. You'll probably need a lawyer with the proper background to do this successfully.

2\. Did you Google anything or do any sort of independent research before asking this? [http://www.google.com/search?How+to+ico+startup](http://www.google.com/search?How+to+ico+startup)

3\. _...create a fancy lander with a lofty stated mission, draft out a whitepaper with a few nice graphics inserted to demonstrate to the public how your loft mission will be built out_

 _...a startup taking money from the public in the form of a currency which cannot be used to purchase anything._

Read this aloud to yourself and tell me how this doesn't qualify as a scam.

4\. Have you tried coming up with a traditionally viable product idea or business plan or are you just looking for a get rich quick scheme? How much of your own blood and sweat have you put into your ideas? Or are you just looking to have engineers paid by others' money do all the work for you?</comment>


Google Allo messaging app will soon be sunset for good - <AUTHOR> https://9to5google.com/2018/12/05/google-allo-shutting-down/ <comment><USER2> I always wonder why Google didn't just keep improving/extending Hangouts. Was the codebase just unsalvageable? Was it something to do with Google's internal politics?</comment>


Cookbook – Bayesian Modeling with PyMC3 - <AUTHOR> https://eigenfoo.xyz/bayesian-modelling-cookbook/ <comment><USER2> Out of curiosity, what is the future of PyMC3 since development on Theano was halted? I used PyMC very extensively in my dissertation work (both 2 and 3) and even implemented some custom samplers for it, but when I heard the devs of Theano were stopping work I knew that was gonna be pretty problematic for PyMC at some point down the road.

<comment><USER3> A prototype for pymc4[0] is in the works, to be built on top of TensorFlow. There's also a Google Summer of Code student[1] assigned to the effort.

0\. [https://github.com/pymc-devs/pymc4](https://github.com/pymc-devs/pymc4)

1\. [https://github.com/sharanry](https://github.com/sharanry)</comment></comment>


8-Bit Guy - Building My Dream Computer Part 1 [video] - <AUTHOR> https://www.youtube.com/watch?v=ayh0qebfD2g <comment><AUTHOR> I've been excited about this idea since I saw his blog post about a year ago. If there were a Kickstarter for this, I'd throw money at it, there's no one I'd trust more to get it done right. Though I really wish he hadn't used Facebook for group discussion.</comment>


Show HN: Invy - Easiest way to schedule an event with your friends - <AUTHOR> https://www.invyapp.com/

<comment><USER2> Thoughts:

/// invy logo - confused as to why there is an asterisks there.

/// Two main call to action buttons [in green]: Download app & Available on the App Store - a bit confusing as they both go to the same place.

/// Check boxes beneath the "available on the app store button" * Friends can respond from any device via the Invy website - does this mean that my friends can log into your website through a web browser on their mobile device? not sure what this is supposed to tell me.

* iCal integration makes sense * Address Book integration - is this outlook address book, or just general address book integrations? * Cheaper than a Caffe Latte - just 1.99. I was still trying to understand what the app did before I reached this, so it seemed disjointed that you were trying to convince me it was worthing paying for your service before I understood your service.

/// White iPhone - it took me a while to realize it's a was an iPhone. I thought it was a nice border around your screenshot. Perhaps showing more of the phone would make me realize that it's an iPhone or at least mobile app.

/// Three blue links next to "download app" button. As a new user to your website I want to know more about what specifically invy app does. If we look wpengine.com from the left to right links are: about / blog / reviews / our customers / contact. I would have expected something along the same lines. Customer reviews / some type of blog / how awesome my life will be after I use this, etc. The press didn't really fit (especially when I went to the press page and was greeted by : Hello press people :) and an offer to contact you about press related inquiries.

Overall - I like the design though think you have to spend more time honing the right message to the right customer and what specific problem you are solving for them. Great work on getting something up, out, and reviewed on HN!

<comment><USER3> Come on, you are too harsh, this is one of the most polished iPhone app + website combos. Top 2% or better in terms of UI / UX I would say.

</comment></comment><comment><USER4> I looked around the site, but I cannot tell if people you invite need to sign up in order to respond.

Over the years I've been invited to things using eVite (or whatever), only to be prompted to sign up before I can RSVP. It's a complete deal breaker for me. Not only do I not sign up, I usually complained bitterly to the person inviting me.

<comment><AUTHOR> No, to respond to an invitation you don't need to signup. You get an unique link in your e-mail which opens your personal invite. We will make this more clear on the site.

<comment><USER4> Well, that's great! Paradoxically, this will make it much more likely that I _will_ sign up.

</comment></comment></comment><comment><AUTHOR> We bootstrapped this little app. with a three-person team. I'm really anxious and nervous to hear what the HN crowd thinks of it. Here are some promo code's to try it out:

      RFTYNEP79YNE
      HF7EREA7XTW7
      KNFJXELEAKW4
      33YXN6HKYR64
      NKWM7RMXWMWX

</comment><comment><USER5>
      "Easiest way to pick a date with your friends"

Maybe it's just me, but when I read that, I initially thought the app was like an OkCupid for my social graph. A more clear tagline may be something like "Schedule events with your friends"

<comment><AUTHOR> Heard you and agree. Changed the title of the submission to avoid any confusion.

<comment><USER5> By the way, it's beautifully designed! Have you thought about adding a demo of the website version for an event? (I know you have a screenshot on the tour page, but it's sort of non obvious since you hid the browser chrome).

<comment><AUTHOR> Thank you! Will pass the compliment on to our designer @wdeb. An extra screenshot of the web app. is not a bad idea, putting it on the list.

</comment></comment></comment></comment><comment><USER6> I really like the overall design — minimal, yet elegant. However, as a user - I don't see myself paying for this app. Have you thought about any other monetization routes outside of straight app purchase?

<comment><AUTHOR> Yes, we have thought really hard about this. We tried to get Google ads on the "invite" page for non-iphone users but were rejected multiple times because of a "lack of content". Because we are bootstrapping, we need to make money from the beginning, so that's why we choose to make it a payed app. on the app. store. We will see how it goes and maybe change our monetization plan along the way.

</comment></comment><comment><USER3> I really like the design and simple UI. You have done a great job. Added the website into my "Nice design" bookmarks folder. If it was for Android I would buy it.</comment>


It appears the mystery buyer of Salesforce was Microsoft, but talks have fizzled - <AUTHOR> http://www.businessinsider.com/buyer-of-salesforce-was-microsoft-2015-5

<comment><USER2> Wow. Everyone seems to miss the point of what this is about.

MS wouldn't buy Salesforce (just) for the technology any more than Oracle bought Sieble and PeopleSoft for their technology.

CRM vendors are bought for their customers. CRMs are so deeply integrated into a company's business that the are basically guaranteed money into the future.

Exactly how _much_ money is the only question.

(MS already has a competent CRM offering and a good cloud story. All this talk that they should spend their money to build a competitor misses the point!)

<comment><USER3> didn't they bought yammer some time ago for much, much more than their client list was worth?

<comment><USER2> Yeah,but you need to look at the growth trajectory too. Yammer was exploding in use, and people pay a premium for that.

</comment></comment></comment><comment><USER4> >Salesforce's stock has been trading at all-time highs — partly because of rumors about a take-over, but also because the company has had some really good quarterly earnings and is growing fast.

>Now that it appears merger talks are over, shares of Salesforce are climbing again.

Stock price climbed due to potential for a merger.

Stock price climbs again due to end of potential for a merger.

Does a merger have an effect on the stock price? Its presence and absence are both (partial) causes for stock price growth.

I'm probably primed for this due to an article on a logic puzzle[0].

[0][https://news.ycombinator.com/item?id=9588845](https://news.ycombinator.com/item?id=9588845)

<comment><USER5> I have no idea whether the price offered was a good one, but the reason that both the rumors of talks, then the dissolution of talks, could cause the stock price to rise is pretty simple:

1) Rumors circulate of a pending acquisition. Obviously that acquisition will have to happen at a premium to the current price or it won't happen, so that's a signal that if you buy at today's price, you can sell in the acquisition and make a profit. People start buying on that rumor, causing the price to rise.

2) Reports subsequently surface that a $55B offer, which would have been a premium from the original price, was rejected and that $70B was sought. People think "well maybe the real clearing price is something like $65B" \-- and that's higher than today's price, so people buy at today's price in hope of making a profit if/when that transaction eventually takes place. The price therefore rises again.

Again, no idea what the price "should" be today, but it's not illogical that the price could rise both on the rumor and on the end of the rumor (especially when, as here, the explanation for the end was the (possibly self-serving) "the price wasn't high enough!").

<comment><USER4> I get how both can cause an increase in stock price in practice.

Coming as I was immediately from the logic puzzle thread, I was primed to think differently about the statements.

A very literal (and a bit naive) reading of the article leads one to conclude that: merger -> increased price not merger -> increased price

This allows us to conclude that knowledge of (merger|not merger) gives us no extra information about whether price should increase.

Again, I am interpreting strictly as a pair of logical statements.

<comment><USER2> You are missing a key variable.

Estimated future earnings -> price

<comment><USER4> Not missing anything. Please see above; I am amused at the naive interpretation of two excerpted sentences. I am not ignorant of matters financial.

</comment></comment></comment></comment></comment><comment><USER6> As a Microsoft stockholder, this makes me happy.

They should be bloody innovating and figuring out how to make better products, not doing internal political infighting. $55B buys you a _lot_ of runway if you want to dedicate it to making your own products.

Hell, for $55B you can buy all the developers and people at Salesforce who are any good at all and wind up with a decent product team. Rent a hotel near the Salesforce offices and offer generous bounties.

Cheaper. More effective than throwing money away.

<comment><USER7> Replicating SF's product portfolio won't get you their customers or (perhaps more importantly) their sales team and culture of sales.

<comment><USER6> I think that's a fallacy. $55B can still get you a great product and a _lot_ of customers, and you can probably do a better job of product development. You don't need SF's particular customers, or if you do, maybe you don't want them with the products that SF has.

Why buy a legacy when you can do something better? I guarantee you that whatever SF has can be done better and cheaper.

Why not get hungry sales people who are willing to take SF's customers away from them?

I see these deals coming from people who are incapable of technology development, who have been stalled in corporate culture and who have to justify their existence by making big deals. They are terrified of doing development because they don't know _how_ to -- but they know how to "do deals" and so that's what you get out of them.

Microsoft's successes seem to come from buying technology (not all the time). Historically they haven't been very good at buying customers or teams, or doing strategic "Deals" (capital-D).

It's a waste of money. It makes me want to vomit.

<comment><USER8> > Why buy a legacy when you can do something better? I guarantee you that > whatever SF has can be done better and cheaper.

> Why not get hungry sales people who are willing to take SF's customers away > from them?

Isn't that what Microsoft's been trying to do for a decade with Microsoft Dynamics CRM?

</comment></comment></comment></comment><comment><USER9> I don't know: 55b is a huge number, not unfathomable of course but huge. Salesforce is a great company and a no doubt innovative and disruptive one, but they hold no talent that Microsoft doesn't have and they will hold very few businesses that are not already Microsoft customers in some regard. You might be able to argue that they have a lot of cloud expertise, but Microsoft has already built some incredible cloud offerings in Office365, Outlook and Onedrive that share a lot of the overlap with Salesforce. I have a hard time believing that Microsoft would even want any part of that, it just seems like a huge waste of cash for a very little upside. If they had mentioned Oracle, it might be a little more feasible.

<comment><USER10> The difference between Oracle and Microsoft is that Oracle _has_ offerings in the majority of the places that Salesforce.com plays in. Oracle has a CRM, a Marketing Cloud, Analytics, and so on.

Microsoft has a CRM, but not one with a significant market share. They also have an analytics platform, but not one that is as clearly defined - there's SQL Server, Azure Analytics, BI for 365. They have no marketing management, no real helpdesk/support system, etc.

If anything I would say that there is much less overlap between MSFT and SFDC vs. Oracle and SFDC.

Plus Ellison is an investor in Netsuite - not that it precludes a SFDC acquisition, but it's yet another hurdle.

<comment><USER11> Very true. I work for SalesForce's only major competitor. We were acquired by Oracle as social marketing is a space that they had almost no understanding of but a strong desire to enter. Since our company was already researching social analytics, sentiment analysis and direct social marketing tools, I'm sure it was easier for them to acquire us than start R&D on their own tool suites. Not to mention our already installed client base. Salesforce is a hot commodity in our space. Were MS to acquire them they would have a foot in the social space with almost no time investment and little onboarding expenses. I'm kind of surprised this deal fell through.

</comment></comment></comment><comment><USER12> Given Salesforce's ownership of Heroku, I wonder what affect this would have on the Rails community? (to be certainly folded into Azure)

<comment><USER13> I don't think a potential acquisition would mean much for Heroku's independence, they continued business as usual after the SFDC acquisition, so it'd make no sense for Microsoft to worry about rolling them into Azure (these things take years in practice), at least in the short term.

<comment><USER12> Microsoft is definitely a lot friendlier to Linux and open source these days, though I think a Microsoft-owned hosting platform atop Linux and AWS would be .. strange. I suspect they might even divest it as part of the acquisition.

<comment><USER14> I think they'd like to have an open source offering like Heroku's workflow. They'd certainly migrate it off of AWS though.

</comment></comment></comment></comment><comment><USER15> I know people hate Ballmer, but who would you rather have at your side of the negotiating table, humble Nadella or bulldog Ballmer?

<comment><USER16> The Ballmer who wanted to buy Yahoo for $44.6B in 2008? [http://news.microsoft.com/2008/02/01/microsoft-proposes- acqu...](http://news.microsoft.com/2008/02/01/microsoft-proposes-acquisition- of-yahoo-for-31-per-share/)

No thanks.

<comment><USER15> I agree. I mean irrespective of acquisition targets, who is the tougher negotiator.

</comment></comment></comment><comment><USER15> What if this was a mutually agreed upon hoax meant to play the media? Salesforce reminds people "Hey we're worth a lot and our growth prospects mean we can turn down huge sums of money." Microsoft reminds people "Yeah we have $95 billion in cash and can afford big acquisitions."

</comment><comment><USER17> Has anyone considered Google? It was odd, I recently was accepted into one of their internal programs and noticed they used Salesforce as their CRM. I know this is not nearly enough evidence but Google doesn't have a CRM and think it might be an obvious choice.

<comment><USER18> The question is whether Google _needs_ or _wants_ a CRM. They don't seem particularly bothered about the enterprise space.

<comment><USER7> Their entire ads platform is in the "enterprise space".

<comment><USER18> Yeah but it's a different sort of "enterprise space". They do a bit of "big data", a little of infrastructure (much-neglected Apps, which are mostly oriented to SMEs anyway) and ads.

They don't sell a reporting package (i.e. THE enterprise tool), payroll, ERP, OLAP, consolidation tools... none of that. That's the real big-corp "enterprise" stuff, and they don't seem particularly interested in entering that space.

<comment><USER7> So admittedly I was intentionally misinterpreting what you meant (Journalists must have a term for this since they do it all the time).

I think we can both agree that "Enterprise" is too broad, vague, and context dependent. Is there a good collective noun that represents the "enterprise stuff" (mostly internal management tools but not exclusively so)? It'd be a useful term to have.

</comment></comment></comment></comment></comment><comment><USER19> I thought it was pretty obvious that it was Microsoft, I mean, I knew about it.</comment>


"CryptoLocker is a joke with ZFS" - <AUTHOR> https://www.ixsystems.com/whats-new/defeating-cryptolocker/

<comment><USER2> I love how there is no pretense given to the idea of perimeter security, for example there are no claims that "they'll never get in there in the first place". This isn't a criticism. I admire their honesty. It's refreshing in a [security] market that's usually filled with fake claims and red blooded chest thumping that has no basis in reality.

</comment><comment><USER3> > On average we can get a Windows server back in production with full > validation in under two hours

I don't think an organisation with two hours downtime will refer to it as a "joke" unfortunately.</comment>


Google Chrome Will Start Auto-Pausing Video Advertisements - <AUTHOR> http://www.weijieworld.com/google-chrome-will-start-auto-pausing-video-advertisements/

<comment><USER2> Why autopause when I can just use firefoxs built in adblocker or just adblock? I'll never give my parents a browser with ads, because they'll click them and get a virus.</comment>


Scientists: Artificial life likely in 3 to 10 years - <AUTHOR> http://www.cnn.com/2007/TECH/science/08/20/artificial.life.ap/index.html

<comment><USER2> The plausibility of a prediction of a future breakthrough drops exponentially with its distance, and the base of that exponent is a heck of a lot smaller than three years.

That said, this really would be the holy grail of biology and I'm rooting for my alma mater to be the one to discover it :-)

</comment><comment><AUTHOR> "But them getting out and taking over, never in our imagination could this happen."

That's comforting.</comment>


Show HN: Fetch – Lead enrichment bot for Slack - <AUTHOR> http://fetch.amplemarket.com <comment><AUTHOR> Hey there! John from amplemarket fetch here. We built fetch to allow people to have real time insights about new users/customers. Would love to get some feedback from you guys.</comment>


Why Nate Silver, Sam Wang and Everyone Else Were Wrong - <AUTHOR> https://www.quantamagazine.org/20161108-why-nate-silver-and-sam-wang-are-wrong/#more-32023 <comment><USER2> Everyone claiming that polls or forecasters were wrong should really do their homework and think what 'forecasting' is all about. It is not about predicting future with 100% certainty. It is about calculating odds of outcomes. You can calculate odds of Trump winning and put them at 40%, you can put them at 1% or 90%. In neither of cases you are wrong or right when he wins. Odds of winning are not 'verified' in any way. If you say that there is 50% chance of coin flipping on tails you are not wrong when it flips on head.

<comment><USER3> Perhaps, but I still think the fact that so many polls had Clinton's chances of winning well above 90% is indicative of some incorrect assumptions within their models. Especially considering how they were off in nearly every single swing state. Most forecasters had Clinton winning Wisc/Michigan at over 90%, and considerable advantages in most the other battleground states.

It would be like if I gave you a quarter and said it has a 75% chance of it coming up heads (ignore physics), then you flip it five times and it comes up tails each time. Sure it could be a run of coincidence, but I'd also put serious consideration into my statistical model.

<comment><USER4> the polls were not expecting a globalist establishment incumbent vs a nationalist populist outsider. the polls treated him like GOP candidate, when he was more of a parasite to the party, using its skin to get on every ballet as a "top two" candidate.

at least Nate Silver's part two to this piece will include "i was less confident than most others" [https://fivethirtyeight.com/features/how-i-acted- like-a-pund...](https://fivethirtyeight.com/features/how-i-acted-like-a- pundit-and-screwed-up-on-donald-trump/)

Silver really took Trump's ascension to the GOP throne as a lesson. [http://www.politico.com/story/2016/11/nate-silver- huffington...](http://www.politico.com/story/2016/11/nate-silver-huffington- post-polls-twitter-230815)

</comment></comment></comment><comment><USER5> Didn't Nate Silver acknowledge that this was a tough election for his methods because of the highly unusual nature of Trump's campaign, among other things?

EDIT: found some indication of this from May of this year: [http://fivethirtyeight.com/features/how-i-acted-like-a- pundi...](http://fivethirtyeight.com/features/how-i-acted-like-a-pundit-and- screwed-up-on-donald-trump/)

<comment><USER6> I've been listening to the 538 daily podcast for the last couple of weeks (as a Brit it's been a great way to get an insight on how the US system works rather than just the politics on the surface) and, when on the show, Nate would not be drawn on saying who he thought was going to win. He really seemed to be going out of his way to say that the model is based on polls and those polls can be off, the model is only as good as the information that's put into it.

The model had a pretty low Hilary chance a few days ago and then it ticked up at the end to over 70% for her but Jody Avirgan and Harry Enten were warning about pollsters' tendency to herd (I think that's what they called it) at the end and so the final polls can be less reliable due to this.

I'm looking forward to their wash up podcast and then I'm checking out of politics, between Brexit and this it's been a bumpy year.

<comment><USER7> Also notable that they mentioned repeatedly that:

1\. Polls in key swing states like Michigan have been consistently bad over the years, and there hasn't been a lot of high quality polling in those states during the election, which meant there was a lot of uncertainty in those states.

2\. State polls tend to be correlated. That means if the polling is off in Michigan, it'd probably be off in Pennsylvania and Wisconsin as well, and in the same direction. And, what a shock, all of them were tipping point states, and all of them had polling errors that swung in Trump's favour.

3\. Trump was well within the polling error of winning by election time. That is, while FiveThirtyEight had Hillary with 2-1 odds, that was with significant errors bars due to uncertainty, and it runs both ways.

To be honest, listening to their podcast and reading their posts, I was preparing myself for a potential Trump win.

</comment></comment></comment><comment><USER8> Actually, the LA Times made a fairly big deal about forecasting correctly.

[https://twitter.com/latimes/status/796360500091252736](https://twitter.com/latimes/status/796360500091252736)

<comment><USER9> They predicted Clinton would win the electoral college.</comment></comment>


Germany's economy just shrank. Will the government open the spending taps? - <AUTHOR> https://www.economist.com/europe/2019/08/14/germanys-economy-just-shrank-will-the-government-open-the-spending-taps <comment><USER2> Given that even with strong growth and record tax revenue, Germany barely arrived at a balanced budget, where the "spending taps" ever closed?</comment>


Big Fucking Field - <AUTHOR> https://www.bigfuckingfield.com/ <comment><AUTHOR> Meta: interestingly enough, the HN submit changed the asterisk to an u in the title :).

This is Oklahomas attempt to lure Tesla/Musk to build the Cybertruck gigafactory there. While not interesting by itself, it's interesting on a meta level I think.</comment>


WebKit removes the 350ms click delay for iOS - <AUTHOR> https://trac.webkit.org/changeset/191072 <comment><USER2> The change applies only to unscalable viewports. That's a shame, because it means some developers will disable pinch-to-zoom to get a faster click response. That makes this yet another unfortunate conflict between usability and accessibility. The older I get, the more I appreciate being able to zoom (I'm viewing this page at 125% on desktop right now).

<comment><USER3> There are plenty of apps that are guilty of this as well. Instagram comes immediately to mind. Not allowing pinch zoom on pictures I'm viewing on a tiny pocket screen (when there's no good technological reason for it) is a shame.

I've turned on assistive zooming on my iPhone to overcome the limitation.

<comment><USER4> > There are plenty of apps that are guilty of this as well. Instagram comes > immediately to mind.

For native apps it's a design choice. For whatever reason (good or bad) they don't want you to zoom in.

For websites instead, pinch to zoom exists for a design deficency, mostly for web pages not optimized for small sized screen. Responsive web design is helping but the gap is not filled yet. Hopefully it's just a matter of time and we'll experience beautiful mobile websites.

For all other needs, there is OS assistive zoom.

<comment><USER5> While I agree with what you are saying I have a minor nit: "For websites instead, pinch to zoom exists for a design deficency, mostly for web pages not optimized for small sized screen."

I understand what you mean, but in the context of sites specifically disabling zoom it seems to me that pinch to zoom is a design feature and not a deficiency of traditional web pages. Responsive helps, but there are definitely times when I wish the developers would provide only a desktop view so I can use my browser features to optimize my own user experience. (I am not representative of the general public, I know).

<comment><USER6> Non-zooming sites can (and should) honour your system-wide font-size setting, giving you the ability to use the system's settings to achieve uniformly comfortable reading experiences across websites and apps.

Zooming doesn't do much to give users much control over the reading experience -- iOS does not let users set or change the viewport size, so everyone gets the same columns to zoom into/out of.

If you want text bigger than the single size the designer decided on, you're forced to scroll along each line of text -- which is a terrible experience.

If you wanted it smaller, zooming out won't 'reflow' the layout, so you'll just be losing screen real estate to peripheral content.

<comment><USER5> I meant to refer to the ability to zoom in on images for the purpose of observing greater detail (which I did not include my comment). I do not disagree with your comment.

</comment></comment></comment></comment></comment></comment><comment><USER7> While I do symapthise with those lamenting the lack of pinch-to-zoom, I'm confused: apps don't offer pinch to zoom, so how do you use them? If you can use an app fine without pinch to zoom, you should really be able to use a mobile website fine too.

It seems to me that this is an either/or proposition: either you have a not- mobile, pinch-to-zoom-able web site, or you have a mobile-specific site with an app-like viewport that does not allow pinch to zoom. Both of these seem like fine options to me, and I don't think it's a huge loss to lose the middle ground.

<comment><USER8> You're talking about two fundamentally different things. Apps are designed specifically for mobile, so of course they will work well fine at the scale they were designed at.

Ideally, websites would be designed to work fine at any scale from mobile to desktop (responsive design). However, many mobile websites are delivered today as downscaled/simplified versions of the desktop site. This means there's a lot of design that crosses over from desktop to mobile. When you add disabled scaling on top of that, many things break, like content being too wide or font sizes being too small.

<comment><USER9> It's a shame. HTML was originally meant to be quite device unaware, and display fine on toasters.

<comment><USER8> HTML is fine, it's the CSS/JavaScript that's the problem. If we were just displaying HTML we wouldn't be having this discussion.

<comment><USER10> It's more a matter of how the tools are used, and provisions for client side overrides. Reader mode is a godsend, though the delay on showing the icon and lack of a default option are both capital flaws.

</comment></comment></comment></comment></comment><comment><USER11> Ugh... This change is of course totally logical in isolation, but I fear that this will motivate designers and developers to disable pinch-zooming on their sites (more than they already are). I _hate_ when websites do this, and it is generally considered terrible for accessibility.

<comment><USER12> Hopefully the intersection of "knows/cares about things like the 350ms tap delay" and "cares about whether the site is too small to read" will be large.

<comment><USER9> Unless it becomes a bullet point on someone's feature list.

<comment><USER13> there's allways fastclick

</comment></comment></comment></comment><comment><USER14> In our framework, we have for a very long time had a Q.Pointer class which contained functionality to normalize things between touchscreens and non- touchscreens. Among other things, it had the "fastclick" event: [https://github.com/Qbix/Platform/blob/master/platform/plugin...](https://github.com/Qbix/Platform/blob/master/platform/plugins/Q/web/js/Q.js#L8825)

There is far more than simply relying on a "click" in touchscreens. For example the "touchclick" event is for those times when the keyboard disappears because focus has been lost in a textbox, but the click will still succeed: [https://github.com/Qbix/Platform/blob/master/platform/plugin...](https://github.com/Qbix/Platform/blob/master/platform/plugins/Q/web/js/Q.js#L8825)

Also, drag-drop is broken in touchscreens WebKit so you have to roll your own, and much more.

You're better off using a library.

<comment><USER15> Cool.. as a side note... 10k lines in that file, is it maintained like that? I know modularizing and things like browserify have an overhead, it just seems excessively large for a single source file (was scrolling up to the top, so that I could star the project to look at later).

I'm not trying to attack or being negative here... just a bit surprised.

</comment></comment><comment><USER16> As I see it, the 350ms delay was added to support zooming via double-tap. What I don't understand is why double-tap zooming is necessary when we have pinch- to-zoom? Can't zoom via double-tap be sacrificed for instant clicks and everyone is happy?

<comment><USER4> I also never understood why you'd double tap on a link or a button.

<comment><USER17> You might double tap near a button, to expand it and give yourself a larger target.

</comment></comment></comment><comment><USER18> A lot of commenters here are afraid of developers disabling user scaling to get better performance. That is incorrectly making the assumption that user scaling is good thing for every kind of website.

If a 350ms click delay is actually a performance bottleneck on the app you are building, it's very likely user scaling is something you want disabled anyway.

<comment><USER19> If you're building your website to behave well on mobile devices, you're likely implementing your own touch handlers and are not using click events to begin with.

<comment><USER20> This is actually very hard to implement.

The underlying issues are that

(a) it is hard to make touchstart/touchend act the same as a native click event (touch-scroll interactions, different fat finger slippage, text selection, press duration, etc).

(b) you only want to do this for iOS and not any other browser (different browsers and OSes and pointing devices introduce a huge number of other issues: cant prevent the click on the touchend, mouse or pen support is difficult, avoiding ghost taps [https://www.google.com/#q=ghost+click+tap](https://www.google.com/#q=ghost+click+tap) ).

(c) you run into future compatibility problems (pen, force-clicks, other HIDs).

<comment><USER19> True. But that's where [http://www.w3.org/TR/pointerevents/](http://www.w3.org/TR/pointerevents/) comes in

</comment></comment></comment></comment><comment><USER21> How long until this makes it into the Mobile Safari on most people's iOS devices?

<comment><USER22> Generally, stuff that lands on webkit master is available in the next major iOS release, e.g. iOS 10.

<comment><USER23> There is a chance it could be in 9.1 or 9.2 but your right, this kind of change has a much better chance of appearing in the next major release.

</comment></comment></comment><comment><USER24> Finally.

Typing this on an iOS 9 device and I, as a human, cannot 'fast tap' enough for iOS to register a 'fast tap' and not delay. Try it here: [http://output.jsbin.com/xiculayadu](http://output.jsbin.com/xiculayadu)

<comment><USER25> It's a "slow tap" that eliminates the delay. Tap and hold your finger down for a moment. The delay registered with a "slow tap" is about 10 ms for me.

<comment><USER24> God that's completely unintuitive.

</comment></comment></comment><comment><USER26> I really don't understand the lamentation around pinch to zoom. There's a fantastic os-level zoom built into ios! Set it up and three-finger-click to activate. And it works great.

<comment><USER27> I am a huge fan of the 3-finger zoom, but it's not exaclty the same as browser-provided zooming. The screen zooming provided by the 3-finger tap will not add resolution to downscaled images.

If I'm looking at a site that presents a massive image scaled to my display, the browser zoom will add more information as you zoom in. The 3-finger zoom will make the existing pixels larger.

Most of the time this difference isn't an issue, but it is a difference.

</comment></comment><comment><USER28> What's the intended function of the previous functionality? Didn't double- tapping zoom in and out to a specific section? What problem does the delay solve that isn't present on unscalable viewports?

<comment><USER19> The delay allows webkit to _detect_ a double tap. Otherwise, any element with a click handler would immediately fire, effectively disabling double tapping for their region.

<comment><USER9> An interesting choice would be to retroactively undo the effects of the single click if a second one was detected.

<comment><USER29> That sounds interesting at first, but then what happens if say, the element takes you to another page? Then you'd have to go back a page, which would be a clunky experience.

<comment><USER9> Delay page switches (and other interruptive things) then.

<comment><USER7> What if it sends an AJAX request? You can't exactly undo them. The browser JS environment is sufficiently complex that "just undo"ing something seems like it would be... complex.

<comment><USER9> Send GET requests, delay POST.

Yes, the whole architecture would need to good undo-support.

<comment><USER7> A lot of sites out there perform actions on GET requests, though. I just don't see it working out.

In any case, once you start delaying things you ruin the original point of getting rid of the click delay - to make things faster!

<comment><USER9> You only delay non-idempotent actions.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER30> Any idea when this makes it into an iOS release? Does Apple usually implement this in point releases? Or do we wait until iOS10 next year?

</comment><comment><USER31> Can someone explain what this means for the non-IOS developers amongst us?

<comment><USER32> As I understand it... If you're using Mobile Safari (or many other mobile browsers), and you double-tap something, it's interpreted as meaning "zoom in to this element". This is useful for pages with narrow columns and things on the sides, etc.

However, in order to implement this, when you do a _single_ tap, the browser has to wait to make sure that you don't do a double-tap. So there's a 350ms delay while it's waiting on your second tap, before delivering a single-tap event, e.g. to click on a link.

There's a meta tag you can use to disable user control of the zoom level, e.g. with pinch-to-zoom. One of the things that this disables is the double-tap behavior. Given that double-tap is disabled on those websites, there's no need to sit around waiting for a second tap; you can treat it as a single tap immediately. This change removes the delay.

(People are upset because this is an incentive to use that meta tag if you otherwise wouldn't need it, and being able to zoom on a mobile browser is useful.)

<comment><USER33> Also worth mentioning: Chrome for Android did this last year. GP was asking about iOS, but it's not an iOS-specific thing.

<comment><USER34> To continue the Chrome for Android tangent, you can re-enable zoom-in as an accessibility feature.

</comment></comment></comment></comment><comment><USER35> Remind me: They originally had the 350ms delay in there to distinguish between a tap and a pinch, correct?

<comment><USER36> A tap and a double-tap, AFAIK. Since the latter is used for zooming, if the page is not scalable then the possibility that the user has double-tapped can be disregarded.

</comment></comment><comment><USER37> Good news for hybrid apps devs...

<comment><USER38> Incredible news for hybrid app devs. This has been a longstanding annoyance on iDevices that has only been superficially fixed with polyfills on iOS and dumping your app into Crosswalk on Android.

</comment></comment><comment><USER39> Will removing this 350ms delay really make user feel faster response?

<comment><USER40> It's what FT Labs fastclick tries to mitigate - try it for yourself: [http://ftlabs.github.io/fastclick/examples/layer.html](http://ftlabs.github.io/fastclick/examples/layer.html)</comment></comment>


OpenHatch – Find open source projects to contribute to; find mentors - <AUTHOR> http://openhatch.org <comment><USER3> I'm now signing up there.

It would be really nice to be able to log in with github, since many project owners already have a github account.

<comment><USER4> perlgeek, thanks for signing up!

That's something we just got an email about earlier in the month, though no one has filed a bug to formally request it yet. I just took a moment to do that: [https://openhatch.org/bugs/issue925](https://openhatch.org/bugs/issue925)

If you want to add yourself as "Nosy" then you'll hear about updates to that, as the community gets moving on in it.

</comment></comment><comment><USER4> Yes, we just had some site problems; they seem fixed now, and additionally, I pushed a front page redesign some contributors had been working on for the past month! : D

(I'm one of the original people who started OpenHatch and on the board of the non-profit.) Thanks to sedeki for letting other people know!

<comment><USER4> For those interested in the technical details, here are some changes we made to better-handle the traffic spike:

* Remove some of the MySQL-specific query syntax to make faceted search at openhatch.org/search/ work nicely. A goal of the current implementation is that if you search for "C" you won't find "C++". We implement this by a crazy hack of MySQL REGEX queries, which are (iirc) always unindexed, which is bad news under load. We should probably switch this to client-side faceted search, as here in 2014, it's safe to assume people have Javascript.

* Stop using synchronous requests.get() to fill the cache of blog posts that . The problem here is that if the cache is empty, every web worker will try to fill it. This leads to massive queuing of inbound requests, which is always bad news.

\- Use CloudFlare in front of us, so at least people get reasonable error messages, and so static resources don't bother our server.

It's still not the speediest site in the world, but it's mostly handling the traffic, from what I can tell.

I filed these as bugs:

* [https://openhatch.org/bugs/issue927](https://openhatch.org/bugs/issue927)

* [https://openhatch.org/bugs/issue928](https://openhatch.org/bugs/issue928)

If you're interested in helping out, by all means join us. We love new contributors. Over 26 people contributed to the codebase in 2013, and per [http://openhatch.readthedocs.org/en/latest/getting_started/i...](http://openhatch.readthedocs.org/en/latest/getting_started/installation.html) we've tested the dev environment setup process on Mac, Windows, and Linux, and it should take 10 or fewer minutes.

</comment></comment><comment><USER5> This is excellent, particularly the mentoring aspect of it. There is some really nice work to do in iPython and with Mozilla. Given the heavy Mozilla involvement I'm surprised they haven't gone with openbadges.

We're working on something similar, but to match developers up with scientific, conservation and charitable projects that need help. I'm not interested in hijacking this thread, but if anyone wants to be kept informed, my email is in my profile.

<comment><USER4> Blahah, your [http://solvers.io](http://solvers.io) initiative seems super cool!

We've found over the years that having one _specific_ task for new contributors to complete makes a huge difference in attracting that next contributor. See [http://mairin.wordpress.com/2010/07/23/second-fedora- design-...](http://mairin.wordpress.com/2010/07/23/second-fedora-design- bounty-ninja-identified/) for a really successful effort along those lines.

If you want to join #openhatch or join [http://lists.openhatch.org/mailman/listinfo/events/](http://lists.openhatch.org/mailman/listinfo/events/) and chat with us, we'd be happy to see if there are ways we can both learn from each other!

<comment><USER5> Thanks!

We've had similar feedback about specific tasks from the very few people we've shown the site to so far, and hearing it from you hammers it home.

At the moment we're at the stage of recruiting initial projects. We'd love to talk to you guys, and will drop along to the IRC room :).

</comment></comment></comment><comment><USER6> Training Missions would be a great use for OpenBadges.

[http://openbadges.org/](http://openbadges.org/)

</comment><comment> chestnut-tree This is a great initiative. I wish there was a site that could match designers or UX people with open source projects. I am surprised that something like this doesn't exist. Are these two camps a little bit weary or suspicious of each other?

<comment><USER4> Hi there! So glad you're excited about that.

We're really excited about that, too, and if you join the IRC channel, we'll do our best to connect you with a project.

Additionally, I wrote this:

[http://opensource-usability.blogspot.com/2013/12/guest- post-...](http://opensource-usability.blogspot.com/2013/12/guest-post- in-2014-lets-make-open.html)

that I would love your thoughts on.

<comment> chestnut-tree A good article - thanks for the link. I think user testing is an essential part of making software more usable, but it's not the only aspect of the design process.

When it comes to UX, I don't believe you can design by committee, but everyone feels they should have a say in the process (and if you've contributed to the code of a project, you probably feel an even stronger sense of ownership which is perfectly natural and understandable). As soon as someone feels their UX suggestions are ignored, it causes so much resentment. The result is often a distrustful and even resentful relationship between design and development. This is such a familiar scenario in the Open Source community particularly for large Open Source projects.

Here's a small example from the Blender community that illustrates the difficulty in reconciling different views about UX. It's a Youtube video of a presentation at the 2013 Blender Conference (Oct 2013) on improving the Blender UI. In the Q&A after the presentation, one audience member (rightfully) says we shouldn't treat users as idiots, but then adds that making Blender easier to use might entail "dumbing down" the app - <USER2> elicits a round of applause from the audience. Dependending on your point of view, that's a perfectly legitimate concern or a depressing misunderstanding about ease-of-use: [http://www.youtube.com/watch?v=6aIA2LaB2Iw&feature=share&t=3...](http://www.youtube.com/watch?v=6aIA2LaB2Iw&feature=share&t=30m19s)

My impression is that there's a fractious relationship between design/UX and development in the open source community that hasn't changed much over the years (I'm not pinning the blame on any one camp). How to solve this, I just don't know. I'm glad that we're having a debate about it and it would be good to hear more from other developers and designers on this subject.

</comment></comment></comment><comment><USER7> I had this exact idea 2 years ago, named it (coincidentally) OpenMatch, and even bought the domain openmat.ch but I didn't have time to work on it.

Really happy to see this come to life, good luck.

</comment><comment><USER8> Perhaps consider changing that font (Tuffy) to something that renders half- decently on Windows. It's just an eyesore in Firefox and Chrome. It does look OK on Linux though.

<comment><USER4> If Tuffy doesn't look good on OS X or Windows, then we should look into switching to something that is readable and nice to look at. Thanks for saying so!

I filed [https://openhatch.org/bugs/issue926](https://openhatch.org/bugs/issue926) so we don't forget to find out more about it.

</comment></comment><comment><USER9> Making the world a better place => Awesome people!

</comment><comment><USER10> Saving this to check out later, the idea sounds pretty cool!

</comment><comment><USER11> It seems down.</comment>


Show HN: Add video subtitles on the fly from plain text - 011-video https://011.video/2020/08/03/burn-video-subtitles-on-the-fly-from-a-plain-text-file/ <comment><AUTHOR> About two years UC Berkeley was forced to take down most of their university lecture videos which were available freely and publicly due to some regulation around closed captioning availability. Presumably the cost to providing the closed captioning was considered too high. I wonder if some software and/or service provider could help get those videos back up.

<comment><USER2> I just went back to some of my Berkeley course captures and the few that I checked out had captions that looked human-generated (unless YouTube's auto- generation can handle math terminology and abbreviations fine). It's a shame that they can't release those ones publicly due to some weird legal reasons.

<comment><AUTHOR> IIRC the regulation was meant in good spirit (to ensure the hard-of-hearing had equal access to university produced artifacts), but effectively it caused a lot of loss.

</comment></comment></comment><comment><USER3> The article's actual title uses the word "burn", not "add", which makes more sense. "Add video subtitles on the fly from plain text" is basically just a description of subtitles as they work today.

<comment><USER4> well, minus the on the fly part, i guess. I thought it might be semi automatic by trying to skip actually understanding spoken words but counting syllables or similar to detect accurate timing. I don't know what the workflow usually looks like for this kind of task but this one presented here doesn't look too dumb to me. even without burning them into the video.

<comment><USER5> > _I thought it might be semi automatic by trying to skip actually > understanding spoken words but counting syllables or similar to detect > accurate timing._

Is there a software that can do that? I have been searching for one, but haven't found any so far?

</comment></comment></comment><comment> 011-video Thanks for the comments !

I try to answer to all together :

\- "I thought it might be semi-automatic..." : 011.video is made modestly with HI (Human Intelligence) not AI. We have all used Youtube automatic translation to know how ineffective is it. By the way 011.video support a "Speech to sticker" feature on chromium browser (except on Edge). It's fun to add video/GIF/images on the fly, but it's not 100% effective as it depends on Google speech recognition system, your internet connection, your mic, your device...

\- "...option to generate a separate WebVTT subtitle file..." : Each SRT files or WebVTT files is linked to a video. As i said today AI automatic speech to text translation is far from effective. So if you want a clean webTTT file you have to make it manually phrase by phrase.

\- "got the width of a smartphone, line are wrapped..." : 011.video smartphone / android app is not up to date. i will update it later this month after getting some feedback from the Desktop version online.

I'm eager to receive more feedback.

</comment><comment><USER6> Is there an option to generate a separate subtitle file in a standardized format (e.g. WebVTT) without modifying the base video?

Ref: [https://en.wikipedia.org/wiki/WebVTT](https://en.wikipedia.org/wiki/WebVTT)

<comment><USER4> i think the Matroska container format (mkv) can do things like that. I remember reading that you could store video/audio content in separate files without player configuration. No idea how well that's supported though.

Update: Sorry, but i just realized you were more likely to ask about what this software can do and not how to link external subtitle files to your video.

</comment></comment><comment> 011-video How-to add permanent subtitles guide : [https://011.video/2020/08/03/burn- video-subtitles-on-the-fly...](https://011.video/2020/08/03/burn-video- subtitles-on-the-fly-from-a-plain-text-file/) 011.video web app : [https://011.video/desktop.html](https://011.video/desktop.html)

</comment><comment><USER7> >UPLOAD A VIDEO

lol no, why would I upload my movies to someone elses computer when ffmpeg and mencoder exist?

</comment><comment><USER8> Painful site design, at least change the background. You're not doing yourself any favors with that repeating geometric background. Having your bold text as the same color as the non geometric portion of the background doesn't help either. I hope your burned in subtitles don't make use of the same design principles of anti-contrast and signal hidden in noise.

<comment><USER9> This critique seems needlessly harsh and a bit offtopic to me.</comment></comment>


Comparison between Rust and D - <AUTHOR> https://maikklein.github.io/post/cmp-rust-d/ <comment><USER2> Says not much about garbage collection: Rust does not need one, D (at least its stdlib) needs it. How about Nulls or concurrency?

Seems to go very much into details about syntax bike shedding but not saying much about the more "global" design differences.

<comment><USER3> There one big issues, where I think D might make progress:

Combine GC and non-GC in a single application. This would be great for game programming for example. Handle audio and video in a soft-real-time non-GC thread. Handle other stuff like game logic in a GC thread, such that it is easier to write. The hard part is that GC usually requires stop-the-world. You can currently do this [0] in D, but it is error prone. Rust tackles this problem from the "other side": First make it safe, then possible.

[0] [https://p0nce.github.io/d-idioms/#The-impossible-real- time-t...](https://p0nce.github.io/d-idioms/#The-impossible-real-time-thread)

<comment><USER4> > Combine GC and non-GC in a single application.

Rust is actively working on this, in fact.

The idea is to eventually have a Gc<T>-like type, like Rc<T>, which can be used on specific things. It will interact fine with the regular heap, so `Vec<Gc<Foo>>` where `Foo` contains a `Box<Gc<T>>` will still work.

You can then selectively apply this Gc<T> to things which need it. For example if you have a large graphy-datastructure in your code and don't want to bother with weak pointers. Or if you are doing FFI with a language that does have GC.

Rust itself would not have the Gc<T> type in the stdlib, it would only contain a couple of traits and compiler intrinsics that are useful for a GC. (The idea is to be able to turn on LLVM stack maps and use it for GC rooting). So you can write a gc for your specific use case (even if that use case is just safe bindings to a different GC from a runtime you are interacting with!) and it should work. In fact, in the design so far it seems like multiple GC implementations will be able to exist in the same application, and _perhaps_ even safely interact (you can control whether you want this to be possible using the type system; I'm not sure if there is ever a case where this would be needed)

This would of course, still be safe. It would not be possible to violate GC invariants using safe code, nor would it be possible for the GC to violate regular safety invariants.

<comment><USER5> My biggest concern with the Gc ideas floating around Rust right now is that they may infect your program through dependencies.

I guess I'm mostly worried about Gc being used by a large number of libraries, to the extent that it might not matter if stdlib implements it or not, because by using some very popular library you'd end up pulling in this runtime dependency.

Part of me loves the flexibility this will bring to application design, but it could be a slippery slope.

<comment><USER6> If such a popular GC-using dependency came into existence, then there would surely be demand for a drop-in replacement that didn't use GC.

Remember, even the proposed Gc<T> type provides very little in the way of ergonomics (at least compared to garbage-collected types in pervasively-GC'd languages). Essentially it would just be a souped-up Rc<T> with no need for weak pointers to resolve cycles. Alternatively, it would only be used to interoperate with a foreign codebase that already uses GC, like SpiderMonkey or V8.

Given that people tend to only be writing Rust in the first place if they put a large degree of value on performant solutions, I'm not too worried about the library ecosystem suddenly sneaking in GC everywhere, especially since the Rc type is _already_ halfway to garbage collection, and I don't see it used unduly in the wild.

</comment></comment></comment></comment></comment><comment><USER7> Another language you might consider is Nim which is more like D because it doesn't have specific selling point like Rust. It's very flexible and reasonable though and Python programmers will feel there immediately at home. You have GC there but you might opt out of it and/or let it run at specific times and for specific amount of time to manage gc pauses.

</comment><comment> Const-me This article only covers the code. For the projects I work on (mostly C++ and/or C#), about 50% of decisions I make while coding is about data, not code.

IMO, Rust just not good enough for creating complex specialized data structures.

Even a trivial tree is hard to implement in Rust, and the implementation will be severely limited: [https://github.com/SimonSapin/rust- forest](https://github.com/SimonSapin/rust-forest)

D surely has it's problems as well (in short, I think the language itself is very good, but its runtime and libraries still need a lot of work), but at least it's good for complex data structures.

<comment><USER8> Yes, internals of data structures often need unsafe. At least with Cargo, and generics, you can implement them once, and then share them amongst projects. It's also why we have a fair number of data structures in the standard library; they will be audited a bit more heavily this way.

<comment> Const-me Even using unsafe, are you sure I can implement e.g. efficient linked list data structure?

By "efficient" I mean I want to split my list in two for O(1) complexity, like other programming languages do.

<comment><USER9> Here is a version ([https://is.gd/bFCpMq](https://is.gd/bFCpMq)) that might be instructive. It is based on a simple ref count cycle of structs like:

        pub struct ListNode<T> {
            data: T,
            prev: Weak<RefCell<ListNode<T>>>,
            next: Rc<RefCell<ListNode<T>>>,
        }

The code linked above probably has bugs (for sure with singleton lists), but I hope you get the idea. It allows you to splice lists in and out in constant time.

Also, the code doesn't use `unsafe`. Now, you would need to use `unsafe` somewhere to actually _create_ a list, in order to initialize the fields (or you could change the type of `next` to be `Option<...>`). However, the use of `unsafe` would be limited to that method. This tries to get at the difference between (i) occasionally using `unsafe` and (ii) having no safety guarantees at all.

There are probably lots of other pain points that you can bring up, and I'm not trying to say this should be good enough, but I thought it might help explain what is possible.

</comment></comment></comment></comment><comment><USER10> I'd really like to have type-level numbers natively in Rust. Implementing a vector generic on its dimensions seems to be so much easier in D!

Any prospect about that?

<comment><USER11> There is definitely a prospect! The core team understands the need. It still needs an RFC though, and once that is accepted it will have to make its way from nightly, to beta, then finally to stable. So alas, not any time soon. :(

<comment><USER12> There's an RFC that could address the lack of type-level integers: [https://github.com/rust-lang/rfcs/pull/1657](https://github.com/rust- lang/rfcs/pull/1657)

<comment><USER11> Oh duh, I forgot about that - even commented on a few days ago!

</comment></comment></comment></comment><comment><USER13> This is really neat. I have dabbled in Rust and have been meaning to go back and look at D.

The other linked posts regarding meta-programming features of D are also great.

</comment><comment><USER14> I think the section about immutability should mention that this is possible in Rust:

      fn main() {
        let x = true;
        let x = false;
      }

I was pretty disappointed when I found out about it.

<comment><USER15> I was responsible for this design decision. For me, shadowing is really useful and I use it all the time. It's especially useful for creating new, slightly different modifications of earlier values when you don't want to keep coming up with new names all the time—this is common when making heavy use of immutable variables.

Some people don't like it, and if you don't you can use clippy to disallow it. From what I've seen, most Rust code does use shadowing.

<comment><USER14> > I was responsible for this design decision.

Dun dun duuun

I used to write a lot of C++ and my idea of immutability always was that if I see a variable declaration at the top of a function and scroll down to where it's used (without reading the code in the middle) I can assume nothing happened to the variable.

Then I started to learn Haskell something like a year ago and found out that shadowing is not only allowed but used by people. Especially in Haskell (or OCaml for that matter) where you can just use x' for a slightly modified version of x. I don't know. Maybe I get used to it one day.

</comment></comment></comment><comment><USER16> Rust: people use.

D: people don't.

</comment><comment><USER17> I'm getting the impression that D is a failure. Is there any bigger project written in it? If not, why would it fail?

<comment><USER4> People use D, and it is a pretty decent language.

I'm not an avid D user, but I have a guess as to why it is not so widely used.

To me, D is somewhat of a "I like C++s features and ergonomics and want a similar languages with all the features built in from the ground up" (+awesome metaprogramming). One of C++s drawbacks is that features have been bolted on in hacky ways due to backwards compatibility issues. D is like C++, but without this. It is a good goal, and from my limited experience with D I think they have achieved it well.

Thing is, such a language will largely be adopted by people who use C++. And the problem with these folks is that _they already know C++_. Once you are used to it it doesn't feel so bad. Despite its drawbacks, C++ has lots of tooling, a large ecosystem, and familiarity.

Rust is less affected by this for two reasons. One is that it gets a lot of production users from non-C++ shops who want to use a systems language to speed up their Python/etc tight loops. They would rather not worry about segfaults and stuff. The other is that for C++ users, Rust scratches a large itch. The learning curve for Rust is a lot worse than D, but for many the benefits might overcome this. You can't get used to segfaults the way you get used to template metaprogramming.

I would give D time. These issues just slow adoption, not stop it. That is fine.</comment></comment>


How does Starbucks knows how to grab my MAC Address? - <AUTHOR>

To all hacker out there, how in the world can a website grab your mac address from the browser http://oi61.tinypic.com/s263ib.jpg.  I've heard responses from "it is not possible" to "they use flash".  But this happens every time I go to Starbucks and I am pretty sure Flash is not used.<p>I'm posting on HN to get the low down if anyone who has ACTUALLY first hand know how on how this is accomplished. <comment><USER2> That web site for me says "Looks like you might be outside a Starbucks store / Our local store web site is only available when you're connected to Wi-Fi at most U.S. Starbucks stores."

If you are on their network then they can see your MAC address. That's how Ethernet works.

See [http://en.wikipedia.org/wiki/MAC_address#Spying](http://en.wikipedia.org/wiki/MAC_address#Spying) for an example of how Apple has changed iOS so it uses a random MAC address. See also [http://security.stackexchange.com/questions/6868/randomizing...](http://security.stackexchange.com/questions/6868/randomizing- mac-addresses-on-bootup) .

<comment><AUTHOR> Yes, I am connected to the store's wifi. Once I am on their network, how do they actually grab it? What headers names do they inspect for, etc. I'd like to actually know the implementation details and code sample. I looked everywhere on Stackeroverflow and can't find anyone who has done this.

<comment><USER3> Since you are connected to their network they know your MAC.

What they will likely do is take your IP and look to which MAC their DHCP- Server has assigned that IP to. There are other possibilities though, but they are more complicated (using ARP-cache or requests, doing a raw packet dump at the webserver).

If you want learn more, I think you could read a bit about the different layers first, and then read about how ethernet, IP/ARP and DHCP work. There are likely no "headers" (I assume you mean HTTP-headers) they inspect.

</comment></comment></comment><comment><USER4> How do you know they're getting it from your browser? They could have just stored your MAC address somewhere when you connected to their wireless router. For example, they might have a custom DHCP server that stores your MAC address along with the IP address it assigns to you in some database that's accessible to the web server. The web server can then look up your IP address in the database and obtain your MAC address.

</comment><comment><USER5> The wifi router knows your mac and probably intercepts a HTTP request (like a "captive portal"), which probably redirects you to that URL while including the MAC address

<comment><AUTHOR> Yes, I am connected to the store's wifi. Can you point me to some code that actually can grab the mac address? As the title suggests -- I want to know how they do it.

<comment><USER2> [http://en.wikipedia.org/wiki/Captive_portal](http://en.wikipedia.org/wiki/Captive_portal) lists three ways to achieve it. The details will depend on how Starbucks decided to do it.

What you're asking is, in essence, "how does ethernet work?" That cannot be explained in a few paragraphs. You can start with Richard Stevens' "TCP/IP Illustrated, Vol. 1", as one of many available descriptions. You can use Wireshark to track all of the details.

At this point you should stop asking questions here. There's likely no simple answer, and this is a great chance to experiment and figure it out for yourself.

(Even if someone knows the exact details of how Starbucks does it, you are unlikely to understand the explanation without understanding some of the fundamentals.)

<comment><AUTHOR> ok, I think I got it. Fundamentals I know enough to be dangerous, thanks for the pointers to captive portal. I'll be able to run with this now... I upvoted you and 0x0</comment></comment></comment></comment>