How We Moved from Heroku to Containers with No Docker Experience - <AUTHOR> http://stackshare.io/proleads/how-we-moved-from-heroku-to-containers-with-no-docker-experience <comment><USER2> If you're only containerizing a Ruby application and nginx, I don't really see how containers are much better than old school Capistrano-style rsync deployment. (How often does your nginx version change, after all?) At the cost of an awful lot of additional tooling and somewhat unstable infrastructure.

For our simple Ruby workers, we just use Puppet to set up app server VMs with Ruby and nginx. Deployment consists of updating the Ruby code directory. It's pretty much cloud provider independent, as long as your provider can make a Linux VM, and it works fine, just like it did in 2010. :)

<comment><USER3> I find this attitude interesting. By the same reasoning why are .debs better than building from source, and the ultimate - horse drawn buggies vs automobiles.

I've seen containerized applications described as "statically linked apps", it's one blob with dependencies included. I'm moving in that direction (vs cap-style deployments) because it guarantees that all machines are identical (from QA to staging, to production). Spinning up additional machines becomes trivial.

<comment><USER2> Containers add their own considerable complexity to the stack. If the dependencies are complicated enough, or you need fast scaling/reconfiguration on the fly, then containers can certainly be a net positive. But if you're adding Docker, Compose, DCHQ, and whatever else to your stack just so you can put Nginx and some Ruby code in a container, I'm questioning whether that ends up being a net benefit over Puppet/Chef + rsync.

<comment><USER3> I hear you. I like the idea of "deploying" a pre-built image. Capistrano "just-in-time" deployments (particularly deployment time "bundle") seem a little non-deterministic. Docker is certainly non-trivial though, but I think (I hope), it's a net win. Time will show.

In my mind, it certainly parallels the binary package (debian) vs build-on- demand package (arch? OS X brew) approach. Both seem to work, but I certainly prefer the debs.

<comment><USER4> That's where Ansible + Capistrano can work together nicely.

No need to change your application or deviate significantly from a "vanilla" Ubuntu install - just add your nginx, Passenger configs to Ansible, build the server, and then deploy with Capistrano.

</comment></comment></comment></comment></comment><comment><USER5> What about people who don't want Heroku (or Heroku-style) dynos as application servers and workers, because you pay excessively for RAM and CPU and wrestle with configuration constraints, but want to keep the rest of the PaaS ecosystem?

I'm comfortable maintaining a fleet of stateless application servers, but don't want to maintain my own database servers, or queue servers, or SSL endpoint, or logging aggregator, etc. etc.

Is this a feasible setup?

<comment><USER6> At a previous company, we initially set everything up at Heroku. As things got cost prohibitive, we moved them one by one to AWS. Since Heroku is setup on AWS, it was easy enough to connect to our Heroku postgres instance from AWS web servers and it doesn't add any extra latency vs. running direct on Heroku. Over time, we slowly migrated everything off to our own infrastructure on AWS, but we were able to leverage Heroku to avoid all of that development effort until it was cost effective to do so. You'll need to deal with your own SSL endpoint if you run your web servers on AWS, but it's pretty trivial to do so with ELB.

<comment><USER7> Out of curiosity: does Heroku give you a better deal as you grow? I know for a fact Salesforce will discount their licenses more and more and you buy bigger quantities and sign up for longer contracts. It'd be surprising if Heroku doesn't do this at all...!

<comment><USER8> They have the opposite model: give it away to small players to hook them up, then rake it in from heavy users.

</comment></comment></comment></comment><comment><USER9> This is a submarine for DCHQ which looks to be some proprietary docker orchestration service that doesn't list prices and doesn't have an open source version. Pro tip - customers don't want to be forced to talk to your sales team before they can try your product.

<comment><USER10> It does look like an advertisement.

I guess it's changed since you last looked -- DCHQ does have a pricing link on their front page now.

</comment></comment><comment><USER11> I'd be really curious to know how many servers they're running. You can get a lot of iron for $3200/month.

Also, if I read that correctly it looked like they maintained two sets of infrastructure and one was always spare so they could do green/blue deployment. That sounds like a great opportunity to use on demand instances so you only pay for what you use.

</comment><comment><USER12> For those who want a less all-or-nothing migration path from Heroku, might I suggest looking into Cloud Foundry? Several of the buildpacks (most notably Ruby) are derived from Heroku's upstream repos.

If you decide later that you want to build your own containers, Cloud Foundry has you covered there too, with a pathway for Docker images to be placed, launched and monitored on an equal basis with buildpack droplets.

I'm biased, of course. I work for Pivotal, which donates the majority of engineering time to Cloud Foundry.

</comment><comment><USER13> The cloud environment is becoming a "wild wild west" just like the app stores were a few years ago. It all has to do with how much money is being made in those markets. Maybe this is the result of AWS finally breaking out their revenue numbers.

There is so much marketing and plugging of alternatives to [INSERT CLOUD PROVIDER/LAYER HERE] that there really isn't any substance to all this other than reading like an advertisement.</comment>


Emacs.dev now routes you to vim.org - <AUTHOR> http://emacs.dev <comment><USER2> Duplicate of [https://news.ycombinator.com/item?id=19294029](https://news.ycombinator.com/item?id=19294029)

</comment><comment><USER3> vim.dev went to emacs.org for a while as well.</comment>


Launching a Mac app in 32 languages for less than $250 - <AUTHOR> http://www.hackerparadise.org/blog/2014/11/04/how-current-launched-with-32-languages/

<comment><USER2> I'm the creator of Current, and I'm happy to answer any questions here!

<comment><USER3> 1\. Are you doing anything in the server-side?

