Synchronous Messaging at Mozilla: The Decision - <AUTHOR> https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-the-decision/50620 <comment><USER3> I'm pleasantly surprised! They took the route of "promising but underdeveloped technology" rather than settling for a well-developed solution that compromises their principles (which, frankly, I wouldn't have faulted them for; at the end of the day you still have to get work done). With luck maybe we'll see Mozilla contribute to Matrix? There is, after all, an implementation written in Rust: [https://github.com/ruma](https://github.com/ruma)

<comment><USER4> The last ruma commit was in August, which was after a long period where nothing happened at all. Is the project dead?

<comment><USER5> No, the last commit was two days ago: [https://github.com/ruma/ruma- events/commit/c7d7212b000e324b9...](https://github.com/ruma/ruma- events/commit/c7d7212b000e324b96cc66c252e77c6297fdfda7)

It is a bit hard to follow their project since they have split it up in so many tiny repos. I personally prefer when a set of closely related crates are developed in one mono repo.

<comment><USER6> For rust it's sometimes useful to split it like that, because it makes it easy to publish small subsets of your project on cargo. Say you develop a custom datastructure, or an extension on Streams.

The same applies to other languages to some degree, but crates/cargo just makes it very painless to grab crates that are on a seperate git.

<comment><USER5> But Cargo supports having multiple crates in the same git repo. Many projects do this like regex (regex and regex-syntax are in the same repo) and openssl (openssl, openssl-sys, openssl-errors). Maybe I am missing something but it seems very easy to handle multiple closely related crates in the same repo.

<comment><USER3> What makes this possible is Cargo's "workspace" feature, which is relatively new enough that it's not hard to imagine that some older projects may simply predate it.

<comment><USER5> Hm, I have been doing this just fine without using the workspaces. What am I missing?

<comment><USER7> Cargo workspaces are more of an optimization in that they let all the crates in your project share the same output directory[0], so built dependencies can be shared among every crate, as opposed to each crate needing to (re)build all of its dependencies independently.

This helps to reduce compile times when working on projects where you frequently switch between crates.

[0] [https://doc.rust-lang.org/book/ch14-03-cargo- workspaces.html](https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> So after testing matrix and riot with friends for a couple of months, there're still a ton of work to be done. We all used the most common setup - matrix.org homeserver, riot and riotX as apps. (Also please don't point me to dev version, I am only considering what's in stable.) Random stuff not in particular order:

1a) e2e is a choice that affects experience in riot, a lot - you can't use search, you don't see recent images/files ...

1b) you have to verify each others devices, N:M; although they're working on a change

2) I hoped that riotX will be a lot better at the end of this year, but there're still lots of bugs, messages get stuck at the bottom, mobile - <USER2> e2e can't be decrypted sometimes, you have to have another device online; and you can't even zoom in or save an image that's sent to you which is infuriating

3) matrix.org homeserver performance, although a lot better now is still sometimes utterly slow

4) riot is still missing crucial functions like copy entire message, online status, jump to date, and lacking any good notification system(the current one is really simple/stupid) and you can't even enable notifications without sound e.g.

4) also it's still lacking custom emote support although many ppl asked, there's no option to pin/save messages...

<comment><USER9> 1a/1b and 2 is where all our work is going currently. We're trying to get E2E on by default in Jan, and likewise exit beta for RiotX/Android around the same time. We're going as fast as we can.

3: Matrix.org homeserver performance should be absolutely fine now. Delays when doing things like joining big rooms are unrelated to the hardware, but perf optimisations we need to do to synapse in general. They're on the radar.

4: This is literally the first time i've heard an ask for 'copy entire message'. The other features exist in labs, and yes, we need to fix notifs and add custom emoji. "Many people asking" doesn't magically produce features unfortunately, especially when we are battling points 1 & 2\. Contributions help though. Thanks for testing though.

<comment><USER10> After spending several months convincing a few friends to use Riot, the ongoing fiasco with E2E has caused all of them to leave within a couple of days. Obviously they're unlikely to ever come back.

It's a real shame. These are technical people who don't particularly mind verifying a key by hand. In fact I personally even prefer it.

The problem is not only that certain things are not done automatically, but that the UI is designed to make it difficult to do them even manually!

E.g., I have one device 'foo' which you already trust. I add a new device 'bar'. Why on earth would you want to verify its key manually when I could just send you the new key from 'foo' which you already trust?

Even worse, the key for 'bar' is not straightforwardly available anywhere in the UI on device 'foo'. It should be easily viewable in the right hand pane where the list of devices is, but it's not. The only way to get the device ID and key is to send a message from 'bar' to 'foo' and view the details of the message. Why?

<comment><USER11> > Obviously they're unlikely to ever come back.

I recognize this is a common attitude, but it makes no sense to me.

Some software you tried today isn't designed in a way you prefer, so you go back to using something else. Okay. Makes sense.

But to declare the whole project forever hopeless as if it can never be improved upon because the snapshot of your first experience with it was negative is truly irrational.

<comment><USER10> Keep in mind the only reason they tried the software is that I regularly pressured to do so for months, before they finally caved.

After all that they quickly come to realize that something simple like adding a new device is a massive pain in the ass.

It's not that they declare the whole project as forever hopeless, it's that they invested time and effort into trying it already and it turned out (for them) to be a waste.

It's just a bad taste left in the mouth. In order for them to try it again, they not only have to overcome their natural laziness/time constraints, but also the rather unpleasant memory of the last time.

<comment><USER12> The same thing happened to me, but I am thinking of having another go and just discouraging the use of E2EE. (The community I'm thinking of is currently on Slack, so there would be no marginal loss of privacy.) Have you considered that, or is your group already using another E2EE platform that isn't a massive pain in the ass? I've yet to discover one myself.

<comment><USER10> They all use Signal, with varying degrees of dissatisfaction. I'm the only one who doesn't have a Signal account.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> This is really good news. I have only one question for Mozilla: why choose a solution whose hallmark is decentralization and the libre model- only to become a customer of a centralized host (modular.im). Why can't Mozilla actually federate? That's a step backward from your IRCd in my opinion.

I hope Mozilla gets onboard with everyone else running their own Synapse, hacks on it, and pay their dues with patches, rather than with their cash.

<comment><USER14> If Mozilla will use their own domain name they will be free to move their federated Matrix instance wherever they want. Modular.im will only provide the hosting expertise. I expect that in the future self-hosting your own Matrix server instance will become much easier.

<comment><USER15> It can be a bit onerous, half the convo in our matrix room is about updating matrix.

<comment><USER14> I don't have experience with running Synapse but it looks like a beast. Dendrite and Ruma look very promising though; can't wait to have a lightweight home-server ready for prime-time.

</comment></comment></comment></comment><comment><USER5> Nice, given how the discussions were going some months ago I was worried that they would pick some closed source solution like Discord or Slack. I have not used Matrix so I do not know how good it is, but I do not like the lock-in of Discord and Slack.

<comment><USER16> Agreed, this is a huge relief. I was getting quite worried that Mozilla would go to Discord, like Rust and other projects have done. I don't know anything about Matrix, but I know it's free, and if it has Mozilla's endorsement, now I'm actually curious to try it... maybe even via an IRC bridge!

<comment><USER17> FYI #rust-beginners is on discord, but many of the teams have transitioned to Zulip because it has threads. I'd love if Zulip was OSS, but at least it's a highly innovative company that's improved a lot on the UX of IRC (far beyond not needing to setup a bouncer).

The mismatch between Discord's targeted audience of gamers can get funny at times. One rust dev has had their status we to "playing systemd" for days.

Edit: How did I miss that Zulip is open source??? Thank you to the commentators who pointed this out, you made my day :)

Edit2: Just learned what I said about rust decision-making was totally wrong. Thanks to Rob Pike in the other thread for his detailed comments.

<comment><USER18> I wouldn't describe Zulip as coming from the IRC tradition -- it was built by MIT students as an improvement on MIT's Zephyr. There's a split between line- at-a-time messaging like IRC or Slack, and paragraphs-at-a-time messaging with per-message channels like Zephyr, Gale, and now Zulip.

I really miss the paragraphs style.

<comment><USER19> Wait, why can't you type a paragraph at a time in IRC?

<comment><USER18> I said "paragraphs-at-a-time", not "paragraph-at-a-time". You can't type paragraphs at a time on IRC because a single message can't contain newlines.

But even then, paragraph-at-a-time is hard on IRC because there's a max line length that's surprisingly short (and usually just truncates the rest of your message once you exceed it!), and just because you'd stand out as being the person writing much more than everyone else and being slow to reply. IRC simply isn't a medium designed for carefully considered thought like that.

<comment><USER16> > a medium designed for carefully considered thought like that.

"Sorry this is so long. I didn't have time to make it shorter."

</comment></comment></comment></comment></comment></comment></comment><comment><USER20> Congrats to Riot/Matrix.

I'm hoping with Mozilla's backing the product, there's a lot of features that get built out.

There's no reason this cant be a Slack-beating product now.

I'm betting a Rust based homeserver replacing Synapse.

