Ask HN: Nifty Server Naming Conventions? - <AUTHOR>

I thought it would be neat for everyone to share their server naming conventions.  Usually people come up with funny and/or interesting methods of naming their various servers. <comment><USER2> For reference, two lengthy discussions/sharing sessions on the topic:

[http://serverfault.com/questions/45734/the-coolest-server- na...](http://serverfault.com/questions/45734/the-coolest-server-names)

[http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=s...](http://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=37593)

I use major road names myself (e.g. ventura, victory, sherman).

</comment><comment><USER3> Bridges from here: <http://bridgehunter.com/> \- Space Satellites from here: <http://www.jpl.nasa.gov/missions/>

</comment><comment><USER4> \- soft drinks (if you have paired servers or backups, one can be "diet".)

\- characters from a specific cartoon or kids show (we used Simpsons; Muppets is also popular)

\- local geographic landmarks (islands, lakes, mountains, etc.)

</comment><comment><USER5> We go with marvel comic book characters. We started with the normal ones, but somehow ended up with an important service named uatu. I like this naming convention because there are a lot of names to draw from.

</comment><comment><AUTHOR> I'll start off: Calvin and Hobbes.

We had to add a third...so it was named Locke.</comment>


Getting Closer to Real Time With Hadoop - <AUTHOR> http://gigaom.com/2009/09/20/getting-closer-to-real-time-with-hadoop/

<comment><USER2> I've been playing with Hadoop for the past couple months, and recently have been using it quite extensively. It's an amazing piece of software and I hope to start contributing to it.

If anyone wants to talk start-up ideas involving large data-processing, my e-mail is in my profile.

</comment><comment><USER3> Anyone have real world experience to share with HBase or Hypertable? Or Cassandra, for that matter. None of these projects strike me as "mature" software but I'd love to learn otherwise.

<comment><USER4> Yeah, they're all pretty early adopter, although worth it if you're feeling enough pain from data size and/or volume. A couple recent articles on Cassandra:

<http://news.ycombinator.com/item?id=813528> <http://news.ycombinator.com/item?id=813919>

(I work for Rackspace on the Cassandra project, and we are in the early stages of deploying Cassandra internally too.)

</comment></comment><comment><USER5> All today I have been obsessing over Map-Reduce on GPUs. Here is a link ([http://graphics.cs.ucdavis.edu/~lefohn/work/dissertation/lef...](http://graphics.cs.ucdavis.edu/~lefohn/work/dissertation/lefohnPhdDissertation_highRes.pdf)) to get things started. Still not sure if Java is a good front end to openCL. (Would appreciate thoughtful responses.)

<comment><USER6> This article isn't really about map-reduce, but anyway.

 _Map-Reduce on GPUs_

It depends whether your code is suited to GPUs. If you're map-reducing a bunch of single precision floating point data it may be a good idea.

 _Still not sure if Java is a good front end to OpenCL._

It doesn't matter IMO; you're still writing the code that does the actual work in OpenCL. Think of it like a different flavor of JNI.</comment></comment>


Cloud Sentiment Analysis – Vendor Overview (April 2018) - <AUTHOR> https://blog.inten.to/cloud-sentiment-analysis-vendor-overview-32d4bdaaf0c3 <comment><USER2> Interesting. I wonder if such big difference between prices mean same scale of difference in quality...

</comment><comment><USER3> It seems to be so inefficient market!..</comment>


How to rise early and why successful people do it - <AUTHOR> http://www.ericosiu.com/rising-early/ <comment><USER2> This is just silly. You get the same amount of hours in a day regardless of whether you wake up early or stay up late. Other than missing out on the sunrise, none of his arguments hold much water.

There's no reason you can't exercise in the evening. In fact, gyms are typically busiest between 4-7 pm so clearly a lot of people find time to exercise after work. And there's no reason you can't be just as productive at night as you can in the morning. To follow the same name dropping technique he uses, famous night owls include President Obama, Charles Darwin, Adolf Hitler, Winston Churchill, James Joyce, Marcel Proust, Keith Richards and Elvis Presley. And finally, you definitely don't need to get up at 5 in the morning to make a healthy breakfast smoothie that only takes 5-10 minutes to make. Just wake up 5-10 minutes earlier if you're really that pressed for time.

From my personal experience, being a night owl is easier on the body. Waking up early is great until you decide you want a social life that extends past your normal bedtime of 9 pm. Then your whole schedule gets out of whack and you struggle to make up for the sleep debt.

"Tis night: now only do all songs of the loving ones awake. And my soul also is the song of a loving one." \- Nietzsche

<comment><USER3> As Yakko Warner of the animaniacs put it "Early to rise and early to bed…Makes a man healthy, but socially dead"

<comment><USER2> I must be getting old. I had to look up Animaniacs.

<comment><USER3> This was an 80s cartoon.

</comment></comment></comment></comment><comment><USER4> I like the idea and I've done it successfully for a couple of months, but my conclusion is that you can't fight your tendencies. I simply got a lot more done by staying up late than by getting up early.

Also, I think its a little facetious to namedrop early risers without doing research into similarly successful/creative people who stay up late.

<comment><USER5> A common trait among type A early risers is that they assume that's the only way to be a productive member of polite society.

<comment><USER4> I have this experience too. In my experience Early Risers tend to be suspicious of night owls, but I think it might be a deeper issue of personalities. I found this link that says early risers tend to be conscientious where night owls are more of the creative types and it makes sense that two of those kinds of personalities might not necessarily get along well ... at least initially

Here's the link [http://www.forbes.com/pictures/lmj45hjhj/more- optimistic/](http://www.forbes.com/pictures/lmj45hjhj/more-optimistic/) (forgive me for not providing something more substantial)

<comment><USER6> The Morning Fascists rule the world, however. While we're sleeping, they are out there making noise and rules for everybody else. I was told that as I got older, I would prefer rising early. Now that I've reached that age, I can say that, no, I don't prefer rising early. I get much more done at night.

</comment></comment></comment></comment><comment><USER7> Step 2: never have those 'fire drills' at work so you can leave at 5 every day, all the time, so you can get to bed at a decent hour and still get your 6-9 hours of sleep.

It feels like every time I come in early to work, and yeah, my morning is more productive, something happens and the world goes crazy that afternoon, forcing me to stay until 7 or 8 or 9pm, because things went bad and it has to be fixed right now.

I may be a bit jaded.

</comment><comment><USER8> I love seeing the sky go from dark to light. Nice way to end a night of productivity.

</comment><comment><USER9> It's quite likely that Ben Franklin had a mutated gene that caused familial advanced sleep-phase syndrome, and it's silly to try to shoehorn yourself into a sleeping pattern that isn't right for you. Early risers seem to have a genetic predisposition, just as do those few people who need less sleep than most[1]. Chances are if you try to force yourself to be an early riser you're likely to end up more tired, less productive, and more prone to mistakes for absolutely no benefit other than a sunrise. (On a side note you don't need to be an early riser to see the sunrise. I see the sun rise every day and it's my cue to go to sleep.)

The rest of this article isn't worth refuting because the arguments are so obviously flawed or subjective.

Also, just because Franklin said something doesn't make it correct.

[1] [http://news.sciencemag.org/sciencenow/2009/08/13-02.html](http://news.sciencemag.org/sciencenow/2009/08/13-02.html)

</comment><comment><USER10> If you're getting up at 5 and getting 8-9 hours of sleep a night it means being asleep by 8-9 pm (i.e. going to bed a bit earlier than that). That's just not very realistic in a lot of households, unless you can convince everyone to do it.

</comment><comment><USER11> I've always been a "morning person."

From my childhood days of waking up before the sun in order to check the surf conditions from our living room window, to military service, to my present tendencies towards waking up at 4 am in order to be more in sync with my online counterparts, I've always enjoyed waking up early.

I don't have any secrets as to how I maintain my early-bird ways, other than "you just have to want it."

<comment><USER12> I was in the military and I couldn't stand getting up early. At one point, I was consuming close to a dozen cups of coffee (including the NoDoze) per day to stay awake and try to be productive, in my 20's. It didn't work well and I have stomach problems as a result.

My peak is 2:30 PM to midnight. On days when my company lets me work from home, that works out great. So a couple days a week I get stuff done, the other three days I'm drinking 4 cups of coffee to deal with getting in at a reasonable hour (fortunately they aren't too bad about this) and to deal with morning and afternoon traffic.

<comment><USER11> I have never been a coffee drinker, nor a tobacco smoker. I do, however, drink caffeine laden soft drinks, but I tend to not drink caffeinated beverages after sundown.

I often work on projects for 36, or more, hours at a time, but I do see a reduction in productivity when pushing myself to the limits, and often wonder at the things I've done while sleep deprived, in pride as well as shame.

There's a saying about habits which goes something like the following:

        If you want to make something a habit make sure to repeat that act every day for two weeks, after which the act will become habitual.

</comment></comment></comment><comment><USER13> I don't draw the curtains so the morning light wakes me up. Unfortunately I live in a place that does not have daylight savings (Queensland, Australia), so the times differ. But I can work around that.

</comment><comment><USER14> How is it better than sleeping late at night? The atmosphere is serene, you don't get disturbed, and the sky doesn't turn lighter... which to me is an indication that chaos is going to begin now.

</comment><comment><USER15> My own experience agrees. Making the switch to waking up really early increased my productivity and mood significantly. I found that melatonin pills (in the short term) and the Sleep Cycle app (despite the iffy science behind it) worked very well in adjusting and maintaining my sleep schedule. Additionally, I programmed the AC to kick in about 30 minutes before I wake up so it gets cold and hard for me to stay sleeping.

It also helps to have alarm clocks strategically placed in places hard to reach while your eyes are closed.

<comment><USER16> That all sounds extremely unnatural, and uncomfortable. What's I'd be far more interested in is how to naturally change the sleep cycle to be "early to bed, early to rise", and waking naturally rested, rather than the more typical "stay up 'till dawn, sleep 'till lunchtime" routine, with enforced scattered alarms to get up earlier, with resulting sleep deprivation.

<comment><USER15> I should have been more clear - those more extreme measures were only to deal with the initial change in sleep cycle from going to bed at 4 am to going to bed at 9-10 pm. It took me about a week to adjust and wasn't all that bad. Otherwise you can try shifting an 45 minutes a day (which seems to be the ideal time) until you're at where you want to be.

Now I just use Sleep Cycle.

</comment></comment></comment><comment><USER17> > _Rising Early: Why Successful People Do It & How You Can Too_

Define "successful". Made lots of money? Happy? With a quality creative output?

And why should I care that some -- surely not all -- successful people do it? Correlation does not imply causation, and I've known many succesful people in all of the above categories to know that there's hardly correlation either.

Perhaps some business and self-improvement junkies wake up at 5 or even 4, but I'd hardly call those successful.</comment>


Stephen Hawking accused of hypocrisy over Israel conference boycott - <AUTHOR> http://www.guardian.co.uk/science/2013/may/08/stephen-hawking-hypocrisy-israel-boycott

<comment><USER2> So Nitsana Darshan-Leitner of Shurat HaDin basically tells Stephen Hawking that he either supports Israel or turn off his computer-based communications system.

In other words: If you support Israel then talk. If you boycott Israel then shut up.

Who's the hypocrite?</comment>


Systemd-manager: A systemd service manager written in Rust with GTK-rs wrapper - <AUTHOR> https://github.com/mmstick/systemd-manager <comment><AUTHOR> Reddit thread with more details by the author: [https://www.reddit.com/r/linux/comments/4jnuzk/gtk3based_sys...](https://www.reddit.com/r/linux/comments/4jnuzk/gtk3based_systemd_manager_written_in_rust/)</comment>


Leaked video shows new 'nightmare-inducing' wheeled robot from Boston Dynamics - <AUTHOR> http://www.theverge.com/circuitbreaker/2017/2/1/14468126/boston-dynamics-new-wheeled-robot-handle <comment><USER2> It would be great if it could lock the wheels for walking and climbing on uneven terrain

<comment><USER3> I don't think it has the 2nd pair of legs/arms just for balance!</comment></comment>


Comet Server, based on XMPP streams - <AUTHOR> http://github.com/superfeedr/compp

<comment><USER2> Very cool. Love what you guys are doing at Superfeedr. Keep up the great work! Hopefully we can meet at the RT CrunchUp next week.

j

<comment><AUTHOR> Definetely, we'll be there! With a bunch of stickers we can't keep :)

</comment></comment><comment><USER3> That's an interesting idea. I wonder how it scales though.</comment>


How to Be a Programmer: A Short, Comprehensive, and Personal Summary (2002) - <AUTHOR> http://samizdat.mines.edu/howto/HowToBeAProgrammer.html <comment><USER2> It's a bit soon to repost this, I think.

Exact dupe, just 3 months ago:

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

A year ago:

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

Two years ago:

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

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

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

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

Three:

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

Four:

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

Five:

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

Six:

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

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

Eight:

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

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

</comment><comment><USER3> Half expected it to just be a blank page except for the word "DON'T"

<comment><USER4> That's what I would have done.

</comment></comment><comment><USER5> For those that prefer the PDF since instapaper only grabs the first chapter: [http://samizdat.mines.edu/howto/HowToBeAProgrammer.pdf](http://samizdat.mines.edu/howto/HowToBeAProgrammer.pdf)

</comment><comment><USER6> Chapter�1.�Introduction

The article not only has as an encoding problem but also software development has changed drastically since 2003.</comment>


Meanpath - Search the page source, server headers and visible text on 150m sites - <AUTHOR> https://meanpath.com

<comment><USER2> I've heard from their engineers that Haskell has been their secret to being web scale while having a sane ops and engineering load. :-)

Considering I'm doing my own Haskell based tech in my business (and I'm somewhat actively in the core community), It pleases me greatly to see Haskell/ghc used in a rich array of interesting businesses!

<comment><USER3> My favourite bits of the project;

Elasticsearch

ZMQ

Golang & Haskell

Unbound DNS

And a bit of old Python glue to hold everything together.

It's funny how long things can last when you think you would have outgrown them pretty quickly. A tiny round robin domain server that maxes out at around 60k domains per second on just a single core to distributed spider bots though is just about easy with Python + ZMQ. Plenty to keep a swarm of far more complex and well engineered Haskell crawlers humming away and throwing the results to Golang indexers to push into the Elasticsearch core for ...

Well, I'll leave the rest of it to mwotton's blog post, suffice to say it's been one of those life changingly awesome projects of doom. I'm sold on the benefits of embracing polyglot.

<comment><USER4> yes, I probably should have mentioned the other 90% of the project, hey :)

</comment></comment></comment><comment><USER5> This is an exact copy of my site NerdyData.com. Are you serious right now, I was using that layout just a week ago for my homepage!

You stole our idea and our theme verbatim? How can you live with yourself?

<comment><USER6> The layouts don't really look anything alike and I think they may be using an off-the-shelf theme for their landing page. Also their site works... have you launched yet?

<comment><USER5> I apologize for my previous comment, I was reacting out of anger.

This is the page they copied [http://nerdydata.com/home2.php](http://nerdydata.com/home2.php). It was our wait list for the last 2 months while we developed our site, which now has a new homepage we put up last week. [http://nerdydata.com](http://nerdydata.com)

But no hard feelings, maybe you had the idea independently and happened to use the same exact theme and messaging.

<comment><USER6> Well I guess that's the risk you take by using an off-the-shelf theme... your copy differs significantly if that's any consolation...

edit: (this is the theme [https://wrapbootstrap.com/theme/beaker-responsive- working-la...](https://wrapbootstrap.com/theme/beaker-responsive-working- landing-page-WB0L34T68))

</comment></comment></comment></comment><comment><USER7> Wow very impressive - I can see so many diverse uses of this (the least commercial but fun one would be up to the minute javascript framework popularity contests!).

All the best with the continuing launch.

</comment><comment><USER8> repost from deleted: Wicked cool concept, I can definitely see this being useful on several fronts. Just out of curiosity, how are you determining the "links to your competitors but not yours"? The example query is """ (www.nike.com OR nike.com) NOT (www.adidas.com OR adidas.com OR redirect:nike OR domain:nike) """ I assume this is assuming that "you" are Adidas and "your competitor" is Nike?

<comment><AUTHOR> Correct. Adidas would be able to see sites talking about their competitor Nike that are not linking to Adidas and also do not contain Nike as part of the domain. This makes sure you screen out all the Nike sub-sites like runwithnike.com which obviously don't link to Adidas.

</comment></comment><comment><USER6> Cool idea, I still wonder how you'll cope keeping that entire index in memory :)</comment>


Show HN: I've collected, categorized and tagged 500 email newsletters - <AUTHOR> https://unread.it/directory <comment><USER2> Cool project! Any chance you could add Weekly Robotics ([https://weeklyrobotics.com/](https://weeklyrobotics.com/)) to the list?

</comment><comment><USER3> Awesome work! Thank you</comment>


Google's TensorFlow processor crushes Intel, Nvidia in inference workloads - <AUTHOR> https://www.extremetech.com/computing/247199-googles-dedicated-tensorflow-processor-tpu-makes-hash-intel-nvidia-inference-workloads <comment><AUTHOR> Related research paper, In-Datacenter Performance Analysis of a Tensor Processing Unit:

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


Amazon to install at least 50 solar systems on its fulfillment centers by 2020 - <AUTHOR> https://www.amazon.com/p/feature/3g9pdpvmnx3f9rf?pf_rd_p=406a6ab1-1ebf-49e9-b90e-7656c8521d51&pf_rd_r=KC5JGXBWT17KDZJ81ATM <comment><USER2> "solar systems" had me scratching my head there for a minute.

solar power grids. excellent!</comment>


Verizon demands $880 from rural library for just 0.44GB of roaming data - <AUTHOR> https://arstechnica.com/information-technology/2019/08/verizon-demands-880-from-rural-library-for-just-0-44gb-of-roaming-data/ <comment><USER2> What is this roaming thing and why is it so expensive? Does it connect to a different internet?

Seriously, though; we all use the same (couple of different brands of) phones to connect to the same (couple of different brands of) station hardware to get through to the same global network. A small difference in the choice of stations shouldn't make a large difference in the amount of cost reflected.

<comment><USER3> >What is this roaming thing and why is it so expensive?

Networks need to negotiate mutual roaming agreements. Verizon and others didn't give a shit for many years, billed absurdly high rates to their own customers and paid whatever the roaming network wanted.

Now you can get reciprocity... maybe Telus customers in Canada want to roam free/cheap on Verizon, and Verizon starts caring and wants to roam free on Telus. They make an agreement where there's no roaming cost. Obviously this can go wrong if either company overloads the other, but it's how modern agreements work

Domestic roaming is different. In this case, providers will work together favorably if it's a regional and a national carrier trying to extend out each other's coverage footprints (good example would be T-Mobile roaming on US Cellular because they have similar spectrum holdings, but in different markets). Now where the gouging kicks in is between direct national competitors: I remember seeing court filings from T-Mobile suing AT&T for them billing something like $17/MB for roaming access to their 3G network in underserved areas. The suit was because AT&T had to provide roaming access as part of their acquisition breakup agreement, but the agreement never stipulated the exact cost for that roaming arrangement. T-Mobile wanted the court to enforce a 'fair market value' on it.

TL;DR: Company needs to give a shit about its customers to properly negotiate international roaming arrangements, or bill them at an absurd enough rate that they won't incur a loss.

<comment><USER4> Add to that that it's in no carrier's interest to have agreements and for them all to "over" bill their customers. Only when one carrier breaks the unspoken agreement (and starts taking customers) do others have to acquiesce. Thank you T-Mobile.

</comment></comment></comment><comment><USER5> There are parts of San Diego near the border, where the only network a phone receives is from a Mexican carrier, while being inside U.S. territory. Racking up roaming fees from auto-updates and background app execution is a common occurrence

<comment><USER6> Many US carriers now include the same usage in Mexico (and Canada) as in the US, which should alleviate this problem.

It was really common in Michigan as well, even inside some buildings very clearly on the US mainland.

<comment><USER7> Boy I sure wish that was the case for ATT, but it's not, and they're one of the top three carriers in the US.

<comment><USER6> I don't have personal experience, but all of their default plans advertised here seem to include at least Mexico: [https://www.att.com/plans/wireless.html](https://www.att.com/plans/wireless.html)

Maybe you're on an older plan (that may also be cheaper)?

</comment></comment></comment></comment><comment><USER8> _She contacted the legal team and they went back and forth and finally decided that no, we couldn 't have our fee waived_

You're really telling me that their legal team told them it would be a breach of their contract for Verizon to issue a refund? What could the lawyers possibly be worried about would happen if they charged their customer less?

Verizon and Comcast are two companies I avoid at all costs.

</comment><comment><USER9> Wireless roaming is now what 'long distance' calling rates between area codes were--synthetic price markups.

</comment><comment><USER10> This kind of behavior was outlawed in the EU some years ago so you can demand the same

</comment><comment> dfeojm-zlib What should be nearly free and ubiquitous is obscenely extorted. Welcome to underprotected vulture cannibal vampire capitali$m with a Verizon lawyer heading the FCC.</comment>


If You're Not Paying for It; You're the Product - <AUTHOR> http://lifehacker.com/5697167/if-youre-not-paying-for-it-youre-the-product <comment><USER2> <grammarNazi>If You're Not Paying for It: You're the Product</grammarNazi>

Grammatical error! Your argument is invalid!

<comment><AUTHOR> Actually I don't think a colon or a semi-colon belongs there. Should be a comma if the "if" clause comes first. The rules might be different for an all- caps title though.

<comment><USER2> > Should be a comma if the "if" clause comes first.

Except if it's a list or a Python program.

if You're Not Paying for It: You're the Product

else: You're not the Product</comment></comment></comment>


Bad mouse took down a network, and almost got us banned - <AUTHOR> https://www.reddit.com/r/talesfromtechsupport/comments/5hzvx3/bad_mouse_took_down_a_network_and_almost_got_us/ <comment><USER2> From the looks of it, the issue could have been avoided by writing the invoice in a proper way, like: replaced cables that have been bitten by a mouse (or mice).

To be honest, from the title, I also thought it was the device mouse that affected the network, not a rodent.</comment>


As Coursera Evolves, Colleges Stay On and Investors Buy In - <AUTHOR> http://chronicle.com/blogs/wiredcampus/as-coursera-evolves-colleges-stay-on-and-investors-buy-in/57267 <comment><USER2> I'm the instructor of an upcoming Coursera course [1]. A couple of observations from my point of view:

* I wish there were a way to fund online education through philanthropy/donations. Coursera being for-profit leaves a bit of a bad taste in the mouth. At a practical level, it complicates what images I can use in my lectures and qualify as fair use.

* After several years the site is _far_ from being at a point where an instructor can log on and upload content. The interface is constantly changing, confusing, and buggy. My university has a dedicated team who help out instructors with putting their material online and even they are often confused about how to edit this or upload that.

Overall I'm glad that Coursera exists and is finding a revenue stream; my own undergraduate education would have been vastly different if I'd had access to the material that's available today.

[1] Bitcoin and Cryptocurrency technologies [https://www.coursera.org/course/bitcointech](https://www.coursera.org/course/bitcointech)

<comment><USER3> To address your first point, Edx.org is very similar to Coursera, but is a non-profit organization that releases all it's software as open source ([https://open.edx.org/.](https://open.edx.org/.)) For your second point, EdX Studio ([https://studio.edx.org/](https://studio.edx.org/)) is focused on being accessible and easy to use for instructors - we hear good things from course staff about usability compared to Coursera.

(I work for EdX.org as a developer)

<comment><USER4> Out of curiosity: Any news on the hosted version of edX (mooc.org).?Site went up quite a while ago, but I haven't heard any developments since.

</comment></comment></comment><comment><USER5> > The company has created a series of courses that add up to mini-degrees that > students can earn quickly, and pay a small fee to certify that they > successfully completed them. "It's mostly people in their 20s and 30s who > are interested in learning more skills and making themselves prepared for > better jobs," said Mr. Levin.

Has anyone else noticed that since this recent pivot, the quality of Coursera's classes have declined?

I recently tried a course hosted on Coursera from an Ivy League school, as part of a business "specialization" that consists of 4 classes at $90 each. The class was 4 weeks long and was taught by 3 different professors. The only material provided was a series of video lectures (10-20 5-minute lectures per professor) and a smattering of blog posts and news articles for optional reading.

There was some discussion in the forums that the lectures seemed to jump around, and didn't cover all the material represented in the final exam. Some previous students were guessing that the gaps in instruction were because the course used to be 9 weeks long before they started charging for it.

I enjoyed the class but didn't feel like I got my money's worth. In the end I decided I could get more value by just buying and reading books on business development on my own.

<comment><USER6> Honestly, I think that's the best way to learn. A lot of great programmers/entrepreneurs end up taking an autodidactic approach to learning whatever they need to learn to become successful. I always use Sean Parker as an example: [https://en.wikipedia.org/wiki/Sean_Parker](https://en.wikipedia.org/wiki/Sean_Parker)

I don't buy into the belief that the only way to learn something is by taking a course or getting a degree. I can buy the same programming book or the same physiology textbook used in a course and read it on my own. The only problem is that, unless you really do something outstanding to prove that you know the material, its not something you can put on an application/resume.

<comment><USER7> It depends on what you're learning.

I wouldn't want to waste my time on a class that just teaches you how to use Hadoop. On the other hand, there are some topics that I'd have a much harder time believing can be treated well outside a classroom setting. Classes that deal with softer skills such as project management strategy or research design really seem to benefit quite a bit from the group learning environment. You could certainly learn them other ways, but probably more slowly. If you're trying to build a career there's an opportunity cost there.

<comment><USER8> It is okay for CS classes, but not for chemistry...

</comment></comment></comment></comment><comment><USER9> I personally don't like that Coursera dropped free certificates of accomplishments for many courses. While this might not be such a problem in the US, I (living in Germany) see this as a serious problem in countries as Germany, Austria or Brazil, where it is essential that you have some certificate to prove that you really took the course.

What I'm particularly angry about is that in former days you could get a free certificate of accomplishment for the courses from the Data Science specification

> > [https://www.coursera.org/specialization/jhudatascience/](https://www.coursera.org/specialization/jhudatascience/)

A few weeks ago Coursera changed the policy even for these existing courses. That's why I completely lost any trust that I had in Coursera and will actively avoid taking courses from Coursera (and instead look what edX has to offer).

<comment><USER10> Do employers look at certificates at all?

<comment><USER11> My current employer is requiring everyone to get Security+ certifications because our clients are starting to require that.

edit: oh, certificate vs certification. I don't know of anyone who cares about the Coursera certificates, but it seems certifications are still in vogue.

</comment></comment></comment><comment><USER12> Shameless plug: MOOCs presented in a course catalog format [http://www.coursebuffet.com](http://www.coursebuffet.com)

<comment><USER13> Thanks for this! It's really hard to browse/search for MOOCs.

That said, looking at your site now it does seem to have a problem with courses being listed as "always available". A couple of examples:

[1] [https://www.coursebuffet.com/course/1081/202-Logic:-Language...](https://www.coursebuffet.com/course/1081/202-Logic:-Language- and-Information-2) [2] [https://www.coursebuffet.com/course/1253/270-Digital- Systems](https://www.coursebuffet.com/course/1253/270-Digital-Systems)

<comment><USER12> Thanks for letting us know. We are working on a new way of updating courses dates/course status.

</comment></comment></comment><comment><USER7> Two anecdotes on this front: First, I'm currently pursuing a master's degree because doing MOOCs left me hungry for more.

Second, a whole lot of the questions in the end-of-class survey for the most recent MOOC I completed where things like, "My opinion of [University] has improved since taking this course," and, "I am considering applying at [University]."

</comment><comment><USER14> I like Coursera, but I've been waiting on a class to happen for the past two years and they keep rescheduling it. I really wish they'd address it by either canceling the listing or actually making it happen.

The class is Dan Boneh's Crypto 2 course.

<comment><USER15> I can testify to the quality of this course. I completed both Crypto 1 and Crypto 2. Both were very well presented.

<comment><USER16> Wait what?

I did't think crypto 2 had ever run?

I took the first round of crypto 1 and have been waiting for 2 ever since!

<comment><USER14> He probably went to Stanford and took it in person.

<comment><USER16> Ah, that would be the way to ensure you get to take it :)

</comment></comment></comment></comment></comment><comment><USER17> Do people typically put qualifications from a Coursera class on a resume? The credibility of a college education in the professional world can't be replaced as easily.

I've taken a few Machine Learning / Big Data courses using MOOCs and done enough homework such that I get a certificate. But I'd _never_ put it on a resume because that would imply mastery of the subject, and no MOOC is as sufficient in coverage as a normal college curriculum.

I took the MOOCs mostly for context in areas where online tutorials are terrible; at the least, it'll help lead to some sweet blog posts. :)

<comment><USER18> If I were you I'd put it on a resume. Just be honest that you a MOOC course at Stanford etc.. When I'm looking at that resume I wouldn't necessarily think this is a guy who can lead a Machine Learning team. But it does tell some things I'm very interested in as an interviewer.

1\. It shows the resume owner is a self-motivated autodidact which I think are some the most important skills a developer can possess.

2\. It gives a great talking point for the interview. One of the ways an interviewer can gauge an individuals intelligence and communication skills is how well they can describe what they learned in a class.

</comment></comment><comment><USER19> It is maybe off-topic but few days ago I was lamenting to myself that I'd hoped Coursera would stop sending spam or do a proper setting where I can definitively opt-out from all their emails (and I'm not speaking about emails for an enrolled course). This is really bad I think, especially from an organization with such a noble cause.

</comment><comment><USER20> Definitely had to google what a MOOC was: Massive open online course.

Even though this isn't the same thing at all, this reminded me of a course I had in college where instead of attending in-person and in-class meetings, we all had to create Second Life avatars and meet online.

The professor was doing research on the subject and I quickly found the online meetings for 'educational computing' (Microsoft Office class) to be pretty useless. Luckily this was long enough ago when it was possible to not have a good enough video card for such an activity and I was allowed to not attend those meetings anymore.

</comment><comment><USER21> I completed 23 courses on Coursera and I love the platform. But I don't buy the notion that Coursera is becoming the lead generator for the traditional universities. I would never trade in my learning experience with one where I have to be physically present in a classroom to learn. And by and large most universities are still organized around the classroom experience. Until that changes, I don't think I'll be applying for a traditional college degree.

</comment><comment><USER22> Which University dropped out of Coursera, out of curiosity?

<comment><USER23> UC Berkeley had a few classes on Coursera early on but transitioned to Edx shortly after.

[http://www.nytimes.com/2012/07/24/education/berkeley-to- offe...](http://www.nytimes.com/2012/07/24/education/berkeley-to-offer-free- online-classes-on-edx.html)

</comment></comment><comment><USER24> _Rice University, for instance, reports that it is getting more applicants — and higher-quality applicants — for its computer-science masters' degree after offering a CS course on Coursera, he said._

This is a completely personal, liberal arts-educated perspective and anecdote, but going to Rice University for a Computer Science degree is akin to going to MIT for an English Literature degree. Prestigious school, sure. Is it the field for which it's known to be at the top? Uhhh, nope.

<comment><USER25> A bit harsh. You might want to check your perception. According to U.S. News and World Report its graduate school ranks #20.

[http://grad-schools.usnews.rankingsandreviews.com/best-gradu...](http://grad- schools.usnews.rankingsandreviews.com/best-graduate-schools/top-science- schools/computer-science-rankings)

<comment><USER24> Yeah a bit harsh but with reasons. When I look over that list I see UT Austin up at #9 in a tie. I've known for years that the UT Austin program was worthwhile, because it is. I'll stand by the assertion that Rice isn't known as a hotbed of tech, but it is a very fine institution with, I'm sure, excellent metrics in the U.S. News & World Report scoring system...mostly because it's expensive, small, and extremely picky with its applicants.

<comment><USER25> Agreed, and this is coming from a UT Austin grad. Hook 'Em!

</comment></comment></comment></comment><comment><USER26> I feel like when I get time I should learn deep learning and agent-embodied AGI stuff, business and management stuff.

I just can't see how taking online courses, especially for money, is a cost- and time- effective way to do that.

I think I need to actually build an agent-based deep learning system and run multiple businesses to actually learn those skills. How-tos and background, reading, exercises etc. for all of those things is available online for free for filling in gaps between trying things out.

</comment><comment><USER27> > The new investment ... would extend the company's "runway" to try new > experiments.

Is it just me, or is a plane on a runway a scary analogy for investment?

If being higher off the ground is better in this analogy, you're far better off building a structure than flying a plane because that plane will only stay aloft as long as it has fuel.

<comment><USER28> A better analogy would need a self-sustaining stage, to reflect a profitable business model with reduced need for external investment.

</comment></comment><comment><USER29> I can't believe this. Where is digital education headed to?</comment>


Overlapps iPhone app - Discover the best apps in an amazing & simple way - <AUTHOR> http://iphone.overlapps.com/ …everybody needs an app to love. Discover the best apps everyday, in the most simple and fascinating way.<p>Immersed daily in an ocean of new apps, Overlapps offers you an exclusive list of emerging apps that will take a privileged place in your iPhone. With Overlapps you will be the first to discover the new apps that everyone else will soon be talking about. <comment><USER2> Nice site design, that's some good web design work.</comment>


Trump Called Apple's CEO 'Tim Apple' by Mistake - sahin-boydas https://techcrunch.com/2019/03/06/trump-tim-cook-tim-apple-who-can-say/ <comment><AUTHOR> Who care's? Seems like another reason to just call out Trump.

</comment><comment><USER2> Could have gone worse ;)</comment>


Why Is Rackspace Supporting Amazon Web Services? - <AUTHOR> http://blog.rackspace.com/why-is-rackspace-supporting-amazon-web-services/ <comment><USER2> This shows that Rackspace Support really is exceptional. They are a direct competitor to AWS, but manage to put the customer and the customers needs first.

A former boss struggled with that. Our customer needs X? We shall build and sell them X! Others that specialised in X are a objectively better option? Don't tell them, we will make it work somehow!</comment>


Puffer – Stream live TV in the browser - <AUTHOR> http://puffer.stanford.edu <comment><USER2> > What channels can I watch? Puffer re-transmits free over-the-air broadcast > television signals received by an antenna located on the campus of Stanford > University.

Is this legal? Aereo [0] had to shut down because broadcasters sued them for streaming OTA TV signals, which went all the way to the Supreme Court where they lost. Aereo even had an antennae per customer.

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

<comment><USER3> > Is this legal?

If it's not for profit and geoconstrained, yes.

[https://www.broadcastingcable.com/news/nonprofit-launches- ny...](https://www.broadcastingcable.com/news/nonprofit-launches-ny-tv- station-streaming-service-171031)

[https://www.locast.org/](https://www.locast.org/)

<comment><USER4> It's 'geoconstrained' by just giving you a tick box that says you're in America. I wish all geoconstraits were that lazy.

<comment><USER5> Incidentally, crypto exchanges in the past (and one very recently, known as Bitmex) have faced issues with US authorities regarding this. Context: US citizens cannot trade unless the exchange is US-licensed.

Essentially, US gov applied pressure such that a simple tick box (to prove you are not American) is not sufficient. So, authorities definitely have precedent to enforce geo-constraints, it's just a matter of "do they care".

<comment><USER6> I'm guessing that these broadcasters will be happy to go from 0 to 500 viewers. YouTube hasn't killed them quite yet!

</comment></comment></comment></comment></comment><comment><USER7> > For the research project to work, we need some source of video that never > ends and is sufficiently interesting to attract a few hundred people to > watch. Broadcast TV is the most interesting thing that we have access to and > are permitted to retransmit.

The most interesting thing about this experiment is that the most interesting thing that a research group at a top tier University finds to retransmit are Broadcast TV channels.

</comment><comment><USER8> The project has been funded in part by the NSF and DARPA, along with support from Google, Huawei, VMware, Dropbox, Facebook, and the Stanford Platform Lab.

</comment><comment><USER9> I'm an ex-CTO of Livestation, which was a profit-making firm doing OTT TV.

Short version: news channels are so keen to get soft power projection, they'll pay _you_ to carry them.

That was started as a validation to prove peer to peer Silverlight was the future. As you can tell from looking around you today, that didn't work: it ended up being a pretty standard HLS/HDS stack. Eventually it pivoted to UGC live-streaming and became an app called Busker before dying out.

This stuff is harder than it looks, but there is a massive, massive market for it if you can find a way to make the numbers work.

As a research project this looks nifty, but be aware: GeoIP DBs are awful for geofencing particularly on US/Canada.

</comment><comment><USER10> The most interesting part about this (which they don't mention on the homepage) is that they are collecting data which they use to retrain a neural neural network that predicts transmission time. This neural network and a predictive model are paired to do things like adaptive bitrate selection and congestion control. They even retrain the model every day based on the past day's data.

This approach apparently performs better than using just a predictive model or just a neural network without any explicit model at all.

They also say they plan to open this up to other research and that they will continue running the site for a couple of years.

</comment><comment><USER11> Unrelated to this technically amazing solution: i have seen no content except ads. It looks like there is more ads than content, no wonder than people stop watching tv.

<comment><USER12> Occasionally at some friends house we'll watch TV. I don't know how the hell they bear it. It seems to have gone to a 5 minutes of TV, 5 minutes of ads model.

And to think they are paying $120 a month for that...

</comment></comment><comment><USER13> Wow, I'm pretty impressed! Switching streams was nearly instant and seems to come in at a good quality.

Kudos to whoever's making this happen, I'd love to see this kind of speed come to both commercial services and services like Plex, Emby, and Jellyfin

</comment><comment><USER14> > During the Study, no more than 500 participants may access the Website at > any time.

> Your participation will take approximately six to nine months. We expect > each participant to stream video from the Website for several hours each > week. We reserve the right to terminate your participation if you do not > meet the expectation described above, or otherwise violate these Terms of > Participation or any applicable laws.

Neat stuff in the ToS, wonder how strict they are on following these regulations

<comment><USER15> Not at all lol

</comment></comment><comment><USER16> A service, Locast, is available in a few cities. It's geo-locked, though.

[https://www.locast.org/](https://www.locast.org/)

<comment><USER17> It's geolocation is 100% reliant on what the user's mechine reports as it's location...

</comment></comment><comment><USER18> We wrote an article on them earlier this year if you want to learn more: [https://thestreamable.com/news/exclusive-stanford- researcher...](https://thestreamable.com/news/exclusive-stanford-researchers- launch-free-streaming-service-to-improve-video-streaming-algorithms)

</comment><comment><USER19> "I confirm that I live in the US"

...sure I do

<comment><USER20> Same as I confirm I am over 18, isn't it?

</comment></comment><comment><USER21> Does KQED air any tech-related shows? It would be fun if a bunch of HN-folk watched at the same time and had a running comment thread on here.

</comment><comment><USER22> Wow, this could be nice this fall for football.

</comment><comment><USER23> Just tried. I'm on 4G and the lives were HD without buffering, so if any new algo is enabled right now, it seems to work well.

Would it be possible to be able to manually set the resolution of the videos ? Full HD will burn my 4G quota

</comment><comment><USER24> I've been really enjoying Puffer since I first saw it posted here to HN

</comment><comment><USER25> I'm in their target market. No broadcast TV available where I live.

The stream works for a few seconds after clicking a channel but then freeze on all the channels.. The sound continued to work on all the channels though.

I suspect this may have something to do with with it being designed for testing with 500 users, number of HN users here clicking the link.

I'll try again later after things settle down.

Debug Info:

Video playback buffer (s): 14.6 Video resolution: 1920x1080 Video encoding setting (CRF): 22 Video quality (SSIM dB): 17.49 Video bitrate (kbps): 6210.93

</comment><comment><USER26> [http://www.radio-browser.info/](http://www.radio-browser.info/) designed as public radio DB, bus has a lot TV channels.

</comment><comment><USER27> Bob Ross is the only thing good on right now but I do have to say that while the quality isn't the best the stream performance is really nice and stable. Works great.

</comment><comment><USER28> The FAQ page is very well written.

</comment><comment><USER29> Wonder how long would this last! Also it would be nice to have Roku/Chromecast/youtube live/facebook live extension.

<comment><USER30> I love the simplicity of it and would LOVE to have this on Roku.

</comment></comment><comment><USER31> Watching a rodeo on CBS right now, I see the video bitrate ranging from around 500kbps to over 20 Mbps. The bitrate does not seem to correlate with anything visible to me, such as the amount of motion in the picture or the video quality.

<comment><USER32> Apparently Puffer is actually a study that is testing streaming algorithms:

[https://puffer.stanford.edu/terms/](https://puffer.stanford.edu/terms/)

</comment></comment><comment><USER33> Anyone else getting "WebSocket connection to 'wss://puffer.stanford.edu:50021/' failed: Error in connection establishment: net::ERR_CONNECTION_REFUSED" ?

It was working fine about an hour ago.

</comment><comment><USER34> Based on the last 10 minutes, this works soooo much better than twitch.

<comment><USER12> Twitch is a train wreck of a site. I'm baffled about how amazon lets it run like that. It's not like they don't have the resources to fix it.

</comment></comment><comment><USER15> This is what I use to watch The Bachelorette every week without paying $40/month for YT TV. Thanks Stanford!

The GitHub is also very interesting - pretty good code for an academic website.

</comment><comment><USER35> My first question clicking on this, looking at the url, is "Wonder what they are studying here?".

<comment><USER27> Adaptive stream encoding: [https://puffer.stanford.edu/static/puffer/documents/puffer-a...](https://puffer.stanford.edu/static/puffer/documents/puffer- arxiv.pdf)

<comment><USER35> Awesome, thanks for the link, however my mind was more "this sounds to good to be true, I bet they are studying something else" :)

</comment></comment></comment><comment><USER36> Works from Europe. Too good to be true. Guess will be regionlocked or taken down soon.

</comment><comment><USER37> The FAQs are well written

</comment><comment><USER38> I ported this to the Fire TV (Chromium) – took about 10 minutes.

</comment><comment><USER39> "Research project" ... of course.

Let's take bets how long before it's gone.

<comment><USER21> You seem to forget another little Stanford research project called "Google."</comment></comment>


China-owned oil tanker changes name in apparent effort to evade U.S. sanctions - <AUTHOR> https://www.reuters.com/article/us-shipping-oil-sanctions-malaysia-exclu/exclusive-china-owned-oil-tanker-changes-name-in-apparent-effort-to-evade-u-s-sanctions-idUSKCN1V60I2 <comment><USER2> Reminds me of that scene from the movie "Lord of War" where they re-paint quickly over the original name of the ship and put a new flag on the ship in 10 minutes.

</comment><comment><USER3> Western nations (US, EU, Japan, Hong Kong, Australia, etc) have a lot of differences especially as of late, but it's important to step back and remember that there's too much in common to give up, particularly with respect to rule of law, human rights, value of individual human life, and democracy.

China is at the extreme opposite end of the spectrum, where cheating is the way of life for regular people as well as the government. If you don't trick somebody you are stupid. Winners are those who outmaneuver the "rules". Bringing the old glory to Han race (not nation) is core operating principle for the Party. I'm saying this as somebody who lived in China as well as EU and the US.

IMO it is important to step back and think critically about the fundamental liberal values currently under assault, with plenty of authoritarian propaganda at work. Trump will be gone relatively soon, and it's important to looks past the superficial differences he's highlighting, and to try and maintain alliance around rule of law and other liberal principles that brought unprecedented peace and prosperity to billions of people. We already had plenty of authoritarian master race driven powerful states in the past and it always ends the same way.

<comment><USER4> This has so many layers mental gymnastics and fiction applied it's hard to know where to start.

The US overthrows the Iranian democratically elected government to maintain BP's regional dominance because the government threatened to use their country's natural resources' profits to benefit its people. Installs puppet and helps the puppet plan to build 23 nuclear reactors (and the secret police Savak among other things). Puppet gets overthrown by the people and now Iran has 'nuclear ambitions'. And that's after getting the other puppet Saddam to go to war with Iran and then getting rid of the other puppet because now he's US armed like ISIS. And now Iran has a sanction and the sanction is used against other geopolitical rivals.

This is a pyramid scheme of imperialism laid upon stacks and stacks of dead bodies but China cheats because they changed the name of a ship?

</comment></comment><comment><USER5> >But both the Latin Venture and the Pacific Bravo transmitted the same unique identification number, IMO9206035

You'd think that they'd bother to change that along with the name...

<comment><USER6> If it's a number issued by the International Maritime Organization for life, how would you do that? You can't make up a number, and if you use a number used by another ship you'd have to make sure that your ship matches exactly the ship registered under that number so that you can fool anyone checking - and even then, that'd probably buy you a short amount of time but you'd still get caught.

<comment><USER7> How do you get a number assigned in the first place? I'd assume you'd have a shipwright just go through that process for a hypothetical ship they have "under construction" exactly matching your ship, then never build that ship, but instead assign its number to your ship.</comment></comment></comment>


Step by step from jQuery to Backbone - <AUTHOR> https://github.com/kjbekkelund/writings/blob/master/published/understanding-backbone.md <comment><USER2> I am familiar with two general approaches to creating unreadable and unmanageable software.

The first one is to take logically unrelated operations and combine them into one giant blob via shared/global variables and god objects/methods. This is what commonly known as spaghetti code.

The second one it to take every piece of functionality and shatter it into tiny pieces, so no unit of code represents anything anymore. This can be done with endless callbacks or layers of abstraction, and it can be made worse by complex frameworks with a lot of "magic" taking place or a lot of boilerplate being required. I don't know any common name for this, but let's call it mush coding.

It looks like the post describes how to convert moderately readable spaghetti code into unreadable mush code. (I would claim that a person not familiar with JQuery could easily understand the initial code, while a person not keenly familiar with Backbone would be completely lost in the final version.)

If most of your methods are longer than 100 lines, something is probably wrong. If most of your methods are shorter than 3 lines, something is probably wrong as well.

<comment><USER3> Method length should be 1 to 3 lines. Longer and you are incurring technical debt. The function name should be descriptive and it's description shouldn't be, 'adds_one_to_a_number_unless_override_is_on_then_it_subtracts_four_except_when_global_is_set_then_it_jumps_into_a_switch'

<comment><USER4> >>Method length should be 1 to 3 lines.

I've read that claim. The only time I really had to work with code like that was horrible.

It was like a book where the sentences were in random order, with the next sentence number appended, so you would have to browse to another page every few words. :-(

The context switches didn't make me productive... Sometimes, I had to look 3-4 levels up or down in the hierarchy to find a parameter type (this was in a scripting language). If anyone talked to me, it took a looong time to rebuild the model in my head.

Edit: In short, grandparent++.

<comment><USER5> Lasagne is starting to sound a lot like Spaghetti, I guess that's the point.

</comment></comment></comment></comment><comment><USER6> Is it just me, or did reasonable jQuery get refactored into broken code? In the jQuery code, the status is added after the sever acknowledges receipt. In the backbone code, you are adding an element rendering it to the page, and then the model is doing some automagic synchronization. Unless there is some serious magic in the Backbone model, things can get completely out of sync.

This looks like one hell of a bastardization of MVC. It seems the view is really a controller+view, and the model does the sync in a way that requires coupling the view to the model to handle any sort of error.

Edit: I could be wrong here, but can someone show me how to fix the Backbone code to handle an error correctly? Error handling can be added to the jQuery code by adding 'error:function() { // do something simple },'

<comment><USER7> There are a couple things you could do:

1) You can pass a {wait:True} as the second argument to collection.create(), and the add event won't be fired until after a successful sync. If you want error code, you add error:funciton(){..} to the create options hash.

2) You can change the event listened for from 'add', to 'sync', and still have the error handling code in the options hash.

3) You can manually create the model, call save() and have the success callback be code to add the model to the collection, and the error code do something else.

In all of these, you'd just have to add a function to the view to indicate error, and do what you want to handle it. (Depending on the specifics, this could be for the NewStatusView or for the StatusesView..)

<comment><USER6> My thoughts:

> 1) You can pass a {wait:True} as the second argument to collection.create(), > and the add event won't be fired until after a successful sync. If you want > error code, you add error:funciton(){..} to the create options hash.

This is problematic. Now you completely lose the "add" event, so if you wanted to do something like add a spinner while the request is in flight, that is not possible.

> 2) You can change the event listened for from 'add', to 'sync', and still > have the error handling code in the options hash.

But now you are asking about the sync status from a collection. It doesn't seem relevant to ask a collection about it's sync status when you are interested in the status of a form submission.

> 3) You can manually create the model, call save() and have the success > callback be code to add the model to the collection, and the error code do > something else.

This seems to be the best option to me. It puts the success, error, and model all in the same frame, which puts us in the same place as the original jQuery.

The jQuery code was far more elegant that the author would have you believe. At the core, you are handling a user interaction which comes in units of a "submission". The jquery code, wraps a "submit" into a singe activation frame and handles it.

The backbone wraps this "submit" unit up, passes it through a collection, some automated saving, and now you have no way to reason about what comes out the other end. When you submit 5 times, and have 2 failures, what do you do? What is a collection going to know?

I recognize the problem with the original jquery, but this ain't the right solution.

<comment><USER7> Look, I don't really care if you like backbone or not, but try to actually object to it with facts, not projections based on word semantics. All of your objections are made on incorrect assumptions of what information is provided, and what actually happens.

1) the add event isn't lost. It just doesn't fire until a success. Want to add a spinner, have it fire in the appropriate view as a response to the "submit form" event.

2) That isn't how sync is defined, and sure there may be a better name for it, but this isn't what it means. Lots of information is passed into the callback. Useful information, stuff that contradicts your objections.

3) Not the same as JQuery - you can reason about what comes out the other end, because the information is actually in the collection, with an api for getting it. The events have a great set of arguments for them.

Muddling the conversation with such incorrect assertions (aka FUD) is counter- productive.

</comment></comment></comment></comment><comment><USER8> I think it's important to note that if this code never grows or changes, then this refactor is totally unnecessary. It DOES add code, and it DOES almost over-decompose the structure.

The payoff, however, is if more features or behaviors were in the pipeline (and when aren't they?). This really sets you up to gracefully manage more complexity by having sensical places to put more code, instead of writing a few more $(document).ready callbacks to ship something on time.

Backbone.js might not be the right tool for the contrived example, but I've come to expect a sacrifice of real-world applicability for smaller, digestible chunks. That the synthesis is up to you is ok, I think.

</comment><comment><USER7> This is a nicely written post, and uses nice idioms for backbone development.

I would like to note though, that the justification for the increase in LOC count feels a little weak. I understand and agree with it, however before I really grokked what Backbone enabled I probably would have been a bit wary of that - it really just looks like extra work.

I would suggest a follow up, that traces adding some functionality or widget use through both the original code and the newly refactored code, to highlight the power of backbone and make it clear. (I'm suggesting this from the original author, because the post I just read was pretty well written and seeing the same style in the in-depth guide would be pretty nice :) ).

</comment><comment><USER9> I wonder why Backbone is getting so much attention. For small tasks, jQuery is completely sufficient (as in this example as others have noted). If you're going to develop applications on a larger scale, Dojo is a way better alternative in most cases IMO. It comes with modularization, build tools, i18n etc... Backbone is somewhere in the middle, neither highlevel nor lowlevel JS. I really don't see a spot where Backbone significantly outperforms either Dojo or jQuery. Can anyone tell me what's so special about it?

<comment><USER10> Since it gets asked so very frequently, I've tried to put together an answer in the FAQ here: <http://backbonejs.org/#FAQ-why-backbone>

<comment><USER11> Thank you for the FAQ Jeremy - helpful to this Backbone newb.

I won't ask you directly for the answers to this since it wouldn't be polite for you to answer (or would it?), but I feel like a lot of that FAQ is specifically addressing different frameworks' way of doing things, which is totally fine.

Would someone mind extrapolating a bit and let me know which frameworks / features he's referring to in each point? I assume the 2-way data binding and "nifty demos" piece is about Meteor and Derby, and the "stuffing application logic into your HTML" refers to Knockout, but I'm a bit lost on the others.

Just trying to grow my awareness of the landscape....

<comment><USER12> I am going to attempt to answer you :

Here are the list of points from the FAQ :

The focus is on supplying you with helpful methods to manipulate and query your data, not on HTML widgets ( __angular __) or reinventing the JavaScript object model ( __Ember __).

Backbone does not force you to use a single template engine ( __Ember __). Views can bind to HTML constructed in your favorite way.

It's smaller. There's fewer kilobytes for your browser or phone to download, and less conceptual surface area. You can read and understand the source in an afternoon ( __Ember and Angular __).

It doesn't depend on stuffing application logic into your HTML ( __angular / knockout __). There's no embedded JavaScript, template logic, or binding hookup code in data- or ng- attributes, and no need to invent your own HTML tags ( __angular __).

Synchronous events are used as the fundamental building block, not a difficult-to-reason-about run loop ( __Ember __), or by constantly polling and traversing your data structures to hunt for changes ( __Angular __). And if you want a specific event to be aynchronous and aggregated, no problem.

Backbone scales well, from embedded widgets to massive apps.

Backbone is a library, not a framework, and plays well with others. You can embed Backbone widgets in Dojo apps without trouble, or use Backbone models as the data backing for D3 visualizations (to pick two entirely random examples).

"Two way data-binding" is avoided. While it certainly makes for a nifty demo ( __Angular & Knockout __), and works for the most basic CRUD, it doesn't tend to be terribly useful in your real-world app. Sometimes you want to update on every keypress, sometimes on blur, sometimes when the panel is closed, and sometimes when the "save" button is clicked. In almost all cases, simply serializing the form to JSON is faster and easier. All that aside, if your heart is set, go for it.

There's no built-in performance penalty for choosing to structure your code with Backbone. And if you do want to optimize further, thin models and templates with flexible granularity make it easy squeeze every last drop of potential performance out of, say, IE8.

I have marked the individual points he pointed out with the relevant MVC framework out there.. I might have missed out on some but it looks like ( atleast to me! ), jashkenas feels the greatest threat to Backbone currently is Angular.. And I think he is right about it.. Backbone is currently ruling the throne of Front End MVC frameworks, but it looks like its rule is ending soonish...

</comment></comment></comment></comment><comment><USER13> I'm kinda scared that it turns out there's twice as much code in the final result. I understand, that this example is just for educational purposes but, I think, the conclusion that it's better to leave this jQuery-based piece code "as-is" is much more educational.

<comment><USER14> I think it's more about showing people how this stuff works at a digestible level.

I'm currently reworking something in Angular (I was only part way into the build). It took me a couple of days to get up and running but now I'm there it's paying itself off. The code is far more modular, easier to understand and I'm turning it out way faster.

Toy examples will always just be that, but they're needed in order to learn.

</comment></comment><comment><USER15> Great work...it calls to mind a longform guide that Sam Clay wrote in converting NewsBlur's spaghetti code to Backbone:

[http://www.ofbrooklyn.com/2012/11/13/backbonification- migrat...](http://www.ofbrooklyn.com/2012/11/13/backbonification-migrating- javascript-to-backbone/)

</comment><comment><USER16> If you have any questions regarding the blog post, just let me know :)

<comment><USER17> I have one: clearInput(), which clears the textarea, is tied directly to the addition of a new status, not to the submission of a new status via that textarea. Any other piece of the app that adds a new status (from other users, from automated systems, whatever) would clear what I'm typing. I can't imagine why you'd do that.

<comment><USER16> Haha, of course. I guess it was just a moments blackout — I was probably just too focused on making Backbone easily understandable. There might be some strangeness in there, but hopefully most readers have a better understanding of Backbone after reading it. And I don't have time to change it now either way.

</comment></comment></comment><comment><USER18> Brilliant - as someone who has recently taken the same steps (and into Marionette) there is a lot of half way info out there and not nearly enough complete tutorials.

I am writing one myself - so would be interested to hear the good and bad points of this as much as the OP

</comment><comment><USER19> I was nodding my head until about half way through.

Thinking that I could apply this logic to client side storage was fine until he proposed that persistance would be automatically handled by Backbone's ajax.

At that point, backbone gives you less flexibility for more code. No thanks.

</comment><comment><USER20> Separating DOM and data I can understand, but I am not convinced Backbone is the right way to do it.

My code would look more like:

        function postdata(url, data, callback) {
            $.ajax({
                url: '/status',
                type: 'POST',
                dataType: 'json',
                data: data,
                success: function (received) { callback(received); }
            });
        }

        var statusform;

        (function(pub) {
            var status = ""

            pub.init = init;
            function init() {
                $('#new-status form').submit(function(e) {
                    submitdata();
                    e.preventDefault();
                });
            }

            function submitdata() {
                var data = {
                    text: getfieldvalue("textarea")
                };

                if (!data.text) { return; }
                postdata("/status", data, function(received) {
                    status = received.status;
                    drawscreen();
                });
            }

            function getfieldvalue(fieldname) {
                return $('#new-status').find(fieldname).val();
            }

            function drawscreen() {
                if (status) {
                    $('#statuses').append('<li>' + status + '</li>');
                    $('#new-status').find('textarea').val('');
                    status = "";
                }
            }
        }) (statusform);

        $(document).onload(statusform.init);

Note 1: This code sample is untested, but should give a good enough idea what I am trying to do. Note 2: For extra type safety, use typescript interfaces to model data.

<comment><USER21> Apologies for off-topic, but how does one post code, or do quoted text on HN? I've seen it done here and a few other places, but haven't been able to find documentation on how.

<comment><USER22> "Text after a blank line that is indented by two or more spaces is reproduced verbatim. (This is intended for code.)"

<http://news.ycombinator.com/formatdoc>

</comment></comment></comment><comment><USER23> I really like the approach of translating from jQuery. Even if you don't end up using Backbone for everything, it really gives you an idea of what to do with it. I read Backbone tutorials before, and you learn how to do things, but with not much language context. Looking at the alternative ways to do one thing is way more useful.

<comment><USER5> Agreed, I really enjoyed working through this, haven't come across anything giving the the same level of context to, not only the why, but the how you got there side of things as well.

I wonder if the author would be interested in writing up something about unit tests / tdd in the same sort of fashion.

</comment></comment><comment><USER24> I remember seeing this last July or August, but I lost it. So glad it resurfaced!

</comment><comment><USER25> More great Backbone information: <http://addyosmani.github.com/backbone- fundamentals/>

</comment><comment><USER26> Why do I get the feeling this could have been done much more easily with angular.js?

<comment><USER27> I want to see a similar post for angular!

</comment></comment><comment><USER28> This is just fantastically put together. Thank you for doing this.</comment>


Einstein's "Time Dilation" Prediction Verified More Precisely - <AUTHOR> http://www.scientificamerican.com/article/einsteins-time-dilation-prediction-verified/

<comment><USER2> Maybe I'm not understanding this article, but relativistic time dilation was experimentally verified a long time ago, in the very GPS satellites mentioned in the article.

Wiki details: [http://en.wikipedia.org/wiki/Error_analysis_for_the_Global_P...](http://en.wikipedia.org/wiki/Error_analysis_for_the_Global_Positioning_System#Calculation_of_time_dilation)

<comment><USER3> The key words are 'more precisely.'

The point here is to keep adding significant figures to the accuracy of the verification to see if something unexpected happens.

Nothing unexpected happened here. But it's not unknown for duplicated/improved measurements to reveal new effects that need to be explained. E.g.

[http://phys.org/news/2013-11-proton-radius-puzzle-quantum- gr...](http://phys.org/news/2013-11-proton-radius-puzzle-quantum-gravity.html)</comment></comment>


RestBus – Call ASP.Net Core, WebAPI and ServiceStack Endpoints Over RabbitMQ - <AUTHOR> https://github.com/tenor/RestBus <comment><USER2> This seems pretty neat.

Here's a question... Do these named queues (work queues) co-exist distinctly on the RabbitMQ instance? In other words, can one MQ instance scale up to handle scenarios where subscribers can also become publishers and distribute their requests to 'n' other work queues and ultimately follow the callback chain back to the original publisher? I'm thinking the either the response could be chained back or the subscriber header could be returned as a list so that the publisher can listen to each callback queue individually.

I'm curious as to how this would perform. As someone who is new to RabitMQ and MQ in general i'm wondering if this is a capability that is possible from a RestBus standpoint or would this need to be executed via the traditional RabbitMQ API.

<comment><AUTHOR> Yes, you can have multiple queues on the RabbitMQ instance and a server can also publish messages.

There isn't any performance issues with the scenario you described. The publisher will need to use two or more clients (one for each service) and instead of calling

      await clientA.GetAsync()

it will call

      var resA = clientA.GetAsync();
      var resB = clientB.GetAsync();
      ...
      var resAll = Task.WaitAll/Task.WaitAny(new Task[]{resA, resB});

to wait for all clients to complete.

</comment></comment><comment><AUTHOR> Documentation: [https://github.com/tenor/RestBus/wiki](https://github.com/tenor/RestBus/wiki)

Benchmarks: [https://github.com/tenor/RestBus.Benchmarks](https://github.com/tenor/RestBus.Benchmarks)

Home page: [http://restbus.org](http://restbus.org)</comment>


Why Cloud Storage Use Could Be Limited in Enterprises - <AUTHOR> http://www.enterprisestorageforum.com/technology/features/article.php/3843151

<comment><USER2> "There are two reasons for this: bandwidth limitations and the data integrity issues posed by the commodity drives that are typically used in cloud services."

Why does using commodity drives entail data integrity issues? Doesn't everyone use commodity drives? I know Google does [[http://www.google.ca/#hl=en&source=hp&q=Google+commo...](http://www.google.ca/#hl=en&source=hp&q=Google+commodity+drives)]..</comment>


Russia Deploys Hypersonic Weapon, Potentially Renewing Arms Race - <AUTHOR> https://www.nytimes.com/2019/12/27/us/politics/russia-hypersonic-weapon.html <comment><USER2> This mafia-state aggression is too 90's. The latest battlefield is in information operations (persuasion if you will). They know they'll never use it, and so does any UN country. The only benefit is to maybe galvanize nationalistic tendencies under the mafia-state in hopes to give some credibility as a legitimate government, which the whole world knows is a folly. Russia is the largest crime syndicate to ever have existed.

</comment><comment><USER3> they did surround his country with a missile defence shield costing who knows what. he just built a faster missile making it all a waste of money. quite amusing really.</comment>


Ask HN: Have you realized you can live without during this pandemic? - <AUTHOR> What did you think before this pandemic you couldn't live without but now have realized you don't really miss? <comment><USER2> Sort of related maybe? I would do the grocery shopping the day that I needed stuff. The lockdown has forced me to plan ahead, and in planning ahead we've made better choices and are eating healthier.</comment>


Loot Box Lottery - <AUTHOR> https://minnesotalawreview.org/2019/04/23/loot-box-lottery-how-the-backlash-against-video-game-loot-boxes-is-affecting-game-developers-retailers-and-consumers-in-the-legal-sphere/ <comment><USER2> > _" Dan Hewitt, Vice President of Media Relations for the Entertainment > Software Association, has argued that "loot boxes are not gambling because > they provide something to use in the game. They offer an alternate > experience and players are not required to buy them . . . .""_

This is like the Tobacco companies hiring a media company saying smoking is good for you.

I've yet to hear a good argument from a truly independent party that says "no, it's not gambling". Because really, loot boxes are gambling.

<comment><USER3> I think what's happening is that they found out that instead of making real compelling content, they would just get their customers addicted to gambling. So they got used to a higher revenue stream that also allowed them to fire all of their highly skilled content creators.

It's kind of like if a drug company discovered they could get a lot of money by selling heroin and then they fired all of their chemists who were busy trying to create drugs that would actually be helpful to society.

Now that they're being called out on it, they're scrambling to try and find a way to avoid having to go back to working for a living.

A responsible adult would say something like, "You know, we thought that we were simply giving the market what it wanted, but really it does look a lot like gambling when you think about it. We're taking it all out."

And if they wanted to turn those lemons into lemonade, "Oh, by the way, we're releasing half life 3 and portal 3. It's the same game. Oh and we're releasing a Cave Johnson miniseries. J. K. Simmons is reprising his role."

Yeah, that sounds like a lot of work. But it also sounds like it's providing real entertainment value to society instead of selling electronic heroin to kids.

<comment><USER4> 100% agree with you, though I'm skeptical that we'd see an improvement in quality of content if loot boxes and their like become untenable.

Aside from getting people hooked, loot boxes tend to feed into a larger aspect of a kind of collection game. I don't see that stopping, and it'll likely continue to be a cheap way to keep people engaged in whatever platform is available.

Instead of a loot box, I'd expect to see more stuff like EA's Apex Battlepass or Blizzard's War Chest in Starcraft 2.

PS: I would happily throw money at any reasonable attempt to expand on Half- Life or Portal. C'mon Valve!

<comment><USER3> > though I'm skeptical that we'd see an improvement in quality of content if > loot boxes and their like become untenable.

Yeah, I agree. Once you get used to the easy and cheap workflow of creating the loot boxes it's going to be a hard sell to go back to paying premium talent to create engaging an original content that takes longer to produce and has a lower chance of appealing to arbitrary markets.

Of course in the non-video game world there are companies that create sodas and cigarettes and slot machines. And there are companies that create high quality food, cancer battling drugs, and entertainment that stays relevant for centuries.

I think with a little regulation we'll get the same sorts of divisions in the video game industry.

<comment><USER5> A coworker and I went to lunch randomly a number of months back and I discovered that he and his wife are avid WoW players on the server that I played on nearly 10 years ago. This sparked me to impulsively purchase 30 days of game time on my character, which was surprisingly still available on my Battle.NET account. I happily dinked around for a bit, leveled up my character from 70 to 90, and discovered the VAST amount of collectables that are present these days, which was quite shocking.

When I stopped playing WoW, players could collect pets by redeeming tokens/codes from blizzcon or other real world fan or collector activities, but today there is an entire mini-game surrounding battle-pets which can be collected in-game and also purchased via earned gold or simply cash. Additionally, Raid or PvP gear sets can be supplemented with purchased "cosmetics" and "heirlooms" which again can be purchased through earned gold or through the store with cash. It seems like every side-game activity has some kind of purchase available to "speed up" the time it takes to "earn" the appropriate currency required to redeem the reward. I've been out of the gaming loop for far too long to really see how bad it's become, but it was absolutely shocking to see it.

</comment></comment></comment></comment></comment><comment><USER6> Seems like a good summary of the state of the law.

This below, however, seems like very poor reasoning on ESRB's part.

 _Similarly, the Entertainment Software Rating Board (ESRB), a self-regulatory organization responsible for flagging games for mature content and providing content descriptors, refuses to classify loot boxes as gambling.[15]An ESRB spokesperson recently stated, "While there's an element of chance in these mechanics, the player is always guaranteed to receive in-game content (even if the player unfortunately receives something they don't want)."

This argument differentiates loot boxes from slot machines and lotteries where the participant is not always guaranteed a prize. Additionally, some foreign governments, such as the United Kingdom and New Zealand, have declared that loot boxes are in fact not gambling._

The guarantee of 'any' prize really isn't substantive given the vast differences in rarity/value placed on on the range of reward

<comment><USER7> But we've had those 25c toy machines at your local grocers forever. And places like Chuck E Cheese have always been basically Vegas for children. The concept isn't new, it's just mainstream. I'm still of the opinion that parents should parent instead of over-regulating this

<comment><USER8> Organizing with other adults to regulate a practice that appears potentially harmful to our kids _is_ "parenting".

<comment><USER7> They're not my parents, why do I want them meddling in my life?

<comment><USER9> That's kind of like saying I didn't vote for this president so why should he be doing anything that affects me

<comment><USER7> Maybe you haven't noticed, but many people are really mad about the president's actions and the unasked for effects.

<comment><USER10> Man, why should those people be allowed to meddle in your life?

What is your point exactly?

<comment><USER7> Parents should be more responsible instead of using the government as a cudgel. I don't think I've been unclear.

<comment><USER10> As a high level statement that makes no sense. We as a society place age restrictions on all sorts of activities. You have to be specific and focus on the problem at hand.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><AUTHOR> FWIW, I heard about this paper when it was mentioned in this Planet Money episode following up on their lootbox episode:

[https://www.npr.org/templates/transcript/transcript.php?stor...](https://www.npr.org/templates/transcript/transcript.php?storyId=769484887)

> _JOHNSON: This is Thomas Hansfield. He 's a law student at the University of > Minnesota who wrote the perfect article for our story today. And we didn't > even ask him to. Maybe nobody asked him to._

> _HANSFIELD: Pretty shocked that anyone had actually read this._

> _JOHNSON: Tommy 's blog post for the Minnesota Law Review is all about how > Loot Box lawsuits may end up a lot like a bunch of lawsuits that happened > way back - ancient history - in the '90s._

> _HANSFIELD: The title of the article is "Loot Box Lottery: How The Backlash > Against Video Game Loot Boxes Is Affecting Game Developers, Retailers, And > Consumers In The Legal Sphere."_

His summarized conclusion is that the class action lawsuits that failed against baseball card makers suggest that loot box-related lawsuits might be similarly defeated.

</comment><comment><USER11> So, a different-but-related question: Putting aside the desired addictive nature, are there any gamers out there who actually _prefer_ microtransaction- driven loot box mechanics to more conventional item drops?

Or is this just a UX element that most people dislike or don't care about, but some people get badly addicted to?

There's so much argument about gambling, etc, but I'm yet to hear a compelling argument for why these should be allowed to exist, from a game design perspective, short of "we can make a lot of money from gamblers".

<comment><USER12> > why these should be allowed to exist

Because that's the default state, in our society at least. If you want something banned/made illegal/etc you need a compelling argument for why it _shouldn 't_ be allowed to exist.

<comment><USER13> They said "from a game design perspective," not from a regulatory/legal perspective.

</comment></comment></comment><comment><USER14> I believe there is an argument to be made for loot boxes not returning any value when you receive a duplicate item. If the item is something you can equip and it only matters if you have either one of them or none of them, then receiving a duplicate could be argued that you received something of zero worth.

I know some loot box systems work around this by giving the player something else when it rolls a duplicate like a minimal amount of the currency.

Regardless, rolling and opening loot boxes are usually designed to be addictive which is my main issue with them.

</comment><comment><USER15> The fortnite allusion at the beginning is sort-of unfortunate; its one of the few massive games out there which doesn't sell loot boxes in the traditional sense. The Battle Royale mode has _never_ had a loot box system remotly like this; their billions are made simply by selling cosmetic items. The single- player Save the World mode, which, relatively speaking no one plays, did have a system like this for a bit, but at the beginning of 2019 they replaced it with "X-Ray Llamas" which show you exactly what items you'll get before you spend the VBucks on it.

There's a hundred other popular games they could have picked on which would be more accurate: Counterstrike: Global Offensive, Team Fortress 2, Apex Legends, the list goes on.

<comment><USER16> So is the story about Little Billy something that could not actually happen in practice?

<comment><USER17> Maybe not, but my 11 year old nephew definitely spent $1600 of my sisters money on Fortnite. Then she got the charges reversed and he got the keep the stuff! What a good lesson for him.

</comment></comment></comment><comment><USER18> The problem that I see, and that I don't think was addressed and may differentiate from trading card games and the like, is that many of these games are created to be addictive, and the money thrown out is on top of that addiction.

</comment><comment><USER16> How are loot boxes any different to Kinder eggs, where you don't know what toy you're going to get when you buy one?

(I appreciate that Kinder eggs are banned in the US, but not for that reason!)

It seems to me that the key thing about real gambling is that you win _money_. You put money in, and you might end up with more money than you started with, but probably won't. That's what generates the dynamic where once you lose some money, you keep playing to try and win it back.

With loot boxes, you put money in, and you get virtual goods out. The good vary, and there may be ways to sell the goods for money. But you're fundamentally just buying goods.

EDIT OF EDIT: This is the closest the article gets to touching on this:

> At least one case in the early 2000s had potential to resolve the issue of > whether activity similar to loot boxes is considered gambling, but it was > dismissed due to lack of standing. In Chaset v. Fleer/Skybox Int'l, LP, 300 > F.3d 1083 (9th Cir. 2002), purchasers of baseball cards and Pokémon trading > cards brought a RICO suit against, inter alia, the manufacturers and > distributors of the trading cards. [...] The Court dismissed the suit for > lack of standing based solely on plaintiff's failure to satisfy this > element.[26] It held that "at the time plaintiffs purchased the cards, . . . > they received value . . . for what they paid," and "[t]heir disappointment > upon not finding [a rare] card in the package is not an injury to > property."[27]

<comment><USER19> > How are loot boxes any different to Kinder eggs

That's an interesting question! At first I thought they were pretty similar, but I had a think about this, and there are several key differences:

* With loot boxes, you can often trade the items that you won

* Loot boxes often show you the rarity (and sometimes the value) of an item that you've won.

* Loot boxes often show a spinning wheel or similar device that adds a level of excitement and a feeling of a "near miss" by showing the wheel "almost" land on an item.

* Some loot boxes allow you to "roll again" if you're not happy with the item you received.

* Loot boxes play sounds and show effects depending on the rarity of the item won.

* Loot boxes are given out for free, but you have to buy a "key" to open them.

* Games with loot boxes emphasize items that can be won from them, and encourage players to display these items for in-game prestige.

* Some loot box items give you an in-game advantage.

* Loot boxes are not edible.

<comment><USER20> I was thinking about this and I think the key thing is that with say, a Kinder surprise, in all cases it's a low value item and all of the items are of comparable value. Whereas with a loot box there's usually some very high value items with very low odds.

Not to mention how stupidly easy games make it to buy these lootboxes, and how they usually make a pretty big point of obscuring their true cost (i.e. behind gems or other artificial currencies).

</comment></comment></comment><comment><USER21> If CCG's like Magic: The Gathering is not gambling then I cannot fathom how loot boxes are.

With loot boxes you cannot cash out. That changes the dynamic completely, in my opinion.

When one gambles you put in a small amount of money in the hopes of getting out something of greater value. If that value is perma-locked in a video game, non-transferable, non-redeemable, then I don't buy that it is gambling.

At least with MTG you would pay for a pack, maybe get a rare card worth some money and you could sell it / trade it and get monetary value for your "gamble"

<comment><USER22> I disagree, if the content of the loot box contains something which people are willing to pay money for, then the prize has value.

Just because it's non-transferable and non-redeemable doesn't mean it's value is nil.

</comment></comment><comment><USER23> Why do they open up with "Save the world", which is the fortnite mode that no one plays? BR Fortnite has no lootboxes. There are many prime examples just like they are describing, but they seem to have chosen the worst example.</comment>