U.S. Navy to use Xbox 360 controllers to operate periscopes aboard submarines - <AUTHOR> https://pilotonline.com/news/military/local/the-u-s-navy-s-most-advanced-submarines-will-soon/article_5c24eefc-8e70-5c4a-9d82-00d29e052b76.html <comment><USER2> Former submariner here. My thoughts echo those of a ex-submariner group I'm a part of -- it makes sense across the board. It's 1) a cost saving measure, 2) WAY easier to get replacements, and 3) WAAAYY easier to train new people to use it safely and efficiently.

<comment><USER3> I'd have two big reservations about this.

1\. The Virginia class was first commissioned in 2004, with a 33 year design life. The XBox 360 was first shown in public in 2005, with a design life of ...? Yup, it's consumer electronics, with a design life of _much_ less than 33 years. Even though there are on the order of 80-100M of them in the wild, by and by XBox 360s and replacement parts will be getting scarce.

(If you think this is an exaggeration, consider the availability of spare parts today for a computer system commissioned 33 years ago, in 1984 — an original IBM PC XT, perhaps, or an original Macintosh, both of which were manufactured in — for the time — high volume. Things like 5.25" floppy disks, or a replacement M-series IBM keyboard with the original DIN plug, were once ubiquitous, but today they're rarities.)

2\. A second concern is that these days _everything_ comes with an embedded processor and an enterprising hostile entity might try to sneak malware on board a fast attack submarine via the periscope controller handset. (I've no idea what form such malware might take, or what it might accomplish, but that's not the point: it's that using cheap commercial handsets widens the threat surface of the submarine's sensor suite arbitrarily.)

<comment><USER4> Good points, but I think we can work around them.

1) As others have said xinput is pervasive as this point. If the Xbox 360 controller becomes hard to source then I'm sure a replacement xinput derived device will still be around. If not, it's a well documented standard and new devices can be made.

2) This leans on my first response. Xinput is the winner here, not the Xbox controller. If after testing they can't harden it then we have a lot of other options, up to and including a bespoke controller.

I guess what I'm saying is that video game controls are so much fun for a reason. They 'just work'. And while there is a little bit of dystopian sheen to seeing video games become the source for defacto tooling for war machines I'm always for a simplification of man/machine interactions.

<comment><USER5> > If the Xbox 360 controller becomes hard to source then I'm sure a > replacement xinput derived device will still be around. If not, it's a well > documented standard and new devices can be made.

First of all, I want to say I agree with you. That said, you didn't really refute GP's point.

The IBM XT was well documented, had many clones and alternatives, but still you can't find parts at most electronic stores _33 years later_. Several decades is a _very long time_ in consumer electronics.

<comment><USER6> One thing I'd point out is that the only relevant objections are things that are true about the XBox controller that aren't true about _all_ the alternatives. One-off bespoke custom hardware at dozens of thousands of dollars a pop are not necessarily going to be better supported at these time scales, because even if you sign an iron-clad contract with an entity to do whatever maintenance you could dream up, they still have the "going out of business entirely" option. You also can't neglect the hours of training involved and all the other associated costs with bespoke solutions.

We're trying to solve the problem of how to point periscopes here, not solve the generalized problem that when it comes down to it, nobody _really_ knows what 2027 is going to be like.

(By contrast, "this is a new vector for malware if the supply chain is not secured" is a valid concern because one presumes and/or hopes that bespoke military hardware is better controlled there. This is a solvable problem, but solving it eats into the cost advantage.)

<comment><USER5> Responding "the same problem exists with the custom hardware" isn't what everyone is replying with. Instead they keep going with the trope that it's an open standard and not realizing the example given was an open standard 33 years ago.

Further more, I agree with your parenthetical that the malware angle is the more important argument. I disagree that it's a solveable problem though, but I feel the Xbox controller isn't the reason it isn't solvable. Any platform can be hacked given sufficient motivation.

Honestly I think using these controllers are likely the best approach, but let's not pretend it doesn't have issues (it's just the it's the same issues or less cumbersome issues than alternatives).

<comment><USER7> This is an interesting debate, but I think it misses the most important point: cost.

The Navy can buy thousands of Xbox controllers for the cost of even a single bespoke controller. The US has on the order of 100 submarines. Replacement controllers for the lifetime of each submarine -- even multiplied by 10 -- is a hilariously small cost compared to the alternatives.

So buy 1,000+ Xbox controllers and keep them in a warehouse. Problem solved.

<comment><USER8> > buy 1,000+ Xbox controllers and keep them in a warehouse.

Yes, I was going to suggest this. It would solve the availability issue and reduce the malware issue. If it's replacing a $38,000 item, they could buy 1,265 extra per sub.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This is one of those simple ideas that makes a lot of sense. I'm glad to hear there are teams working to reduce costs _and_ improve UX for the military.

Microsoft obviously did a lot of user testing with their controller, but they must have been optimizing for a certain consumer price point as well. It makes me wonder what sort of controller you would have if they spent all that focus on usability, but with the same $38,000 price tag the periscope control panel commands.

<comment><USER10> Once you add the cost of adapting the periscope HW/SW and organizing + performing a one-off small run of XBox controllers on a US-only supply chain with military markup at each level, I suspect those "XBox controllers" cost closer to $30k than $30.

<comment><USER11> Given that the 360 is no longer the current model, it's possible that they just took back the molds and swapped out a couple of the ICs. There's very little in a 360 controller to begin with. Even the wireless ones have only one complex/specialized IC[0], and it seems to have been designed by Microsoft themselves.

About half of the semiconductor industry is headquartered in the United States, and about half of the wafer capacity of U.S-headquartered semiconductor manufacturing companies is in the U.S. It is perfectly reasonable to expect Microsoft to be able to manufacture their own IC design in the country with the single greatest semiconductor manufacturing industry in the world.

Edit: here's a (low res) image of the wired controller. It too seems to have only one complex IC, and that too seems to have Microsoft markings on it[1].

