The oral history of the Hampsterdance - <AUTHOR> https://www.cbc.ca/arts/the-oral-history-of-the-hampsterdance-the-twisted-true-story-of-one-of-the-world-s-first-memes-1.4958325 <comment><USER2> I must confess: I partook in disrupting many a "Computers" class at the Berwickshire High School in the late 90s. Turns out sub7 + every browser in the class playing hamsterdance is a somewhat challenging teaching environment. Sorry.

</comment><comment><USER3> How did the original hampster dance song ( [https://www.youtube.com/watch?v=1qN72LEQnaU](https://www.youtube.com/watch?v=1qN72LEQnaU) ) morph into this [https://www.youtube.com/watch?v=WptWKFk-C9Y](https://www.youtube.com/watch?v=WptWKFk-C9Y)

I'm not surprised their attempts to hold onto fame didn't work, it's like they completely forgot what they had made.

<comment><USER4> The _original_ hampster dance song was just a sped-up version of Whistle Stop, from the 1973 Disney animated Robin Hood.

Original version and speed here, the section used starts at around 30s : [https://m.youtube.com/watch?v=PKYEKhxWy6o](https://m.youtube.com/watch?v=PKYEKhxWy6o)

Edit - This was mentioned in the article with a YouTube link as well.

<comment><USER5> > The original hampster dance song was just a sped-up version of Whistle Stop, > from the 1973 Disney animated Robin Hood.

Mind. Blown. How have I never noticed this!

</comment></comment></comment><comment><USER6> Why is it "hampster" instead of "hamster"?

<comment><USER7> Some people pronounce it with a p. That's the reason behind just about every spelling difference.

</comment></comment><comment><USER8> Anyone know about the original banana phone song? Ring ring ring ring ring ring banana phone, boop boop be doop be doop. With a video that had someone going crazy listening to it.

Oh. After trying to find it with google before, too many times, DDG found it in one go: [https://m.youtube.com/watch?v=UqWwsUhrFBw](https://m.youtube.com/watch?v=UqWwsUhrFBw)

</comment><comment><USER9> It would be great to see this sort of treatment for Mahir Cagri whose page followed a similar trajectory at the time.

</comment><comment><USER10> Honestly, looking at the little hamster dolls on the website, I'm not surprised to see that they lost money.

Part of successful product development is making something people actually want to buy - slick marketing will only take you so far as the juicero showed us.

Those little hamster dolls just simply aren't cute or cuddly-looking.

</comment><comment><USER11> Url changed from [https://news.slashdot.org/story/18/12/29/0227257/how-one- mer...](https://news.slashdot.org/story/18/12/29/0227257/how-one-merchandiser- lost-1m-trying-to-monetize-the-hamster-dance-site), which points to this.</comment>


This is not a new year's resolution - <AUTHOR> https://crystal-lang.org/2017/12/19/this-is-not-a-new-years-resolution.html <comment><USER2> It feels like Crystal is coming up more frequently on HN and Reddit than it did in the past couple years.

I'd be curious to see actual usage numbers as they've changed over time.

</comment><comment><USER3> Really loving Crystal, although not using it for any commercial applications (yet). It's really nice for building small command line apps. It has stolen my heart from Go TBH.

<comment><USER4> as someone who loves Go, you've piqued my interest. tell us more?

<comment><USER3> Nicer syntax (Subjective).

Suuuuper fast! (Not that it matters but likely faster than Go[0]).

Single binary builds/deployments (Just like Go).

[0] [http://blog.seraum.com/crystal-lang-vs-nodejs-vs-golang- vs-h...](http://blog.seraum.com/crystal-lang-vs-nodejs-vs-golang-vs-http- benchmark)

<comment><USER5> Isn't crystal single threaded only? How do you make that runs fast when you're bound on a single thread or the underlying OS doesn't have async operations. And in the benchmark you linked Go is as fast as crystal and it was go 1.5 which is quiet old.

<comment><USER6> It's single threaded (for now), but all IO is async under the hood and will implicitly yield and allow a different fiber/green thread to run.

I might be one of the few people who would prefer Crystal remain single threaded and that effort go elsewhere in the language.

</comment></comment></comment></comment></comment><comment><USER7> I struggle to estimate any dev work beyond a few weeks, so I wonder if some of these estimates may be wishful thinking too - maybe the Manas.Tech folks have a good sense of the theory behind the work that's left though, in which case it's only ("only") a matter of implementing it. In any case, I wish them the best and hope that they can release 1.0 next year!

<comment><USER8> At least for the concurrency work, there's been a lot of groundwork done for it already, and even a working prototype - albeit with a much larger scheduling overhead than we would like.

I suspect that it's a mix of both, these hours numbers are somewhat pulled out of a hat but the concrete of what we actually want to do and how to go about it is known so they won't be wildly off. The manas guys will know the details though.

</comment></comment><comment><USER9> I think Crystal is a brilliant language [non-intentional pun]. When I teach programming, I have found that dynamic languages are a little harder to explain. Been watching this for a number of years and I hope to see it explode!

</comment><comment><USER10> I notice they ask financial donations but not help with development. Since we are developers and not investors, we are much more capable of donating our time. What makes code contribution not useful (or irrelevant) in comparison to money in Crystal? It would increase "hours invested above donations", but it's not a problem as their graph is trying to show.

<comment><USER8> We gladly welcome contributions, please feel free to donate your time! However there are some tasks that are much easier to deliver and design as a small team, instead of being able to be broken up into small parts where work can be done by the community. We simply doubt someone is going to come along with the time and drive to complete rewriting the whole fiber scheduler and concurrency part of the stdlib as an external contribution.

That being said, Windows support is likely to be largely done by the community and core team in tandem, as individual modules can be ported one-by-one. There's also the overhead of managing all these open-source contributions which takes time.

</comment></comment><comment><USER11> If nothing else, it's absolutely wonderful to see the Crystal team (RX14) acting on community feedback. Kudos!

<comment><USER8> I didn't write this blog post, and it was actually mostly written before the previous HN thread. It's not all me!

</comment></comment><comment><USER12> Crystal production users: [https://github.com/crystal-lang/crystal/wiki/Used- in-product...](https://github.com/crystal-lang/crystal/wiki/Used-in- production)

</comment><comment><USER13> Please somebody write me a Ruby to Go transpiler :P

</comment><comment><USER14> Wishful thinking:

Could modern programming languages adopt isolated heaps with message passing like Erlang does? This is the easiest solution to GC pauses and allows other nice features like hot code reloading.

The majority of programming languages invented in the last 10 years don't seem that different from each other. I'd love to see a programming language that combines the strength of C++ and Erlang for soft realtime workloads.

<comment><USER15> If you are looking for a modern language with a pragmatic syntax and uses lightweight processes and message passing why not Elixir? It's an expressive, productive language that can leverage The power and scope of the Erlang/OTP ecosystem.

[https://www.elixir-lang.com](https://www.elixir-lang.com)

<comment><USER16> Elixir is great but it most definitely doesn't fit the "C++ strengths" part of the requirements. Contrary to popular belief, Elixir is a slow language. Think Python/Ruby slow for compute-intensive tasks.

<comment><USER17> It's slow compared to C++, but for most tasks its ~5x faster than python or Ruby. If the task is parallelizable, it will be quite a bit faster. But yeah, you aren't going to be doing math with Elixir. One of the things you'll get with Elixir/BEAM languages is really low and stable latency. You'll never get that with long running Python or Ruby processes.

</comment></comment></comment></comment><comment><USER18> Is there such a thing as vapor languages? I feel like crystal and elixir are vapor languages.

<comment><USER19> If you are wondering why people seem a bit offended by your comment, it's because calling something vapourware has an implication almost of dishonesty or a con.

Crystal is real software that you can use today and build yourself and modify. It's doesn't make sense to accuse it of being vapourware.

<comment><USER20> I've always taken "vaporware" to refer to abandoned software.

<comment><USER21> This makes sense if you mean abandoned before release.

> _" In the computer industry, vaporware (Brit. vapourware) is a product, > typically computer hardware or software, that is announced to the general > public but is never actually manufactured nor officially cancelled."_

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

Ha! It's even made it into Merriam-Webster's!

[https://www.merriam-webster.com/dictionary/vaporware](https://www.merriam- webster.com/dictionary/vaporware)

> _" a computer-related product that has been widely advertised but has not > and may never become available"_</comment></comment></comment></comment>


Low-Cost 3D Printer a Hit on Kickstarter - <AUTHOR> http://mashable.com/2012/12/31/robo-3d-printer/?utm_medium=feed&utm_source=feedburner&utm_campaign=Feed%3A+mashable%2Ftech+%28Mashable+%C2%BB+Tech%29 <comment><USER2> (Reply 2)Sorry, for double post, but the first post couldn't carry all of it.

As of right now, my opinion is that Full Spectrum is the frontrunner based on design, the trick to reduce cost and make it much more safer, is to promote, piece by piece assembly instead of cutting the designed in one piece. Miniature model making is a hobby that makes use of the mechanical engineer inside us, making the design at the push of a button is not only costly (because of larger overall machine) but also takes out all the fun. I would buy one, if it sold for around 700-800$, and still delivers the quality of full spectrum.

</comment><comment><USER2> the last three projects, that I have seen, have been already funded long ago. One thing I noticed is that there is a significant room for a 3D printer, at an even lower cost since most of the people still can't afford it at 2.5-3k for hardware, and subsequent investment on different parts. Until it comes down by another 50%-70% on total costs it would still not be a huge success.

[http://www.kickstarter.com/projects/fsl/affordable-20x12-las...](http://www.kickstarter.com/projects/fsl/affordable-20x12-laser- cutter-engraver-assembled-i?ref=category)

[http://www.kickstarter.com/projects/formlabs/form-1-an- affor...](http://www.kickstarter.com/projects/formlabs/form-1-an-affordable- professional-3d-printer?ref=most-funded)

[http://www.kickstarter.com/projects/b9creations/b9creator-a-...](http://www.kickstarter.com/projects/b9creations/b9creator- a-high-resolution-3d-printer?ref=category)</comment>


Nasa clears SpaceX test flight to space station - <AUTHOR> https://www.reuters.com/article/us-space-spacex-boeing/nasa-clears-spacex-test-flight-to-space-station-idUSKCN1QB2OT <comment><USER2> OP is from a few days ago. SpaceX passed the Flight Readiness Review (FRR) in advance of launch NET Saturday 3/2 at 07:48 UTC.

A better article: [https://www.nasaspaceflight.com/2019/02/spacex-gains-frr- gre...](https://www.nasaspaceflight.com/2019/02/spacex-gains-frr-green-light- dm-1-iss/)

<comment><USER3> Kinda weird mixing a European timezone with an American date format. Parent means 2019-03-02T07:48Z

<comment><USER4> This is why it's good practice to just never use MM/DD or DD/MM dates anywhere. 2-Mar or 2-MAR is nearly as terse but much less ambiguous. The only other date format I default to is YYYY-MM-DD (i.e. 2019-03-02). It sorts well and, by putting the year first, doesn't pick a side in the MM/DD or DD/MM battle. It just lists the terms in descending significance.

<comment><USER5> So much of my life has been wasted because people want their dates formatted dd/mm/yyyy in their browser..

<comment><USER6> So much of my life has been wasted because people want their dates formatted mm/dd/yyyy in their browser..

;-)

</comment></comment></comment></comment></comment><comment><USER7> They're also launching a suit in the capsule. I can't wait to see another Starman, especially one that flies a real spaceship.

</comment><comment><USER8> Wow! This is great news for the space program. Feels like it's gathering alot of momentum now.

</comment><comment><USER9> With respect, in the title it should be "NASA", not "Nasa".

The former is a US government agency, the latter is a mis-spelling of the capital city of the Bahamas.

</comment><comment><USER10> They've been supplying the station with unmanned dragon craft for years already...

<comment><USER11> This is a completely different Dragon - Dragon 2.0 if you will.

<comment><USER10> What is different?

<comment><USER12> \- Designed to carry crew

\- Launch abort system (superdraco engines on the side of the capsule)

\- Automated docking port, Dragon 1 has a berthing port that requires the ISS to use the CanadaArm to maneuver it in for berthing and astronauts in the ISS to make/release the connection.

From what I understand it's basically a ground up new design with a new pressure vessel. Eventually they will start using a version of Dragon 2 for cargo missions as well although supposeldy it won't have launch abort capability.</comment></comment></comment></comment>


Welcoming Fabric to Google - <AUTHOR> https://firebase.googleblog.com/2017/01/FabricJoinsGoogle17.html <comment><USER2> Fabric was a much better analytics tool than Google Analytics.

It's better because:

Instant crash reporting reduces release time anxiety. iTunes and Google analytics need 24 hour collection period.

Fabric can offer Fastlane and Beta -- Toolkits that help deal with distributing builds to testers and releasing apps. Google has nothing to compete with here.

Whatever way Fabric seem to define active users and sessions they seem to produce more accurate reporting while Google numbers integrated with the exact same app produce higher more ego stroking numbers.

<comment><USER3> Really? That's interesting because for our purposes, Fabric's graphs and windows into the data were much too general and coarse-grained.

For instance, there is no way to see all the data! They only give you the first page of top results. I asked them for pagination and they said it was "technically difficult." Whereas with Google Analytics, I could dive as deep as I wanted into the data. Even when I wanted to isolate a unique, rare event out of thousands.

Plus I could search GA, and correlate different events and properties. Fabric only gave the very basic essential graphs. Which might be great for monitoring a giant app like Twitter, where individual events are just noise, but when you're just getting started with 100-1000 users, you want to see everything those users are doing, especially the outliers.

</comment></comment><comment><USER4> The title is a bit ambiguous. From my understanding, Google (Firebase) acquired Fabric from Twitter (not necessarily "joining").

Fabric is one of the top dev tools I use for iOS. I wonder what kind of change is in store...

<comment><USER5> Yes, you're right - it is an acquisition. Jeff Seibert clarifies in his tweet [https://twitter.com/jeffseibert/status/821780349164388356](https://twitter.com/jeffseibert/status/821780349164388356)

<comment><USER6> More specifically, Twitter is carving out (i.e. divesting) Fabric and selling it to Firebase, which is a wholly owned subsidiary of Google (or perhaps selling it to Google directly).

<comment><USER7> Firebase is really just a Google brand at this point, not a separate company.

<comment><USER8> sounds like @mbesto is referring to the changes in cap table/shareholding structure rather than the 'vibe' of the deal

</comment></comment></comment></comment></comment><comment><USER9> Huh, interesting. I once responded to speculation that Google would buy Twitter by saying [1] they'd be better off neutering Twitter's ad network and data mining ambitions that were largely buoyed by Fabric and Crashlytics, and now I figure this will largely accomplish that. It also disproves my point that Twitter can sustainedly pivot into this space [2] by leaning on Fabric, Digits, and Magic Pony, and answers my more recent musing about how Fabric will fare with Twitter's recent downsizing [3].

[1] [https://news.ycombinator.com/item?id=11913828#11914620](https://news.ycombinator.com/item?id=11913828#11914620) [2] [https://news.ycombinator.com/item?id=11937756#11942293](https://news.ycombinator.com/item?id=11937756#11942293) [3] [https://news.ycombinator.com/item?id=12784274#12784473](https://news.ycombinator.com/item?id=12784274#12784473)

</comment><comment><USER10> Knowing Google's reputation with abandoning developer tools and services, can anyone offer suggestions as to possible alternatives? Or counterpoints as to why I shouldn't fear this service degrading over the next year or two? We're currently using Fabric and Crashlytics for our iOS app where I work and this news has prompted us to research alternatives.

<comment><USER11> > We're currently using Fabric and Crashlytics for our iOS app where I work > and this news has prompted us to research alternatives.

I spent the last few months working on getting iOS Support going in Sentry (sentry.io). Would love to hear feedback. Not only do we provide a hosted solution but it's also 100% Open Source which should give you the confidence that it will continue working for you no matter what happens.

<comment><USER8> Bravo on Sentry - it's a terrific platform. I'm especially fond of the breadcrumbs, they're a great feature.

<comment><USER11> Thanks so much. It's always great to hear when people enjoy what we're doing :)

<comment><USER12> Love it as well and I am recommending it to everyone I know who's shipping iOS apps

</comment></comment></comment></comment></comment><comment><USER13> Seems to me like the main value for Google is the data from all the apps that have Fabric SDK integration (e.g. Crashlytics).

Quote from the Fabric blog post [https://fabric.io/blog/fabric-joins- google](https://fabric.io/blog/fabric-joins-google)

"Fabric has grown to reach 2.5 billion active mobile devices".

<comment><USER14> They have the app data on the Android side which is probably a decent proxy for the iOS app market, but Crashlytics gives them direct visibility into a sizable chunk of the ios market.

</comment></comment><comment><USER8> Having experienced some rather concerning keychain issues with Digits a few months back and seeing the writing on the wall with Twitter and their stockholders calling for blood I dropped all of my Fabric dependencies in November.

For crash reporting the best alternative I found (superior to Crashlytics IMO) is Sentry[0]. It's been awesome so far and allows you to easily federate crash reporting over multiple platforms. I have no association with the company.

[0]: [https://sentry.io/](https://sentry.io/)

<comment><USER15> Aside we're also building a bunch of open source tooling (our entire platform is open source) around mobile, so if you're looking to roll your own or bring something in-house, we'd love to hear your feedback.

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

</comment></comment><comment><USER16> Twitter just lost one of their crown jewels; Fabric is probably the biggest mobile analytics platform out there.

<comment><USER17> It is also a bizarre buy.

Google has been building a competitor to fabric crash reporting. 6 months ago it was an MVP, but the version unveiled recently is pretty close to fabric.

I am not sure what they are buying here, it seems that google could sherlock everything that fabric does, especially since fabric is not that great in my experience.

Maybe it just illustrates that I am missing some info on why Google would get in such a buyout

<comment><USER18> As an example - we use Crashalytics at work. Even if Google built a parity product, we wouldn't have switched; Crashalytics was a known entity with few pain points. So if Google wanted our data (and others like us..) the only way to get that data is by acquiring Crashalytics. tldr: they bought it for the install base, not the product.

</comment></comment></comment><comment><USER19> What does this mean for Twitter Digits? Will their free SMS authentications continue?

It would be a perfect fit if they phased in Twitter Digits as a Firebase authentication provider - I suspect many developers (including myself) already use these 2 services in tandem.

<comment><USER20> I wonder what it costs to operate Twitter Digits. I can't imagine they are using Twilio as an SMS gateway.

<comment><USER21> Twitter used to be the biggest SMS sender in United States. Much larger than Twilio, even bigger than operators like Verizon and AT&T. Infrastructure that came from Cloudhopper acquisition with continuous care and improvement gave Twitter a reliable and super cost effective _world-wide_ SMS delivery platform.

(I was an employee 2012–2016)

<comment><USER20> Wow, thanks for the insight. It's easy to forget that Twitter was an SMS centric platform not too long ago.

</comment></comment></comment></comment><comment><USER20> Silly me - I was concerned they somehow acquired the Fabic python library.

[http://www.fabfile.org/](http://www.fabfile.org/)

<comment><USER22> Yeah, that moment of panic when you think something Google acquired is something you use.

<comment><USER23> In the case of fabric/fabfile this wouldn't matter, as fabric/fabfile looks dead anyway. No Python 3 support, no road map, last Github activity 5 months ago.

<comment><USER24> There is a roadmap: [http://www.fabfile.org/roadmap.html](http://www.fabfile.org/roadmap.html)

One of the goals in the roadmap is to move part of Fabric's functionality into another library (Invoke), which does have recent activity and supports Python 3.

<comment><USER25> Unfortunately, the main dev has been saying that he'll be releasing a rewrite with Python 3 support "at the end of the month" for the past 2-3 years. There's actually a fork ("Fabric3") which fully supports both Python 2.7 and Python 3.4+, but the Fabric dev refuses to merge in any PRs that have been submitted to help with Python 3 support. It's somewhat infuriating.

[https://github.com/fabric/fabric/pulls?q=is%3Apr+python+3](https://github.com/fabric/fabric/pulls?q=is%3Apr+python+3)

</comment></comment></comment></comment></comment><comment><USER26> I hope this isn't Twitter saving the good parts of the company before they crash and burn...

<comment><USER27> The trend states so.

</comment></comment><comment><USER24> (This Fabric is not the popular python library for deploying things from the command line.)

</comment><comment><USER28> So weird to see the mostly dead [http://crashlytics.com](http://crashlytics.com) and its iOS 6-era design (linen texture!) as it's been superseded by "Fabric" and now "Firebase". Seems like such a strong brand name to kill in favor of these very generic alternatives.

<comment><USER4> Actually, the entire platform is called Fabric while Crashlytics is only a part of the platform (albeit the main part...).

They've just kept the website as-is since being acquired by Twitter and integrated into the larger Twitter products portfolio.

It is confusing at first though.

<comment><USER29> its confusing at second, third, fourth looks too. I use Fabric and Crashlytics pretty heavily and still end up here a few times a month without thinking.

<comment><USER30> I end up going almost exclusively to Crashytics' website, then being redirected at login and have the "oh, right" moment.

</comment></comment></comment></comment><comment><USER31> I wonder whether China will start banning Fabric servers, as they'll literally be owned by Google. If that would be the case, I cant imagine the mess Chinese developers will face. Assuming they have access to Fabric services now.

<comment><USER32> twitter.com is also blocked, so no difference.

<comment><USER31> Twitter.com only, or also Crashlytics services too?

</comment></comment></comment><comment><USER33> How things change, three years ago Fabric was a key part of Twitter's platform strategy. This has to feel like a big letdown, unless you're Jeff Seibert.

</comment><comment><USER34> Well, this is probably good for Google and Fabric, but I'm less sure about it being good for Twitter. My opinion has long been that Twitter needed to double-down on being developer friendly and developer focused. This seems like the exact opposite of that.

It strikes me as being about as smart as Sears selling off the Craftsman brand. At least, to me, this feels self-defeating.

</comment><comment><USER35> I'm happy that Crashlytics will live on, as that was something I was concerned about in light of Twitter's recent poor performance.

However, I'm really not looking forward to the eventual Firebase- ifying/Google-ifying of the UI/design. The Firebase/Google Console interfaces are terrible. Just awful. I cringe thinking about what could happen to the Crashlytics UI.

<comment><USER36> Firebase engineer here -- what don't you like about the Firebase Console? Any specific things that we could improve?

<comment><USER23> Your texts and instructions are byzantine. For example, what is the following supposed to say:

"By default, your Firebase Analytics data will enhance other Firebase features and Google products. You can control how your Firebase Analytics data is shared in your Firebase settings at any time. Link your AdMob app(s) to Firebase and we'll share your data from the free Firebase Analytics tool with AdMob to improve app monetization and user engagement. You understand that this linkage may also allow AdMob Data to be shared with Firebase for enhanced reporting purposes."

I guess it means something like "Link you Admob account to Firebase" but it sounds kind of scary.

</comment></comment></comment><comment><USER37> I haven't heard of Fabric before. Fabric seems to have an ambiguous name and their marketing website is equally ambiguous. Something to do with mobile app analytics? I find this trend in developer tool marketing to be appalling.

<comment><USER38> They used to be called crashlytics. Best crash reporting tool . Just works. I guess they probably are a lot more interested in ranking for stuff like crash reporting than people chancing upon their website and trying to figure out who they are.

<comment><USER4> agreed

</comment></comment></comment><comment><USER39> What about Fastlane?

</comment><comment><USER40> Glad to see this under a better umbrella. The Twitter developers kept blowing off everyones' requests for Crashlytics to support the gradle-experimental plugin (which was necessary to use the NDK within Android Studio for the longest time).

</comment><comment><USER41> Unlikely that we'll see improvements in Fabric services for a while... presumably, engineering resources will be focused on integrating with Firebase :(

Anyone recommend alternatives for Crashlytics and Digits?

<comment><USER42> Apteligent, for one. Long time player with a strong offering for crash reporting and much more. (I'm not associated, just a fan.)

<comment><USER43> Ahh they used to be called Crittercism. Yeah I used to use them too

</comment></comment></comment><comment><USER14> Huh? If Twitter's future is not ads and analytics then what is it?

<comment><USER44> How does selling Fabric make them less focused on ads? Looking at the numbers, ads is their main source of revenue.

</comment></comment><comment><USER45> Any recommendations for cloud-based CI/CD services? I'm currently using Bitrise, then delivering to Fabric via fastlane.

<comment><USER46> Do you have any issue with Bitrise? Just curious (CTO here)

You can use fastlane on Bitrise.io if you want to, and you can use the Bitrise CLI locally ([https://www.bitrise.io/cli](https://www.bitrise.io/cli)), similar to fastlane.

</comment></comment><comment><USER47> I'm an active user of Fabric and have found it rather convoluted and limited. For example, there is no way to easily get device UUIDs from Beta testers. Given they also sponsor Fastlane, I'm blown away they haven't provided a way to automatically register UUIDs. This is possible with HockeyApp through their API and some Fastlane scripts.

Crashlytics is their killer feature. The rest is mediocre. Hopefully Google will improve it. I'm not holding my breath.

<comment><USER48> You might be interested in buddybuild's beta distribution which does automatic UDID management.

It basically makes it so neither the developer nor the tester ever have to worry about UDIDs ever again. Instead you can send a build to a new tester & trust they can immediately install it.

[Disclaimer, I built that feature at buddybuild]

</comment></comment><comment><USER49> More of a comment on Firebase -- as someone who was using them pre and post merge -- a whole bunch of small things are notably worse.

They said "great adoption" but it was actually forced (my previous company held on as long to the old Firebase as we could), from things to poor naming specs on export, base URL structures changing, the live-view able to handle less data points and a number of other small things, it was a bit of a let down.

Hoping this goes better.

</comment><comment> zero-x Best of luck, really dig the platform.

</comment><comment><USER50> The only thing I'm worry about is Digits. I hope Google won't close it

</comment><comment><USER51> I guess they don't mean _this_ Fabric: [http://www.fabfile.org/](http://www.fabfile.org/)

</comment><comment><USER52> While Firebase is still awesome, there was a definite downgrade in support when Google integrated them. Hopefully this will go better.

<comment><USER53> Firebase team member here,

Anything specific you'd like to let us know about? Definitely agree that it hasn't been the smoothest transition--it's super hard to provide 24/7 support to hundreds of thousands of developers. Any feedback you can provide will help us refine that process.

</comment></comment><comment><USER54> Let's hope it doesn't end up like Adwhirl. :(

</comment><comment><USER55> I used it in my all iOS development. Will it be 2nd class?

</comment><comment><USER56> What does this mean for moPub ?

</comment><comment><USER57> what about stripe ?

<comment><USER58> What about them?

</comment></comment><comment><USER59> Based on my experience with Firebase, it doesn't reduce complexity; it just shifts it around and adds extra costs (both financial and performance costs) to your system.

For any serious app, you still need to have a backend server on the side and your Firebase service often becomes bloated and inefficient. Sometimes you want to store the Firebase data inside your main DB as well and so you end up with two sources of truth and Firebase ends up becoming a third wheel to your project (just a bloated data transport layer).

It's not surprising that Firebase has been sliding in terms of popularity: [http://www.alexa.com/siteinfo/firebase.com](http://www.alexa.com/siteinfo/firebase.com)

It's good for rapid prototyping/MVC but not for any serious use case.

I think the big lesson in the framework/devtools space is that the more opinionated the tooling is, the less flexible it becomes and the fewer use cases it covers.

<comment><USER53> The approach Firebase takes can be summarized as, "make the 90% use cases simple, and make the complicated 10% possible." Tradeoffs are a core engineering concept, so I think this comes as no surprise to seasoned engineers (the more cynical ones often phrase the question as "what's the catch"). By partnering with Google Cloud Platform, we're working to make the complicated 10% much easier (tradeoff here is lower cost/greater control vs having to be more hands on with your infrastructure).

A great example of this is [Firebase Storage]([https://firebase.google.com/docs/storage/](https://firebase.google.com/docs/storage/)). We've made the 90% of file upload/download use cases easy, while making the 10% of use cases (lifecycle management, object versioning, advanced processing) [accessible through Cloud]([https://firebase.google.com/docs/storage/gcp- integration](https://firebase.google.com/docs/storage/gcp-integration)). Stay tuned for more, similar integrations in the future :)

As for the financial costs--you're paying someone else to build and manage your infrastructure, so yes, it will cost more than buying raw infra. Again, this is a tradeoff: is this more valuable to your product/users to answer pages or build features? Depending on where you are in your product lifecycle, YMMV.

(Disclosure: I work on Firebase)

<comment><USER60> > As for the financial costs--you're paying someone else to build and manage > your infrastructure, so yes, it will cost more than buying raw infra. Again, > this is a tradeoff: is this more valuable to your product/users to answer > pages or build features? Depending on where you are in your product > lifecycle, YMMV

First, 2-3 orders of magnitude more expensive is quite a steep price to pay for the featureset of Firebase.

Second, it's only a good idea to use Firebase if you don't plan on ever migrating away – because that will be hell.

And third, Firebase is a massive engineering effort, and I'm surprised that stuff actually works, considering how much work it is to try and replicate the features I need myself.

On the other hand, somehow I feel like Firebase is just an example of the hell we live in, one of the greatest development tools, and all of it is secret, most not even patented, never will be open or free, and just being used to force developers into a closed ecosystem of Google's Cloud.

It'd be a lot nicer place if projects like this would be open, so people could use it on their own systems (because I certainly won't trust a company running systems in a country ruled by Trump).

<comment><USER42> Another option to check out is Couchbase Mobile. Open source, self-hosted database with full offline functionality and a solid sync solution.

I think Firebase is pretty amazing. Have been a fan since I met some of the team (I think it was at the 2011 Launch conference). Like anything, though, there are tradeoffs.

Briefly, I'd say that there's overlap, with Couchbase Mobile tending to shine toward the more complex end (including making the 10% much easier), and also being extremely easy to use as a substitute for SQLite/Core.

(I work for Couchbase.)

<comment><USER60> > All data is stored and transmitted as JSON – the embedded database, the > database server, REST APIs, stream APIs, and batch APIs.

That's likely going to become an issue with my usecase – even currently while using a custom binary format on the net, and decoding with Java NIO, we're seeing ~80-90% CPU utilization on latest Android phones for ~4-5 seconds during connection to sync the latest tenthousands to hundredthousands of messages.

I doubt using Strings, and specifically JSON, will make that more performant.

(But I'll definitely look into your code as inspiration for how to continue)</comment></comment></comment></comment></comment>


Solid Collection of Enterprise Tech Feeds - <AUTHOR> http://talll.com/enterprise/ <comment><USER2> Good start, but I wonder if market research firms can produce 'solid' content on their blogs.

Consider this article. Too fluffy, in my opinion:

      > DevOps, No Longer Just For "Unicorns"

[http://blogs.forrester.com/robert_stroud/17-02-24-devops_no_...](http://blogs.forrester.com/robert_stroud/17-02-24-devops_no_longer_just_for_unicorns?cm_mmc=RSS- _-BT-_-65-_-blog_10604)

In my experience, you have to track particular analysts at these firms, some of them are really good at technology profiling.</comment>


India: there's money in missed calls - <AUTHOR> http://blogs.ft.com/beyond-brics/2013/01/31/india-theres-money-in-missed-calls/#axzz2JYsRfvWO

<comment><USER2> When I was growing up in Wasilla, AK my best friend Don and I would spend hours and hours skateboarding behind the grocery store 'Carrs'. When we were ready for his mom to pick us up we'd dial her number on the payphone and press a number a few times. This was something that at the time you could do without depositing coins and since his mom knew we would be doing this it was like a frugal Morse code too I guess. Man those were the days...</comment>


Ask HN: How many days in advance to contact bloggers before launch? - <AUTHOR>

I'm wondering how many days in advance should we contact bloggers, journalists, and start doing PR (press releases, etc..) before a launch? (so they have time to review the service, write the article)
Also, what is the best time/day for launch? Most people say Tuesday at 10AM (pacific time).
Any advice or experience that you guys have about conducting a successful product launch?
Thanks! <comment><USER2> I'd recommend launching, then buying some Google AdWords traffic so that you can A/B test your site and optimize until it converts decently. Then start emailing bloggers after that. Just send them a 3-sentence personalized note with a link, nothing fancy.</comment>


When Songwriting Meets Search Engine Optimization - <AUTHOR> http://priceonomics.com/when-songwriting-meets-search-engine-optimization/

<comment><USER2> Well if you're going to buy songs like that, why not get them from people with some actual talent? [https://www.youtube.com/watch?v=jpfp0vV8VEc](https://www.youtube.com/watch?v=jpfp0vV8VEc)</comment>


How we became the heaviest drinkers in a century - <AUTHOR> http://mosaicscience.com/story/peak-booze <comment><USER3> Being in wave below the author (currently in my 3rd year of University), I think there's also something to be said for how we treat alcohol around our children. In the UK we have a strange duality with underage drinking - in part we accept it as unstoppable, but at the same time it has a very strong stigma from society, at least here in Scotland.

By the time you hit 18, suddenly the reins are off, and what was once forbidden and done in stolen hours becomes acceptable, and without fail, uni freshers and those in college go off the rails, often developing habits that last the better part of a decade.

My current partner is Spanish, and talks of a culture that has never made drinking a forbidden fruit, stories of drinking at home with family, in moderation, abound. She, and her peers, simply don't have the "you're an adult now, DOWN IT FRESHER" attitude my Scottish peers do.

<comment><USER4> And yet, Spaniards drink more alcohol per capita than Britons overall: Just look at the statistics anywhere. it's just that there's less binging.

A common Spanish practice, new from the last 20 years or so, is called 'botellon': Youth, from 13-20 or so, who can't afford to drink at bars, purchase cheap spirits or extremely cheaped boxed wine (an euro per liter or less), go to a park, and do nothing but sit and drink. A common brew is the foul calimocho: Empty half of a two liter bottle of Coke, and pour in a liter of extremely cheap wine, with an aftertaste that will not outlast the bubbles.

So the kids drink with the family, and then they drink more heavily in the park on weekends. It's not like you can blame them, given the employment situation: 50%+ youth unemployment. Finishing university can just turn you into a NiNi: Ni estudias ni trabajas (You do not study, yet do not have a job)

So I'd take the stories of Spaniards about our superior drinking culture with a grain of salt.

<comment> Al-Khwarizmi I'm from Spain and I spent a couple of years living in the UK, and I think "the stories of Spaniards about our superior drinking culture" are actually very true. Mind you, I'm not a chauvinist, there are very few things where Spain can give the UK any lesson - but this, I think, is one.

Yes, alcohol consumption per capita is probably larger in Spain than in the UK, but people mostly know their limits. The transition from social/family drinking to "botellón" is smoother than the typical all-or-nothing transition in the UK. The fact that it's more socially accepted also means that people talk about drinking in a casual way, that your friends or even your family will advise you, etc., so it's much rarer to actually get into serious health problems or become an alcoholic.

I was a rather hardcore "botellón"-goer in the 2000s (I think "peak booze" in Spain was more or less in the same date as in the UK), most of my friends were too, and the largest problems anyone had were maybe throwing up and passing out once or twice in 5-10 years of partying. In the UK on the other hand, I met people who drank way less frequently, but the day they did, 90% of the time they weren't able to walk home on their own. It was even worse when they passed some stupid law forcing pubs to stop serving alcohol after 11 pm - <USER2> people would gobble up as much booze as they could right before that time, and in less than an hour they would be unconscious.

In general, in all the places where I've been, the pattern is the same: in places where alcohol is socially accepted (Spain, Italy, Germany, Greece) I've seen fewer problems with alcohol than in places where it is frowned upon (UK, Sweden, US).

In fact, you can even see it inside Spain itself... what nationality are the people who practice "balconing" (getting drunk and jumping off from a balcony or window, often leading to death)? An overwhelming majority of British, with the odd German here and there.

<comment><USER5> I was with you until "balconing". Yes, British people are more likely to drink to excess, and I agree with you that Spain has a more relaxed drinking culture (I've had some great nights out in Spain), but "balconing"... I have a feeling this is like the LSD stories you hear of people who jump off high buildings/structures because they believe they can fly. Sure, it makes for a good news story, but it's a gross mischaracterisation of the culture and its effects.

For what its worth, I've seen the footage of people jumping from hotel balconies into swimming pools. You know what I've also seen? People jumping from jagged cliff faces into the sea, and that includes people from multiple different European countries. Here's the thing... They're the same behaviour. It's not an alcohol thing, it's a daredevil thing.

</comment></comment></comment></comment><comment><USER6> As a Brit of similar age, who went to uni I can totally relate to everything and it was a very enjoyable read and a trip down memory lane.

It is very interesting to see how the drinking culture has been shaped and how that we are sheep by partaking. Well in a way we are sheep and wolves.

Because there is something in drinking culture in the UK that is about 'egging on' other people to drink more, so if someone who is known to drink decides to take it easy (like just drink a bit slowly) then they are often cajoled into drinking more.

In addition there is the social pressure of buying rounds, so the next drink is always coming and many pints of beer all on the table at once. And you have to buy your round or you are a cheapskate - even if you didn't drink as much on the other rounds!

Then in the workplace there is the bonding and social cohesion you miss out on if you abstain at work lunchtimes or functions. Drinking increases your chance of greasing the wheels of promotion and advancement. I've worked places where people would get drunk at lunchtime. And not always on a Friday!

I'm glad it is at the peak and now declining. Probably a good thing.

Living in Australia now. Drinking culture is definitely less but it is certainly there. I think the fitness and coffee culture trumps it.

<comment><USER7> A London company wants to buy my business, but I've refused. It's not even about money, because everything is negotiable (including remote office from France), it's that at the bottom line I care for my health and abs. I want to get as far away as possible from their drinking habits, they look old at young age, and they'd enroll me into drinking.

<comment><USER8> Unless the company looking to buy you are professional drunks and/or alcohol salesmen, that's an absurd way of thinking.

</comment></comment></comment><comment><USER9> Almost nobody I know under 30 has any idea why one would sip whisky. According to them, whisky (and alcohol in general) is nasty stuff, and you drink it to get drunk. To which I always reply: why wouldn't every strong drink consist of vodka, then?

As an alternative, cocktails had a small resurgence in the 90s that continues today. But most bars make their cocktails with different proportions and different ingredients. So not only could the number of possible cocktails reach infinity, but the number of possible locations to find a 'well made' cocktail increases. If you want a good (or new) cocktail you're always on a search for that new special drink.

It used to be that drinking the cheapest beer you could find in as high a quantity as you could find made for a fun night out [for young folk]. But new drinking establishments are tailor made to provide you a new product which costs more money, with the promise of a more sophisticated (or at least variable) flavor palette; the availability of flavored spirits in every bar and club shows how hard the industry works to try and gain new customers.

All of this comes at the same time that wine is probably as cheap as it has been in centuries. The increase in new markets such as China, Brazil and India have created a giant global marketplace for wine, which New World growers such as Argentina, Australia, Chile, New Zealand, South Africa and the United States have happily provided for. We're awash in wine that is not just cheap, but tasty, too, growing the market even more.

We have more products than ever, more choice than ever, more customers than ever, more availability than ever, and a lower price than ever before. And they wonder why we drink more?

<comment><USER10> Some people like whisky, some people don't. If they were first introduced to Teachers, it might take them a while to find something that's a little easier to drink neat.

</comment></comment><comment><USER5> I can also relate to this article, it's a fairly accurate assessment of social/drinking culture in the UK at the time.

Couple of points...

"Alcohol makes many of us unpleasant: verbally abusive, angry, destructive."

That's a bit of a stretch. Yes you do get the 'angry drunk' phenomenon, but the number of drunken fights I've seen has been relatively small. I think this is different from place to place, there are cities where I know this is a bigger issue, but in general people tend to be more friendly when they're drunk.

"This generational difference isn't just anecdotal. Young people are drinking less frequently, and more of them are teetotal. We don't know why: it could be financial hardship, an increase in the proportion that don't drink for religious reasons, or increased time spent online."

If I had to guess, I'd say it was the rise of importance in gym culture.

<comment><USER11> Some people can be nice drunks, though they are rare. Studies have determined that the one consistent behavioral change from being drunk, across continents and cultures, is an increase in aggression.

<comment><USER11> It seems a lot of people are missing the point here so I'll try to clarify.

First, an increase in aggression does _not_ mean that everyone suddenly turns into a raging asshole, it just means an increase, even a slight one, in aggressive tendencies. Which does not necessarily mean physical aggression. People tend to become more demanding, or more snarky, or bold, and so on. Examples include: egging others on to drink heavily or do silly things even if they don't want to. Even things like ragging on your friends is representative of an increase in aggression. Such things can still be "friendly", but they are indicative of increased aggression. And a small subset of people do get more physically aggressive, confrontational, oppositional, etc.

A lot of this stuff is so ingrained in our culture that we don't even notice it. We just accept that being drunk translates to being more aggressive in a zillion subtle ways and don't even consider such things to be true aggression.

Additionally, I'm disappointed that so many people have jumped immediately to the "my limited anecdotal experience contradicts countless scientific studies" response. No, anecdotes are not data. Moreover, if you think about the way your friends behave when drunk you might notice signs of increased aggression as well, if you pay attention. I don't have any friends who get violent when drunk, and I have many friends who are adorable drunks, but I do notice a consistent pattern in becoming slightly more aggressive across the board. More demanding, less charitable, etc.

<comment><USER5> I'm not saying those studies you're referring to are wrong, but I do wonder if the way they framed their hypothesis led them to a false positive.

I agree with the 'mood amplifier' description that MLR gave before. It gives you some temporary courage to live more boldly. With this study, did they try and provoke a reaction from the drunk people?

I also think it misses the larger picture. For example, you mentioned about your friends who are adorable drunks, where are the studies that measure adorableness when drunk, or any other traits of inebriated individuals? Why does it always have to be about the negatives?

Don't get me wrong, I totally accept that our drinking culture has some hugely negative aspects, and I'll be glad if the upcoming generations enjoy socialising without it, but I also believe we shouldn't rush to see it without its merits too. Alcohol can make people do horrible things (hurting others being the main one), but it can make people do great things too (including being more compassionate), is this contradictory? At a stretch you could say courage/confidence is at the centre of both.

</comment></comment></comment></comment><comment><USER12> I don't know much about the correlations the article mentions (for example, are raves really a good reason why pub attendance fell?) however, I think that a discussion of alcohol is incomplete if it doesn't mention addiction anywhere nor mention the fact that the majority of alcohol sales come from the top drinkers: [http://www.washingtonpost.com/news/wonkblog/wp/2014/09/25/th...](http://www.washingtonpost.com/news/wonkblog/wp/2014/09/25/think- you-drink-a-lot-this-chart-will-tell-you/)

So it's probably not the generation as a whole that has an abnormal relationship, but a small minority of the generation.

<comment><USER13> 10% of the population is drinking 10 drinks a day. That's unfathomable

</comment></comment><comment><USER14> "I wouldn't say any of my close friends are alcoholic" tut-tut, a single alcohol palimpsest (loss of consciousness / memory without falling asleep) indicates "warning" phase of alcoholism. Yes, it does not necesarily mean You will become a chronic alcoholic, but it means "controll was lost" and You are on your way there.

</comment><comment><USER15> The title should say UK millenials. I'm not part of that "we".

<comment><USER16> Please don't add fuel to the fire of HN's fastidious interference with article titles. Of course tabloid newspapers will have titles that are aimed at their target audience ("we"). If you have the media literacy to notice that you aren't included in that "we", you also have the media literacy not to need the title modified.

<comment><USER17> It was my first question when I saw the title: "What do you mean, 'we'? Which 'we' are you talking about?" A little more context would have been nice.

<comment><USER16> Yes, context is the magic word. Fiddling with the wording of titles, not so much.

</comment></comment></comment></comment><comment><USER18> As someone of roughly the same age, now with kids, I'm glad that the younger generation seems a bit more sensible. Possibly a case of extra disposable income and social attitudes needing some time to catch up to the realities of it.

<comment><USER19> Or they have a better ways to get high. There are a lot of options out there and in recent years some of them are tolerated more than before.

I think that in any generation the amount of vice is constant per capita, just its distribution and diversity differs.

<comment><USER18> Well, some vices are objectively worse than others. I think alcohol, despite being legal and socially acceptable, is pretty bad for you by various metrics. Hopefully whatever they've shifted to is better, not worse and the social customs around it lead to less dependency and misuse.

</comment></comment></comment><comment><USER20> Alcohol is too cheap; especially at UK universities where it is not even taxed! In addition all GSA events are organized around booze. The again you have Scandinavia with high alcohol taxes that don't do much to limit consumption apparently.

</comment><comment><USER21> I pretty much stopped drinking or 99% of my drinking after I turned the legal age (18yrs in Canada) because it wasn't fun anymore. It wasn't taboo. I started drinking at age 16, and drank only at parties if there were fun people around. Those 2 years are where I've done most of my drinking.

Fast forward 10 years after I turned 18, and in total, I probably consume the equivalent of two cases of 12 bottles of beer per year, if that which averages out to about 0.45 bottles of beer per week.</comment>


Why are amplitudes complex? - <AUTHOR> https://www.scottaaronson.com/blog/?p=4021 <comment><USER2> The reason amplitudes are complex is because a fundamental role is played in quantum theory by symmetry, and the imaginary number in an exponential (e^it) is a very algebraically convenient way to capture an important symmetry.

In quantum field theory, the lie algebra elements of certain lie groups (U(1), SU(2), and SU(3)) play a fundamental role. For example, the 8 quarks correspond to 8 lie algebra elements of SU(3).

A lie group is a continuous symmetry group (such as the rotation of a circle which leave it unchanged, as opposed to a finite group like the rotations of a square) and the lie algebra are the "generators" of lie groups in the same sense that finite groups can be generated, such as the symmetry group of rotations of a square can be generated by a single rotation of 90 degree's.

Here is the real kicker, the imaginary number _i_ is actually equivalent in a very strong sense to the lie algebra element of O(1) (which is just the rotations of a circle) and can also be represented by the matrix:

0 -1

1 0

as can be proven by taking the powers of this matrix and the powers of _i_ and simply checking everything.

<comment><USER3> Ex particle theorist here. I think this answer is a bit misleading. Symmetries in quantum mechanics do typically act via $e^{iHt}$, but this isn't why amplitudes are complex. It's a consequence of the fact that symmetries generally act via unitary transformations, but to even speak of unitary transformations, one must already have amplitudes which are complex.

A secondary complaint. None of the groups you mention play a central role in the machinery of quantum theory. They're important in some of the quantum mechanical models we use for particle physics. Arguably more important is the group R of translations in time. But even this isn't necessarily central. Quantum theory works just fine on curved spacetimes where time translation isn't a symmetry.

<comment><USER2> Great points, let me try and explain better where the group O(1) appears in basic QM. An amplitude in QM is only defined up to a global phase transformation e^it. To be more clear, given some amplitude A and a real number t, we will calculate the same probability for any measurement by using the amplitude Ae^it instead. Well there is the group O(1) right there.

What's super interesting is that this fact is literally the reason why _charge is conserved_. This can be seen by expanding our horizons and instead of only looking at Ae^it, we instead replace _i_ by its matrix representation, and then also add the matrix representation for the lie algebra elements of SU(2) i.e. the pauli matrices. Then for QCD use the 8 lie algebra elements of SU(3). This kind of progression seems very natural and intuitive to me, which is why I included this in the original comment.

I see math as very distinct from physics. Math is a language for understanding universal truths about abstract concepts, and as far as QM is concerned, I think what it says about nature is that there are a number of symmetries besides the ones found in classical physics. The mathematics of symmetry is all tied up with complex numbers, but it could all be done without it if you really wanted. I believe that by understanding the mathematics of lie groups and lie algebras we gain a much better understanding of the relationship between complex numbers and quantum amplitudes.

I even think the question "why are quantum amplitudes complex" potentially raises a number of red herring questions that wont help us understand nature better, when what we really should be focusing on is the role of the mathematics of symmetry in QM, not complex numbers.

(P.S. I am going from memory here and may have gotten some details wrong and apologize for being possibly misleading by accident, its hard to communicate this kind of thing but its fun to try)

<comment><USER3> You mean O(2), which is isomorphic to U(1). O(1) is a discrete group.

You're mistaken that the existence of this U(1) is the reason that charge is conserved. The U(1) you're talking about is the group of units of the complex numbers. It acts trivially in all quantum mechanical calculations, essentially because quantum mechanical states are actually rays in a Hilbert space.

There is a different U(1) which is related to charge conservation. It appears in models where one can defined a charge, and acts via $e^{iq}$ on the subspace of states of charge $q$. Note that the action of this group on Hilbert space is non-trivial! It acts differently on different subspaces. In models where this group is a symmetry, by definition, time evolution doesn't alter the charge eigenstates, hence charge is conserved.

</comment></comment></comment></comment><comment><USER4> In a nutshell, a Hamiltonian matrix (ie, the energy "Operator" matrix) must be Hermitian to have real eigenvalues. A Hermetian matrix means it's equal to the complex conjugate of its transpose.

Scott mentions in this article that his work on Quantum Computing and Quantum Information deals mostly with real quantum states, not so much complex.

However these are primarily discrete states. Ie, matrix operators and vector wavestates.

When working with position and momentum spaces, you need to deal with continuous wavefunctions, and the presence of complex numbers becomes more immediate. Eg, the momentum operator, as written in position space, has a factor of i, when showing that momentum is the generator of positional translations (p = -i hbar d/dx). This is also why the gradient term of Schrodinger's equation is negative (kinetic energy is proportional to momentum squared, so the i^2 makes it negative).

Similarly complex numbers appear with the Quantum Harmonic Oscillator when rearranging the Hamiltonian suit the ladder operators (or creation/annihilation operators).

</comment><comment><USER5> For a more intuitive explanation, this paper on the advantages of complex wavelets switched on the lightbulb for me why signals are complex in the first place:

[http://people.math.sc.edu/blanco/IMI/DTCWT0.pdf](http://people.math.sc.edu/blanco/IMI/DTCWT0.pdf)

<comment><USER6> I'm not sure how much of relationship there would be between the convenience of complex numbers in signal analysis and the appearance of complex numbers in the Schrodinger equation.

<comment><USER7> It can be seen as a matter of convenience in Schroedinger's equation too. Other representations of QM exist. For example, in the phase space representation we have a real function of positions and momentums. In the wave function representation we have a complex function of positions: the (square of the modulus of the) amplitude is related to the position and the (derivative of the) phase is related to the momentum. In the Scroedinger's formalism we can also go from the position representation to the momentum representation via Fourier transform.

<comment><USER6> While true, the convenience in the Schrodinger equation is due to a symmetry in nature which the algebra of complex numbers mirrors. The pattern of a symmetry in nature corresponding to a convenient algebraic object used to represent it happens in many other places including Pauli spin matrices. In signal processing complex numbers are useful for more purely mathematical reasons.

<comment><USER8> In most parts of physics there are literally things spinning.

In signal processing we can take any periodic-in-time signal and pretend it is a function defined on a circle parametrized by angle measure.

<comment><USER6> The complex precession in the Schrodinger equation doesn't involve angular momentum.

<comment><USER8> Depends on who you ask. [http://geocalc.clas.asu.edu/pdf/ZBW_I_QM.pdf](http://geocalc.clas.asu.edu/pdf/ZBW_I_QM.pdf)

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> As I am sure Scott knows, you can completely remove the complex amplitudes from your equations at the cost of storing the phase on a single ancila qubit.

Complex numbers are a qubit the universe gives us for free.

</comment><comment><USER10> A simpler possible explanation is that physical phenomena like the two slit experiment look like waves interfering the the simplest way to represent that stuff is with complex numbers. The fact that that's the simplest way to do the math doesn't necessarily mean reality is fundamentally that way - you can use the same math for interfering water waves and similar.

</comment><comment><USER2> I imagine a lot of people are going to be checking the comments here to find out what the answer to the question in the title is.

I believe this part is what the answer is supposed to be:

> "local tomography": i.e., the "principle" that composite systems must be > uniquely determined by the statistics of local measurements. And while this > principle might sound vague and unobjectionable, to those in the business, > it's obvious what it's going to be used for the second it's introduced. > Namely, it's going to be used to rule out quantum mechanics over the real > numbers, which would otherwise be a model for the axioms, and thus to > "explain" why amplitudes have to be complex

I will leave it to other to explain what this means in comments. For the record I don't think this explanation is correct, and strongly object. I don't think amplitudes "have" to be complex, it's just a mathematical convenience. If anything, the actual question we should be asking is: why are complex numbers so convenient.

<comment><USER11> > I don't think amplitudes "have" to be complex

You can of course formulate quantum mechanics in terms of strictly real numbers, e.g., the Wigner function. That's just a different representation of the same fundamental laws. (In that representation, it's easier to do some things and much harder to do other things.)

But that's not the alternative possible universe that Aaronson is considering. When he says "quantum mechanics with real amplitudes", he does not just mean a different representation of the same law; he means a totally different set of laws with dramatic experimental consequences (which of course aren't realized in the real world). The question in the post is "Why is the universe this way and not another way?" not "Why do we choose to use complex numbers in our description of the universe?".

To see this, it may help to know that there is an operational (i.e., representation-independent) definition of the relative phase between states. For real-amplitude quantum mechanics, that phase has to take real values.

<comment><USER2> The question of the relationship of complex numbers and QM is extremely interesting imo, and a lot of the article is devoted to this question, not sure I totally agree the subject at hand is why is the universe the way it is. Additionally, if by real amplitudes he meant a completely different set of laws, I don't see how that is relevant to a discussion of why complex numbers play such an important role in QM.

QM is really weird. One of its strangest properties is that although it contains classical mechanics as a limiting case, QM also required classical mechanics for its very formulation, see page 3 here [1]

When most people encounter QM for the first time, they want to come up with some "intuitive sounding" principles from which they can derive everything else. That's natural. Most people just give up at that and work on other things, other people take it really really far. So far no one has been able to do it, but who knows right.

In the article we can find this passage:

> A major research goal in quantum foundations, since at least the early > 2000s, has been to "derive" the formalism of QM purely from "intuitive- > sounding, information-theoretic" postulates

The entire approach of deriving QM from first principles without reference to classical mechanics may never work, not to mention that concept of "intuitive sounding" is highly subjective. Therefore, considering that there is no such set of axioms known at this time and the whole approach could be wrong, I find it objectionable to use this argument as a basis for explaining why amplitudes have to be complex.

[1] [http://power1.pc.uec.ac.jp/~toru/notes/LandauLifshitz- Quantu...](http://power1.pc.uec.ac.jp/~toru/notes/LandauLifshitz- QuantumMechanics.pdf)

<comment><USER11> > not sure I totally agree the subject at hand is why is the universe the way > it is.

I'm confident that is what Aaronson is discussing here.

> Additionally, if by real amplitudes he meant a completely different set of > laws, I don't see how that is relevant to a discussion of why complex > numbers play such an important role in QM.

He's not having a discussion of why, assuming that the laws of QM are what they are, complex numbers feature in the most elegant representations. You brought that topic up.

<comment><USER2> > In this post, I'd like to focus on a question that any "explanation" for QM > at some point needs to address, in a non-question-begging way: why should > amplitudes have been complex numbers?

I will take your word for it that

> The question in the post is "Why is the universe this way and not another > way?" not "Why do we choose to use complex numbers in our description of the > universe?"

but why then does he so prominently raise this question at the beginning, answer it later, and title his post "why are amplitudes complex?". I must be really out of the loop. Did I really get the subject of this post so badly wrong? Sorry about that. Is this not a very confusing way to go about discussing why the universe is this way and not another?

<comment><USER11> "Why are amplitudes complex?" and "why should amplitudes have been complex numbers?" are not the same question as "Why do we choose to use complex numbers in our description of the universe?". Aaronson is using "amplitude" to refer to _things out there in the external world_. He explicitly refers to other ways the universe could have been: "quaternionic QM [i.e., QM with quaternion amplitudes] allows superluminal signaling".

I don't know what to tell you except to read more carefully. It's philosophy of physics.

</comment></comment></comment></comment></comment></comment><comment><USER12> Is it possible to to construct probability amplitudes out of quaternions, etc?

<comment><USER7> I've not read TFA, but it mentions quaternions multiple times...

<comment><USER3> It's worth reading.

"But, while I remain less than 100% satisfied about "why the complex numbers? why not just the reals?," there's one conclusion that my recent circling-back to these questions has made me fully confident about. Namely: quantum mechanics over the quaternions is a flaming garbage fire, which would've been rejected at an extremely early stage of God and the angels' deliberations about how to construct our universe."

</comment></comment></comment><comment><USER13> Sure complex numbers are convenient for representing phase and amplitude.

BUT why is there a phase?

<comment><USER7> Because despite Schroedinger's equation being first-order in time, the imaginary diffusion coefficient makes it also a wave equation.

</comment></comment><comment><USER14> The short answer is that the observable parts of the universe like to spin around in circles and spirals.</comment>


Participate in the making of a product: from concept to creation - <AUTHOR> http://www.quirky.com

<comment><AUTHOR> These guys are brilliant, and this is definitely a hacker-friendly site. It will be interesting to see how this goes over. . . community-managed ideas and all.</comment>


Boogerman remake Kickstarter Campaign - <AUTHOR> http://www.kickstarter.com/projects/boogerman20th/boogerman-20th-anniversary-the-video-game?ref=live

<comment><AUTHOR> Those are some aggressive goals.</comment>


Ancient Man In Greenland Has Genome Decoded - <AUTHOR> http://www.nytimes.com/2010/02/11/science/11genome.html

<comment><AUTHOR> "This is the first time the whole genome of an ancient human has been analyzed, and it joins the list of just eight whole genomes of living people that have been decoded so far."

So there are still plenty of complete genomes yet to be done as the technology becomes less expensive. More cases will result in more information about variations among human beings.

"Biologists used to think that DNA would be found only in the cells at the roots of the hair, not in the keratin of which the hair shaft is made. But it now seems that the cells become incorporated into the growing shaft and their DNA is sealed in by the keratin, protecting it from attack by bacteria and fungi."

That opens up the possibility of complete genome sequences of more ancient persons. Permafrost is great for preservation of human remains. There will never be this level of detail for many persons from tropical zones.</comment>


Show HN: iOS Login Page - <AUTHOR> https://github.com/realpaliy/ios-login <comment><USER2> Am I the only one who finds subtle animations much more pleasant?

I think there is a reason why it's dark when the stage set of a theatre is being changed between scenes, but with user interfaces somehow any rearrangement must be a distracting visual gimmick these days.

Edit: Seriously, why do you need a hard change to a blue background only to then move a white cloud up across nearly the complete height of the screen?

[https://github.com/realpaliy/ios- login/raw/master/art/finalA...](https://github.com/realpaliy/ios- login/raw/master/art/finalAnim.gif)

<comment><USER2> After thinking about it more, maybe I am wrong and there is a use case for these animations:

Small children like to look at moving things.

So it depends on the target audience. Toys or educational Apps are different from the business / financial context implied in your demo.

<comment><USER3> Don't underestimate the number of _successful_ adults who treat their finances / business as a toy

<comment><USER4> There is a trend of infantilization within modern culture. This has been underway for some time now.

<comment><USER2> You are right, I found more on this:

[https://www.uta.edu/huma/agger/fastcapitalism/10_1/bernardin...](https://www.uta.edu/huma/agger/fastcapitalism/10_1/bernardini10_1.html)

</comment></comment></comment></comment></comment><comment><USER5> That is beautiful! One thing I've noticed tho from some of my older users is that they have no idea what the difference is between "login" and "sign up". I'm sure there's a better way to present that, but I haven't figured out how so far.

<comment><USER6> It is beautiful and it's a tough problem to solve--the login/signup is a big cause of friction and confusion to users.

I would wonder how many users notice the "Sign Up" link or read it as "Sign In" and not understand how to proceed.

The distinction between username and email is lost on a lot of people, unless you expect accounts to outlive emails and the value of having an account is worth this friction (think Dropbox or online banking) then use an email or phone instead.

I do wonder if for most apps a two-step process is easier: enter your email/phone to continue, if that exists ask them to logon or otherwise create an account. I realize there are concerns about account enumeration, which are valid, but end up being overly hostile to the user (plus most registration flows leak anyway).

<comment><USER5> Thats a good idea! I might try that.

</comment></comment></comment><comment><USER7> helpful mnemonic for remembering the difference between "log in" and "login": "I'm going to log in on the login page"

</comment><comment><USER8> On iOS the phone gifs are comically long.

<comment><AUTHOR> Hi. Are you talking about gifs in the README file?

<comment><USER9> Here's what I see on my iPhone running iOS 13.recent. [https://imgur.com/a/i9AQxkd](https://imgur.com/a/i9AQxkd)

<comment><AUTHOR> That's weird. It looks okay on my iPhone.

</comment></comment></comment></comment><comment><USER10> It's a pretty animation... so nice work on that front.

Regarding login in general, people are done with passwords. From a security perspective they are worthless in most situations. From a user perspective, no one wants to make a new one or remember a different one, so they reuse them.

The good thing is this greatly simplifies the flow.

1) Ask for the email address. 2) check it against your system 2a) user found -> send auth email link 2b) no user, make a new one

Done. 2 steps, no passwords, no double path / flow

<comment><USER11> I see many problems with that:

\- if you change your email address, or have any problem with it (oups, google has blocked you again!), you can't log in. Have been bitten by this when myopera.com closed and I couldn't access my old email. I lost some accounts.

\- emails are clear text, so bots can intercept a login link and use it

\- if you want to share the account with somebody, you gotta give them access to your email

\- I don't want my inbox to be polluted by 15 login email every day

\- using my password manager is much faster than doing this

<comment><USER10> We always include a backup code in the email you can manually paste in.

Do you need to login to things repeatedly? I mean, sure your bank... but what else do you log out of?

You and I use a password manager... but are they mainstream? My parents sure dont

<comment><USER11> > We always include a backup code in the email you can manually paste in.

It's going to help me with any of that. Can't access backup code if email is closed. Won't prevent bot from stealing the account. Won't help me with sharing the account, I'm not going to give the backup code to the person every time they need to login.

> Do you need to login to things repeatedly? I mean, sure your bank... but > what else do you log out of?

Banks. Stuff for which you have several accounts on the same service (I have 11 email accounts, 4 github accounts, 3 HN accounts, 3 reddit accounts). A lot of people have at least 2 fb accounts, one official and one personal, and most of them don't know about browser containers.

> You and I use a password manager... but are they mainstream? My parents sure > dont

No, and I expect they will never be. Auth is not a solve problem.

But email links are not the solution. At best, one login option, and a good way to start off.

Password auth should always be offered. It's the most neutral, balanced, resilient, privacy friendly, interoperable stuff we have for now.

<comment><USER10> Thanks for sharing, lots of good thoughts.

I definitely don't use this method for security conscious content / apps. Mostly for simple stuff with minimal to no private content.

</comment></comment></comment></comment></comment><comment><AUTHOR> Also, you can check out my recent post about my messenger, which presents another design of iOS Login Page. [https://news.ycombinator.com/item?id=22516065](https://news.ycombinator.com/item?id=22516065)

<comment><USER12> Nice work! Thanks for sharing.

</comment></comment><comment><USER13> Whatever, as long as they support the password manager.</comment>


Google Actually Advertising Something? Chrome Ads Appear on LinkedIn - <AUTHOR> http://mashable.com/2008/11/14/chrome-ads-on-linkedin/ <comment><USER2> Thinking abuot it, advertising on LinkedIn makes a lot of sense for them: they want business users to move away from MS Office and onto Google Docs, which runs much better on Chrome than Firefox or IE.

</comment><comment><USER3> Very interesting. I still contend that Google is taking a slow methodical approach to this browser. They're not content to just be bystanders in the browser war, they've yet to begin to fight.

</comment><comment><USER4> does anyone actually use chrome? I used it for a few days, then went back to firefox since its a more complete experience.

<comment><USER5> I think Chrome is not yet ready for everyday use for everyone. It must be just the people who like to peek into the possible future who should be interested in Chrome beta

i.e Google clearly stated that browser's robustness is the top priority, therefore plugins run in their own thread, and as of now Flash looks choppy. This is completely understandable for a technology demo, and it would be understandable if it will take quite some time to iron out, but unacceptable for real-world usage</comment></comment>


Where does Ruby go from here? - <AUTHOR> http://blog.sefindustries.com/the-happiness-manifesto/ <comment><USER2> I think this is a great idea. The ruby community is a wonderful thing, and part of that is reflected in the technology.

However, the original Agile Manifesto was powerful because it made tradeoffs. "We value X over Y", even when Y is a valuable thing. For this HDD thing to take off, it has to make the similar tradeoffs explicit.

For example:

      We value readable code over runtime performance.
      We value open-source frameworks and libraries over developing for popular ecosystems.
      We value inclusiveness, diversity, and respect over pure meritocracy.
      We value teaching, learning, and improving our craft over short-term productivity.
      We value creating wealth over capturing wealth.

<comment><USER3> The Agile Manifesto is the opposite of tradeoffs.

"We value X over Y" is not a trade off, it's a dogmatic claim.

"We should do X in these conditions and Y otherwise" is a trade off.

For each of the items you list above, I can come up with a few scenarios where doing the opposite of what the Agile Manifesto says would be the better approach (and that's probably one of the main reasons why hardly anyone takes that Manifesto seriously these days).

<comment><USER4> There's that bit at the bottom of the Agile Manifesto: "That is, while there is value in the items on the right, we value the items on the left more." I think the spirit of it is to try and discourage outright dogmatism. That said, I'm coming to think of the Agile Manifesto as a collection of four rather ugly false dichotomies. It's the assumption that those 4 pairs of things are somehow separable that's what's really dogmatic about the manifesto.

For example:

Processes and tools can often be one of the best ways to improve interactions among individuals. See Scrum, which is hardly a panacea but sometimes it works wonders.

For a large project, comprehensive documentation is essential to producing working software. Ideally the documentation should be so comprehensive that it pervades the very fabric of your application in the form of good factoring, command-query separation, etc.

Contract negotiation can be an important first step in customer collaboration. Everyone needs to know where everyone else's needs, boundaries and comfort zones are.

Without a clear plan, how can you be sure of the best way to respond to change? See: Duke Nukem Forever, WinFS, RIM.

</comment></comment></comment><comment><USER5> If you're writing a manifesto, you should be able to test future decisions by running them past the criteria in the manifesto. The first four statements are great in that regard, but the next six are a little fuzzy.

It might help if the manifesto is clearer on what you don't value. Mission and vision statements are often meaningless because you can stretch a positive statement to include almost anything. The Agile Manifesto is great because it uses contrast to clarify what it values most.

In some of the statements, the contrast seems to be implicit and that's fine. ("I value an environment conducive to all levels of experience." I assume that means we don't want an environment for only beginners or only experts.)

Other statements, though, are harder to figure out. ("I value software development as a craft." Does HDD cater to "craftsmen" as opposed to hobbyists? Or is this in opposition to "professionals"? Or are we talking about relationships and apprenticeship?)

I think this concept has a ton of potential. Can't wait to see where it goes next.

EDIT: It appears tmorton was thinking the same things and used far fewer words to say it.

<comment><AUTHOR> Really good points-Definitely will add some contrasts to help clarify. Feel free to submit a pull request with your ideas!

</comment></comment><comment><USER6> I don't want to leave ruby, but at the end of the day, it's slow. Jruby is pretty decent, but the clunkiness of the JVM takes the fun out of it.

Maybe it's just the lack of a corporation pouring billions into it like google did with V8, but I suspect that ruby can never be fast, due to ObjectSpace and the like. That awesome/insane object model we all like so much is just impossible to optimise. All the other weird shit ruby can do doesn't help.

[http://blog.headius.com/2012/10/so-you-want-to-optimize- ruby...](http://blog.headius.com/2012/10/so-you-want-to-optimize-ruby.html)

Still, for stuff that doesn't need to be fast, ruby is still a joy to use, and always will be. The enumerable API feels so fluid, it's only really surpassed by languages like clojure in my experience.

As you might be able to guess, I'm looking forward very much to swift becoming a general purpose language. If apple are all funny about it and try and neuter the ecosystem for some reason, I will be a sad panda.

<comment><USER7> Now I'm starting to wonder if it would be possible to adapt V8 directly to use other dynamically-typed scripting language, like the Parrot project was intended to do. A language parser at the front, V8 in the middle, and the language's standard library in the back.

Node.js demonstrated the power of V8 with an alternate stdlib, perhaps an alternate language in front is possible too? Then again, probably V8 is at the very least heavily entangled with Javascript's type-system.

<comment><USER8> Apple's FTL [1] is probably a better way to go. It's a high-level, general- purpose JIT for LLVM that is being used by Apple's own JavaScriptCore in WebKit. There was a discussion about it on HN a while back [2]

Last I checked, V8 was highly JS-specific, and you would have to rip out and replace large parts of it.

[1] [https://trac.webkit.org/wiki/FTLJIT](https://trac.webkit.org/wiki/FTLJIT) | [https://www.webkit.org/blog/3362/introducing-the-webkit- ftl-...](https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/) | [http://blog.llvm.org/2014/07/ftl-webkits-llvm-based- jit.html](http://blog.llvm.org/2014/07/ftl-webkits-llvm-based-jit.html)

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

</comment></comment></comment><comment><USER9> I wish "I value performance and user experience" was on there.

I'm not sure how happy you should be as a self centered developer with no empathy for the people using your software.

Sometimes software can and should be ugly if it makes for a better end product.

<comment><AUTHOR> Full free to submit a pull request. The idea is to make sure the tools and practices make it so a developer is happy writing good, performant code with a good user experience. If the code is ugly and hard, people won't do it.

<comment><USER10> "Make a pull request" is an awful suggestion and, honestly, a cop out. Most of don't have time to tune a programming language or framework, we'll just use a better tool and move on. Slow but pretty code is a brain dead goal.

</comment></comment></comment><comment><USER11> >\- I value respect and tolerance to all in my community

What does that even mean? If a Time Cube guy shows up, does it mean I'm just supposed to politely ignore/shadowban him?

Does it mean I can't use "master-slave" replication?

I _think_ what that line is supposed to mean is "I value not being needlessly abrasive to people" and "I value ignoring unrelated-to-my-project aspects of people".

That is, even if you have some belief or participate in an activity that I find abhorrent, if it's not relevant to the project we're working on, I value avoiding talking about such things so we can focus on the project.

</comment><comment><USER12> No doubt promoting happiness in the development community is a worthy goal, but there is a lot of variety in what makes different software developers happy, and inevitably their priorities will sometimes conflict.

For example, the principle that a programming language should be optimised for the programmer and not the computer seems reasonable. However, what if a programmer works on projects where performance matters, and we haven't figured out how to implement certain language features in an efficient way yet? It may be true that under some conditions saving a programmer time is more valuable than shaving a few seconds off at run-time, but there are many situations where this is not the case.

More subtly, programming languages that are easy to parse, that represent their source code in a well-structured way, and that have clean semantics are friendly to tool developers. I imagine many programmers are happier with a language that has good refactoring, debugging, profiling and testing tools available, and which plays nicely with their favourite editor, diff and version control systems, and code review tools. Again, there might be a trade- off between adding a new language feature, which in itself might be useful for the programmer, and keeping the language simpler or more cleanly structured, which might encourage effective automation and tooling.

<comment><AUTHOR> It's a community at the end of the day, and having conflict like that is actually good. We should have people with different use cases and problem sets sitting in the same room sharing ideas. That's how we can improve as developers.

<comment><USER12> No argument there from me. I'm just not sure it's possible to have a single manifesto you can promote in that environment, because the goal of the manifesto is essentially to represent a consensus that can't exist. What you wind up with is the least common denominator, but the most interesting and useful discussions are usually in precisely the areas where there are reasonable differences of opinion or priorities and therefore significant decisions to be made.

</comment></comment></comment><comment><USER13> I think the single best thing that Ruby can do in terms of making me even happier is to make concurrent programming easier.

I love Ruby and the Parallel gem ([https://github.com/grosser/parallel](https://github.com/grosser/parallel)) makes certain stuff easier, but I feel like every month or so I spend hours just trying to figure out the proper way on how to parallelize

<comment><USER14> Have you looked at the Julia language? [http://julialang.org/](http://julialang.org/)

It has semantics very similar to Ruby or Python, but it has strong built-in language-level support for parallel computing: [http://docs.julialang.org/en/latest/manual/parallel- computin...](http://docs.julialang.org/en/latest/manual/parallel-computing/)

</comment></comment><comment><USER15> I would love Ruby to become the goto "glue" language between different platforms and applications. I confess to not being more than a layperson in Perl, even though Ruby is heavily inspired by it...could Ruby ever replace Perl as the "Swiss-army chainsaw of scripting"? Or are their technical hurdles (such as performance) that would keep Ruby from being that kind of status quo?

<comment><USER16> Do you have any experience with Python? IMHO I think python fits that niche better than ruby or perl.

<comment><USER17> Ruby is generally more concise and easier to write though probably harder to maintain.

For example, when shelling out, ruby lets you do it many ways, including the familiar backtick syntax. In python, you shell out with popen -- you need to contruct argument lists, wire up stdout and stderr, etc.

Python's way might actually be better (more explicit, less ambiguity, easier to handle errors) but often you might just want something that's simple and readable.

For the record, there are nicer python APIs and safer ruby APIs. These are just general comments on the different ecosystems.

<comment><USER18> Try the python 'sh' module ([https://github.com/amoffat/sh](https://github.com/amoffat/sh)). For example:

      from sh import git
      print git('version')

</comment></comment></comment></comment><comment><USER19> All I need from Ruby is an extension that allows sections of programs to be completely static typed thanks to explicit type hints. Not for the speed, just for the ability to catch errors at compile time.

</comment><comment><USER20> _> But we have technology needs that aren't going to always be well served by Ruby_

What are some examples?

I'll start with heavy number crunching (Go/C) and browser-based apps (JS)

<comment><USER21> Concurrency (Clojure, Erlang)

<comment><USER22> Not MRI, but JRuby + [http://akka.io/](http://akka.io/)

There are also some great gems like Celluloid to help. That said, it's not the same as built-in concurrency.

</comment></comment></comment><comment><AUTHOR> Github Issue #2: What do we do after we value something? [https://github.com/scottefein/the-happiness- manifesto/issues...](https://github.com/scottefein/the-happiness- manifesto/issues/2)

Lend your two cents in the comments...

</comment><comment><USER23> I like the sentiment of this manifesto.

But I don't like that it starts with a machine and code focus. Shouldn't people be first?

<comment><AUTHOR> It's about taking our main tool as developers and making sure it works for us.

</comment></comment><comment><USER24> The Happiness Manifesto? Happiness-driven developers? Enough, already. This is an interesting time for computer programming and computer science in general. We're witnessing the coming of age of a very important profession. We owe it to ourselves to advance this profession by developing a body of knowledge based on scientific, mathematical, and engineering principles, as well as empirical observation of what has worked and what hasn't. What we don't need is cultural manifestos and middle-management buzzwords.

<comment><AUTHOR> We're talking about a community where some of the brightest minds already don't come from a traditional background. Several well-known Rubyists have degrees in Theatre and Music. The community is where all the value is-that's where the innovation is coming from. People build products, so culture is essential.

<comment><USER25> As for the Theatre and Music... we can see the results... and the results are: Ruby is going from 1% people using it to 0.1%. The people that actually have to make things work have left Ruby.</comment></comment></comment>