<comment><USER21> The official successor to Synapse homeserver is Dendrite written in Go ([https://github.com/matrix-org/dendrite](https://github.com/matrix- org/dendrite)). There is homeserver project in Rust called Ruma ([https://github.com/ruma/ruma](https://github.com/ruma/ruma)). Ruma was waiting for async/await to stabilize. But it doesn't seem to have much activity even after that.

<comment><USER3> It looks like Ruma was waiting for an async web framework to emerge, and the web frameworks were waiting on hyper to upgrade, and hyper was waiting on h2 to upgrade, and h2 was waiting on http to upgrade, and http was waiting on bytes to upgrade, and everyone was waiting on tokio to upgrade. In the six weeks since async await has stabilized, the web framework that my company uses has only just managed to upgrade to stable async/await last week. I wouldn't fault Ruma for waiting for other frameworks to upgrade before making a choice.

<comment><USER21> Thank you for that perspective. I apologize if it sounded like I am blaming Ruma - just waiting eagerly for its development.

<comment><USER3> No problem. :) I just don't want potential contributors to write off Ruma as something worth looking at, especially since with this announcement it ought to be be more relevant than ever. And having multiple independent implementations of a federated protocol is very important to proving out the specification (the Ruma author has already filed several bugs against the spec as a result of implementing it).

</comment></comment></comment></comment></comment><comment><USER22> New Vector ([https://www.vector.im/](https://www.vector.im/)) is hiring more designers to come work fulltime on Riot's UI and UX as they shift Riot's focus from being developer-led to design-led.

That's great news!

[https://apply.workable.com/new- vector/j/6CB817C79E/](https://apply.workable.com/new-vector/j/6CB817C79E/)

<comment><USER23> Fantastic, though I wish they weren't burdened with such a bad name. I wonder if they would ever change it...

</comment></comment><comment><USER24> Can't wait for Mozilla to back a stable, native desktop client into a daily driver state so we can finally ditch Mattermost at work.

<comment><USER25> Seriously, I feel like it's such an indictment on native app tool development that we have a bazillion new electron apps written by ppl all the time for weekend projects yet almost no one spitting out native apps to interface with services.

It's clearly in demand (if a bit of a niche kind of demand)

<comment><USER26> You answered your own question.

You can write a pretty and functional Electron app in a weekend.

To implement the same level of functionality and prettiness in a native app toolkit like Qt is at least a month of work.

It's the same story as Python versus C, or C versus Assembly.

When C was introduced, the old-timers had the same complains like we do today: why would you program in such a slow and inefficient language? Real programmers (TM) use Assembly, C is for lazy people who don't want to learn and who don't care about the awful resource wasting. 3 KB for a hello world? That's an absolutely ridiculous level of bloat.

<comment><USER27> > You can write a pretty and functional Electron app in a weekend.

You can also do so in Qt and other frameworks.

The fact that you are proficient in web frameworks does not mean other tools are less productive.

In fact, being proficient in modern web dev, including HTML, CSS, JS, TS, React, etc. takes way longer than learning something like Qt. And if you go to easier frameworks like Delphi or VB6, you would be amazed at the productivity speed.

<comment><USER19> _" In fact, being proficient in modern web dev, including HTML, CSS, JS, TS, React, etc. takes way longer than learning something like Qt."_

But there are already a ton of web developers who already know those web development technologies, but don't know Qt. So it would be extra effort for them to learn Qt. Much easier to just use React.

The same thing goes for why there so many academics write Java apps for their proof-of-concept research work. That's what they're taught in school and for many that's all they know.

Curiously, Python was able to make huge inroads in to the academic community, but that was largely due to having a killer app (Jupyter notebooks) along with having a bunch of desirable tools for scientific computing, data processing, and visualization. I'm not sure if there's anything as compelling in the Qt ecosystem that would be as attractive to web developers who already know HTML, Javascript, React, etc.

</comment></comment></comment></comment></comment><comment><USER28> Has anyone had experience with both Matrix and Mattermost? What are the main differences between the two?

Apropos of nothing, currently I am running:

      * Signal
        * Wife
        * Family
      * Google Hangouts (web)
        * Friends and ex-coworkers
      * Slack
        * Vendor A
        * Vendor B
        * Team C
        * Team D
      * Keybase
        * Some friends
      * SMS
        * My Stepdaughter
      * Skype
        * Coworkers too stubborn to open Mattermost or change what they do
      * Mattermost
        * Coworkers
        * Various teams and groups
      * Remote Desktop
        * Microsoft Teams
          * My team
          * Client coworkers
          * Other teams at client
        * Microsoft Skype for Business
          * Chats from people who don't use MS Teams
          * Meetings
      * Gitter
        * Spacemacs chat
      * IRC (web)
        * Various random channels

Out of all of those, only SMS isn't on my macbook, and I'm sure I could put it on there if I wanted to.

<comment><USER29> I really wish Telepathy took off, then you could have one single app that speaks each of those protocols and talks to the relevant servers.

[https://telepathy.freedesktop.org/](https://telepathy.freedesktop.org/)

<comment><USER30> Matrix has bridges to many different chat systems

<comment><USER29> The bridges are server side, so you have less control over what they do.

</comment></comment></comment></comment><comment><USER31> This screenshot [https://discourse-prod- uploads-81679984178418.s3.dualstack.u...](https://discourse-prod- uploads-81679984178418.s3.dualstack.us- west-2.amazonaws.com/optimized/2X/e/eb4fca27c1cbaa588c150e981f8f8eb94ed3cdb6_2_690x458.png) shows a UI that seems way wore easier to grip than the riot UI. I remember screenshots [https://img.bfmtv.com/c/840/625/06e8/68cd7316f6a279a3899fcf8...](https://img.bfmtv.com/c/840/625/06e8/68cd7316f6a279a3899fcf81dfd7.jpg) [http://www.tchap.fr/wp-content/uploads/2019/05/interface- tch...](http://www.tchap.fr/wp-content/uploads/2019/05/interface- tchap-800x582.png) of the client used set up by the France efforts.

Are those clients ever going to be released to the general public ?

<comment><USER9> the first image is Riot circa 2015 (back when it was called Vector). You can run it if you really want from [https://riots.im](https://riots.im).

Tchap meanwhile is opensource at [https://github.com/dinsic- pim](https://github.com/dinsic-pim) and there are unofficial builds which let you use it as a general purpose Matrix client.

However, we're busy improving Riot's UX in general to make it easier to grip - on Mobile that ends up being a rewrite (RiotX), on Web we're iterating incrementally.

<comment><USER31> Ah, cool ! I am off to installing tchap then.

Really glad to hear you are upgrading the game on the front-end/UX/UI !

edit: well, I give up :D. Been playing for 40 minutes with yarn build/dist and config.json and missing olm and async_hooks dependencies.

</comment></comment></comment><comment><USER32> Congrats to Mozilla and matrix.org! I am at least very happy they went with a FOSS solution.

</comment><comment><USER33> > effectively using Matrix as a big decentralised IRC bouncer in the sky.

No. In theory it is, but in practice it's a big _centralized_ IRC bouncer in the sky where everyone is reliant on riot.im servers.

<comment><USER9> Not really: anyone can run an IRC bridge, and many people do. The #mozilla_#wherever:matrix.org namespace is the preexisting moznet bridge run by Matrix.org (not Riot.im), but anyone with their own server could also run their own bridge, much like they could run their own bouncer today. There is then additional decentralisation from the fact that the room history is replicated throughout all the participating Matrix servers.

<comment><USER33> Anyone can, few do. At least in terms of what I see on the 20 IRC networks I'm connected to. The only one where people actually tend to run their own Matrix servers is on OFTC with the Freedombox ([https://wiki.debian.org/FreedomBox](https://wiki.debian.org/FreedomBox)) people. On Freenode I don't think I have ever seen someone connect from a Matrix server that wasn't riot.im since the creation of the Matrix protocol.

<comment><USER9> How would you even know, though? When running personal bridges I just have them auth as my normal user account like a bouncer. Or are you looking at CTCP versions?

<comment><USER33> The 'Real Name' field shows where they're proxying in from. Like the normal riot.im "@username:matrix.org" or self-hosted "@username:theirserver.address.tld". Is this an option that isn't the default for most matrix bridges/clients/whatever?

I guess if it doesn't show in their realname field I wouldn't see it. But I imagine since the defaults seems to be what I described above the amount of users that turned that off will be fairly small and irrelevant.

</comment></comment></comment></comment></comment><comment><USER34> I'm curious, what's wrong with IRC? Is it too old? Too difficult to monitor and moderate? Too easy to spam? I don't understand.

I've never really understood why mozilla chose their own servers and not freenode. I've never really grasped the whole history of enet vs freenode either.

<comment><USER5> Mozilla has said they thought it was too difficult to monitor and moderate. Could that have been solved by moving to Freenode? Probably, but there are other issues with IRC.

Having to run your own IRC bouncer increases the barrier of entry, as does nickserv based auth. Modern people also expect to be able to seamlessly post images, large code examples, files, etc. Some people also want support for threaded conversations. None of this is offered by the typical IRC setup which Mozilla probably thinks that it scares away users. I do not think Matrix solves all of these yet, but it solves some of them.

</comment></comment><comment><USER35> I've always asked this question : Can't we make better IRC clients yet, more Slack like, but just works over traditional IRC?

<comment><USER36> Yes.

See [https://ircv3.net/](https://ircv3.net/).

An example: [https://blog.irccloud.com/slack- integration/](https://blog.irccloud.com/slack-integration/)

</comment></comment><comment><USER37> Is there a low-friction way to give Matrix a try? Like a Hacker News channel that you can join with a web client or something?

<comment><USER38> Riot is a popular Matrix client and a good place to start., pointing your browser at [https://riot.im/app/#/welcome](https://riot.im/app/#/welcome)

I'm unaware of a hacker news matrix channel (perhaps others can enlighten me), but joining the Matrix HQ channel ([https://riot.im/app/#/room/#matrix:matrix.org](https://riot.im/app/#/room/#matrix:matrix.org)) is a good place to learn more about Matrix.

<comment><USER9> There's [https://riot.im/app/#/room/#hn:matrix.org](https://riot.im/app/#/room/#hn:matrix.org), but it's sadly very dead and not bridged anywhere useful. Is there actually a good chat community for HN anywhere?

</comment></comment></comment><comment><USER39> Any one knows the progress of dendrite? Have not used matrix/riot for a while. It was too heavy to run awhile back. Hopefully they make the client and server more light weight.

<comment><USER40> We've just hired a new full-time employee to work on Dendrite and p2p matrix. Expect rapid progress on Dendrite as of a few days ago.

[https://github.com/matrix-org/dendrite](https://github.com/matrix- org/dendrite)

<comment><USER9> (two new employees actually ;P)

</comment></comment></comment><comment><USER20> Are you guys planning "private communities" usecases ?

When I last evaluated Riot, it was vehemently public...so Slack/Mattermost like usecases were very hard to do.

Ideally a private community should be possible, where users invited to that community have access to all channels. however within the community, I should have private channels restricted to only few invited users.

I was told that the only possible way to do this was make all channels of a community private ..and when adding a new user, you should explicitly invite to every single one of the channels. This is not viable for an org.

I really hope this has changed.

<comment><USER30> AFAIK it is planned but not done

<comment><USER30> [https://github.com/vector-im/riot-web/issues/5857](https://github.com/vector- im/riot-web/issues/5857) or [https://github.com/matrix- org/synapse/issues/4762](https://github.com/matrix-org/synapse/issues/4762)

</comment></comment></comment><comment><USER41> I really hope this means more development and focus on building great mobile apps for Matrix. For the past four months the Riot Android app has had this bug where login state expires after a day and the app gets stuck in an infinite loop trying to refresh the token. Supposedly a fix was merged [1], but after four months of not being able to use Riot (and thus Matrix) my friend group has fallen back to Discord.

[1] [https://github.com/vector-im/riot- android/issues/3249](https://github.com/vector-im/riot-android/issues/3249)

<comment><USER42> Have you tried RiotX [https://play.google.com/store/apps/details?id=im.vector.riot...](https://play.google.com/store/apps/details?id=im.vector.riotx) Most efforts are going to this new android client. The issue you refer to has been properly handled on RiotX (soft logout)

<comment><USER41> I don't think this issue is related to soft logout, which is what happens when the user logs out of a device remotely. The issue I was running into was that the app, after 24 hours of being logged in, would get stuck in an initialization loop.

<comment><USER42> Sry, to be more precise, token invalidation has been properly handled in riotX as part of the soft logout feature;

<comment><USER41> Oh, awesome! I just installed Riot 0.9.9, so I'm going to test that out and see if the issue occurs. After that I'll switch to RiotX and check there as well and report any issues I find.

</comment></comment></comment></comment></comment><comment><USER43> Are there any other projects using this setup? Also, any write up on the compelling reasons to switch? Are they hoping this move will attract more contributors? Article is unclear.

<comment><USER44> Compelling reasons to switch: it's an open standard, it's federated (so you can own your own server and avoid vendor lock-in), it has end-to-end encryption, it supports bridging with many other protocols, there's quite a growing ecosystem of tools and libraries around it, etc.

The protocol itself is designed to be really flexible in the kind of data you can send through it (and therefore automatically propagated to and synchronized with other servers) so it can support a lot of different use cases. This includes standard chat app things like audio/video calls but it could also be used for stuff like forums or even serve as a backend for syncing information between organization (I'm thinking of things like medical information between health institutions).

All in all, there's a lot of potential in Matrix.

<comment><USER45> I try matrix on occasion (as in, I set up my own server from scratch). The last time I tried it, support for multi-participant audio and video calls (and screensharing) was still between terrible and nonexistant. Definitely much worse than Discord. Has it improved?

<comment><USER44> There were some bug fixes in the last year (IIRC) though nothing very substantial, I think. Then again, it's always worked reasonably well for me and I'm using it regularly. I heard it was going to get worked on soon, though.

<comment><USER9> There was a major upgrade to the conference calling about 6 months ago which took it from being "barely usable" to "almost as good as Zoom". It's different semantics to Discord in that it's classic conferencing rather than a voice channel, but it works well enough for the whole core Matrix team to use it basically constantly for remote collaboration.

The conferencing servers are currently in London however, so you may suffer from transatlantic traffic problems if you are elsewhere in the world.

<comment><USER44> Ah, thank you for the additional information. Is my grapevine information correct that more work will be done to improve video calls and screensharing in the coming months?

As an example of what could be improved, I do still encounter the occasional bug with call synchronization, the video stream of one of the sides not getting started on occasion and screensharing is hardly discoverable.

</comment></comment></comment></comment></comment></comment><comment><USER46> I'm confused. Is Matrix actually synchronous or asynchronous? The Matrix FAQ ([https://matrix.org/faq/#what-is-a- homeserver%3F](https://matrix.org/faq/#what-is-a-homeserver%3F)) makes it sound like it can be asynchronous. Otherwise, why _store_ communication history at all?

<comment><USER9> Matrix is asynchronous. You send a message into a room; other people can receive it later or respond to it subsequently - it's not like the data blocks the room somehow until it's read, or that messages disappear after reading.

</comment></comment><comment><USER47> Good, but what about Rust project jumping to Discord instead? They should have used Matrix as well.

<comment><USER3> Each individual Rust team (which govern individual aspects of Rust) got to choose where to jump to; I believe one did choose to use Matrix, but the others mostly chose Discord (because there was already a very large Rust user community there), a few chose Zulip, and one is still on IRC. If Matrix clients were more well-developed and widely-used, I believe there would be good incentive for them to transition--the Rust developers already have enough on their plate without feeling like they need to also develop their own communication protocol.

<comment><USER47> I still find it inappropriate for a FOSS project to promote closed non federated communication tools. Hopefully they won't be stuck with Discord because "we already switched to it".

<comment><USER48> I think they are just being pragmatic. No one, not even RMS, ever felt that open source needed to be open source from bottom to top, just the final product. You have to be pragmatic in this life. We can't wait for open source processors running on open source hardware on and open source OS compiled on an open source compiler before something gets released. I find it entirely appropriate for them to be pragmatic and use the tools to get done what they need to get done.

<comment><USER49> _" not even RMS"_. You underestimate RMS.

</comment></comment></comment></comment></comment><comment><USER50> Wow this already looks like a fractured mess! [https://matrix.org/clients/](https://matrix.org/clients/) Why are there so many clients with different supported functionality?

<comment><USER51> "Already"? Is that something that usually happens as a project matures?

<comment><USER50> Yes? See the fracturing of what HTML browsers supported in the 90s, or what happened to XMPP, for example.

<comment><USER51> HTML's middle ages were characterised by competing implementations of similar functionality. Inconsistency would be cause for concern, but incompleteness is expected.

</comment></comment></comment></comment><comment><USER52> > we have decided to replace IRC with Riot/Matrix, hosted by Modular.IM.

Looking at the pricing on modular.im[1] it starts at $10/month for up to 5 "active users," $73/m for up to 50, on and up..

Though modular's credentials look good, it seems like there'd be scope for some serious price gouging if Matrix had more takeup.

The standard (android) client's default servers are patchy enough to make this worth looking into, IME.

1: [https://modular.im/services/matrix- hosting](https://modular.im/services/matrix-hosting)

</comment><comment><USER53> How does one visit the Mozilla channel on it? No links anywhere in there or in Mozilla's post. Is the discussion channel publicly visible?

(excuse me if channel is not the correct terminology)

<comment><USER9> It's not live yet :) (and we called channels 'rooms' in Matrix).

</comment></comment><comment><USER54> The announcement mentions only two features: safety and accessibility, but places no emphasis on the technical merits of the choice for the majority of users. That is disappointingly irrational for a technology organization.

I don't feel comfortable with the strong emphasis on "progressive" concerns that mozilla (and the rust community) have. It's not inclusive: I have normal liberal views (I'm from a European country and under 40) and I don't think I'd feel comfortable working for one of those organizations because I suspect the progressives there would be angry or offended with my reluctance to embrace the identity politics dogma. I didn't even feel comfortable posting this under my usual account, such is the atmosphere.

Accessibility is clearly important. But "safety" concerns have become overblown: reasonable concerns have become polluted by the politics of the "safe space" contingent, and the sorts of people that are closing down legitimate debate in the name of progressive/identity politics. And technical suitability for the 95% of modally-abled users is still an important consideration.

<comment><USER55> Disclaimer: I work for Mozilla, and I was quite happy with IRC personally.

The announcement may not mention it, but there were trial instances of a number of messaging apps set up, people could use them and submit feedback, and that feedback was in fact considered as far as I know. Accessibility and safety were not the only criteria at all.

As far as "safety" concerns being overblown... I personally had approximately zero problems with IRC that way, though some of the random spammers who sounded like foul-mouthed 12-year-olds could be annoying at (rare, in my experience) times. But I absolutely have co-workers whose IRC experience was a lot less pleasant. And if moving to a different system lets us get rid of that unpleasantness for them, that is a _very_ strong reason to consider such a move, both on general moral grounds and on purely business-reasons "people who can get their work done sanely get more work done" efficiency grounds.

Note that we're not talking about safety from debate or opposing viewpoints or whatnot. We're talking about people being able to discuss a bugfix with others without being constantly spammed with invective and threats in the process. _That_ is what "safety" means in this context.

</comment></comment><comment><USER56> Very excited for this; It's the one worthy successor to IRC.

Self plug: it also makes me more motivated to return to [https://github.com/Ericson2314/matrix- client](https://github.com/Ericson2314/matrix-client)

</comment><comment><USER57> IRC has the advantage of being usable without any specialized software (although the usability is not as well as if you do have specialized IRC software, it is still at least usable).

</comment><comment><USER58> Which server does modular.im run? Synapse? Ruma?

<comment><USER59> In their hosted service description ([https://modular.im/services/matrix- hosting#what-you-get](https://modular.im/services/matrix-hosting#what-you- get)), under the section Open Source, they mention Riot.im and Synapse.

</comment></comment><comment><USER60> As a fan of the matrix protocol, this is great news to hear about Mozilla's decision!

</comment><comment><USER61> Can I access the network from Emacs? I use ERC as of now.

<comment><USER9> yup. [https://github.com/alphapapa/matrix- client.el](https://github.com/alphapapa/matrix-client.el) is your best bet (it probably doesn't support SSO though, but should be pretty easy to add).

<comment><USER61> Thanks for sharing. Actually, I searched MELPA before posting my question. It is time to support this package to get included into MELPA/ELPA.</comment></comment></comment>


Microsoft Announces Converter for Bringing Win32 Apps to the Windows Store - <AUTHOR> http://techcrunch.com/2016/03/30/desktop-app-converter/ <comment><USER2> It's weird to hear "win32" called "legacy". Last I checked everything from "wininit.exe" to "svchost.exe" to "winlogon.exe" were win32 (or win64) applications. Guess the entire base operating system is legacy! :O

<comment><USER3> Actually, a lot of what you see in Windows 10 is running on top of UWP.

<comment><USER4> Is that true? They never used Winforms or WPF much themselves. Have they really started using the frameworks they push their users into?

<comment><USER3> Yes. Windows Shell, Xbox, Office, Skype, HoloLens, etc. are all using UWP.

<comment><USER5> Windows Explorer is not UWP.

The Office version you get with Office 365 ("Desktop Office"), the one, businesses use, is certainly not UWP.

Skype UWP is a preview announced a few days ago.

"Are all using UWP"? No. They are in a transition of moving to UWP, but every serious business application is Win32.

<comment><USER6> >Windows Explorer is not UWP.

It's a hybrid: start menu, action centre and some other elements are UWP's XAML frames now.

</comment></comment></comment></comment></comment></comment><comment><USER7> I wish there would be more details. It reminds me of the very old Carbon Dater from Apple which used to tell you if your MacOS9 program ws compatible with Carbon on MacOSX and tell you exactly which OS function were gone, which were deprecated and what the alternatives for them were.

Is Centennial the same approach?

Or is it a wrapper around your app, taking your straight executable and just failing OS calls that are not supported and forbidden?

</comment><comment><USER8> Unless I heard it wrong, the title may be a little inaccurate. I believe they said "to the Windows store or any other store". So you may be able to put UWP apps on other web stores, too.

</comment><comment><USER9> How does this work with the sandboxing requirements. Last time I tried to build an app for the ms store i hit an immediate wall with sandboxing and stopped proceeding with the idea. Are things more lax now?

</comment><comment><USER10> So can we actually start using this yet? I hope it isn't still vapor.

</comment><comment><USER11> Let's say I'm building something like an IDE, where I'm not targeting Xbox or phones. Is UWP appropriate for me? Should I aim to be on the Windows Store?

<comment><USER12> It depends on the IDE; in particular, whether it competes with Microsoft's own line of business. Microsoft has historically had non-compete clauses in its dev tool EULAs. It was an EULA violation, for instance, to use Visual Studio to write a word processor, database, or spreadsheet program.

I don't know if it still holds for the cuddly "new" Microsoft... but tread carefully. Windows Store is curated and thus more restrictive than straight Win32 app development would be.

<comment><USER13> Wait... what? Do you have a source for that? I can't find anything in my searches to confirm that. I _did_ see various EULAs saying you can't redistribute some bits included with some of the MSDN products (like MSDN documentation and sample Jet DB files) with your product, if your product is primarily a general word processor, database, or spreadsheet application. But nothing like you can't write one of those applications at all.

</comment></comment></comment><comment><USER14> What ever happened to programs? Was there something about that word that terribly offended people? Too hard to type out? Is 'app' soon going to be replaced by some kind of pictogram?

Enquiring minds want to know.

<comment><USER15> You're decades late on this. "App" has been used as a shorthand way to refer to programs for a loooong time. Random example, Apple had an object oriented framework called MacApp in 1985.

<comment><USER16> To me, "app" was just short for "application", and it usually implied something more than a program. A program was more of an individual binary and its data files. An application could be a suite of programs; basically, it was a superset of "program" that could include multiple binaries acting toward a common purpose.

An "App" (mobile-style) is a new word. It implies (again, to me) a sandboxed program with a simplified, single-window, full-screen UI.

The same 3 letters (app) have been used my entire life to refer to computer programs, but the connotation has shifted a _lot_.

<comment><USER15> It seems pretty constant to me. It has always meant a user-facing program that's largely self-contained. It's not synonymous with "program," but since this story is about converting stuff for the Windows Store, I think it's being used correctly here.

</comment></comment></comment></comment><comment><USER17> I wish Reactos was a valid replacement. I just want win32 without MS, they can keep the other garbage.</comment>


Elon Musk says Mark Zuckerberg's understanding of AI is 'limited' - <AUTHOR> http://money.cnn.com/2017/07/25/technology/elon-musk-mark-zuckerberg-ai-artificial-intelligence/index.html <comment><USER3> They're talking past each other because "AI" has become a useless term.

Musk's comments are about a potential (maybe conscious) artificial super intelligence and the risks that could come from that if we enable one somehow without understanding the preconditions.

Zuckerberg is just talking about "AI" in the sense that machine learning can solve a valuable class of problems.

The super intelligence risk could be serious or not - it's hard to know since we haven't really dealt with an intelligence that wasn't created through natural selection with those biases for survival. We also don't really understand how consciousness works either.

One risk of AI is that if Musk's argument is right we won't be as 'lucky' as we were with nuclear weapons. Enriched uranium is hard to get so nuclear weapons are easier to control and hard for an individual to make. Turning on an AI or copying the code for one and spreading it would probably be easier. If it does end up being dangerous that's not a great situation.

<comment><USER4> >Turning on an AI or copying the code for one and spreading it would probably be easiear.

What people never mention in any discussion with AI is that the AI will be as limited by physical world as we are. AI It's not just code, it's also the hardware that will run the code. That hardware has theoretical and practical limits, and requires a lot of power. It's not like AI running on some peta/exascale supercomputer will be able to jump to your laptop and take it over and spread itself to every electronic device in the world.

<comment><USER3> I think the main argument against this is once you're in the world of "super intelligence" you're severely outmatched. If for some reason it had an interest in staying on it might not be easy to stop.

<comment><USER4> super intelligence will not happen overnight. AI will keep evolving with us and before it's truly conscious it will give us better understanding of math, physics, medicine.. This will help the AI grow, but at the same time we will be growing with it. It will be a symbiotic relationship.

<comment><USER3> Not necessarily, there's the idea of an "intelligence explosion" \- basically that while it may take a while to figure out the initial conditions it might be able to self improve rapidly from that point. Also consciousness may not be required (or possibly even preferable).

<comment><USER4> "intelligence explosion" is also limited by the physical world. AI won't be able to come up with a better understanding of physics simply by reading academic journals. Yes it might have some good ideas, and find some of the stuff we're missing by simply connecting the dots, but that in no way will cause "intelligence explosion".

Just think how much money and time we have to spend to test just a few of all of the theories in physics. And no, AI will not be able to suddenly come up with better theories simply by simulating physical world.

</comment></comment></comment></comment></comment></comment><comment><USER5> I question whether either of these guys have a good understanding of AI.

<comment><USER6> I'm pretty sure noone on planet Earth has a good understanding of AI yet. I stopped reading about "what AI is, what AI isn't" completely.

</comment></comment><comment><USER7> A majority of the experts in AI would side with Zuckerberg on this one. See for example: [http://blogs.discovermagazine.com/d-brief/2017/07/18/artific...](http://blogs.discovermagazine.com/d-brief/2017/07/18/artificial- intelligence-elon-musk/). It's not that we shouldn't worry about AI, it's that the issue Musk is raising - AI as an existential threat -, is distracting from the real issues.

<comment><USER8> Was Isaac Asimov being distracted from the real issues as well just a few decades ago? Food for thought :-)

<comment><USER7> This is not about science fiction. It's about science today and in a near future and its consequence on policies and regulations.

<comment><USER8> I honestly believe some of Asimov's concerns regarding AIs are not science fiction but rather forward thinking and will eventually happen.

<comment><USER7> "eventually" is the key word here. Most experts in the field admit to have no clue how and when these predictions will ever come true. It makes discussing them an overly speculative exercise.

</comment></comment></comment></comment></comment><comment><USER9> I don't trust Zuckerberg on any issue in which Facebook has much to gain from one side. We all know how much money he'd like to make by having some AI programs follow us around 24/7.

<comment><USER10> One guy is trying to change the world and one guy is trying enslave it.

When you have the likes of people like Stephen Hawking agreeing with Musk, why wouldn't you listen and be wary. Mark doesn't seem like a very intelligent person, just a very lucky person.

<comment><USER11> Musk was the guy that created a car that can track and report everywhere you go using a permanent connection to his mothership, plus films and uploads the surroundings and even has an camera inside. The only protection being his word that they won't read it unless you allow them.

</comment></comment></comment><comment><USER12> Zuckerberg sells / appeals to a mass-audience who needs reassurance that AI will not take over the world and murder their grandkids.

Musk sells / appeals to techies, and those seeking to embrace cutting edge technology and are not scared by "AI is dangerous" talk.

Different audience, different messaging.

</comment><comment><USER13> Wow. Mark used an example of self-driving cars being good for humanity as his example of why AI will pose no danger; to make a point about his perspective in a feud with the guy that is leading self-driving car revolution pointing out that AI could potentially be dangerous. I hold great concerns for Facebook's future.

<comment><USER10> Lets hope farcebook has no future....

</comment></comment><comment><USER14> Facebook is capable of monetizing current ML capabilities to do things like constantly tune individual news feeds so that its profit is maximized. Certainly counterproductive to some degree for modern society, but it is profitable. Straightforward goal. straightforward outcome.

Elon's claimed that Tesla will have level 5 autonomous vehicles in 2 years. Yeah, in your dreams Elon, that's a massive cognitive stack you can't fit in the vehicle, one we've never built out to such a degree, and your car's autonomy level is going to be a function of its bandwidth to the cloud anyway. The mean part of me wonders if Elon plans on covering this wild assertion with 'Well, we can't now. Regulations and stuff' \- if he's just worried about putting a weapon on a solar powered drone that patrols some area and shoots baddies, yeah me too. But that's just human stupidity, it ain't AI, it ain't intelligent, it's just a dumb program with effectors. All ML really is these days is real big boundary relaxation systems, calculating the massive number of coefficients we need to make the equations work out the way we want. But come on, it's stupider than a rock. It's an equation solver and its brittle as hell. As a tool I love what we can now accomplish, but there's a long road from here to Hal. It's not bloody magic, it's just math.

</comment><comment><USER15> Honestly I'm pretty appalled by Musk's statements. There's no indication from recent research that we're close to the "dreadful super intelligence". I think he has an a very naive and scifi-ish understanding of the state of AI and his fear mongering is irresponsible at best. Or maybe he's right and private companies are so technologically advanced that they surpass academia by a wide margin. Somehow I highly doubt that.

</comment><comment><USER16> Mark Recruited Yann Lecun, arguably the top "AI" practitioner in modern times (backprop anyone?). Lecun agrees with Mark and I would be surprised if Mark wasn't taking most of his direction in AI from Lecun.

<comment><USER17> Good point. Another noted expert in "AI" is Andrew Ng (formerly Google and Baidu) who stated that, "Fearing a rise of killer robots is like worrying about overpopulation on Mars."

...For some reason Elon is really hung up on gradient-based descent methods terminating all of humanity. We just aren't close to that possibility yet. It is not even in sight.

<comment><USER16> The problem is that both are potentially right.

The majority of the ML field still ignores entirely the AGI discipline - <USER2> in general rightly so as there are enough narrow problems to solve to fill a lifetime. That's the perspective of Lecun/Ng etc... because they are scientists.

The others Bostrom et al. are philosophers, so they approach it from a different perspective.

There are valuable reasons to think about it at both levels.

<comment><USER13> Correct. There were plenty of economists that said Bitcoin would fail, and philosophers that thought otherwise. The jury is still out, but I know who is winning.

[https://twitter.com/damiendonnelly/status/91766074021904386](https://twitter.com/damiendonnelly/status/91766074021904386)

</comment></comment></comment></comment><comment><USER18> "It is difficult to get a man to understand something, when his salary depends on his not understanding it."

The possibility of using AI to surveil and manipulate Facebook users (and non- users) on a mass scale (and probably give his presidential campaign a boost along the way) is worth far too much money for Zuckerberg to admit to the potential downsides.

Zuckerberg isn't optimistic about AI, he's optimistic about the money and power AI will grant him.

</comment><comment><USER19> Seems this pivots on a disagreement of AI as a risk

Musk seems very anxious of existential threats-- it isn't surprising he may overestimate the danger of AI

It also comes off as very monkey-centric. Is it so bad if human intelligence isn't what proliferates the future? Perhaps AI is a kind of memetic evolution for our culture, evolving into a form of life which can achieve sustenance with much less waste

<comment><USER20> >It also comes off as very monkey-centric. Is it so bad if human intelligence isn't what proliferates the future?

For humans, it's an absolute disaster - look at what happened to the lesser apes when Homo Sapiens became dominant. The odds are very good that a sentient AI will decimate us or make us extinct, simply by adapting our habitat to its own needs.

<comment><USER16> Are you expecting that Sapiens Sapiens would somehow last as a species forever?

</comment></comment></comment><comment><USER21> I would love to see a new Jobs Gates style rivalry. Maybe Musk - Zuckerberg?

<comment><USER22> How about Elon vs Musk?

<comment><USER23> Elon's Musk would win.

Edit: No playfulness on HN allowed today apparently

</comment></comment></comment><comment><USER24> Musk is being very generous in his assessment.

<comment><USER23> From my perspective, Mark has always seemed like a controlled thinker - including controlling his actions, behaviour, etc. in a very fixed way. In contrast, Elon's always seemed to be a holistic thinker, starting from founding principles and then understanding what his actions will lead to. Elon's openness to thought leads me to believe his thinking style would lead to understanding how AI could evolve better than Mark's more controlling behaviour.

</comment></comment><comment><USER25> Is there any particular reason to think that Musk's understanding of AI isn't also "limited"? I don't recall him being known as an AI researcher.

I mean, there's no doubt he's smart, even brilliant... but being brilliant in one field doesn't necessarily mean you are an expert in others.

</comment><comment><USER26> Here is a pretty good article where many of the players are interviewed in depth.

[http://www.vanityfair.com/news/2017/03/elon-musk-billion- dol...](http://www.vanityfair.com/news/2017/03/elon-musk-billion-dollar- crusade-to-stop-ai-space-x/amp)

"If you want a picture of A.I. gone wrong, don't imagine marching humanoid robots with glowing red eyes. Imagine tiny invisible synthetic bacteria made of diamond, with tiny onboard computers, hiding inside your bloodstream and everyone else's. And then, simultaneously, they release one microgram of botulinum toxin. Everyone just falls over dead.

<comment><USER7> That example has absolutely nothing to do with AI...

</comment></comment><comment><USER27> As overloaded as the term "AI" has become, to the point where mainstream discussion is unlikely to be substantative, I'm glad a tech-business leader like Elon Musk is at least taking a public position of some skepticism. AI can be as empowering or as dangerous as we design and constrain it -- but to a layperson, AI and "algorithms" seem like inevitable magic, in the way that iPhones have steadily "improved" in hardware specs and in life-augmenting features.

<comment><USER28> Musk's view of AI relies on AI being magic, too. He's using the definition of "AI" that exists only in hyped-up promises about the future, and evaporates when applied to present technology.

Musk dismisses AI experts who tell him that his claims bear no resemblance to real technology, because Musk isn't talking about the same AI as them. He's talking about sci-fi AI.

There are no experts in sci-fi AI because, if there were anything there that one could understand well enough to be an expert in it, it wouldn't be sci-fi AI anymore.

<comment><USER13> Don't underestimate the exponential.

<comment><USER28> And don't overestimate the S-curve, which looks the same when you're in the first half of it.

</comment></comment></comment></comment><comment><USER29> Even billionaires end up wasting their lives bikeshedding.

</comment><comment><USER30> Musk maybe oversells the state of AI a bit when he says it's potentially an existential threat to mankind - but on the other hand, the advances of the recent years alone are enough to disrupt the daily lives of almost everyone. In that sense, some alarmism might be appropriate, especially considering control of the best machine learning systems will likely be concentrated in the hands of few powerful players.

</comment><comment><USER31> Is it "limited" or "biased" \- as in biased so it serves the purpose one is trying to achieve.

It would apply to both though :)

</comment><comment><USER32> What does it mean to have an understanding of AI that's limited?

Have you ever talked to someone who is way smarter than you? Have you tried to imagine how they think? I suspect thinking about the future of AI is a little bit like that, insofar as it's hard to model the future state intelligently.

</comment><comment><USER33> I understand that Musk's ideas of doom and gloom concerning AI are far into the future (loceng drops the Andrew Ng quote that draws parallels to people worrying about the overpopulation of Mars) but even if that is the case isn't it still worth noting now?

My simple understanding of this all is that once we create AI that surpasses the intelligence of the human race, we as inferior beings will no longer be able to predict what they will do. If that's the case and the desire of AI (can AI have desire...?) runs contrary to human will, then there's no way to cut it that bodes well for the continued existence of the human race. And once that line is crossed, it's never going back.

Is that not a reasonable thing to be worried about even if it's 200 years away? Even On the Origin of Species was published only ~160 years ago.

</comment><comment><USER34> Musk and Bezos are clearly smarter than Zuck and Dorsey.

</comment><comment><USER35> I'd say both of these guys have limited understandings of everything.

</comment><comment><USER36> FIGHT! FIGHT! FIGHT!

</comment><comment><USER37> Elon Musk's recent comments on the topic makes me say that his understanding of AI is similarly 'limited'...

</comment><comment><USER38> I love Musk. He is brilliant and I think he has truly shaped the future.

But he is wrong.

Artificial Conscience(what he is referring to) is NEVER going to be achieved. I repeat NEVER. Its impossible.

Conscience is in the form and not in the matter. In one word, there is never going to be an AI with free will.

However, eventually we may build a super intelligent system with great power over our lives, that goes wrong, has bugs, or misbehaves. But, since the fact that such as system will never be conscious, we are always going to have power over it.

So yeah, Musk is being an alarmist, and I believe he is the one with a limited understanding of AI.

<comment><USER39> Let's put aside your absolute and close-minded certainty about the future for a minute. Unless you can provide some quotes, you're putting a lot of words in Elon Musk's mouth. He's made some goofy pop culture references during interviews, and it seems to be a calculated decision on his part to flirt with sensationalism in order to publicize the issue, but he's never seriously argued that the movie Terminator is a documentary about the future.

Call it conscience, intelligence, whatever you want. The danger isn't that some ominously calculating and murderous robotic mind is going to spring into being and hide from humans while plotting our downfall. In order to understand the danger, all you have to do is look at what the US military is already doing with autonomous weapons. Killer robots aren't hypothetical, they're historical.

In fact, you're the prime example of the danger of AI. You probably have a stronger than average understanding of computers, and maybe you know a lot about actual AI implementations, which is what makes you so self-assured that there's nothing magical about them. So you trust them, and you're a big fan of throwing an ever-increasing amount of trust into AI.

You even admit that there will be bugs (there always are) and misbehavior (now who's humanizing programs?), but you fail to see why that's a problem when the stakes are raised from "crap, an app leaked private data online" to "crap, the autonomous weaponized drone mistook backyard fireworks for an attack and bombed a family."

The way I see it, Musk is far from alarmist, and all the kidding about "summoning demons" is almost a way of coping with what's starting to seem like a terrifying inevitability. We've been building "dumb programs" for decades, and there's still a constant stream of breaking news about software that didn't do what it was supposed to. And you want to believe that there's no danger in building software that has increasingly fuzzy logic and connecting it to real-world I/O?

I'm guessing that Elon Musk saw this problem when he first started toying with the idea of self-driving cars. You say he has a limited understanding of AI, but Tesla autopilot says otherwise. And he probably became keenly aware of the stakes when he realized that people would willingly entrust their lives to the decisions made by his company's software, and that without regulation, it's entirely up to Tesla's QA process to make sure their cars don't accidentally kill people.</comment></comment>


Marketing for Engineers: Curated list of resources to grow your product - <AUTHOR> https://github.com/LisaDziuba/Marketing-for-Engineers <comment><USER2> Great list. People interested should also check out Barnacl.es which is a low- noise site with lots of this kind of stuff:

[http://barnacl.es](http://barnacl.es)

Also, before a developer considers doing a startup, they might want to read Clifford Oravec's write-up on how hard it will be constantly fighting uncertainty and indifference. If you want a challenge, it's one of the best ones to tackle, though. You might even get rich doing it. Might. ;)

[https://medium.com/@cliffordoravec/expect-everything-to- be-u...](https://medium.com/@cliffordoravec/expect-everything-to-be- unexpected-883642c0d7c)

Edit to add: Love his choice of opening picture to convey the feeling, too.</comment>


PostgreSQL 11 Release Notes - <AUTHOR> https://www.postgresql.org/docs/devel/static/release-11.html <comment><USER2> Stored procedures! Sounds fun but does anyone know a practical use that can't be achieved with normal PL/pgSQL or other embedded scripting languages, plus regular functions?

<comment><USER3> Probably having BEGIN/COMMIT inside of the procedure, which opens up new possibilites regarding the atomicity of transactions.

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

</comment><comment><USER5> Also it's not released yet, as of May/30/2018.</comment>


Russia Lights Rockets with an Oversized Wooden Match - <AUTHOR> http://www.popularmechanics.com/space/rockets/a19966/russia-actually-lights-it-rockets-with-a-giant-match/ <comment><USER2> Copenhagen Suborbitals have a good blog post[1] (albeit in somewhat stilted English) explaining how they ended up using a similar device (visible here[2] in a slo-mo video of an unsuccessful engine test).

1: [http://copenhagensuborbitals.com/to-make- fire/](http://copenhagensuborbitals.com/to-make-fire/)

2: [https://youtu.be/f-4n-2MtECE?t=25s](https://youtu.be/f-4n-2MtECE?t=25s)

<comment><USER3> That slo-mo video is so good it can win on some short art-house films festival.

<comment><USER4> I hope then that you have seen this classic Saturn V footage then:

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

<comment><USER5> The Apollo 11 launch features prominently in Godfrey Reggio / Philip Glass's _Koyaanisqatsi_ [1], so most art house theater-goers will have seen it, I would think.

1: [https://en.wikipedia.org/wiki/Koyaanisqatsi#Synopsis](https://en.wikipedia.org/wiki/Koyaanisqatsi#Synopsis)

</comment></comment></comment></comment><comment><USER6> This some great, Russian engineering right here. I can't believe I didn't hear of this before. Only thing I didn't like about it was the brass wire. Might be too simple. These days, we have highly-reliable, cheap chips with RFID built in. They might put one or more of those on each pyro-charge with reliable system listening to each one's, unique signal. When they all die, cheap cameras (esp phone variety) at useful angles confirm the fires were lit or spot individual problem. Then, if all are lit, IGNITION!

Alternatively, a few wires acting as a circuit on each charge in different, physical places attached in a way they won't come loose. Monitoring circuit sees all of them go down in an instant suggests fire is lit. Either that wire goes to control room directly to keep things simple, where they see disappearance, or they go to on-site rig that watches all of them to _create_ a signal for control room that says all the circuits are dead. Pick whichever is simplest since that's usually most reliable and cheap.

Thoughts?

</comment><comment><USER7> I heard an unverified apocryphal tale about the Chinese Long March rocket back in the '80s. The story was that, instead of an automated system, they put a person very near the rocket to activate something just seconds before T=0. Once activated, this person would run for their life, jumping into a tube/slide that would take them to an underground shelter where they would seal the hatch before the rocket flames came pouring out.

<comment><USER8> I worked with a company that did work on an installation where they made rocket / missile fuel, but beyond all the security checkpoints and terrifying NFPA Diamonds (4 4 4 Explosive) were a series of buildings where the actual production happened. Every building had huge earthen berms along side with escape slides for employees to use in case of emergency. No real point but I could completely see the Chinese military making similar use of theirs.

</comment></comment><comment><USER9> I mean... to be fair didn't our Shuttle basically use giant Bic lighters? Mischmetal starters and all?

<comment><USER10> If you are talking about the sparks sprayed towards the engines, then that wasn't the ignition system.

Igniting a rocket engine like that would cause the flame to travel backwards into the combustion chamber and the engine to spontaneously disassemble.

The sparks merely burned off the excess hydrogen that might escape from the engines and avoid unplanned conflagrations around the pad from it.

Actual ignition was done by ignitors inside the engines themselves.

<comment><USER9> TIL! So... the ignitors inside the engines were... electronic? Chemical?

<comment><USER11> On the SSME there's something called a Augmented Spark Igniter located in the center of the injector. It burns fuel and oxidizer to make a jet of flame which ignites the whole mess.

The details are in here:

[http://large.stanford.edu/courses/2011/ph240/nguyen1/docs/SS...](http://large.stanford.edu/courses/2011/ph240/nguyen1/docs/SSME_PRESENTATION.pdf)

<comment><USER9> Thanks very much.

</comment></comment></comment></comment></comment><comment><USER12> This seems like a good idea to me, provided you only need to fire the engine once (which, admittedly, is normal for the first stage). Given the amount of trouble rocket companies have had with igniters over the years a match seems like just the ticket.

</comment><comment><USER13> Russian Scientists Announce Six-Month Delay In Carving New Space Station

[http://www.theonion.com/article/russian-scientists- announce-...](http://www.theonion.com/article/russian-scientists-announce-six- month-delay-in-car-547)

<comment><AUTHOR> Since properly treated wood is becoming acceptable skyscraper structural material this as well may be a foot meet mouth article couple of years down the road.

And if it is stupid and it works, than it is not stupid.

<comment><USER14> The Chinese made a heat shield out of oak:

[https://www.newscientist.com/article/mg14619738-300-space- od...](https://www.newscientist.com/article/mg14619738-300-space-oddities/)

<comment><USER15> I believe that Mercury/Gemini heat shields included cork and/or balsa wood.</comment></comment></comment></comment>


Intentional Acoustic Interference Damages Availability and Integrity in HDDs [pdf] - <AUTHOR> https://spqr.eecs.umich.edu/papers/bolton-blue-note-IEEESSP-2018.pdf <comment><USER2> [https://www.youtube.com/watch?v=tDacjrSCeq4](https://www.youtube.com/watch?v=tDacjrSCeq4)

Ten years, man...

<comment><USER3> Only on Hacker News the first comment is the best comment. Long life Brendan Gregg, the guest star of the above video and our beloved Linux Performance guru!

</comment></comment><comment><USER4> I recently had a problem where a hard drive was being negatively impacted by the noise caused by cooling fans in the chassis.

The hard drive was a Toshiba P300 3TB model HDWD130XZSTA. In the last year or two, since Toshiba's corporate troubles have gone on, they have started to price their hard drives more competitively. They seem like pretty nice drives in regards to performance and noise, but I discovered that this model at least seems to be susceptible to errors when subjected to nearby acoustic noise/vibration.

The server was a generic 1U with six 40mm fans in the center behind the hard drives. When the fans run at full speed they are really loud -- like seriously hurting your ears loud.

I first noticed something was wrong when some SMART errors developed on one of the drives, indicating a failure. I RMAed that drive and then got a new one, but the linux mdadm RAID rebuild was insanely slow. Further tests showed that the new drive was performing terribly and I went through the process of troubleshooting.

It took awhile before I finally figured out it was the fan noise causing it, but you could really see the transfer speed ramp up/down when I plugged the fans in/out. When the fans running at full speed, the drive read rate (hdparm -h) would drop down to 1MBps or even less, whereas they would go up to 175-190MBps normally. The read errors were SO bad that it must have triggered a SMART failure on the previous drive.

I've been a sysadmin for about 20 years now in datacenter environments and this was the first time I've seen an effect this substantial.

It's noteworthy that this same chassis has two Seagate drives in it which didn't suffer any negative performance issues from the noise.

I guess that's what I get for using desktop class drives in a server.

<comment><USER5> Are you sure it was acoustic noise?

I don't know how fans actually implement variable speed. But I can think of several methods that would generate lots of electrical noise. Fan manufacturers have an incentive to build as cheaply as possible, so I doubt they take too many steps to mitigate crap they put out on the power lines and/or radiate from their speed controller.

<comment><USER4> Well, like you said, you don't even know how fans work.

<comment><USER6> Fans implement variable speed through PWM which is a square wave and therefore rather noisy.

</comment></comment></comment></comment><comment><USER7> For what it's worth Western Digital does extensive testing of drive performance under audio vibration, especially on mobile drives that are likely right next to a laptop speaker.

<comment><USER8> And if you check page 7 of the PDF there is a small table that indicates that this has to be at around 120dB to have an effect. I do believe that is up around the point where you risk physical pain and instant hearing loss.

<comment><USER9> Bad news for UBeam then.

<comment><USER8> Well they came across as a pipe dream from day one...</comment></comment></comment></comment>


Ask HN: Apple vintage product Turkey service mystery - <AUTHOR>

Mystery for HN: why does Apple service "vintage" products in only two places in the world: California and Turkey?
See this URL - California I guess makes sense, but Turkey seems very random.
http://support.apple.com/en-hk/ht1752
I don't need to know but thought the answer might be interesting. <comment><USER2> "where required by law" is probably the answer to your question.

<comment><AUTHOR> Guess you're right but just wondered what law is involved that only applies in Turkey and California - probably too obscure a question for HN though! Thanks</comment></comment>


50 Worst U.S. Cities to Live In - <AUTHOR> https://www.usatoday.com/story/money/economy/2018/06/13/50-worst-cities-to-live-in/35909271/ <comment><USER2> this feels like such a clickbait piece. hope usa today pleases their advertisers.

speaking for where i was born & raised, there is little semblance of crime in the great majority of atlanta. if anything, it feels like it's all coming from a particular lower income county or two.

</comment><comment><USER3> Woohoo! Where I live is ranked #8!</comment>


Technical details for a MMOG in perl - <AUTHOR> http://www.madmongers.org/talks/the-lacuna-expanse

<comment><USER2> OK, I'm half the presentation, and this is really astounding. Aren't you afraid that Plack/PSGI and StarMan are a bit too much on the bleeding edge for such a wide project? Will it scale? How many people did work on this?

Kudos!

<comment><USER3> Amazing stuff. Modern Perl indeed.

Interesting that the whole server side is built on a JSON-RPC API. That enables writing completely new clients later on.

<comment><USER4> Sorry, but I don't get it... you're saying Modern Perl, they're saying Modern Perl. What is it about?

They showed 2 classes in total, which look "normally" and the stack they're using. Does using cool modules count as "Modern Perl"? Their stack looks well understood / well designed, but that's it. They use a lot of new technologies, but there is nothing that makes me go "wow".

It's also ironic how they praise pngout (p. 57) for reducing image sizes, but publish 42MB presentation...

Not to criticise the project as a whole though - I love the idea of a client- independent server side and multiple interfaces for real time multiplayer. I was obsessed with that idea for a while and trying to do something similar one day - I'm amazed how they actually pulled it of. Great work there! Good organisation too with completing the web page in time for launch before everything else was completed - good first impressions...

<comment><USER5> >>you're saying Modern Perl, they're saying Modern Perl. What is it about?

It is a bit debated. See e.g. [http://perlgeek.de/blog-en/perl-tips/what-is- modern-perl.htm...](http://perlgeek.de/blog-en/perl-tips/what-is-modern- perl.html)

Also, at the risk of sounding ironic I must ask -- you are really not aware of a web service called "Google" and its (many) competitors? Try e.g. this when you see unknown terms:

[http://www.google.com/search?&q=modern+perl](http://www.google.com/search?&q=modern+perl)

>>ironic how they praise pngout [...] publish 42MB presentation...

Ah, yes. Publishing a big pdf from a presentation do take away all points in the pdf about image sizes sent from a web server. [Edit: For the sleep/caffeine deprived: This was irony.]

Edit: OK viraptor, sorry for being sensitive.

Edit: After reading, what I miss is more discussion about how the game logic was implemented; for fun I've done 2/3 of a couple of board games' logic which literally was hundreds of pages each (which I should finish, sigh).

<comment><USER4> I know what it is, but they simply didn't show anything about it. It was thrown there like a buzz word and the parent post repeated / confirmed the phrase. So I'm puzzled about where does that Modern Perl exist in the presentation / why does it matter.

Re. size. I didn't say it takes away all the points. Simply, it's a funny thing. Just like telephony engineers getting dropped calls, abstract mathematicians making trivial addition mistakes, etc. They lower the size to make the experience better during the game, but at the same time make a huge presentation. That's all.

<comment><USER6> In my opinion, Modern Perl is anything that uses Moose or frameworks like CGI::Application or Catalyst AND has a clean OO/MVC structure. Meaning no more ugly things like bless() and ref()

What this means, is Perl becomes a proper MVC styled language like 'Ruby' or with its frameworks like 'Ruby on Rails.'

It matters because for years people complain about the scalability of perl when it comes to large projects due to it's 'hack syntax' nature.

With modern Perl, code is usually clean free of crazy syntax with a OO architecture where the base classes do most of the work (such as auto authentication, auto encoding/decoding, auto DB joins, etc.) and you do business/game logic in the upper modules.

</comment></comment></comment></comment></comment></comment><comment><USER2> Oh by the way I've "told the friends", I've announced it on perlmonks :)

</comment><comment><USER7> Astonishing presentation, keep up the good work :)

</comment><comment><USER2> At least the home page and login look really impressive, that's promising :) I'm eagerly reading your presentation now....

</comment><comment><USER8> My god it's a 45 meg PDF! Still, looking forward to reading...

</comment><comment><USER6> Wow, I've been working on my own MMORPG (though I use Perl for all Admin stuff and SOME player stuff such as message retrieval.) I certainly haven't achieved the level of completeness this guy has. (or is it a team?)

I'd imagine that it's somewhat slow though. I assume it keeps the connection open, but if it doesn't the JSON encoding/decoding can also be a penalty.

Same with using MySQL, you have to use a network socket, and possibly disk bound depending on how MySQL is set up.

In any case, using the JSON-RPC style is very clean and fast to develop, and I use it for my MVC web projects. PERL rocks!</comment>


Adding a metre between meals boosts vegetarian appeal – study - <AUTHOR> https://www.cam.ac.uk/research/news/adding-a-metre-between-meals-boosts-vegetarian-appeal-study <comment><USER3> The temporal dimension is just as important as space. Adding a year between eating meat and a plant-based diet also makes the alternatives more appealing.

After being meat and dairy free for awhile my cravings changed. I guess our brains are plastic? I ate (and loved!) meat for 28 years, but today I don't even crave it, and can report I enjoy food just as much as I used to. If being plant-based required will-power, I don't think I'd be able to do it.

I think it's actually easier to go all the way, and avoid meat completely, than it is to cut back. If meat is a regular, if limited, part of your diet the craving never goes away.

<comment><USER4> I eat high fat, high quality steak and kale - that's all. It's pretty easy. I find it odd that meat is being described as or associated with a craving though. I've never craved plants or other foods.

I'm at 67 hours of a planned 72 hour water fast and I'm not craving food, nor hungry, it's easy once you get past the first day or two to continue for 5-10+ days so long as supplementing for electrolytes.

I'm curious what else you changed in your diet or eating behaviours when you stopped eating meat? Did you reduce your sugar and carbohydrates? The quality (processed or not, organic or not) and type of meat you eat as well - <USER2> people can have sensitivities and discomfort by eating specific types of meat; chicken and duck bother me some, pork bothers me more, beef is fine.

<comment><USER5> Did you have any trouble with a longer fast on your first attempt? I do intermittent fasting and have gotten to 24 bracketed by evening meals. I can't seem to fall asleep when I am hungry but find it very easy to skip breakfast and lunch. It's true for me that after like 12 hours the hunger goes away and it becomes easy to go past the 16 hours that's prescribed for IF. But the problem is that I start to get jittery from the adrenaline which is what ultimately gets me to eat in the evening even if I've done for 20 hours leading into that and don't actually feel hungry.

Any tips from others who have the same issue around hunger impeding sleep would be appreciated.

<comment><USER6> Hey, I have been doing OMAD since January. I usually eat around noon +-1h depending on meetings.

I faced the same issues and for me what really helped is drinking a lot of Camomille (0.5L) sweetened with sugar alcohols. I guess it does two things. Camomille has some calming effects, especially when warm. This immediately gets my stomach rumblings to stop. Secondly, the sugar alcohols might trick your brain in releasing some dopamine since it has a sweet taste (not sure, that's my theory). This helps me soldier through the adrenaline and hunger spikes.

</comment></comment></comment></comment><comment><USER7> A pound of meat isn't the same as a pound of carrots.

In case you're wondering about climate impact per _calorie_ instead of per pound/kg, here's an interesting article from the Washington Post: [https://www.washingtonpost.com/lifestyle/food/vegetarian- or-...](https://www.washingtonpost.com/lifestyle/food/vegetarian-or-omnivore- the-environmental-implications-of- diet/2014/03/10/648fdbe8-a495-11e3-a5fa-55f0c77bf39c_story.html)

I see a lot of these charts that a pound of beef vs carrots. Just seems dumb, I would have to eat far more than a pound of carrots to match the calories of a pound of beef. Most data/infographic stuff in a climate world bugs me because it's just not well presented. The overall conclusion is the same -- eating meat is a huge carbon footprint compared to vegetables. Climate change has a marketing problem.

<comment><USER8> Calorie counts are better, but still gloss over all the nutritional differences between e.g. beef and carrots. Comparing ingredients piecemeal when they aren't nearly perfect substitutes doesn't make very much sense. If you reduced your meat intake by 1kg of beef per week or month, what would you replace it with to sustain your nutrition?

It seems like it would be a fairer comparison to drum up reasonable examples of complete vegetarian, vegan, and omnivorous diets and work out a carbon footprint (or whatever ecological impact measure you prefer) of each backwards, from the plated food back to the source. Then look at the complete diets that have the lowest impact. I would still expect that vegan, vegetarian and very low-meat diets would do better than the typical diet in the US.

<comment><USER7> To that point you could simplify since both diets would have a lot in common. A salad, steak, and potatoes meal becomes salad, mushroom, and potatoes. So it's important to talk about what "substitutes" are.

</comment></comment></comment><comment><USER9> > "All cafeterias and restaurants have a design that 'nudges' people towards > something. So it is sensible to use designs that make the healthiest and > most sustainable food options the easiest to pick without thinking about > it," she said.

Hopefully such designs also produce lower quantities of the less desirable options, since food waste has a huge impact on climate change (according to drawdown's list).

> "We know that information alone is generally not enough to get us to change > damaging habits. More research is needed on how to set up our society so > that the self-interested default decision is the best one for the climate."

This I agree wholeheartedly with. Expecting people to change their behaviors is an exercise in futility. Defaults and convenience matter a lot more.

<comment><USER4> It's also why convenience stores turned into mostly low quality foods and sugar factories, higher profits, in part to subsidize ever increasing cost of rents to pay rent-seeking landlords; the problem persists to larger grocery chains for some degrees, however food overall would be cheaper if people didn't have access to so much "yummy" processed foods where people are habituated to sugary and saltier food.

</comment></comment><comment><USER10> Stop trying to nudge me. Focus instead on cultured meat, because that actually solves the fundamental problem.

<comment><USER11> I'm curious if you've tried Beyond Meat? Not saying it is comparable, but it is quite good in my opinion, much better than the old veggie burger options. Just interested in subjective opinions of people of how close it gets to being a viable alternative to people who currently eat meat.

<comment><USER4> Comparing high quality meat with a highly processed "meat alternative" shouldn't be judge on taste, and they're not comparable otherwise.

Beyond Meat burger ingredients: Water, Pea Protein*, Expeller-Pressed Canola Oil, Refined Coconut Oil, Rice Protein, Natural Flavors, Cocoa Butter, Mung Bean Protein, Methylcellulose, Potato Starch, Apple Extract, Pomegranate Extract, Salt, Potassium Chloride, Vinegar, Lemon Juice Concentrate, Sunflower Lecithin, Beet Juice Extract (for color).

Many of these things are not good for many people, and many if not the majority of people aren't connected to their body properly, conditioned by ego mind disconnecting them. Personally I can't do pea protein, canola oil, coconut oil, rice, bean, potato, apple, vinegar, lemon, or lecithin. Those all agitate my GI tract causing different levels of discomfort or pain.

What you find in meat however is the same as what's naturally in humans, it's the animal concentrating the plants they eat into nutrients, protein, etc - and high fat red meat like beef has exactly what your body and brain needs and in the right portions.

I'm not trying to argue it's not possible to make a comparable option, however it's highly unlikely. I do wonder if a cultured meat substitute is possible as well, as the highest quality meat are from animals in their natural environment under natural environmental stress conditions, it's more likely to create a comparable product though; getting cost down and texture will be the biggest challenges.

<comment><USER12> > Many of these things are not good for many people

Irrelevant. They are fine for the absolute majority of people. For almost everyone in the world, eating Beyond Meat burgers would be better than meat burgers.

You should eat according to your body's needs, but just because you have GI issues does not devalue innovations in food technology.

<comment><USER4> Curious what your background and life experience is to make such statements? You're quite dismissive and claiming all of those foods are fine for the absolute majority of people is quite the grand statement, along with the statement that Beyond Meat burgers would be better than real meat burgers.

</comment></comment></comment></comment></comment><comment><USER13> i'd be really curious to see a follow-up on this in a year - will this effect continue, or is it only occuring because the meat dishes being so far away is unexpected, and once people get used to the location of the meat dishes they'll skip to them.

</comment><comment><USER14> That bacon tray is always at the end of the buffet. You regret all the stuff on your plate. What am I doing with all this worthless fruit? I should have waited! If I had known you were here, I would have waited. I would eat only you bacon...

</comment><comment><USER15> > Meat-heavy diets not only risk our health but that of the planet, as > livestock farming on a massive scale destroys habitats and generates > greenhouse gases.

Well that's a bit over the top...

Seems like they could have stuck with the "vegetables are good for you" line and had just as relevant of an article.

<comment><USER16> Is it? As a rule of thumb, each layer of indirection in the food chain retains only 10% of the energy from the previous layer.

If we eat the stuff we give to cows (which is what vegetarians do) then we would need only 10% of the land to farm it.

<comment><USER17> Being pedantic. If we eat the stuff they feed to the cows I eat we would die. Grass is not human digestible.

My point being the problem is not meat which is a natural part of our diet (and is traditionally raised on land not well suited to crops) but the crazy frankenmeat many are reduced to eating due to overpopulation.

<comment><USER18> And as you well know, no one is suggesting that, so why is it worth to mention?

<comment><USER19> Pretty sure the parent comment was suggesting that. Hé even said "it's what vegetarians do".

<comment><USER20> Cows raised for beef are almost always fed corn and soy in feedlots, not let out to pasture to graze on grass.

<comment><USER19> Indeed, it's a shame since grass-fed tastes much better and is more environmentally friendly.

Either way, we can't just "eat what the cows eat" directly and there are a lot more variables to consider.

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> This just comes across as manipulative. Meat eaters don't want to be "nudged" into eating less meat or becoming vegetarian any more than vegetarians want to be "nudged" into eating meat (even occasionally).

</comment><comment><USER22> Today I learned that the British meter is 181 centimeters.

<comment><USER23> They _added_ a meter. FTA:

 _The difference: almost a metre of added distance between the vegetarian and meat options, with an 85cm gap in the first college compared to a 181cm gap in the second_

<comment><USER22> Thanks!

</comment></comment></comment><comment><USER24> How about they just go ahead and put a sign on the meat dishes saying "recently sneezed on by someone with Covid" to make the veggie option more appealing?</comment>


Python 3.3: Trust Me, It's Better than 2.7 - <AUTHOR> http://pyvideo.org/video/1730/python-33-trust-me-its-better-than-27 <comment><USER2> Slides are also available at [https://speakerdeck.com/pyconslides/python-3-dot-3-trust- me-...](https://speakerdeck.com/pyconslides/python-3-dot-3-trust-me-its- better-than-python-2-dot-7-by-dr-brett-cannon)

</comment><comment><USER3> I'm sure it is better, native unicode support foremost of all is what I long for. But until it get's pretty ubiquitous module support it's not that useful in general.</comment>


Well-Aimed and Powerful - <AUTHOR> http://blog.longreads.com/2015/07/07/well-aimed-and-powerful/

<comment><USER3> > The heroic era spanned only eleven years (1961–72) compared to the shuttle's > thirty, with a much longer list of firsts, and this fact contains an > important lesson about the history of American spaceflight as well. We did a > lot in a very short span of time, and then we did a lot less for a lot > longer. Soon, of course, we'll be doing nothing at all.

Really? Nothing at all? And list of projects developing new hardware both for manned flights and for launching payloads isn't long enough?

> This is the paradox of growing up in the shuttle era: the vehicle is more > complex and advanced, its reusability makes it much more cost-effective, and > its versatility makes possible missions the Saturn V never could have > accomplished, such as repairs to the Hubble Space Telescope and construction > of the International Space Station.

Really? Saturn-V couldn't carry a mission to repair Hubble Space Telescope similar to Soyuz mission to repair Salyut-7? International Space Station couldn't be build using Atlas and Delta, Proton and Ariane alone - <USER2> after Mir was built by Protons? You're kidding, right?

</comment><comment><USER3> My favorite counterargument to moon conspiracists is the following: it was technically possible to fly to the Moon, and way easier to fly than to convince everybody without actually flying; so - why not to fly? Technical details of the Apollo project show, that it's not rocket science :) by today's standards at least, not so much. Meaningful application of known approaches, moderately conservative (say, F-1 parameters, except thrust, were well within known models proven already experimentally), with a lot of work... but not really magic, no more than you'd expect from a project of that size.

</comment><comment><USER4> "This is the paradox of growing up in the shuttle era: the vehicle is more complex and advanced, its reusability makes it much more cost-effective [...]"

Um, what? Can anyone substantiate the claim that the shuttle was cost- effective?</comment>