[0]: [https://d3nevzfk7ii3be.cloudfront.net/igi/4O1NH31bxPOMsUxu.h...](https://d3nevzfk7ii3be.cloudfront.net/igi/4O1NH31bxPOMsUxu.huge) [1]: [https://cdn.instructables.com/FP6/6FYR/Z4BEV2Z5NA5/FP66FYRZ4...](https://cdn.instructables.com/FP6/6FYR/Z4BEV2Z5NA5/FP66FYRZ4BEV2Z5NA5.MEDIUM.jpg)

<comment><USER12> You have only very vague understanding of how our government works. First, they will not contract this to some startup or anything, but instead the company that does the periscope will do it. Then there are reams of regulations to follow, an everything the contractor does will be the most expensive option available because they charge percentage of "cost", and the higher the cost, the more money they make. I would be stunned if in the end this ends up being cheaper than just manufacturing the designs that already exist.

<comment><USER11> > _First, they will not contract this to some startup or anything, but instead > the company that does the periscope will do it._

Wouldn't they contract Microsoft to do it, since it's their own design? Even by DoD standards, Microsoft is not a "startup".

I know that there are 360 controllers used in the field already (not sure about Navy). Even if they have different standards, what you're describing probably couldn't be done anyway; the periscope controller company is probably not equipped to do the beautiful consumer goods injection moldings and precision joystick assembly (and calibration). If they tried to do this, it would likely end up costing _more_ , and as diabolical as I think the military procurement contracting process is, I don't think they would do this specific thing unless it saved money or appeared to save money.

What exactly is stopping them from working with Microsoft (who they already contract with all the time!); at most having a U.S. PCB run, and a U.S. IC tapeout (IBM, Intel, ...), and calling it a day?

<comment><USER12> The periscope company will just CNC it out of a solid block of titanium then.

Microsoft wouldn't want their business. It's a relatively small amount of money for very large amount of pain in the rear. And even if they did want DoDs business, DoD wouldn't deal with them directly, instead they'd subcontract them through one of those giant contracting companies with "Federal" in their name.

<comment><USER11> > _DoD wouldn't deal with them directly_

Why wouldn't they deal with them directly? They already do!

I understand being cynical, but you have to admit you're making a satire of this system, no matter how ridiculous it is in reality.

<comment><USER12> I'm not being cynical, I'm speaking from direct experience. Satire, as it turns out, is not quite as inventive as government bureaucrats.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I love it when manufacturers choose to use common and inexpensive connectors/components, rather than choosing to make their own proprietary one. Using the iec 320 c13/14, usb micro, and other "standard" connectors is laudable.

<comment><USER14> Big fan of standardization as a principle over here. Even if the technology in question isn't the best, if its adequate I become an advocate as soon as its near being a standard. More use of common and inexpensive things and more standards just makes everything more modular and easier to fix in general.

</comment></comment><comment><USER15> That's great. Those controllers are awesome, durable, easily replaceable, cheap, portable, intuitive, and have undergone an ungodly amount of user testing. Most importantly the recruits will typically have experience having used them in the past.

</comment><comment><USER16> That's a good sign. I'm sure the alternative is getting a quote from some contracter who would want to reinvent the wheel for millions of dollars, and probably a worse result. Microsoft already did the legwork of development. More consumer products ( as long as there are sufficient fallbacks / quality control ), in military operations, is a-ok in my book.

<comment><USER17> Here is an alternative:

[http://www.cw-industrialgroup.com/About/Penny-Giles.aspx](http://www.cw- industrialgroup.com/About/Penny-Giles.aspx)

<comment><USER18> To be fair, their stuff is very good.

</comment></comment></comment><comment><USER19> I have been using an xbox one controller instead of a mouse for 4 or 5 months now. I use the qjoypad package to map the thing. It's really great and I believe it's why my chronic right-side back pain has completely vanished.

So as someone who uses this type of input device, I think it's a great fit for military use.

<comment><USER20> I started doing this too, but use Antimicro ([https://github.com/AntiMicro/antimicro](https://github.com/AntiMicro/antimicro)) instead of Qjoypad, since I find it to be more configurable. I don't use it as a replacement for a mouse but a keyboard instead. I configure it for specific apps where I need repetetive keystrokes, such as :

\- VLC when I need an easier way to seek media by various amounts, speed- up/slow-down the video, play next in the playlist. Using the controller frees me from being hunched on the keyboard

\- Any document reader to navigate pages

It can of course be configured as a replacement for a mouse, but the precision in my experience was way lower.

<comment><USER19> I'm going to take a look at that

I ran into the precision issue as well, but my brain eventually figured out how to deal with it. I use the left analog pad for higher precision tasks

</comment></comment></comment><comment><USER21> Did development engineering in the air force. Worked with xbox360 drivers as a PoC for bomb defusal bots. The troops loved the ergonomics, and the product was cheap. iirc i think irobot does use these for our bomb bots

<comment><USER22> And many youth will already be trained on the controller.

I've seen this subject come up before. It makes sense. I believe it was even considered for UAV controls.

<comment> rkuykendall-com > And many youth will already be trained on the controller.

And if they're not, give the troops XBOXs and Halo, and they'll be more than happy to train THEMSELVES on it in their free time!

</comment></comment></comment><comment><USER23> South Korean Navy recently retrofitted their Type 209 and other submarines with digital camera based pericopes, replacing traditional periscopes.

When the South Korean Navy procurement office requested proposal from traditional periscope manufacturers, the quoted price was astronomical.

S Korean Navy said no thanks and had local manufacturers develop/test/manufacture a new digital camera based periscope at a FRACTION (like 10% ?) of the quoted price from traditional manufacturers.

</comment><comment><USER24> While they're not likely to be the best control experience you can possibly get for a given application (as any serious FPS or fighting game player can tell you), the mainstream official console controllers really are engineering and design feats in their own right. This is one of those things where getting it 90% right is easy but the last 10% will make people hate using it.

</comment><comment><USER25> Will it vibrate when they get hit?

<comment><USER22> Technically, yes. Possibly a very short vibration, however.

</comment></comment><comment><USER26> Well I'd rather use awsd and a mouse personally.

<comment><USER27> They probably added auto-aim.

</comment></comment><comment><USER28> Why not? It's a good controller, cheap, and readily available.

I'm reminded of the in-joke in _Metal Gear Solid 4_ that saw Solid Snake use a PS3 controller to joystick around the "Metal Gear Mark II" recon drone. Then, as early as later that same year, actual soldiers were operating actual drones with Xbox controllers...

</comment><comment> GuB-42 What about ratings? Military hardware typically use electronics with wider margins for temperature, humidity, power surge, etc... While consumer hardware is used a lot in R&D and testing, it normally doesn't make it to the final product.

Of course, I practice, I think that a peripheral designed to withstand the wrath of gamers worldwide could handle an actual war just fine. And if not, replacements don't cost much. But still, it is surprising that armed forces accept something not covered by rubber stamps and red tape.

<comment><USER29> This isn't the first time our armed forces have used the venerable Xbox 360 controller, they're cheap and easy to replace, ubiquitous, and basically anyone can use one comfortably.

Sure, they aren't waterproof, dust proof, have overvoltage protection, etc. but whatever - you can carry a dozen spares for $240.

</comment></comment><comment><USER30> The Xbox 360 wired controller is a great piece of kit, easily the best controller ever as a balance of price, reliability, and simplicity of use - the API has literally two functions, "what buttons are pressed" and "set vibration to X". The initial Xbox One controllers were a clear regression, although the recent Xbox One X are much better again. However, for use cases such as the submarine in TFA, wireless is a liability, not an improvement.

<comment><USER29> The Xbox One controllers send data over the USB cable when plugged in. You could make the argument that the USB cable could get pulled out of the controller, but the Xbox 360 wired models have the breakaway which is just as easy to pull out with a good yank anyway.

<comment><USER31> > but the Xbox 360 wired models have the breakaway which is just as easy to > pull out with a good yank anyway

If that became an issue, you could put duct tape around the breakaway to hold it in place. More difficult with a micro USB connection.

</comment></comment></comment><comment><USER32> I also am one to agree that I think this is a great step forward with maybe trimming off our huge military expenditures, particularly ones that come out as "leaks" because they are so embarrassed of them.

I'm sure the U.S. navy will be taking a look at the hardware and maybe even flashing their own firmware on them, lest we open ourselves up for a catastrophic backdoor.

<comment><USER18> In the overall cost of the periscope, I'd be surprised if the original $30K controller was even 1% of the total. It's still $30,000 saved, but in the scheme of things this sort of economizing is not going to have any impact.

What's more important is they found a more familiar, intuitive, hence better controller device. That it was also much cheaper was just a little bonus. If the savings in training hours are to be believed, that will be a much greater savings than the cost of the hardware.

<comment><USER29> It also makes maintenance cheaper over time, that $30K controller is going to cost a lot more to fix should it malfunction or get damaged than replacing a $20 game controller.

</comment></comment></comment><comment><USER33> > "I can go to any video game store and procure an Xbox controller anywhere in > the world, so it makes a very easy replacement."

Or the Rec room.

<comment><USER34> Great, now China's going to put malware into every Xbox controller on the off- chance it gets inserted into a USN submarine /s

<comment><USER35> This is something to worry about. USB hosts and devices identify themselves - malicious firmware embedded in the Xbox controller could check if it's connected to a real Xbox, compared to a Windows PC, or a submarine, and act (or misbehave) accordingly.

And what is the plan in 20-30 years' time when the submarines are still in action but the controllers stopped being made? I get the feeling we'll see Navy personnel bidding on "vintage" Xbox controller auctions on eBay the same way prices for original NES and Atari controllers are through the roof right now.

<comment><USER36> USB hosts do not identify themselves to devices.

<comment><USER35> How does my iPhone know which PC I've plugged it into then? Even when iTunes isn't installed (so no "Apple Mobile Device" drivers) it seems to remember my privacy preferences on a per-host basis.

I'll concede that may be a feature of the allocation protocol running on top of USB (PictBridge?) but that still means that mutual identification over USB is still possible. I'm pretty sure it's in the USB HID spec that the Xbox controllers implement.

</comment></comment></comment></comment></comment><comment><USER37> I worked at a military contractor one summer, decades ago. Back then, nothing went out that wasn't mil-spec. My novice understanding of this was that equipment used by the military must be able to withstand a much wider variety of stress, and exhibit a much greater degree of usability under every possible scenario, than could be provided by consumer-level products. Specifically, my job at the time was sitting in a dark room helping to measure the light output of switches that were used on airplane consoles. This was understandable because this equipment is not only life-or-death but must perform in chaotic and hostile environments.

TL;DR. Does the xbox 360 controller to be used on navy submarine work when say....it gets wet? (or just how does it deal with saltwater corrosion). Not to mention the security issues I see other people mentioning here.

<comment><USER38> No it probably doesn't do well when wet or corroded, but, instead of $38,000 for single point of failure, you now have watertight box of 20 (or more) $30 controllers.

<comment><USER37> I get that, but the corrosion is internal. The unit could fail in the middle of a critical operation. How are they handling that?

</comment></comment></comment><comment><USER39> > The company says the photonic mast handgrip and imaging control panel that > cost about $38,000 can be replaced with an Xbox controller that typically > costs less than $30.

I'm curious if their supplier will give them the bargain US-government-only price of $1999.95 per controller.

<comment><USER40> Frankly that would still be a huge cost savings and I wouldn't even be mad

<comment><USER39> Gonna have to mark that up a bit more. :)

</comment></comment></comment><comment><USER41> I've noticed xbox style controllers are very common in the military now. I'm thinking it's a generational thing. It wasn't that long ago that you would have seen a big joystick covered in buttons serving this purpose.

<comment><USER42> imo, less generational and simply forward progress in human factors, engineering and design.

</comment></comment><comment><USER43> It's kinda funny and pragmatic at the same time. Soon tanks and planes will be controlled this way too. It will be much easier to train all the gamers for war in reality.

<comment><USER44> On the other hand, it further "gamifies" war instruments and removes military personnel from their actions.

<comment><USER45> Former PS3-controller-controlled weapon operator here. I don't think this is accurate at all, for two reasons:

1\. The more technology involved, the more audio/video/telemetry is recorded and stored. If we shot somebody, there was ALWAYS a legal review afterward. Your average grunt doesn't face anywhere near that level of scrutiny (not saying they aren't scrutinized, just not to that extent).

2\. Despite common preconceptions about military members, exaggerated by Hollywood and not a few knuckleheads, the majority of us are regular people. We have families and a dog, and we don't like to kill people. We do it because we believe it's our duty to keep you safe. Years later, we still cry about it. It's a heavy burden. The X-Box controller doesn't change that.

</comment></comment></comment><comment><USER46> This makes sense. Microsoft spent a lot of time researching the ergonomics of these controllers, why replicate their user research?

</comment><comment><USER47> > everything is controlled with a helicopter-style stick... It's kind of > clunky in your hand; it's real heavy

Have we got an image of this? Side by side with the controller?

</comment><comment><USER48> I can't believe my tax dollars would be used for such an expensive thing! At least go to the lowest bidder and get MadCatz ones!

</comment><comment><USER49> Navya uses those in their autonomous shuttles for troubleshooting by an operator to stop/steer the vehicle.

</comment><comment><USER50> don't these things have microphones and components of questionable origins? I agree that it's basically a good idea but I'd be a little worried about embedded mics/etc from wherever living inside of nuclear subs.

</comment><comment><USER51> XBox controllers are super inaccurate and have lot of random noise. They could have used remote controllers for drones like FrSky and plugged it in as joystick. It would cost $250 instead of $25 but, gosh, you are in $100M sub!

</comment><comment><USER52> Not for nothing this isn't uncommon, The CLU on a javelin missile uses a ps2 controller. Split to separate hands but when your training on it your like, I remember this.

</comment><comment><USER53> This makes an enormous amount of sense

</comment><comment><USER54> Once they add these to jets I'll be able to use my battlefield multiplayer history as a résumé :)

</comment><comment><USER55> Why not PS4 controllers ?

<comment><USER56> How do you think that would go over with the sailors? "Government awards military contract to foreign company."

<comment><USER55> ah! i was thinking it might had been related to usability... nice one thanks :D

</comment></comment></comment><comment><USER57> $38k for the current version ! No Way !</comment>


Coroutines in C - <AUTHOR> http://www.chiark.greenend.org.uk/~sgtatham/coroutines.html <comment><USER2> The guy behind this article (Simon) is the lead author of PuTTY and was the lead author of nasm. Seriously smart dude.

<comment><USER3> Alas, he's also responsible for one of my worst time-wasting habits: <http://www.chiark.greenend.org.uk/~sgtatham/puzzles/>

<comment><USER4> That's the same guy? Damn, any productivity I've gotten thanks to PuTTY has totally been cancelled out by those puzzles.

</comment></comment></comment><comment><USER5> Io's coroutine library is separate from the VM and open source:

<http://dekorte.com/projects/opensource/libcoroutine/>

<comment><USER6> ditto for Perl: <http://search.cpan.org/dist/Coro/>

<comment><USER5> You can use that library outside of Perl?

</comment></comment></comment><comment><USER7> Stackless Python is cool, but don't you wish there was a library that made coroutines clean and easy in vanilla Python?

EDIT: whoops, I meant to say continuations, as camccann was kind enough to point out.

<comment><USER3> Vanilla Python _has_ coroutines, as of version 2.5. See here: <http://www.python.org/doc/2.5/whatsnew/pep-342.html>

Basically it works by letting you send a value into a generator function, which then appears as the return value of the most recent yield statement. I have abused this feature horribly at times to create cooperatively multitasking lightweight pseudo-threads. Good times, that.

What vanilla does _not_ and likely never will have, that Stackless does allow, are full continuations, a.k.a. the Dark Lord of All Flow Control Structures.

<comment><USER8> Sadly, using generators as coroutines falls apart badly as soon as you try to perform a subroutine call. There's no easy way (at least, not that I've come up with) to call a coroutine sub from a coroutine without copious glue.

<comment><USER3> Wandering progressively off-topic...

I wouldn't call it "copious", necessarily. It's easily reusable, at least. My aforementioned cooperative multitasking hackery involved inheriting from a base "coroutine-able" class that, among other things, kept a per-instance execution stack that would be updated by the dispatching loop depending on the value yielded by the generator. The end result would look something like this:

      def foo(self):
          spam = 1
          while True:
              yield self.call(self.spam_and_eggs, spam)
              spam += 1

      def spam_and_eggs(self, spam):
          print ("spam, " * spam) + "and eggs"
          if spam >= 20:
              yield self.halt()
          else:
              yield self.wait(2)
          yield self.ret()

Which would print another item off the menu every other cycle of the dispatcher loop, until 20 "spams" at which point the "thread" would stop.

Other actions included a goto (clear the stack and jump to a new generator method), conditional waits (keep running the thread unless, say, 2 miliseconds have elapsed since it started this cycle), and "message passing" between threads (push something onto another instance's stack). The main _downside_ was that stack traces from exceptions inside a faux-thread were singularly useless, though I was working on some debugging tools for code using it.

The guts of it amounted to maybe a few hundred lines of code, most of which is the dispatch loop and bookkeeping for message queues. One of these days I ought to clean it up and post the code on the web somewhere, but unfortunately I'm currently in a somewhat sticky spot and looking for work (and I fear that spending more time on things like building cooperative multitasking in Python than things to further my humdrum day-job career has not been a great help thus far).

</comment></comment></comment></comment><comment><USER9> libcoro: <http://software.schmorp.de/pkg/libcoro.html>

<comment><USER6> libtask: <http://news.ycombinator.com/item?id=676522>

</comment></comment><comment> loup-vaillant Or you could use lazy evaluation (on the producer). In this case, a simple stream is enough. Then, you call both the producer and the consumer (`return consume(produce());`)

Horrible in C, but beautiful in languages with GC and lambdas.

</comment><comment><USER10> I can't help but think about how you can build a state machine in C++ templates that achieve the same result with type safety, no overhead and no risk of running into compilers generated problems.

</comment><comment><USER11> <http://swtch.com/~rsc/thread/>

<http://swtch.com/libtask/></comment>


Looking for summer 2018 software internship - <AUTHOR> https://internship.jozefcipa.com/ <comment><USER2> Looks fine in chrome, but bad in IE11.

Have you looked in the official posts? [https://news.ycombinator.com/submitted?id=whoishiring](https://news.ycombinator.com/submitted?id=whoishiring)</comment>


Ask HN: Why don't streaming services make use of P2P? - <AUTHOR> Wouldn't this drastically reduce their bandwidth costs? I would imagine the majority of people streaming HD/4K Netflix don't have bandwidth caps to worry about, so it wouldn't be very noticeable to the end user and be largely beneficial to the streaming service. Why isn't this more common? <comment><USER3> P2P is for decentralization. Why would a centralized entity want to implement a decentralized service when they can create a centralized version of that same service faster, easier, and cheaper?

P2P is _hard_ with a capital H.

<comment><USER4> Why hard?

On server maintain list of ips. Serve ip to the client-peer. If the connection gets spotty replace it or use direct connection to your server. All State exists on your server. Caching may be an anti-pattern depending.

What's so hard?

<comment><USER5> That's just overly complicated centralization.

Decentralization is allowing peers to find and negotiate their own connections and demoting your servers to a very powerful peer.

</comment></comment></comment><comment><USER6> Netflix has considered it in the past, so there must be some kind of catch. If it's a technical reason, I'd guess at poor ISP performance when it comes to a large routing table with many small transfers from many IPs.

In contrast, Netflix currently puts caches on location at ISPs, creating a fast CDN and allowing the ISP to do quality of service filtering on Netflix data (probably to make it faster than other p2p data?).

</comment><comment><USER7> Spotify used P2P when it first launched, and I think it worked well. The move to phones as a primary playback device probably made it less feasible.

</comment><comment><USER8> Joost used to do this; I think they dropped it because the cost of maintaining the P2P code was more than the cost of bandwidth.

</comment><comment><USER9> It's simply not as efficient as you might first think, which is unfortunate, but just a nature of how networks are designed.

I'll take a typical UK broadband network as an example, as it's what I'm most familiar with, however the same is true for many networks around the world just different technologies.

A broadband (ADSL/VDSL/Cable) service creates a tunnel (PPP) from the router at your house or office back to a single gateway (BNG/BRAS/LNS) within the ISP's core network, any traffic to or from your router to the outside world will pass via this tunnel to your ISP. The ISP's backhaul network between your house and the core network is just dealing with the routing of these virtual tunnels, and not really paying attention to the traffic which they encapsulate. (For simplicity I'm ignoring QoS)

This means even if your communicating between your house and your neighbour via something such as P2P, FTP, HTTP etc. The traffic is always first tunnelled back to an ISP Exchange / Data Centre before it then routes towards its destination. If you were to draw the logical traffic flows out, that Gateway is always a pinch point regardless of the protocol used within the tunnel.

This is where caching services really come into their own (e.g. [https://openconnect.netflix.com/en/](https://openconnect.netflix.com/en/) or [https://peering.google.com/#/options/google-global- cache](https://peering.google.com/#/options/google-global-cache)) - <USER2> content providers will offer up caching hardware to the ISP at zero cost, subject to some basic requirements been met. Really these are just servers with a large amount of storage space and high throughput network interfaces, which hold a copy of the most popular content for that provider.

The key to the success of Caching servers is the ISP can place these wherever they like, and therefore control the traffic within their core network – As an ISP your likely to put these literally a matter of meters away from your gateway (BNG/BRAS/LNS) nodes, however it really could go anywhere in their network.

Something else I've seen Netflix talk about publicly is the quantity of content they hold, and actually the quantity of the same content which people wouldn't usually expect – For example a single 60min TV episode they might have hundreds of copies of on their servers and these cache servers, as there are so many device types in the market and so many bitrates that it's not feasible to transcode these in real time based on user demand, instead it makes more sense to transcode the episode to 300 different files once, copy the resulting files to their cache layer and then serve the best one for the user.

So now if you switch back to P2P there's a few problems which are a lot more apparent…

The bandwidth in P2P must first leave one subscriber to reach the data centre via the ISP backhaul network, at which point it loops back to the viewing subscriber, again via the ISP backhaul network – So you have "2n" the backhaul usage for P2P content vs Cache served content.

Users are unlikely to have the right transcoded version of content to hand for the person trying to view the content, in which case you would fall back to a hosted copy of the content anyway.

The reliability, latency and available bandwidth of someone's home broadband line is always going to be poorer than that of a Cache server directly plugged into the ISP network.

Many users probably don't want to have their upstream bandwidth used for this, or equally don't want their GB of local storage to be consumed for content providers trying to save some money on content delivery.</comment>


Pseudo-peer-to-peer - <AUTHOR> http://telegra.ph/Pseudo-peer-to-peer-12-31-2 <comment><AUTHOR> I want to ask the HN community to kindly consider this post worthy of reading, because as an anonymous user, submissions are heavily suppressed (to avoid spammers and bots).</comment>


Ask HN: Entire API and DB generator from model definition - <AUTHOR> I've recently got back into some backend development after being more front end focused for sometime. At the current company I am at they are quite invested in using JSONAPI spec (which I actually think is great) for their microservice APIs. I've realised that a lot of these APIs simply become REST interfaces over the database with resources mapping 1:1 with the db models.
Our current process for building these out is to build a swagger definition with a mock service backend in js to unblock upstream clients like web and mobile. From there we go an implement the real API in python/flask with postgres.
It got me thinking that probably 80-90% of all the code written for the real API is boilerplate setting up models, db migrations, routes, controllers, authentication etc.
I am imagining that a fair bit of this could be automated, all you really need is a modal definition, and you could generate all of the above, abstracting all that away from the engineer. Providing hooks for inserts and updates would allow for custom business logic to slot in, and would be all the real code engineers would need to write.
What else am I missing that backend developers would want from a framework (or managed service) like this? <comment><USER2> I would say that's a valid insight and most Line Of business (LOB) apps can (and really should) be produced that way.

However, this approach usually doesn't work for more "system" level products.

Check out Model-Driven Architecture [1]. Most likely you'll be able to configure an MDA toolchain to generate the code you want

[1] MDA [https://en.wikipedia.org/wiki/Model- driven_architecture](https://en.wikipedia.org/wiki/Model-driven_architecture)

<comment><AUTHOR> Thanks for the link!

What do you mean by "system" level products?

I would envision this would make sense for microservice style APIs, not so much for client/product facing interfaces like an API tied to a web front end

<comment><USER2> I just meant something with a lower level of programming than business apps.

Usually, the frameworks themselves, "servers," "engines," and "drivers" would not be easy to generate with the MDA approach. I imagine, apps and games with highly customized UI/UX would not be a good fit either.

MDA is for "boring" business apps where you would want all your screens look the same unified way. That's where MDA shines, cuts down coding and QA effort, and allows producing massive products with many hundreds of tables and screens.

<comment><AUTHOR> Agreed, I see this as a good fit for micro service APIs where the consumers are just other parts of a larger system. APIs for front end or consumer facing applications would likely not fit this model so well</comment></comment></comment></comment>


Show HN: I made a game "Math Jutsu" to help people do better mental calculation - <AUTHOR> https://itunes.apple.com/us/app/math-jutsu/id1329320311?mt=8 <comment><AUTHOR> I have been volunteering in a group to teach children from low-income family Math and English. I found out some kids are struggling to simple math like addition and subtraction (since they rely too much on their fingers to do the math). so I created Math Jutsu to help them familiarize with mental calculation. Hope this will help others as well.

</comment><comment><USER2> Very cool game. Best score is 41 so far. Gave you a quick review and 5* rating in the Android store.

<comment><AUTHOR> Thanks, mate. Really appreciate the rating.

</comment></comment><comment><AUTHOR> the android version is available here: [https://play.google.com/store/apps/details?id=mathrun.myticm...](https://play.google.com/store/apps/details?id=mathrun.myticmoon.com&hl=en)</comment>


Ask HN: What is good conversion from trial to paid for SaaS? - <AUTHOR>

I wonder what is a good conversion ratio from trial to paid for B2B SaaS service which costs $10/month.<p>We have conversion of 20% (20% of people end up paying at the end of trial) and we wonder if that is a good number. <comment><USER2> it's highly dependent on niche, type of product, price, etc. Really, since conversion optimization is a never ending process, you should just be comparing conversion rates over time as you make changes and tweaks.

Also, conversion rate is just one side of the coin. Churn and lifetime value are just as, if not more important to be concerned with.</comment>


Ask HN: How do you sponsor H1 VISAs or otherwise facilitate non-citizen hires? - <AUTHOR>

I run a small company and have never sponsored anybody for citizenship. We turn away ~25% of applicants because they need this. Is this something that is even possible for a small company? If so how do you do it? Most of the online advice seems to start and end with "hire a lawyer".
I almost want to suggest this as an idea for YC applicants. It would be nice if there was a site/service that clearly laid out the process, with prices on each step and a checklist that I (and the employee) could monitor. Currently I have no idea what I'm getting into and don't have the time/$ to spend figuring it out.
Does anything like this exist? <comment><USER2> I'll throw in a couple tidbits:

An H-1B visa isn't citizenship, nor is it permanent residence. It allows someone to stay in the US and work for a US employer (and hold no other jobs at the same time). In general, H1 and L1 visas are among the only way for people from outside of the NAFTA trade zone to seek employment-based entry into the US. There are other visas like O visas (typically used by people with extraordinary talents) or refugee visas and the like, but those are generally not applicable to your candidates.

If you want to hire Canadian (or possibly Mexican) citizens, they do not need a visa to work for you. You can instead sponsor them to obtain a TN (NAFTA) work permit. These permits are somewhat easier to obtain because there is no lottery, no cap, and no window of opportunity effect (The H-1B visa cap is generally filled within the first moments of April 1st of every year). Since a TN work permit is not a visa, it doesn't lead to permanent residence. It can be renewed virtually indefinitely, however.

Hiring a legal firm to handle paperwork of dealing with USCIS and other entities involved in bringing a person into the US is pretty much unavoidable, though not unheard of.

</comment><comment><USER3> I'm curious, you say you want a service that performs this for you. Yet you don't accept "hire a lawyer" as valid advice. What do you think an immigration lawyer does? What is putting you off using one?

</comment><comment><USER4> I'm actually working on project that does pretty much everything your asking for :)</comment>


Apple's T2 Will Block Linux from Booting - <AUTHOR> https://www.phoronix.com/scan.php?page=news_item&px=Apple-T2-Blocks-Linux-UEFI <comment><USER2> The article is incorrect. You can disable secure boot as simply as clicking an option in a dialog box.

[https://support.apple.com/en-us/HT208330](https://support.apple.com/en- us/HT208330)

<comment><USER3> I'm curious how this plays out in the long term.

Apple seems very aggressive about blocking 3rd party code from running on their hardware.

I think the goal of the T2 is to block Hackintosh and also to block hardware upgrades.

At some point Apple is going to lock this down. They have a history of doing so and giving them the benefit of the doubt is probably a bad call.

<comment><USER4> > I think the goal of the T2 is to block Hackintosh and also to block hardware > upgrades.

Although there's no way for us to really know, I don't really think that's their priority. Sounds more like a side-effect. Consumers capable of assembling, installing and updating a Hackintosh are probably less than 0.1% of the entire Apple user-base. They are peanuts, from a merely commercial point of view.

They also don't really need to prevent hardware upgrades with an enforcing chip. They are already preventing hardware upgrades by releasing hardware that _physically_ cannot be upgraded. Just think about their laptops released in the last 5 years, with RAM blocks and SSDs soldered to the motherboard...

<comment><USER5> Adding to this - Apple manufactures new products with both upgradable hardware and T2 chips (well, product - the Mac Mini with the T2 chip and upgradable memory), and the long-awaited Mac Pro refresh will be an upgradable computer and presumably will have a Tx chip.

</comment></comment></comment></comment><comment><USER6> I think articles like this are good even though the solution might be assumed. Getting explicit clarification is what it's all about here. That clarification is that disabling SIP will allow non-signed OSs to boot.

<comment><USER7> Several users on on StackOverflow and reddit do report that disabling Secure Boot will not allow you to install Linux, only boot a live system.</comment></comment>


Is Zika How Humanity Ends? - <AUTHOR> http://blogs.scientificamerican.com/life-unbounded/is-zika-how-humanity-ends/ <comment><USER2> Betteridge not withstanding, its pretty clear from genomics that there is a lot of viral DNA embedded in our genes. So if nothing else viruses (virii?) are one way that we evolve (or potentially devolve).</comment>


Must-read for everyone who starts a startup: Blue Ocean Strategy - <AUTHOR> http://istarthub.net/must-read-everyone-starts-startup-blue-ocean-strategy/ <comment><USER2> Why not lifestyle business instead?</comment>


Starship food delivery robot traps wheelchair user in the street - <AUTHOR> https://twitter.com/EmilyEAckerman/status/1186363305851576321 <comment><AUTHOR> This seems to be a relevant topic for discussing unintended side effects of automated systems.

You can build a robot that can navigate the usual aspects of the city - <USER2> can you ensure that robots can also navigate the unusual aspects, which are rare but very important, such as needing to move aside from a curb cut so that a wheelchair user can get on the sidewalk instead of being stranded in the street when the green light ends and cars start driving there?</comment>


Sourcegraph launches a new semantic code search and browsing interface - <AUTHOR> https://text.sourcegraph.com/sourcegraph-the-best-way-to-read-code-just-got-better-2094def0e553#.rwk9wjgtg <comment><USER2> This appears to be based on the stellar open-source code-editor used by VSCode. Looking at the network traffic, it looks like you are also using the language server protocol [1] to provide context-aware code intelligence.

As far as I know this is the only use of the language server protocol in a web browser. Have you documented anywhere how you made this work?

[1] [https://github.com/Microsoft/language-server- protocol](https://github.com/Microsoft/language-server-protocol)

<comment><USER3> Sourcegraph CEO here. You are right on all points. It uses Monaco on the frontend, with a lot of customizations (see here for a shout-out: [http://www.infoworld.com/article/3127336/application- develop...](http://www.infoworld.com/article/3127336/application- development/sourcegraph-provides-intelligent-searches-of-go-language- code.html)). And LSP on the backend. We're writing a technical walkthrough blog post of all this stuff (excited to share!). Happy to chat with anyone who's curious in the meantime.

Anyone who thinks this sounds awesome to work on, head over to [https://sourcegraph.com](https://sourcegraph.com) and click on "Jobs." We are growing quickly and would love to chat. Drop me a note (email@example.com) as well.

</comment></comment><comment><USER4> Congratulations to the Sourcegraph team on shipping this new update. It looks great.

Back when Sourcegraph supported Ruby, I found myself reaching it for all the time. It was slightly half baked (semantic analysis of Ruby is challenging) but still incredibly useful. I look forward to the day Ruby support returns and it being better than ever.

Slightly unrelated, if you're based in the Bay Area, you should go to their meetup. I don't like going to meetups because the content is usually a bit fluffy but they've constantly had strong technical speakers. Here's one with the creator of Raft ([https://www.youtube.com/watch?v=2dfSOFqOhOU](https://www.youtube.com/watch?v=2dfSOFqOhOU)).

<comment><USER3> Sourcegraph CEO here. Hi Sunny! Thanks for the kind words. Yes, Ruby support will be publicly released when it's super high quality and fast.

Anyone out there who loves Ruby and wants to build a global graph of Ruby code with us, email me at firstname.lastname@example.com to join the effort. If you just want to get early access to Ruby on Sourcegraph, head over to [https://sourcegraph.com/beta](https://sourcegraph.com/beta).

</comment></comment><comment><USER5> Awesome to see the improvements here. Unfortunately, it still looks like they only support Go :( Hope they support JavaScript soon.

<comment><USER3> Sourcegraph CEO here. Supporting more languages is our #1 request, and we are rolling out more language support soon. Head over to [https://sourcegraph.com/beta](https://sourcegraph.com/beta) to get early access. And email me at firstname.lastname@example.com if you want to help us build it. It's one of the most fun and technically interesting projects you can take on.

<comment><USER6> I heard about you guys from listening to changelog. Glad to know more languages will be supported soon!

<comment><USER3> Yep! For other folks, the Changelog podcast about Sourcegraph is at [https://changelog.com/gotime-12/](https://changelog.com/gotime-12/).

> Beyang Liu from Sourcegraph joins the show to talk about Go at Sourcegraph > and their code insight and language analysis tools for writing better code. > We also get an understanding of what Sourcegraph is and the many ways to > integrate it into your workflow.</comment></comment></comment></comment>


Cedvel - A Web-Based Tool For Designing Grid Systems - <AUTHOR> http://cedvel.com

<comment><AUTHOR> via Functionn - Open Source Resources For Web Developers & Designers: [http://functionn.blogspot.com/2012/11/cedvel-online-tool- for...](http://functionn.blogspot.com/2012/11/cedvel-online-tool-for- designing-grid.html)

P.S. Functionn contains a whole lot more of awesome resouces like Cedvel. There only a fraction of them I can post here at a time. Take a look if you're interested, and subscribe:

<http://functionn.blogspot.com></comment>


Ask HN: Movable Type or Wordpress for personal blog? - <AUTHOR>

Goals for the blog: my personal space to store thoughts/bio about my company. It will be a professional feel; not have pics of my kids, etc. It will feature anything from tutorials to rants to startup stuff.
I want a clean feel that can be posted to from Windows Live Writer.
I want to be able to easily integrate Disqus or IntenseDebate.
I want to host on my own domain
<comment></comment><comment></comment><comment>-----
I think all of the above are available/equal in WP and MT. What I don't know are the intangibles.
Any advice? </comment><comment><USER2> Here are some others to look into, as I do not like any of these: <http://cactuswax.net/projects/failhouse/> <http://drupal.org> <http://pyblosxom.sourceforge.net/>

</comment><comment><USER3> My vote is WP as well. There is tons of development around it so it's much easier to cater to your needs.

</comment><comment><USER4> i like wordpress mostly because the community is larger. MT is also fine, and you can get the job done with either.

</comment><comment><AUTHOR> Thanks, all. I went w/ WP :)</comment>


IPhone Background Processing: Not Fixed But Halfway There - <AUTHOR> http://whydoeseverythingsuck.com/2008/06/iphone-background-processing-not-fixed.html <comment><USER2> _I'm reposting my comment that I posted to the blog._

The alarm clock would need to run on the server and trigger a notification on the iPhone.

There is a very slow task manager that can execute code: Me.

Your service that is sitting on your server would push a notification. A dialog pops up on the iPhone. The user touches a button on the dialog box and task switches to your application.

Having shipped games on the Sony PSP, what you are proposing is a very, very bad idea. Background processes are a bad idea for memory-constrained devices that need 100% uptime.

The iPhone does not page out to disk and it has a limited amount of RAM. These resources should not be handed to background processes.

Note that the iPhone notification system works just like the notification system for the XBox 360.

</comment><comment><USER3> you can build an alarm clock... just need the program to post to a server at what time they need an alarm and then at that time the server post to apple which post to you :)

obviously a bad technique but apple is just moving the services out the phone so you don't load it with process

</comment><comment><USER4> great stuff

<comment><USER5> I mostly disagree. As for his 3 examples:

1) Why do we need an alarm clock? Answer: this doesn't seem like a very pressing need.

2) Why shouldn't location broadcast be rolled into the iPhone's location APIs? Answer: The location API is actually the logical place for this. Everyone rolling their own would be a waste!

3) I agree that devs should get a way to register callbacks against notifications. But this need not be in the form of a full "background process." What do you have in mind that wouldn't best be put on a server or happen when the user returns to the app?

Come on, folks! The real innovation in the iPhone space doesn't have to do with rolling your own version of a Calendar, Alarm Clock, Contacts, etc... Take those as infrastructure and build innovative apps on top of that.</comment></comment>


"How I moved from finance to engineering I. A - <AUTHOR> https://youtube.com/watch?v=XC-Im_kRPxM&feature=youtu.be

<comment><AUTHOR> oops.. mistaken post. can kill if any mods see this.</comment>


MariaDB 10 - <AUTHOR> https://blog.mariadb.org/the-mariadb-foundation-announces-general-availability-of-mariadb-10 <comment><USER2> Wow, really impressive set of features. Never really used MySQL a lot outside Epiware and KDE but it sure looks like things have started to shape up quite nice for MariaDB. Multi master replication, built-in sharding and ability to access Cassandra data inside MariaDB are some things that should make Enterprise users more comfortable using MariaDB instead of Oracle.

<comment><USER3> Using the CONNECT engine you can read (and I think write?) data to ODBC data sources. This is essentially a very cheap IBM Federated system...it's even written by one of their original devs.

<comment><USER2> Just checked the docs - looks like you can do select, insert and update using CONNECT ODBC. Others are supported too via EXECSRC. Yeah that's quite cool.

</comment></comment></comment><comment><USER4> As someone running the default mysql install for a SaaS app, are there any downsides to moving to MariaDB? I'm assuming they are still fully compatible with the native mysql protocol?

<comment><USER5> > As someone running the default mysql install for a SaaS app, are there any > downsides to moving to MariaDB?

MariaDB is essentially a drop in replacement; its also faster than MySQL:

[https://mariadb.com/kb/en/moving-from- mysql/](https://mariadb.com/kb/en/moving-from-mysql/)

[https://mariadb.com/kb/en/mariadb-vs-mysql- compatibility/](https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/)

"For all practical purposes, MariaDB is a binary drop in replacement of the same MySQL version (for example MySQL 5.1 -> MariaDB 5.1, MariaDB 5.2 & MariaDB 5.3 are compatible. MySQL 5.5 will be compatible with MariaDB 5.5)."

"This means that for most cases, you can just uninstall MySQL and install MariaDB and you are good to go. (No need to convert any datafiles if you use same main version, like 5.1). You must however still run mysql_upgrade to finish the upgrade. This is needed to ensure that your mysql privilege and event tables are updated with the new fields MariaDB uses."

<comment><USER6> Is 10 still a drop-in replacement for MySQL 5.5?

<comment><USER5> [https://mariadb.com/kb/en/mariadb-10010-release- notes/](https://mariadb.com/kb/en/mariadb-10010-release-notes/)

"With this release, MariaDB 10.0 is now the current stable version of MariaDB. It is an evolution of the MariaDB 5.5 series with several entirely new features not found anywhere else and with backported and reimplemented features from MySQL 5.6."

I want to say yes, but as always, TEST FIRST.

</comment></comment></comment></comment><comment> j-b I'm researching migrating from Sybase to MySQL and this looks like an interesting alternative considering MariaDB is released under GNU GPL and is a fork of MySQL outside of Oracle control. Are there any weak points in MariaDB worth noting?

<comment><USER7> Have a read of this: [http://grimoire.ca/mysql/choose-something- else](http://grimoire.ca/mysql/choose-something-else)

<comment><USER8> A fair portion this guy's posts seem to be criticizing people for using certain tools/techniques and how much various things suck.

<comment><USER9> Does that make him wrong?

<comment><USER10> As much as cherry-picking makes anyone wrong. Replication is one of the main reasons some big project choose MySQL and the guy ignores that point and only mentions replication in passing. I am sure you can have as good a selection of reasons to avoid PostgreSQL or any other. That does not really matter though. Some guy who never bothered to read MySQL documentation is now switching to PGSQL and will run it without bothering to read any documentation. It does not matter because his project is so trivial it would run on anything, but he is happy because he uses "the real database". So be it. And the guys who really _do know_ what's going on and run systems with hundreds of millions of users don't waste their time writing bullshit articles like this. Guy recomends MongoDB as an alternative, what can I say.

<comment><USER11> I see this explanation a lot. However, from what I can gather:

\- pgsql supports synchronous master-slave replication natively, with excellent performance

\- mysql supposedly does multi-master replication, but does not solve the hard problems. You can't write on the same row on two masters simultaneously or replication stops; sequential ids are not synchronized between masters; you can't get serial transaction isolation between masters.

All in all, I'd rate replication support between both databases as nearly identical. Pgsql does master-slave better, mysql has a half-hearted attempt at multi master. Given that on all else pgsql is markedly better, I can't see replication as _the_ reason for picking mysql.

</comment></comment></comment></comment></comment></comment><comment><USER12> Has anyone used the NoSQL stuff in Maria? How does it compare with Mongo and Cassandra?

<comment><USER13> I am curious about this as well. Should we take "NoSQL" in Maria literally? For instance, is it possible to talk to the database using db.find() and db.save() APIs similarly to how MongoDB works without writing any SQL?

<comment><USER14> I'm confused...isn't this just a matter of wrapping sql select, insert and update statements in the db.find() and db.save() interface? If so, how is it relevant to MariaDB rather than a translation layer in a client driver, for example?

<comment><USER13> What I'm wondering is if the database itself provides a standard set of such wrappers or if it's left to users to make them themselves.

</comment></comment></comment></comment><comment><USER15> I would love to see AWS offer a MariaDB option for RDS.

<comment><USER16> But then how is Amazon supposed to lock you into their proprietary solution to make it harder for you to migrate from their services?

<comment><USER17> What are you talking about? RDS now supports MySQL. What would the difference be in terms of lock-in?

<comment><USER18> I don't think they knew what RDS is/was. We heavily rely on AWS but can move off with little work. You have to decide from the start if you don't care about possibly migrating off AWS or not.

We chose to keep that ability to migrate off. In hindsight it was a little more thought up front but little to no additional overhead now.

AWS provides a ton of open source compliant services. When you decide to use a proprietary one just build in the appropriate abstractions.

</comment></comment></comment></comment><comment><USER19> I like MariaDB improvements over MySQL (and the technical documentation of the query's optimizations), but I'm a bit lost regarding WebScaleSQL's [1] choice to tracks MySQL. I don't know what to think... Google, Facebook, Twitter & co have immediate production needs, so are they simply in "wait and see" mode toward MariaDB ? Or is there something deeper ?

[1] [http://webscalesql.org/](http://webscalesql.org/)

<comment><USER20> [http://www.theregister.co.uk/2013/09/12/google_mariadb_mysql...](http://www.theregister.co.uk/2013/09/12/google_mariadb_mysql_migration/)

My guess is there isn't an enforced MySQL version across all of Google.

"We asked Google for more information, and the company sent us a statement which said: "Google's MySQL team is in the process of moving internal users of MySQL at Google from MySQL 5.1 to MariaDB 10.0. Google's MySQL team and the SkySQL MariaDB team are looking forward to working together to advance the reliability and feature set of MariaDB."

</comment></comment><comment><USER21> I have been playing with the multi-source replication feature for quite some time. It works like a charm for most versions. It had some issues replicating events from Percona 5.6 but that was with 10.0.2, I believe. I'm hoping they have been resolved by 10.0.10 The advantage of Maria is that they have features over and above the ones they pull in from MySQL branch.

</comment><comment><USER22> Although it's a fork of MySQL, but turns out to be a successful fork [http://news.dice.com/2013/05/22/mariadb-vs-mysql-a- compariso...](http://news.dice.com/2013/05/22/mariadb-vs-mysql-a- comparison-2/)

<comment><USER23> Probably because it was made by the original creator of MySQL.

</comment></comment><comment><USER24> Is it true that for Java and an other JVM languages MySQL/MariaDB is preferred over PostgreSQL cause their Java driver is better supported(better quality and performance) and is more feature complete?

</comment><comment><USER25> Seems like a tendency to name software after female names from the victorian era. Interesting.

<comment><USER26> MaxDB, MySQL and MariaDB are all named after Monty's children

[https://en.wikipedia.org/wiki/Michael_Widenius](https://en.wikipedia.org/wiki/Michael_Widenius)</comment></comment>