2\. How long did it take to build the app? (Articles says you've quit your job in February, since then?)

<comment><USER2> 1\. I don't have any server-side logic whatsoever. All requests are made through Facebook.

2\. I did some consulting work early on as well, but I would say I spent at least 6 months of solid development on the app.</comment></comment></comment>


Show HN: Snap Scroll – Chrome extension for point and click scrolling - <AUTHOR> https://chrome.google.com/webstore/detail/snap-scroll/kdegcljjpimkobjeejpfogokeedlbbje <comment><AUTHOR> This simply lets you use middle click or left+right click anywhere on a page to instantly scroll right to that point.

Essentially I wanted a way for jumping neatly from paragraph to paragraph while reading longer articles in the browser and somehow got increasingly annoyed by how slow and imprecise the scroll wheel felt.

I tried to express that in the demo video: [https://www.youtube.com/watch?v=ZbQt4jAlzo0](https://www.youtube.com/watch?v=ZbQt4jAlzo0)

I realize this is probably quite niche but maybe some of you will find it useful too.

Any feedback is of course very welcome!

<comment><USER2> a shortcut customization feature would be good. trackpad users will find this offensive :)</comment></comment>


Nvidia suggests retailers put gamers over crypto miners in graphics card craze - <AUTHOR> https://www.polygon.com/2018/1/23/16921356/nvidia-graphics-cards-sold-out-cryptocurrency-miners <comment><USER2> Besides gamers, there is also an impact on those building ML/DL rigs, right?

[https://news.ycombinator.com/item?id=16197520](https://news.ycombinator.com/item?id=16197520)</comment>


Cassini's "Grand Finale" Will Be a Blaze of Glory - <AUTHOR> https://www.scientificamerican.com/article/cassinis-ldquo-grand-finale-rdquo-will-be-a-blaze-of-glory/ <comment><USER2> I've read a few accounts of this mission's end and, not to be dramatic, but I have actually been moved to tears by the thought of this probe using its last energy to point it's antenna toward earth as it melts in the atmosphere. Yes, it's just some hardware but it feels so poetic to me. This sort of accomplishment gives me hope in our species--a true triumph of science that I feel fortunate to have witnessed.

Also, for anyone who hasn't seen it, Cassini's Twitter feed has had a ton of great content over the pat few years (@CassiniSaturn).

<comment><USER3> Wont happen so dramatically. By the time anything is melting the aero forces will have far exceeded the probe's ability to point. It will start with a very slow tumble, breaking contact. The spinning and destructive heating will come some minutes (hours?) later. Of course, due to distance, by the time we see the break in contact the probe will be gone, allowing the op's careful language re timings to make it seem like everything will happen at once.

<comment><USER4> I still think someone within this community could make this into a dramatic short film.

<comment><USER5> There is one [https://vimeo.com/210782375](https://vimeo.com/210782375)

</comment></comment></comment></comment><comment><USER6> That final paragraph about the members of the Cassini team having watching their kids grow and have children of their own during the 30 years of the mission kind of struck me. I wonder what things are like for them when their mission comes to such a sudden end?

I suspect they'll have to spend some time analyzing the data, possibly months (I'm not really sure how long), but then it's over. What do they do? Take a long vacation and then pick up another project at NASA? Or have they been working on multiple projects this whole time, and it will be more like a developer shipping a new feature, you celebrate for a few minutes then move on to the next priority?

<comment><USER7> They will be working on designing, simulating, and building new missions to the outer planets. It's really important to have a roadmap for long-term exploration rather than doing one-shot missions, so you don't lose the expertise. The National Academy of Science works on this roadmap, and NASA generally follows it (see [http://sites.nationalacademies.org/SSB/SSB_052297](http://sites.nationalacademies.org/SSB/SSB_052297), in particular the Planetary Science survey from 2011).

It's a very exciting time for planetary science, especially regarding the "Ocean Worlds" (those moons of Jupiter, Saturn, and Neptune that have liquid water: [https://www.jpl.nasa.gov/infographics/infographic.view.php?i...](https://www.jpl.nasa.gov/infographics/infographic.view.php?id=11262)).

One of particular interest is Europa Clipper ([https://www.jpl.nasa.gov/missions/europa- clipper/](https://www.jpl.nasa.gov/missions/europa-clipper/)), although Europa is a moon of Jupiter.

</comment></comment><comment> trey-jones I was in 7th grade when Cassini launched, and I remember thinking, "Wow, cool! That seems really interesting!". And then, "Holy Cow, 7 years before it gets there?!".

And then I remember in 2004 hearing about its arrival, and remembering back to 7 years prior and getting excited again about learning new things about these faraway places.

Finally, in 2017, I'm excited about what new information might be obtained during the short dive into the atmosphere. It's been a good run!

<comment><USER8> I know this meanders into off-topic, but I remember when we first put humans on the moon. To have lived through all of these changes, and advances, has been wonderful.

</comment></comment><comment><USER9> Despite all the negative news lately. . . Well constantly, I have to admit, things like this give me hope.

I do hope it inspires the next generation (at least a couple), to see what we did, realise where we have gone wrong, and push for more exploration.

</comment><comment><USER10> This is quite a tangent, but figured I'd mention to anyone who might be interested that there's a pretty cool podcast recently from Radiolab about the life and times of the Voyagers. It goes into some interesting details about their exit from the solar system. [http://www.radiolab.org/story/sun-dont- shine/](http://www.radiolab.org/story/sun-dont-shine/)

</comment><comment><USER11> [https://saturn.jpl.nasa.gov/mission/saturn-tour/where-is- cas...](https://saturn.jpl.nasa.gov/mission/saturn-tour/where-is-cassini-now/)

NASA's countdown with distance and updates

</comment><comment><USER12> For us on the hither side of the pond, "7:55 eastern time" means 13:55 Stockholm time. Since the US is so vast in all directions, "your" time references always confuse me.

0 days, 21 hours, 42 minutes, and 10 seconds. That's when the world will end (for Cassini).

<comment><USER13> It's not that different from Europe. You have Western, Central, Eastern Europe times plus Moscow Time. We have Pacific, Mountain, Central, and Eastern. Forgot Alaska time zone.

Belarus and Turkey don't change for daylight savings and neither does Arizona here.

<comment><USER14> You also forgot Hawaii and possibly Guam -- I can never remember how their time lines up.

The US has four "contiguous US" timezones, and two or three others for peripheral things. Not counting stuff like Zulu or the various zones that dont adjust for DST, so technically are distinct.

<comment><USER15> Hawaii (UTC-10) and Guam (UTC+10) are separated by the international date line.

</comment></comment></comment></comment><comment><USER16> I see articles about Cassini's end, but they never clearly mention when the final pictures will be revealed. Any pointers please?

<comment><USER17> This timeline has an entry for when the final pictures are expected to appear online:

[http://www.planetary.org/blogs/emily- lakdawalla/2017/0911-ca...](http://www.planetary.org/blogs/emily- lakdawalla/2017/0911-cassini-eom-timeline.html)

<comment><USER18> It can't take pictures in Jupiter's atmosphere?

<comment><USER17> The spacecraft is at Saturn. During its final time, it will not have the transmission speed to send pictures, though it will send atmospheric measurements until the very end.

</comment></comment></comment></comment><comment><USER19> A pretty good summary video of Cassini's mission. [https://www.nytimes.com/2017/09/08/science/cassini-saturn- na...](https://www.nytimes.com/2017/09/08/science/cassini-saturn- nasa.html?mcubz=1)

</comment><comment><USER20> For another take on this, check out this funny twitter thread: [https://twitter.com/Alex_Parker/status/907803594463891458](https://twitter.com/Alex_Parker/status/907803594463891458)

</comment><comment><USER21> off-topic, but UTF-8 still isn't ready for prime time on this site obviously: "crême brûlée" became "crme brle" :)

</comment><comment><USER22> Would rather they have it go through the rings and get some point blank photos of the contents, if that's a possibility.

</comment><comment><USER23> I remeber them doing this with Galileo flown in to jupiter. Mixed sadness and pure impressiveness. However there was some talk that it might have caused a nuclear explosion on Jupiter as Galileo had 2 two radioisotope thermoelectric generators. This explision then could have started a chain reaction as jupiters contains high amounts of tritium and deuterium.

<comment><USER24> This would make for a fun scifi plot, from the perspective of Jupiter natives. "These assholes from Earth dropped a nuke from orbit. They appear to be preparing to do the same to our cousins on Saturn. What do we do now?"

<comment><USER25> I was picturing a large number of classic flying saucers with domed tops rising en masse from the surrounding clouds, pointing themselves towards earth, and speeding away. I mean, we did just drop a bus on them.

</comment></comment></comment><comment><USER26> NASA released a fantastic dramatic video explaining the Cassini mission and final stages, very inspirational to watch.

The Grand Finale: [https://www.youtube.com/watch?v=xrGAQCq9BMU](https://www.youtube.com/watch?v=xrGAQCq9BMU)</comment>


Discovering Millions of Datasets on the Web - <AUTHOR> https://blog.google/products/search/discovering-millions-datasets-web/ <comment><USER2> This is great. I've been collecting a list of open data sets for a while now with an eye to at some point turn it into a blog post. Now maybe I don't have to... saved me some work!

Some other indices of open data sets I've found:

[https://registry.opendata.aws](https://registry.opendata.aws)

[https://en.m.wikipedia.org/wiki/List_of_datasets_for_machine...](https://en.m.wikipedia.org/wiki/List_of_datasets_for_machine- learning_research)

[https://meta.m.wikimedia.org/wiki/Datasets](https://meta.m.wikimedia.org/wiki/Datasets)

<comment><USER3> This is a good list: [https://github.com/awesomedata/awesome-public- datasets](https://github.com/awesomedata/awesome-public-datasets)

<comment><USER4> Also zenodo.org is seems like it's gaining traction as a de facto data repo for scientific journals. I've had to deposit a copy of my raw data here 2x in the last 6 months for different pubs (1 neurobio, 1 genomics).

</comment></comment></comment><comment><USER5> For those interested, I recently wrote a blog post on how to download & parse USPTO patents for a large free corpus for NLP problems:

[https://austingwalters.com/parsing-uspto-patents-to- create-a...](https://austingwalters.com/parsing-uspto-patents-to-create-a- dataset/)

I actually have found FOIA requests[1] and downloads from government websites to be the easiest & most effective way to get robust datasets.

[1] [https://austingwalters.com/foia- requesting-100-universities/](https://austingwalters.com/foia- requesting-100-universities/)

</comment><comment><USER6> A couple good resources for finding datasets:

\+ For individual requests, come over to [https://opendata.stackexchange.com/](https://opendata.stackexchange.com/) and ask!

\+ Wikidata has loads of structured data, but using SPARQL is often a barrier. But you can request help: [https://www.wikidata.org/wiki/Wikidata:Request_a_query](https://www.wikidata.org/wiki/Wikidata:Request_a_query)

</comment><comment><USER7> I really feel like the data side of things is under-rated. mostly, it seems like when people talk of IP, they talk about th e software and forget the data. Uber, Snapchat etc are companies mostly in the business of shuffling data around. Good or bad, that's subjective. And this data-search product is a nice welcome to those people who are trying to get something off the ground, research or just trying to understand the world and human behaviour better.

<comment><USER8> I don't think it's underrated, but I do think that there is a gap between massive data and an idea of what to do with it.

And data is simple, it's parameters plus timestamps plus a lot of storage.

Realtime access is harder but it's a well-specified problem.

The issue is inference. No one does inference extremely well except in limited circumstances. It's one of our greatest bottlenecks as humans and our software is going to be limited by it as well insofar as our understanding of what to build is controlled by what kind of inference we want.

<comment><USER9> I think data is underrated because it is actually _not_ "simple". Especially the collection and curation of it.

</comment></comment></comment><comment><USER10> Trying to teach my wife pandas and the thing she most wants to do is compute the 10 year projected return on fortune 500s (buffetology) based on last ten year financial reports. It's really hard to find a good data source though as it's either in PDF or Google has been optimized to rent seeking data repackagers where it's hard to see if they have the data without jumping through hoops. Would love a source for that.

<comment><USER11> If you use Google's Dataset Search for SEC Filings[1], you get outdated information. FTP access has been removed for years but SEC Filings are still are great example of large datasets. I built a side business at [https://Last10K.com](https://Last10K.com) using buffettology and provide 10 years of company annual reports (10Ks). There's also an API at [https://dev.Last10K.com](https://dev.Last10K.com) that returns financial data from these filings in JSON or XML.

[1][https://datasetsearch.research.google.com/search?query=EDGAR...](https://datasetsearch.research.google.com/search?query=EDGAR%20Database%20of%20SEC%20Filings&docid=3%2Bc8oAy8U5sVy2HZAAAAAA%3D%3D)

<comment><USER10> Interesting. I was considering having her as a side hustle type these sheets into a place I could then sell. Sounds like that was what you did. How did that work out?

<comment><USER11> Didn't see any contact details on your HN profile so feel free to contact me directly and I can provide details.

</comment></comment></comment></comment><comment><USER12> I was picturing a link to Shodan, nice to see this is about legitimate sources instead.

</comment><comment><USER13> If anyone is looking for cleaned and linked finance datasets, and works at a university. You should double check if you get access to Wharton Research Data Services [https://wrds-www.wharton.upenn.edu/](https://wrds- www.wharton.upenn.edu/), it could save you alot of time.

</comment><comment><USER14> All this (and comments) have taught me is the data set I'm looking for doesn't exist in the public domain. Time to make it myself.

</comment><comment><USER15> Found a Vocabulary of Philosophy using it, very skookum! [https://www.loterre.fr/skosmos/73G/en/](https://www.loterre.fr/skosmos/73G/en/)

Unfortunately, most every result for the word `philosophy' is borderline garbage imho. Keyword indexing of datasets may need improving?

</comment><comment><USER16> I gave this a try for a few queries, but the results are very varied. Often you get the landing page for a study with its PDF behind a research/journal paywall (even with the "Free" filter applied, so not sure what "free" means to Google). Sometimes the "dataset" is some kind of visualization without any obvious way to get the raw data. Only a couple of results had a JSON or CSV to download.

Overall a bit underwhelming.

</comment><comment><USER17> Still can't find the damned 'International Corpus of Learned English', though.

<comment><USER18> You seem to be able to order it here: [https://www.i6doc.com/en/collections/cdicle/](https://www.i6doc.com/en/collections/cdicle/)

<comment><USER17> I have no practical way of reading a CD-ROM, why don't they make available a virtual version? Thanks anyway

<comment><USER19> If you pay 350$ for a cd rom u should be able to find a way to digitize it, for example a copy shop or just getting a usb drive.

</comment></comment></comment></comment><comment><USER20> Please try searching for datasets on this site on mobile. It needs some work.

</comment><comment><USER21> Are there any resources where models are available?</comment>


Ask HN: How Do You Make the Most of Your Commute? - <AUTHOR>

I commute for about 2 hours a day and try to prevent this from taking up too much time by reading, eating and thinking on the train.<p>What can I and others do to avoid wasting this time? <comment><USER2> Do all your HN on the train. Read so much that you get sick of this place for 8 hours and aren't distracted. :)

But seriously, if you find some popular threads and read them on the way in, then you can still jump in the comment threads while "your code is compiling". And you won't have wasted your working time reading a long article from HN.

</comment><comment><USER3> Sleep, at least on the ride into work. Rest is a force multiplier with respect to intelligence. If I'm too awake to sleep on the way in, I will keep my eyes closed anyway, and meditate for the full hour. I get off the train relaxed, energized and fully prepared for the workday.

On the way home, I chat with the other regulars. I try not to spend too much time staring at a screen, considering what I do for a day job. Often I will read, draw, listen to music, or just take time to reflect on the day.

I suppose my own personal conclusion is that, while I do enjoy distractions, not every hour needs to be packed with activities. Sometimes the best thing you can do for yourself is to rest, reflect and relax.

</comment><comment><USER4> I cycle to and from work, anywhere between 20 minutes and 65 minutes since I work in various different locations.

It helps keep me reasonably fit, and I'm convinced it's good for my mind too. Exercise is one of the rare times I'm not looking at a screen or reading complex information. I'm focused on traffic but not thinking hard, certainly not consciously thinking about work or personal problems. It's almost meditative. I think times like that are excellent for creativity and general good mental health.

</comment><comment><USER5> I usually open up my Audible app and listen to books that are totally outside my field of work. Great way to make your brain think outside your domain.

</comment><comment><USER6> By listening to music that I enjoy. My commute is mostly highway driving, so it doesn't require too much conscious concentration, which allows me to focus more on the music. Of course, I have to tend towards louder stuff that doesn't lose too much to road/engine/wind noise. That time has allowed me to keep up to date with lots of music that I otherwise wouldn't have time for.

</comment><comment><USER7> By not doing the commute. I know, it's not always an option. Podcasts that keep your attention ("Mixergy" and "Startups for the Rest of Us" are the ones that do it for me) or some learning on the side (say Coursera courses) will keep you occupied.

<comment><USER7> As a note: A lot of people usually recommend "This Week In Startups" or TWIS, but I find it to be an absolutely reprehensible show. It's just the Jason.

</comment></comment><comment><USER8> Before I sleep, I download a set of podcasts for the commute the following day on Pocketcasts. Mine are usually about ML, Freakonomics, Startup School, and AI. But you go try whatever you want. I find that it's best to spend idle time listening to intellectual background sounds (if you're at least not listening to them).

I try to avoid any social media at this point. Anytime I find myself on Facebook or Twitter for more than 3 minutes, I kill the tab and get back to focus on work.

<comment><USER9> Any particular Ai or ML podcasts?

<comment><USER10> [http://www.thetalkingmachines.com/](http://www.thetalkingmachines.com/) is the best I've found for ML.

</comment></comment></comment><comment><USER11> skip talk radio, news, social media, etc. Focus on your goals. If your on public transportation, you have many options. If your driving, you are a bit more limited with options. You can record your thoughts on a voice recorder, or you can listen to books or podcasts about something you want to learn.

</comment><comment><USER12> Hit the local library for audiobook CDs. I agree its old-fashioned, but my 2012 Honda Civic has a CD player and the Menlo Park library had some great collection of tech/business audiobook CDs. I began experimenting with playing them on the drive to work and am pretty happy with the results.

</comment><comment><USER13> Another vote here for audio-books. Sure I'm mostly listening to fiction for fun. But if I wanted it could easily be non-fiction or language courses. Too bad learning to code is hard with audio only. Or at least I think it would be.

</comment><comment><USER14> day dreams keep me busy:

\- what would this drive be like if everyone could drive better

\- how many cars could i squish if i was in a monster truck

\- emp spiking that asshats car after he cut me off

\- what is that driver thinking when i blocked his improper merge from happening

\- what fun it would be to have some turtle shells to launch

</comment><comment><USER15> Too short of a commute. I just bike and then I'm there. Honestly that is probably the most productive thing. My phone is in my bag and I'm looking at traffic, etc, so my mind is sorta relaxed but still focused.

</comment><comment><USER16> I have been doing my side project in my commute (1h 15min in a train)

I've downloaded all the documentation that I could google for as plan HTML and it's doing good :P

</comment><comment><USER17> I hired a driver to take me to and from work. This gives me about 1 hour 45 minutes more work time per day, and keeps my neighbor from working a night shift 2nd job to make ends meet for his family.

</comment><comment><USER18> Just my two cents, look into working remotely as this could reduce your commute time. Another thing you could do is listen to podcasts.

</comment><comment><USER19> I don't do much other than focus on driving in a calm manner. Close calls on the road lead to high stress throughout the day.

</comment><comment><USER20> I watch videos about programming or whatever else I am interested at the time.

</comment><comment><USER21> hotspot on the cell phone + laptop means it's just an extension of my work day (good or bad)</comment>


Differences Between jQuery .bind() vs .live() vs .delegate() vs .on() - <AUTHOR> http://www.elijahmanor.com/2012/02/differences-between-jquery-bind-vs-live.html

<comment><USER2> What I really like about the old style bind/live/delegate is that it's so grep-able. The new on()-based API makes it much harder to search through a codebase.

In addition, when you see something like:

        $('.table a').click(function() { ... } )

it immediately looks wrong, because there are probably multiple links in the table. Wrong code that looks wrong is great, because you can then refactor it as you come across it. But now you have to check if a second selector argument is passed to "on", to see if unnecessary event handlers are created.

<comment><USER3> This is also my biggest grip with the new .on(). I can't quickly look through code anymore since .on() can take on different meanings based on the arguments passed. When jQuery 1.7 was released I commented on this on the release notes page, I wasn't well received. It's refreshing to know that others feel the same way...

[http://blog.jquery.com/2011/11/03/jquery-1-7-released/#comme...](http://blog.jquery.com/2011/11/03/jquery-1-7-released/#comment-527599)

</comment></comment><comment><USER4> The more I use jQuery, the more of a mess I see that it is. Don't get me wrong, I'd rather use it than rolling my own cross browser solution, but it is not the library that Id choose first. I simply do not like the api choices, the lib works well, the api, as seen in this article, isn't too pretty.

<comment><USER5> Backward compatibility.

Millions (if not hundred of millions) of websites rely on jQuery, switching to a newer version that breaks old code will wreak havoc and make these sites unusable.

But this shouldn't stop jQuery from improving. If you have read the article from the beginning, you'll see how the jQuery team was improving the binding functionality. It has a cost, certainly. Maybe there should be a jQuery version with no legacy code.

<comment><USER6> Yep, the best advice for a newcomer is to just use `.on()` and familiarise yourself with that API. You can ignore the other event handler methods because they're all just shortcuts or legacy methods.

<comment><USER7> Exactly. It would simplify the documentation to simply deprecate everything but .on() but would that justify breaking all the existing code out there? Not to me. The old APIs need to stay around so that code continues to work.

<comment><USER8> Even if they excised the old methods from the code, hopefully no one is linking to jQuery trunk or something as their primary library. The old versions would still be around. Just some simple work might have to be done to update a web app to using the latest versions of jQuery.

</comment></comment></comment></comment></comment><comment><USER9> > _The method attaches the same event handler to every matched element in the > selection._

Why is that a con for .bind()? This used to be considered a performance _benefit_ compared to onclick.

<comment><USER10> I think you misread this. It does not bind the same instance of the handler to each element. Each element gets its own copy of this handler, hence the waste of memory.

<comment><USER11> What? No they don't, unless you're making the handler in a loop.

$( "div" ).click( function() {} );

Each div will have the same handler applied, it doesn't make a new one for every div.

<comment><USER12> You're confusing the callback with the actual event listener.

</comment></comment></comment></comment><comment><USER13> I experienced this dilemma first hand. Thank you very much for explaining it clearly.

</comment><comment><USER14> That html snippet at the top is quite strange - it's not legal to put an H3 or a P in an A.

<comment><USER15> It's legal in HTML5:

[http://dev.w3.org/html5/spec-author-view/the-a- element.html#...](http://dev.w3.org/html5/spec-author-view/the-a- element.html#the-a-element)

</comment></comment><comment><USER16> on a slightly less relevant note. is live() pronounced as live as in live wire or live as in die/live? we had a little debate going here on our office about this and we need closure dammit!

<comment><USER14> I'm pretty sure it's live like live wire. The event is alive.

<comment><USER17> On the other hand, the opposite of live() is die(). Odd.

<comment><USER14> Here you go: <http://www.mrspeaker.net/2009/11/12/how-to-pronounce-live/>

A definitive answer to this very important question.

</comment></comment></comment></comment><comment><USER18> I see "it's" used as the possessive pronoun so often and so deliberately by educated authors that the descriptive linguist in me is starting to think "its" has been deprecated. Still, the prescriptive linguist in me is repulsed.

</comment><comment><USER19> Don't forget to check out livequery.

<http://docs.jquery.com/Plugins/livequery>

"Live Query utilizes the power of jQuery selectors by binding events or firing callbacks for matched elements auto-magically, even after the page has been loaded and the DOM updated."

Oh so awesome.

<comment><USER20> Why? That plugin was created before jQuery had .live() (which has since been made useless by the better delegate/on).

The only reason you should use this plugin is if you're stuck with jQuery <1.3.

<comment><USER19> Perhaps I'm mistaken about this, especially since this article was my first time hearing about delegate, but I believe that live and delegate are only able to be used for existing DOM events like "click", etc., whereas livequery calls a function on occurrences like elements appearing in the DOM, for which there is no built-in way to watch with jQuery.

I usually use it to watch when elements appear and then bind handlers to them inside the callback. Kinda does away with the need for live.

<comment><USER20> That's exactly what live/delegate/on does. You can bind events to "future" DOM elements.

You don't need to watch for the elements though. You just delegate the event to an element/selector higher in the DOM tree and use event propagation/bubbling.

I suggest you read up on event delegation.

<comment><USER21> But can you detect when DOM elements are created? (Which is different than adding a click event to new DOM element.)

I was looking into this issue myself recently and ultimately (through advice on Stackoverflow) decided to just ignore jQuery and to use DOM mutation events. I'm still curious if there is a way to do this using jQuery, though.

While working on this I briefly considered livequery due to this StackOverflow post ([http://stackoverflow.com/questions/4818020/livequery- perform...](http://stackoverflow.com/questions/4818020/livequery- performance)), but soon realized that this only intercepts DOM changes made via jQuery, and won't work with code in the wild (which is what I need since it is for a Chrome extension.)

<comment><USER20> You can use the DOMNodeInserted event. Something like this:

document.addEventListener("DOMNodeInserted", function(event) { console.log($(event.target).parent()); });

That will log the element that gets inserted into the DOM.

<comment><USER21> That's roughly what I'm doing now (i.e. DOM mutation events). It just isn't using jQuery.

<comment><USER20> Is that a problem? You can use jQuery to wrap the event target like my example did. Or just do $(document).bind('DOMNOdeInserted', function () {}); Is that using jQuery enough? I suppose if you knew you were only using jQuery and wanted to modify the source, you could somehow hook into every function that modifies the DOM and go from there (which is what you just described with livequery).

Not really sure why your requirement is it needs to "use" jQuery though.

<comment><USER21> Not really; my code is working fine as is. I think the "problems" were 1) I was curious if there was a way to do it via jQuery instead of DOM mutation methods (looks like no) and 2) the documentation for these jQuery methods doesn't specifically mention that this case isn't covered and that the developer should look at DOM events, although that is just perhaps assumed to be default behavior when working with jQuery.

I'm writing to the people who maintain the jQuery documentation now...</comment></comment></comment></comment></comment></comment></comment></comment></comment>


Ask HN: Have you used a holding company, trust, or LLP to manage investments? - <AUTHOR> Have you, as part of a start-up exit, or for some other reason - had to use a holding company, trust, LLP or other legal structure to hold/manage an investment? Was it expensive? How do you manage it month to month and year to year? <comment><USER2> i do, i think everyone should. its as expensive as you want to make it... can be as low as a few hundred dollars, on up to hundreds of thousands to operate. mine is very low maintenance, maybe 20 hours a year max and adds a bit of complexity to the IRS filing each spring, but well worth it.</comment>


Cryptographic coin flipping, now in Keybase - <AUTHOR> https://keybase.io/blog/cryptographic-coin-flipping <comment><USER3> I'd be curious if people on HN would want a zero knowledge survey and voting system inside Keybase, and if so, what would it look like?

The background: we talk about it sometimes as a solution to a real problem: in certain teams and workplaces, people can be afraid to give honest feedback (who dares to submit an "anonymous" survey to HR?), but Keybase may be in a unique position to let people in a group give written feedback, vote on something important, or rate an experience. Without any risk of exposing identity, short of writing something identifiable in a text field.

I'd be curious, personally, to see management get a yearly vote of [no] confidence, for example. Is that crazy?

Keep in mind we are mostly focused right now on user experience and performance improvements. But we allocate a certain amount of time to cryptographic features that just aren't possible in other software, such as this coin flip thing. We've been talking about voting and surveys, too.

<comment><USER4> I worry this ends up being a technical solution to what is ultimately a social problem. If the problem is that people feel threatened submitted feedback at their workplace, the issue is the structure of the workplace.

<comment><USER5> Yes, but it's possible for these structural problems to be invisible to the people who could change them, precisely because of the structure that's setup. There are definitely cases where the structure is there on purpose to create this sort of environment...and this won't do anything to fix those. But there are also cases where people are afraid to give honest feedback, but if they were able to do so in an anonymous way, management would either be pressured to, or would want to make a change.

</comment></comment></comment><comment><USER6> Has Keybase lost it's way? I thought they were onto something cool and maybe could explore an enterprise play with private chats, filesharing and git for teams or something like that. Basically make money by selling to teams. But Keybase seems to have stagnated, existing apps are still quite buggy, not enough new developments recently. The facepalm moment for me was when they announced they were supported by the Stellar foundation. I lost all hope then and there. I get that you guys are buddies with the Stellar folk, you think Stellar is cool etc but an objective analysis leads to only one answer : don't do it you'll regret. Maybe add it as a feature (stellar integration) but don't go all in. Speaking of Stellar, still no integration after 1 year?? Focus on what you have and start making money. So, what went wrong malgorithms?

(Sorry if this sounds harsh or rude, there's no point in sugar coating the truth. Hopefully the keybase teams reads this criticism and does a little soul searching.)

<comment><USER7> In a sense keybase is one of the most important projects built right now (that I can think of).

It covers aspects (think pareto principle) of email, linkedin, slack, github, dropbox, whatsapp, online banking and probably more core use cases that I don't have on top of my mind.

That is now, today. With a decent user experience that keeps getting better (see recent improvements @ user profiles).

=> all of that end-to-end encrypted and delivered in a way that it is accessible and usable and fun with a long-tail of users in mind.

[I have no idea what an equivalent would be right now, not even as combination of multiple separate projects. Think about that.]

<comment><USER8> > It covers aspects (think pareto principle) of email, linkedin, slack, > github, dropbox, whatsapp, online banking and probably more core use cases > that I don't have on top of my mind.

Soooo... A centralized solution for everything? ;)

<comment><USER9> Exactly... unless the work is open source, they are just another centralized solution. Reminds me of Telegram.

<comment><USER10> I thought Keybase was open source? Released under the New BSD (3 Clause) License?

<comment><USER11> The clients are. The platform they all run on top of is centralized, made up its own irresponsibly insecure key handling and crypto protocols, and is proprietary.

<comment><USER12> They didn't make any of their own security, they use very well established open-source security libraries for everything. Stop spreading FUD.

<comment><USER11> I have researched their approach in great detail and found design flaws in it like: [https://github.com/keybase/keybase- issues/issues/1946](https://github.com/keybase/keybase-issues/issues/1946)

A lot of trust is rooted in their centralized proprietary walled garden API and to make matters worse they actually silently bypass hardware security modules in favor of keys exposed to system memory!

They even encourage users to expose their PGP private keys to their browser and didn't even bother to isolate it to a service worker so browser plugins can't steal it (or just supporting hardware tokens which GPG already did just fine)

Almost everything they do is non standard, not interoperable with anything else, not distributed to keyservers. They are the internet explorer of cryptography.

They did this in the name of UX but it turns out you can have super easy PGP UX AND follow standards as OpenKeychain has demonstrated.

Keybase introduced lock-in and their own protocols for problems that did not at all need them. They are 2 steps forward on UX and one huge backwards step for security.

<comment><USER12> You have been on this crusade for a long time now and you have posted this link often, I just realized that keybase is not just a GPG replacement and that using it with my smart card is not a good fit and not the problem they want to solve. So I just accepted that and actually tried to figure out what keybase is actually doing and why rather then demanding they do what I initially wanted from it.

They have been focusing on a per-device key system and its not really a gpg front-end. NaCl is a well known library and what they do is based on it. Saltpack is an open library they use and they use other open libraries as well. I happen to like the how the keybase security system works and I think it has advantages over the GPG that I like.

If you don't want to use the evil centralized system at least spamming the same issue every-time Keybase comes up. If Keybase is not the solution you like then just move on with your life.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I use Keybase daily and really like it, but of course the more I use it the more I fear it'll go away. Are they actually making any money off it yet, or will they eventually run out and fail to switch over to paid accounts in time before the company evaporates?

</comment><comment><USER14> Is this a problem with commitment schemes?

I want a heads to come up. I add a couple of hacked members to the group, so there are 3 honest members, and lets say 3 coordinated dishonest members.

Everyone shares their commitment hash, and the dishonest members share their actual commitments amongst themselves. Once everyone has the commitment hashes, the 3 honest members broadcast their commitment. The three dishonest members now have everyone's commitments, but honest members only have other honest member commitments. Dishonest members compute the ultimate value - <USER2> it turns up heads, then they just share their commitments with everyone, and the final answer is heads.

If it turns up tails, then the dishonest members compute possible permutations of various dishonest members dropping out and never sending their commitments. So maybe if dishonest member 1 drops out, the resultant value from just the group of 5 would be heads. So dishonest member 2 and 3 share their commitments and dishonest member 1 goes offline.

So, this system will work when it is composed of only people you trust, but will not work when it may be composed of people you don't trust. And if you trust everyone in it, why go through this process in the first place? And if you decide that when someone drops out and doesn't share their commitment, you just have to rerun the algorithm, then you have just given a very easy way to give the dishonest people a way to spike your coin flipper, so that no one can ever get a value out of it, or the dishonest members can just keep dropping out until they encounter a round where the final value is determined to be heads.

<comment><USER15> 1\. All members generate a random value (high entropy).

2\. All members submit a hashed value of that random value (the commitment).

3\. All commitments are distributed to all members. At this point, no more commitments may be submitted.

4\. All members reveal their random values to each other and validate each value against its hash.

5\. All values are then used to deterministically calculate the coin flip.

A dishonest member will not receive any values used in the coin flip calculation before step 4. If a member decides to change their random value, the hashed value / commitment will be invalid.

<comment><USER14> Sorry, I think I may have used the wrong terminology in my post above. I was referring to the random value as the 'commitment' and the hash of that as the 'commitment hash'.

But what I proposed doesn't require anyone to change their random value. It relies on the fact that step #4 does not happen instantaneously, and honest clients will send their random values as soon as they transition into step #4.

So from my above example, the process reaches step #4 as normal - all honest clients send out their random values, and all dishonest clients wait. Once the dishonest clients have all of the honest random values, they can now determine what the result for #5 will be(because they know all other dishonest client random values because they are colluding, along with all honest client random values), whereas the honest clients cannot do so, because they don't know the random values from the dishonest clients.

So at that point(half way through step #4), dishonest clients can then determine if they want that value to be the end result, or if some of them should drop out(never broadcast their random value), in order to modify what everyone determines to be the final value from step #5.

<comment><USER15> I have implemented an extremely similar protocol for a side project game.

In my implementation, step 4 happens in two phases:

4a. All members submit their secret values to the server.

4b. Once all secret values are submitted, they are all sent to each member at once.

This ensures that members cannot determine the outcome before anyone else.

What you are describing could actually be an issue if there is no server involved, however something like commitment encryption (rather than hashing) utilizing secret sharing could help resolve this issue in a p2p environment.

Another option would be that all possible outcomes are randomly shuffled with their positions encrypted and distributed to all members prior to the game beginning.

My protocol implements the latter... all possible outcomes are encrypted and publicly available on IPFS to members before and after the game.

</comment></comment></comment></comment><comment><USER16> >> Who invented commitment schemes?

> ~My wife~ Not sure.

Seriously? You work professionally in the crypto space and don't know where this is from? Or don't feel it's important to attribute such fundamental ideas to the appropriate people? If you really don't know, a quick google would have educated you. But what I fear to be more likely is that you apparently just don't give a damn.

For anybody remotely interested, look up Manuel Blum's work, e.g. "Coin flipping by telephone" presented at CRYPTO 1981. ACM Turing Award.

Or Rivest, Shamir, Adleman, "Mental Poker". Oh, those guys also got the ACM Turing Award.

<comment><USER17> I think you're unfairly punishing him for not knowing; it's a bit tough to find. I'll give you that the joke -- pinning it on his wife -- is unfunny.

None of the folks you mentioned, I believe, invented commitment schemes. Whit Diffie has a good history here: [https://ee.stanford.edu/~hellman/publications/24.pdf](https://ee.stanford.edu/~hellman/publications/24.pdf). So these innovations would have been ~1 academic generation prior.

Of course, the GCHQ probably invented them even earlier ;)

<comment><USER16> Hm, I'd consider Whit and Martin to be the same generation as Blum and the RSA gang. :) I'd say Goldreich, Goldwasser, Micali and friends are the "next generation", if you really want to distinguish generations, no?

I didn't actually find the joke too unfunny, but not acknowledging the giants on whose shoulders his little business stands is a pretty inexcusable faux- pas.

<comment><USER17> Yeah, I think it's basically splitting hairs.

My understanding of the chronology is that Whit was a bit earlier than Ron to the party, and Whit's seminal work is what inspired Ron and gang to work out RSA.

Hence I put Whit 1 'academic generation' prior because Ron's work was directly inspired by Whit's work. This is slightly different than what I'd label pure contemporary work (I don't think Ron was doing much cryptographic work before Whit's seminal papers).

Could be wrong, and again, splitting hairs.

</comment></comment></comment></comment><comment><USER18> This may not be the intended use of your application, but I organize a local bdsm group (if unfamiliar, do not Google this at work), and we appreciate the security offered very much.

We can even think of a few "fun" uses of this new feature.

<comment><USER19> Speaking of NSFW stuff in Keybase…

Since the end of January 2019 I've started to notice more and more profiles with suggestive pictures of underage humans and anime characters. I almost never log into my Keybase account, but frequently check my profile to see _"friend"_ recommendations, then I log in and follow people who I think are interesting, mostly tech influencers. But since January-February I randomly get recommendations that include one of these NSFW accounts, which is quite unsettling because other people may think my account is somehow involved with them. One day I clicked around and found that many of these accounts follow each other in a circle that composes around 20-30 profiles. Knowing that Keybase offers encryption as one of its main features, I wouldn't be surprised if pedophiles are already using the service to share offensive content among them.

Edit: I reported 42 accounts a few weeks ago, but not knowing what these profiles were doing, I just asked them to check. The Privacy Team at Keybase started an investigation the day after. Today, none of these accounts exist anymore, I'm not sure if that was really a pedophile network or not, but I'm glad Keybase did something about it.

<comment><USER20> Yep, this is the latest incarnation of the evergreen philosophical problem regarding technology: capabilities can be used for good or evil, depending on the designs of the empowered. One of the main arguments that governments use these days (such as the FBI re: smartphone security/crypto) against allowing "common man" to use crypto is that criminals can use it for sex slavery and other crimes. This is a good argument since the vast majority of us find sex slavery and child porn abhorrent, as well as terrorism, etc. We are likely to give up our own rights and capabilities in the name of stopping such a grotesque practice and to protect others.

That said, I'm getting to a place personally where I think we will have no choice but to either accept the absence of privacy/security, or accept that bad people will be empowered for evil just like we are empowered for good. I hope I'm wrong tho, and we can figure out a way to prevent evil use while permitting (and encouraging) righteous use.

Note: I use the words evil and righteous for illustrative purposes, not for religious reference.

<comment><USER21> I love how the answer to the problem isn't solving the problem. It's to strip everyone of their privacy, instead.

</comment></comment></comment></comment><comment><USER22> There's a slight variation on this that I had pondered for designing a distributed election algorithm. I'm sure the idea is not novel, but it would be nice to know what work has been done on it.

The goal is to fairly select some candidate from a set of candidates. Each candidate `Ci` generates a UUID `Ui`. The hash of their UUID `hash(Ui)` is published by each candidate. Once all hashes have been collected, each candidate reveals the verifiable original UUID to all the others.

Each candidate then concatenates these UUIDs together (after normalizing the sequence in some way - e.g. sorting), and produce a selector code: `H = hash(U1 ++ U2 ++ ... ++ Uk)`. Finally, the selected candidate is simply the one whose UUID is the closest to `H` under some distance metric.

I tinkered a bit with adapting it for situations where the candidate set could shrink during the selection process (i.e. a candidate drops out), but didn't really pursue it much.

<comment><USER23> This is generally referred to as a RANDAO in cryptoeconomics. The problem is that a candidate can decide not to reveal their preimage `Ui` and affect the outcome of the RANDAO in that way.

[https://github.com/randao/randao](https://github.com/randao/randao)

<comment><USER22> Interesting! Thanks for the reference. I'm not sure how not revealing the pre- image would allow them to affect the result with any degree of predictability - it is equivalent to them selecting a different uuid, is it not?

I'll try to read up and see if I can answer that question.

<comment><USER24> Say that all the other participants have revealed their pre-images, and you're the last one left you reveal your pre-image. Before you reveal it, you realize you alone have all the pre-images and can calculate the result. You calculate it, and realize you don't like the result. You could then decide to throw away your pre-image to force a new roll. If necessary, claim your computer crashed, your connection dropped, etc.

<comment><USER25> Couldn't this be solved (or the risk of manipulation largely mitigated) using a trusted third party to witness, and perhaps hold, each candidates pre-image generation?

<comment><USER24> If you have the trusted party reveal all of the pre-images, then you're just passing off the ability to decide not to reveal the pre-images to them. You could layer on the ability for all of the parties to reveal their pre-images if the third party fails to reveal them, though now you have the complication that the parties could reveal different pre-images than they gave to the third party. (Maybe one of the parties could realize the third party would defect because of a certain result that party doesn't want either, so that party could change their pre-image to avoid that result.)

The third party isn't any different than the main parties in the mix. If everyone can decide who the most trustworthy party in the mix is, you can have them reveal last.

</comment></comment></comment></comment></comment></comment><comment><USER26> I like the UI, but I find the blog post example - flip a coin to see who will donate a kidney - a little distasteful.

</comment><comment><USER27> I don't really understand why they use HMAC-SHA256. Why do many schemes decide to do this needlessly when they can use SHA3 or Blake2b?

<comment><USER28> You can't use a straight hash in applications where the plaintext might be guessable. In the example given, you might try hashing "heads" and "tails" to see if that matches the SHA you were given. The random padding on an HMAC replaces the bit about lasagna in the example.

<comment><USER27> The plaintext isn't guessable, though. The post says they use a 32-byte random string.

<comment><USER29> Agreed we could have used either of those. We needed a PRF keyed by the Game ID (so the revealed secrets of this game can't be replayed in the next). Blake2b and SHA3 would also have worked fine.

</comment></comment></comment></comment><comment><USER7> this is brilliant AND super useful.

also love the details like "flip again"

<comment><USER3> Author here, thank you for the comment. "flip again" was added at the last minute, after a night at a bar...where some beta testers were making real- world decisions using the app.

I didn't cover some details I find fascinating but which might have been overkill outside of HackerNews. For example, some assume the "one-way"ness of a hash function makes this protocol work. But that's not enough: we can't have Alice generating 2 different secrets with the same hash, even if Barb can't reverse the hash. What we also need is _collision resistance_, so Alice doesn't get to pick and choose what to expose in the final stage.

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

Lately, we've made much bigger, but less blogworthy, improvements to Keybase. It's faster, team on-boarding is getting better, and we'll be launching a very improved UX in the next month or so. I rarely get to stop and write about Keybase, so this was fun.

And for anyone looking to test, I'm `chris` on keybase. You can start a chat with me and do a `/flip cards 5 chris,yourname` and we'll see who gets a better poker hand. If you can deal yourself a flush or better on your first try I'll give a prize or something? Who knows. Anyway, we're having fun with it.

</comment></comment><comment><USER30> It seems like a VRF might be a more natural choice than a commitment scheme for verifiable randomness, since it doesn't require any honesty assumption for participants, and Keybase already manages keys (though maybe it would be a problem if participants could change keys midway through the ceremony).

</comment><comment><USER31> @malgorithms - Could you consider buying or integrating Cryptpad? [1]

It would give you an office suite play very very quickly - I can only see it as a winner.

[1] [https://github.com/xwiki-labs/cryptpad](https://github.com/xwiki- labs/cryptpad)

</comment><comment><USER32> I've thought about trustless lotteries quite a bit, and haven't really came up with a solution that works without using head-to-head brackets.

 _> A bad actor can't change the outcome of a flip but could prevent it from resolving._

The post glosses over this but it can get pretty bad. E.g. 99 actors have revealed their seeds and then the 100th decides whether to reveal or not, based on whether they or their confederates will be the winner after that final reveal.

</comment><comment><USER33> I see a flaw with that prng scheme. Since AES is reversible, the 128-bit blocks that make up the output cannot repeat. The output is a permutation of distinct 128-bit blocks. Early in the sequence that only matters a tiny bit, but the longer it goes, the more that tells you about possible upcoming values.

<comment><USER29> Seems like it's safe for 2^(64) blocks. That should suffice.

[https://security.stackexchange.com/questions/27776/block- cha...](https://security.stackexchange.com/questions/27776/block-chaining- modes-to-avoid/27780#27780)

</comment></comment><comment><USER34> @malgorithms, what are the colored bars from each participant? Is it a colored representation of the hashes?

<comment><USER3> Yes! Each horizontal row in the rectangles represents a participating device. The purple/blue rectangle that comes in first represents all the bytes of the commitments coming in. Since we constrain the size of the rectangle it makes (IMO) a cool visual effect as the rows squeeze to accommodate more data.

Each little square inside it represents a byte, so we map bytes (0..255) to colors ranging from a blue to a purple.

The matching secret is also 32 bytes, and of course those come in in random order, so we line up secret rows with the matching commitments. It sure is fun to watch.

We played with some different visualizetions. We actually had one version with a 3d sphere getting covered in data, but it felt too gimmicky. This gives a good feeling of people showing up.

<comment><USER35> I really liked the animation! Could you share the other visualizations you were considering somewhere?

</comment></comment></comment><comment><USER36> I got lost on the line "If the final answer is odd, the flip is TAILS." For example: Alice flips 1 for tails. Barb/Charlie/Danika flip 0. Why is the answer tails when most of the people flipped 0 for heads? Why use XOR instead of just taking the most common answer?

<comment><USER3> Perhaps an even simpler analogy is a light switch. Each person decides randomly either to flip the light switch or leave it where it is. This is basically what random XOR'ing is.

If you're one of 10 people doing this to the light switch, then as long as you choose randomly, it doesn't matter what the other 9 people do. It has a 50% chance of ending up on and a 50% chance of ending up off. Even if the other 9 people are cheating together.

Of course this has the problem that whoever goes last wins, which is why the commitment ceremony is necessary.

</comment></comment><comment><USER37> Seems like overkill. Just declare your guesses and use a third party to generate coin flip/dice roll. In fact this functionality is built-in in a number of chat clients.

</comment><comment><USER38> How is this different from provably fair? [https://dicesites.com/provably- fair](https://dicesites.com/provably-fair)

</comment><comment><USER39> > The Keybase app can deal M cards into N labeled hands. I don't know what you > would do with that, but enjoy.

Is he being coy here? I mean - poker, right?

</comment><comment><USER11> I'll add my usual reminder here that keybase is a proprietary walled garden that made up its own crypto standards and protocols on many levels leading to dangerous design flaws like this one: [https://github.com/keybase/keybase- issues/issues/1946](https://github.com/keybase/keybase-issues/issues/1946)

<comment><USER11> Also to cut off the usual arguments: no you don't need to be closed source or violate standards to provide secure yet user friendly crypto tools. See: OpenKeychain

</comment></comment><comment><USER40> How does this address the last revealer problem?

<comment><USER41> Assuming you mean the attack where one person can wait to be the last to reveal their secret and then influence the game by dropping out, it doesn't appear to.

> What if someone loses network before the secret stage?

> A bad actor can't change the outcome of a flip but could prevent it from > resolving.

> The Keybase app will highlight this scenario. Odds are it was just a network > issue, but if you have such a person disappearing often, you should break up > with them.

So someone with a malicious client could force the flip to not resolve until it creates an outcome they're satisfied with, which is... Not great. I can't tell if "The Keybase app will highlight this scenario" means it'll abort the roll or if it'll automatically reroll.

<comment><USER15> One way to solve this issue is to shuffle the possible outcomes and encrypt or hash their positions along with a nonce. This info would be distributed to clients during the game initialization. At reveal time, the server presents these outcome positions to the clients along with the other client secrets.

Also see my other comment in this thread where in a client/server architectured version of this protocol, the reveal step is split up in to two stages:

> 4a. All members submit their secret values to the server.

> 4b. Once all secret values are submitted, they are all sent to each member > at once.

> This ensures that members cannot determine the outcome before anyone else.

<comment><USER41> Makes sense to me!

Even requiring a deterministic reveal order (without a central, independent server) would reduce the chance an individual could force a reroll after knowing the outcome from 1/1 to 1/n, which would be significant. The 'central server' solution is probably more relevant for Keybase though.

</comment></comment></comment></comment><comment><USER42> echo -n</comment>


Class and Race: Two Sides, Same Coin - <AUTHOR> https://medium.com/neomugwump/class-and-race-two-sides-same-coin-b1450ce22392 <comment><USER2> I tend to agree with that synopsis. The positions of the factions are switching on race and class - impossible to believe a century ago. I don't know how it fits into my model or anybody else's model. There are factors like social sorting, a surplus of information processors - but how it all fits together? I'm open to ideas about these poles shifting.</comment>


Covid – Why Terminology Matters - <AUTHOR> https://drmalcolmkendrick.org/2020/09/04/covid-why-terminology-really-matters/ <comment><USER2> Now can we stop pretending that if you don't die from COVID you're a-ok? We have acquaintances that contracted the disease months ago, they did not die, but they are far, far from ok.</comment>


Release of FreeBSD 9.1 close - <AUTHOR> http://ftp.freebsd.org/pub/FreeBSD/releases/amd64/amd64/ISO-IMAGES/9.1/

<comment><USER3> Keep in mind these are not official until the announcement is released - <USER2> that time there is the possibility that the images will be replaced if a last- minute critical issue is found.</comment>


Show HN: Stand-Up/Meetings in VR for Remote Teams - <AUTHOR> https://portalspaces.com/ <comment><USER2> Your demo video completely undersells the potential here.

The hook for this product is an emotional one, a way to understand and better connect with remote colleagues, and removing miscommunication anxiety -- so where are they in the demo?

Apart from a brief glimpse of a meeting space, 80% of the time is spent messing around with an awkward whiteboard implementation. The video needs to show open collaboration with other humans in VR. I catch a quick glimpse of another disembodied head in the demo but that's all.

<comment><USER3> This. I want to see a meeting in progress. How would a stand-up be run using this? Show people :)

<comment><AUTHOR> Yes!!! Will do.

</comment></comment></comment><comment><AUTHOR> Hello Everyone! Just to give you some background I started Portal Spaces because one of the worst parts of WFH for me was always collaborating. No matter how good of an internet connection I had, Skype (that's what we used at MS ofc) would always lag. I also couldn't present and see people at the same time. I think the tech for this is really early but we want to focus on making it accessible, that's why we built for the Oculus Go. Thus, even including the hardware, we are able to price it similar to other video conferencing software. We strongly believe that once you can feel like you're in a room with someone else in VR, there will be nothing stopping you from becoming a remote worker. That'll allow for everyone to have a more flexible, enjoyable lifestyle.

Let us know what you think! We are really excited to be released, though we are in alpha, so we have lots of room for development and improvement!

<comment><USER4> If you can make this a tolerable experience on the Oculus Go, it should only get better from there. After using several VR setups (including the Go), I think it might just hit the baseline sweet spot of affordability, ease of use and performance-- with the latter obviously being the biggest concern.

You might want to consider throwing in a quick check on internet speed & latency at the user's location, and simply not allow them to connect if it's not up to a certain level (or gracefully degrade the experience to a lower- bandwidth, more latency-tolerant secondary UI).

<comment><AUTHOR> Will definitely consider this - and I totally agree. The Go isn't going to offer the "BEST" end-all be-all solution, but as time progresses we will get the experience of a Rift in a Go for the same price as a Go (the quest in 1-2 years). If we can get an acceptable experience on the Go, the sky is the limit as the tech progresses!

<comment><USER4> Determine the best stuff to compress without losing engagement and you've got it.

As others have said, faces probably matter a lot. It would be nice to have face tracking through a bluetooth device or something, but direction of gaze with the right manual options (say, 5 gradients from smiling to frowning and a few other emotes) might be enough to start.

</comment></comment></comment></comment><comment><USER5> Anecdotally one big reason why video calls are disliked is because of the clunkiness caused by connectivity and hardware related issues.

* Someone suddenly is not audible

* Someone doesn't realize they are audible, and starts speaking to someone else in person

* Glitches and breaks in the conversation due to words or parts of words becoming cut off

I imagine the VR equivalents may be comical or frightening.

The other "big" issue (anecdotally) is lack of visual cues to know when it's likely to be OK to start and stop talking

I'd bet big on anything that somehow managed to solve these problems.

<comment><USER6> It's really interesting that I have the same frustrations with video calls, however I also play VR videogames and video chat with "remote friends" very often, and almost NEVER have those issues.

I'm not sure if it's greater familiarity with the tools, or something else, but I can be on a 4 person group video call with my friends WHILE playing a VR game with them as well and everything runs smoothly and without lag for hours on end, but like 40% of video calls for past jobs have had dropouts, lag, difficulty hearing, and other issues.

One thing I think that really helps some of those issues is to get high quality headsets for everyone and make sure they know how to use it, but the lag I genuinely don't understand what makes it so common in work contexts.

<comment> jon-wood Good hardware is essential to make frequent video calling work well. We have a semi-distributed team, spread between two offices and a bunch of remote workers.

The biggest difference to making it work was for everyone to be issued a decent headset so that you're not battling people using Apple headphones which pick up everyone else in the room, and setting up meeting rooms with decent video conferencing hardware so that its possible to bring in groups from different places.

If I had my way we'd have taken the much simpler approach of declaring that for any meeting with one remote participant, everyone connects by video, but that's a battle I lost long ago with management!

<comment><USER6> >If I had my way we'd have taken the much simpler approach of declaring that for any meeting with one remote participant, everyone connects by video

I've tried that in the past, but sadly even good office networks often get pretty choppy when you have 4 or 5 people all video calling from the same connection independently.

The best solution I've found for that case is to invest in good video conference hardware for meeting rooms. Get a couple of area mics, and a big TV with a camera on it that can see the whole table.

</comment></comment></comment></comment><comment><USER7> Seems like an unfortunate name choice when used besides Facebook/Oculus hardware.

"Portal" is the name of Facebook's home video call device.

"Spaces" is the name of Facebook's VR chat & hangout platform.

<comment><AUTHOR> A bit unfortunate, yes, but we embrace our names meaning as a way to transport you to any space you'd like. We actually came up with the name before facebook released their portal platform, and weren't to excited when they released.

We also were using different hardware at the start, but as I'm sure you know, the market takes you wherever the best fit is, and now we are on the Go

<comment><USER8> I didn't think of either of those services FWIW. Name seems fine (if a bit bland) to me.

<comment><AUTHOR> good to know!

</comment></comment></comment></comment><comment><USER9> This seems sick, I think you can really change the way lectures or other massive talks are viewed! I'm looking forward to trying it out!

<comment><AUTHOR> Thanks!!

</comment></comment><comment><USER10> I as remote worker (with different work hour for each team member) doing asynchronous communication. We don't video conference, just leaving notes for other team member (email, Github issue, Slack, etc). But I think VR in the workplace is the future and you have something good to start. Very cool product anyway!

<comment><AUTHOR> Awesome thanks for the input, I think it would be an interesting problem "how to engage async workers in VR"

</comment></comment><comment><AUTHOR> Hello everyone!!! Thanks for showing so much support thus far for Portal Spaces. It means a lot to us. We just launched on product hunt! We encourage you to check it out [https://www.producthunt.com/posts/portal- spaces](https://www.producthunt.com/posts/portal-spaces)

Thanks!!

</comment><comment><USER11> Interesting play to include the hardware. I can tell you put alot of work into this, it's a shame that the demo video doesn't reflect that. Really need to redo that with some compelling use cases (actually talking, sharing a video, etc) instead of the MS Paint and 1 finger typing.

<comment><AUTHOR> Definitely will work on a better video to display the full potential. But who doesn't love MS Paint??

</comment></comment><comment><USER12> The space for remote work in VR is going to be HUUUUUUUGE. You're off to a great start! My advice is not only copy/paste what we have today, but think about how you can use VR's unique advantage to make remote collaboration even better than in-person collaboration.

The best of luck!

<comment><AUTHOR> Will do Shafyy I appreciate the comment!!!

</comment></comment><comment><USER13> I've been using Portal Spaces a couple weeks. The shared whiteboard excites me a lot. We've been able to cast Real Time Boards to it, to have focused conversations during our engineering retrospectives and planning meetings.

<comment><AUTHOR> thanks for the comment :)

</comment></comment><comment><USER14> Portlandia had a funny take on this:

[https://www.youtube.com/watch?v=6eGFeD0n6ao&t=20s](https://www.youtube.com/watch?v=6eGFeD0n6ao&t=20s)

<comment><AUTHOR> Hahaha I'll replace my demo video on the website with this, cool features

</comment></comment><comment><USER15> This would work even better in AR if everyone's facial expressions and other nonverbal cues could be included.

Also speech recognition or something should replace that pointer keyboard.

<comment><AUTHOR> Thanks for the insight! We are working on adding speech to text, and AR is a bit far away from being a reality. Avatars are getting more complex everyday, though. I encourage you to check out this article: [https://techcrunch.com/2018/05/02/facebook-photo- realistic-a...](https://techcrunch.com/2018/05/02/facebook-photo-realistic- avatars/)

<comment><USER15> Yes exactly the sort of thing I was wondering. Seems like you know what's possible now, soon, and later. Looking forward to hearing about or experiencing next achievements.

<comment><AUTHOR> Thank you! I'll keep the community updated for sure.

</comment></comment></comment></comment><comment><USER16> I think a more useful thing is simply asynchronous standup videos. There should ideally be little reason to have a standup live in real time, as most questions or collaboration should happen offline, not in the standup.

So virtualizing an already semi-broken part of scrum seems to address the symptoms not the problem but idk.

However this obviously pretty sweet. Amazing work. This appears to be fairly polished as well.

<comment><AUTHOR> Thank you!! I get the differing opinions on scrum but like I said earlier I think live meetings are important for team unity and collaboration beyond the pragmatic actionable tasks/pending questions.

</comment></comment><comment><USER17> I really appreciate any development / inroads that further improves remote working. I also used to HTC Vive. I think VR for meetings /standups is as disruptive to typical programmer 'flow' as a regular meeting, at least until your coding is also done in VR. So I applaud the development, but I frankly hope it won't widely adopted in this form.

<comment><AUTHOR> We appreciate your thoughts, but we really think stand-ups are essential to productive, effective team work. Solo coding doesn't get you far when you're only working on a tiny piece of a huge puzzle. You need effective communication to put everything together, we really think it's undervalued in the coding world - meetings get an undeserved bad rap.

</comment></comment><comment><USER18> If you must have stand up meetings, why not have them over e.g. chat or Slack or IRC or the like? That way you get a record of what's going on that people can refer to. What's the added value of being in a virtual "room"? For collaboration over documents just use Google Docs. Far more workable than shaky drawing on a virtual whiteboard.

<comment><AUTHOR> Hey! Thanks for the response. We've definitely heard this before but the research continues to show that when people work remotely their top complaints are collaboration and isolation. We are hoping we can hit both problems with our product but bringing people in a room where they feel like they are together.

It's not a fully optimized "pragmatic" approach, but humans are social creatures and it shows in productivity and happiness when they are working remotely.

[https://open.buffer.com/state-remote- work-2018/](https://open.buffer.com/state-remote-work-2018/)

<comment><USER18> It's great that you're not super gung-ho over the current approach, and still searching. While not convinced currently, I'll keep you guys on my radar in the future. I'm sure there is an application for VR/AR in this space, but I'm also sure it'll take some time and a lot of elbow grease to figure out what it is.

In the immediate future, I hope someone figures out a way to build a video conferencing solution which lets me "raise a virtual hand" when I'd like to speak, and for the person running the meeting to designate the current speaker. I think the current solutions all suck because there's no way to do it (so you have to talk over somebody else, fighting considerable audio lag), and I think VR would only exacerbate this because the experience is more visceral.

</comment></comment></comment><comment><USER19> Just a note on your video - I scrolled right past it without realizing the embedded video was there. I scrolled all the way down to the bottom of the page and thought "what...no video showing what this is?".

I suggest a little more contrast on the default video image, plus the "play" icon in the center could be more pronounced.

<comment><AUTHOR> Great suggestion - We will update this asap.

</comment></comment><comment><USER20> Didn't Facebook already make a similar feature for their Ocular series? Sorry, big fan of the idea, just wondering what makes your specific product novel.

But still, awesome work!

[https://www.youtube.com/watch?v=s2U9lXEnHns](https://www.youtube.com/watch?v=s2U9lXEnHns)

</comment><comment><USER21> I like the idea of a remote vr standup. But, as a manager of a remote team our main struggle right now is handling asynchronous communication and time zones difference. Any tool already helping on that?

<comment><AUTHOR> the meetings will have a transcript that is sent to the emails of the participants (a feature we are currently focused on). You could easily forward that transcript on to your remote employees who can't make it due to timezone issues!!

</comment></comment><comment><USER22> How many people can the platform support in one meeting? Would be very useful for >2 teams (instead of having multiple screens, could have just one environment with multiple people inside)

<comment><AUTHOR> Yeah totally this is a primary benefit of working in an environment that is akin reality. You can have around 20 people, we aim to have support for 50~ or more coming soon!

</comment></comment><comment><USER23> My team and I have been using the Go to hold meetings and other collaboration efforts. What does this product offer that I can't already get from the free apps?

<comment><AUTHOR> That depends on the software you're using! Our VR smart whiteboard offers a way to present and draw/save your notes. We are developing a transcript saving functionality, that saves everything you talk about into notes and emails it to you. We also will use that speech to text to allow you to use commands (hopefully replacing most of the usage of the keyboard).

That being said, we are a very young start up! We will continue to add to and advance our product in pursuit of creating optimal value for all of our users.

(Would love to hear more about what you like & dislike about your current work/meeting flow in the Go if you want to email email@example.com)

</comment></comment><comment><USER24> Looks like [https://www.dogheadsimulations.com](https://www.dogheadsimulations.com)

<comment><AUTHOR> Definitely one of our competitors. We think the market is open enough for multiple players in the VR collaboration space :) Hopefully we will drive each other to build better products, with better pricing. That being said, we think some features we are working on will be key differentiators.

</comment></comment><comment><USER25> Do you send the hardware or do we need our own headsets? How difficult is set up if I want this for my team?

<comment><AUTHOR> We provide you with everything you need. It's super simple to set up, just turn on the VR headset we send you, launch portal spaces and start inviting people to your VR space.

</comment></comment><comment><USER26> Any plans to include compatibility outside of Oculus Go?

<comment><AUTHOR> Unfortunately we currently don't have plans for that. We think compatibility is important, but are more focused on getting the product to a more stable state before we expand to other headsets!

</comment></comment><comment><USER27> I played with a demo of a similar system awhile back. It's weird to say this, but eye contact matters.

<comment><AUTHOR> I agree! Facebook avatars will soon have eyes and facial expressions that mimic your own.

</comment></comment><comment><USER28> Are you required to have a Facebook account?

<comment><AUTHOR> Nope! You can sign up with your email :)</comment></comment>


Kaggle Learn review: there is a deep learning track and it is worth your time - <AUTHOR> https://techandmortals.wordpress.com/2018/01/27/kaggle-learn-review-there-is-a-deep-learning-track-and-it-is-worth-your-time/ <comment><USER2> Since the "How Do I Learn AI/ML" question pops up on Hacker News once a month (most recent: [https://news.ycombinator.com/item?id=16138353](https://news.ycombinator.com/item?id=16138353)), here's my comments:

Yes, Al/ML MOOCs teach the corresponding tools well, and the creation of new tools like Keras make the field much more accessable. The obsolete gatekeeping by the AI/ML elites who say "you can't use AI/ML unless you have a PhD/5 years research experience" is one of the things I _really_ hate about the industry.

 _However_ , contrary to the thought pieces that tend to pop up, taking and passing a MOOC doesn't mean you'll be an expert in the field (and this applies for most MOOCs, honestly). They're very good for learning an overview of the technology, but _nothing_ beats appling the tools on a real-world, _noisy_ dataset, and solving the inevitable little problems that crop up during the process.

Reviewing the Keras documentation ([https://keras.io](https://keras.io)) and examples ([https://github.com/keras- team/keras/tree/master/examples](https://github.com/keras- team/keras/tree/master/examples)) are honestly much better teachers of AI/ML than any MOOC, in my opinion.

<comment><USER3> While I agree that PhD gate-keeping is frustrating, I've found a sizable subset of the people who say that really mean "we want you to have the mathematical foundation for this", not "we require a PhD". I don't have a PhD, but I've found that generally, as long as I can show I have the theory down, employers don't seem to mind.

<comment><USER2> The PhD reference in the comment is more toward other comments made on Hacker News/Reddit/Medium thought pieces.

For _job hunting_ , the credibility issue is more nuanced, and I wrote a separate rant about that a couple weeks ago: [https://twitter.com/minimaxir/status/951117788835278848](https://twitter.com/minimaxir/status/951117788835278848)

</comment></comment></comment><comment><USER4> I'm the lead on the Kaggle Learn project, and the author of the deep learning track.

I'm happy to answer questions here.

I agree with the commenter saying you need to do your own projects to understand these topics.

Our deep learning track is meant to be the fastest path to knowing enough to do your own projects. You can do the entire track, including the hands-on exercises, in a single sitting.

We won't make you an expert in an afternoon, but you'll know enough to start doing your own projects. For most people that's also the point where Deep Learning becomes fun enough that you'll find time to keep learning.

Kaggle Learn is still in a very early stage. We'll add more lessons soon. But we'll stay committed to the goal of getting you up-to-speed quickly, so you can take on your own projects.

</comment><comment><USER5> A very nice playbook style breakdown of steps to ease in to Machine Learning and eventually Deeplearning Of should I call it Differential Programming??? Keep it up and hope to see more of your writing. May I also add the very approachable book by Tariq Rashid [https://github.com/makeyourownneuralnetwork](https://github.com/makeyourownneuralnetwork).

Ananth

<comment><AUTHOR> Owing to my inexperience with the topic, I am not sure if the term 'differential programming' belongs here. However, this book looks promising. Thanks.

</comment></comment><comment><USER6> @akash - good article. Love to see some more in-depth stuff next time !

<comment><AUTHOR> Thanks and definitely.

</comment></comment><comment><USER7> Thank you ! I was thinking to put time into deep learning and it seems like this is a good way to start !</comment>


Lost Island of Ancient Greece Discovered in Aegean Sea - <AUTHOR> http://news.nationalgeographic.com/2015/11/151119-lost-island-aegean-kane-sparta-athens-archaeology/ <comment><USER2> These sort of things are awesome, but always make me lament the loss of the Library of Alexandria. How much more would we know about the world, and what could we be doing now if humanity still had access to that knowledge?

<comment><USER3> Well, what's gone is gone. Luckily, we have the technology today to ensure the survival and propagation of all of humanity's collective knowledge now. While it was a big loss, I don't think, in the long run, humanity has been set back permanently due to that event.

<comment><USER4> Genuine question: what technologies allow us to organize and store information in the event of a massive catastrophe (meteors/comet, volcanoes, etc)?

</comment></comment></comment><comment><USER5> > When the victorious Athenian generals returned home, the citizens voted to > execute them for failing to rescue these [stranded Athenian] soldiers.

Tough crowd.

<comment><USER6> Well, these "[stranded Athenian] soldiers" were relatives and friends of the crowd.

The crowd and the soldiers in the Athenian democracy were part of the same population of around a 30-50.000 people -- the Athenian citizens (although in some battles slaves also fought, including in this one, the crowd wound't be that tough on the generals if those were perished).

</comment></comment><comment><USER7> The title says they found a lost island, but what they really mean is, they found archeological remains under the ground of an already known island, right?

<comment><USER8> Yes and no. They believe the peninsula where they may have found the city of Kane used to be a separate island. They think there used to be a channel that filled in over time, converting the island into a peninsula.</comment></comment>


Arbitration Showdown Looms Between Congress, Supreme Court - <AUTHOR> http://www.law.com/jsp/article.jsp?id=1202462660962

<comment><USER2> what's unconscionability?

</comment><comment><USER3> Perz Vs. Mossy Toyota Superior Court of California - County of San Diego: Case Number: 37-2007-00066485-CU-BC-CTL

Previously rear ended and submerged non disclosed flood car bound by arbitration lasting into 4th year.

Arbitrators:

#1 Refused to hear the case.

#2 Dismissed for Bias.

#3 Record of 40-0 against consumers, Superior Court says that's cool and A-OK, refuses opinion and compel. (June 2010)

See the video and leave your comments: <http://www.youtube.com/watch?v=9sCUmXfy03c>

Read the story: <http://www.mossyscrewedme.com>

Join The Facebook group: <http://www.facebook.com/#!/group.php?gid=405196671351>

Please spread this story...Support the Arbitration Fairness Act HR:1020 and the need for a fair playing field between consumers and big business.

"Those who demands, requires and appoints the arbitrator most likely gets repeat business"...Sound fair?

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

Mossy Toyota sold me a previously rear ended and submerged flood car and refused to take it back. Demanded mandatory binding arbitration and has strung this out now into the 4th year.

Mossy had three options if they really cared about customer satisfaction:

1) Fix the vibration as promised (it would have never been discovered that it was a flood car and previously rear ended).

2) Exchange the vehicle for another at no added cost.

3) Refund the purchase as requested (without laughing in my face).

Mossy chose none of these instead ignoring the situation and refusing to do anything about it, hiding behind a clause.

After an auto investigator determined the car was once submerged and previously in a rear end collision I sought legal representation.

After Mossy Toyota was shared this discovery they still refused to do anything about it demanding arbitration.... Sticking it to the consumer hiding behind an arbitration clause that they most likely knew would get away with.

The Auto Industry should not be exempt from the Financial reform bill and the Arbitration Fairness Act HR:1020 should be passed.

\</comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment></comment><comment>----

Regardless of my outcome, I wish my personal story can bring change to laws that protect consumers from predatory business practices. Please share!</comment>


Shkreli wants out of jail to find coronavirus cure - <AUTHOR> https://www.latimes.com/business/story/2020-04-07/shkreli-coronavirus-treatment <comment><USER2> The coverage of this is quite unfair.

Shkreli was sentenced to 7 years of prison in 2018. So he should be able to get out of prison in 2025. From the headline, you'd imagine he wants to somehow not serve the remaining 5 years. In reality he's asking for a 3 month "furlough" [1]:

"I am asking for a brief furlough (3 months) to assist in research work on COVID-19"

I am not sure if "furlough" is even a legal term, but house arrest is a way to serve your sentence in the US [2].

Edit: I skimmed through the paper [1]. Here's my summary:

* paper not peer-reviewed

* what was done: someone was able to provide Shkreli an HPC cluster with 512 CPU's. Shkreli did a "big data" exercise to see which compounds are promising, based on some criteria, which are presumably quite standard in pharma research

* main result: the most promising drug is clofazimine glucuronide: "we found clofazimine glucuronide to be one of the highest-scoring compounds across both screens"

* big red flag: the tables included in the paper do not actually support this statement. The compound is the highest scoring for the first screen, but did not make it in the top 20 in the second.

* worse red flag: the whole test was done for effectiveness against another coronavirus, not against the novel one that causes Covid-19.

All in all, the quality of the paper is quite dubious.

Shkreli's ask to be "furloughed" doesn't seem too scandalous to me though. He's currently in a minimum security prison. House arrest is probably not that different.

[1] [https://prosperopharma.com/covid19.pdf](https://prosperopharma.com/covid19.pdf)

[2] [https://en.wikipedia.org/wiki/House_arrest#United_States](https://en.wikipedia.org/wiki/House_arrest#United_States)

</comment><comment><USER3> Shkreli wants to buy chloroquine stockpiles.

So he can raise the price 20,000%.</comment>


Chirp - It's like Square, only without the need for a square or a credit card. - <AUTHOR> http://sellsimp.ly/chirp

<comment><USER2> Ideas like this make me wonder "who had the need to pay somebody via Twitter?"

I honestly can't think of an instance where that would come up in my daily life. How is this simpler than regular credit cards and Square?

<comment><AUTHOR> Thanks for the feedback. Sincerely appreciate it. It's simpler for several reasons... 1\. You don't need a credit card. 2\. You don't need to be physically with the person or business you're paying. 4\. In a store setting there would be no more waiting in a checkout line to pay. 5\. Sending one Tweet is certainly simpler than pulling out a wallet, swiping a credit card, waiting for a response, then signing.

</comment></comment><comment><USER3> Now you just have to worry about someone picking up your phone while you're looking away and paying themselves.

Or applications that need access to post to your twitter stream, which is a more likely concern.

</comment><comment><USER4> I'd want to broadcast my payments ... why?</comment>


Millions of historic images posted to Flickr - <AUTHOR> http://www.bbc.com/news/technology-28976849

<comment><USER2> This is a very good initiative, but I would like to see the hole content of library books on internet, without the need to go into a library and search there. I know that there is google and wikipedia and.., but they are very poor content. Google books is a good thing but is copyrighted and not very friendly to use.

<comment><USER3> Project Gutenberg? [http://gutenberg.net.au/](http://gutenberg.net.au/) [https://gitenberg.github.io/](https://gitenberg.github.io/)</comment></comment>


Ask HN: Why do software engineers talk a lot more than required? - <AUTHOR> I am a software engineer myself have seen a recurring pattern. A lot of software engineers talk a lot more than required about a technical subject/work project with technical and non technical people. Also, over complicate things and are not to the point. I also think, this is my personal opinion that the smarter the engineer thinks he is, the more he will talk and will use a lot more words and ideas to explain a simple concept and is not really as bright as he thinks he is <comment><USER2> Because for engineering, the eye-glazing details make-or-break things.

To distill the information usefully requires getting into your audience's frame of mind.

Knowing what they intend to do with that information.

And knowing how much detail can be omitted without conveying misinformation.

I imagine science journalists face the same dilemma.

</comment><comment><USER3> Verbosity stemming from a natural desire for recognition is a modern social phenomenon not exclusive to programmers. Nothing we read, whether the New Yorker, Stack Overflow, medium.com, or reddit, needs to be as long as it is. I'd say verbosity is as much an existential threat as climate change.

</comment><comment><USER4> The engineers I know and work with tend to keep talking to a minimum. The smartest of them often forget to explain concepts to us mere mortals in their quest for short, simple information transfer.

I guess what I'm saying is that you can't generalize your very limited experience to all software engineers.

<comment><AUTHOR> True. I am trying to see if others have seen this behavior too. Could be i am not that smart and have mostly worked with other not so smart people

</comment></comment><comment><USER5> > as bright as he thinks he is

In your workplace are all software engineers men?

<comment><AUTHOR> well he or she or in-between! But yeah most software engineers at most places are Men.</comment></comment>


Why I love my Leica - <AUTHOR> http://www.theguardian.com/artanddesign/2014/aug/24/why-i-love-my-leica-john-naughton-photography-camera-technology-cartier-bresson

<comment><USER2> Is this the guardian experimenting with Native Advertisments?

[1][http://en.wikipedia.org/wiki/Native_advertising](http://en.wikipedia.org/wiki/Native_advertising)</comment>