Ask HN: Is Swift ready for production yet? - <AUTHOR> I recently met with a software development company to commission a new iOS app. I suggested that I wanted it written in Swift as opposed to Objective-C and was told that Swift isn't ready for production.
The app is a list based app, making use of the Map API and making HTTP calls. No complex maths or graphics involved.
What do you say? If not, why not? <comment><USER2> In your case, no. It sounds like you're designing, not building, the app. Letting your contractors use the technology they are most familiar with and that has the most mature tooling (for the platform) is in your best interest. Apple will be supporting Objective-C for a long time to come so you lose nothing from sticking with what works.

I say this as someone who has written many thousands of lines of Swift over the last few months. In an effort to learn the language and explore some user experience ideas I decided to write as much of my app as I could in Swift (it stands at about 95%). Since starting in September of last year I've alternately loved and regretted choosing Swift. For reference, I'll list the pros and cons.

Pros:

\- Greater productivity through new "safety" features (lots of caveats here, see the Cons section for why).

\- The expressiveness of Swift often means less code to read than with Objective-C. Hopefully that also means less bugs.

\- Swift code is (to me) much easier to reason about than equivalent Objective-C.

\- The language is just plain _nice_. This is subjective, and not relevant to your particular case.

Cons:

\- The tooling is very immature. I have encountered multiple situations where the compiler itself crashes during a build.

\- The static analyzer for Swift code reports erroneous problems. Until you learn the situations it doesn't understand it can lead you down the wrong path to resolution.

\- Certain build problems are very difficult to diagnose. I have lost multiple days just searching for code changes that caused the compiler to crash.

\- Xcode error reporting for Swift build problems can be vague, ambiguous, or non-existent.

\- Xcode crashes, a lot. Technically this is nothing new, but since Xcode 6 I'd argue it has gotten measurably worse.

Swift is clearly going to be great, and it is clearly the future. Unfortunately the future isn't here yet.

<comment><USER3> The xcode problems sounds almost like Google's change to Android Studio from eclipse. Except, Android Studio was never as bad, and it got better very quickly. In fact, Andoid Studio is probably at least as good as eclipse for Android development.

<comment><USER4> Android Studio is much better than Eclipse already, and it was built on the already mature Intellij IDE.

</comment></comment></comment><comment><USER5> I have been writing Swift for 6 months now. Almost every single day. I will be shipping an App to the App Store this month written in Swift. The language is fantastic and the future of what languages should look like Swift.

However, I do not do billable consulting work in Swift. I am twice as slow writing Swift than I am writing Objective-C. The toolchain is very brittle. The debugger is near unusable. The instruction pointer bounces all over the source file while debugging. SourceKit crashes all of the time. Multiple times an hour. And build times are about twice as slow as Objective-C builds.

Swift is fine for personal projects or small libraries. I'm not going to bill hours in Swift until another major release.

Btw, I send a weekly Swift newsletter: [http://www.swiftnews.co](http://www.swiftnews.co)

</comment><comment><USER6> As a datapoint: we build the Minuum Keyboard ([http://minuum.com](http://minuum.com)), and our iOS version was written from the ground up in Swift. That is shipped in the App Store and has been since iOS 8 launched.

To echo much of the sentiment here: the language is definitely usable in production now. The tooling is _not_ ready yet. We have wasted untold hours dealing with XCode crashing. If you're contracting this out keep in mind those hours.

There are also some issues with the bridging to Objective-C for Cocoa APIs. As an example: we've had a few cases where for performance reasons we've needed to replace Swift arrays with NSArray objects.

That said: there's a lot to like about the language and there are parts of our codebase that are really nice by virtue of being Swift.

EDIT: I want to agree with a number of people here about using the language your contractor is comfortable with. If you don't have a strong in-house reason to use Swift, Objective-C is going to be around for a long time, so I wouldn't worry about that.

</comment><comment> St-Clock Swift is ready for production. XCode isn't.

Even if your project is written in Swift, you can still use CocoaPods through bridging header, and you can use embedded frameworks for pure swift libraries (caveat: if you are targeting iOS 7, you need to copy and possibly modify the source of the frameworks you use because embedded frameworks are not supported in iOS7). Although Apple APIs are available with Swift, the documentation for some of the libraries still only provides examples in Obj-C.

My main issue right now is with the stability of XCode. SourceKit keeps crashing on me (every 30 minutes). It has become more stable with 6.1, but it used to crash when I had too many parameters in a function or when I was trying to mix Obj-C and Swift. Sometimes I get build errors and after a few calls to clean, I can build my app (go figure!). This makes developing in swift not as enjoyable as it could be.

</comment><comment><USER7> I've been coding full-time in Swift for the last three months and at this point our source base is about 10K lines of code. Given this experience, if I had to do it all over again, I'd probably choose Swift again.

The good:

\- Swift is a far better language than Objective-C. It's much safer, the type system is great, and the functional features are a joy to use.

\- Everything largely works as advertised; even for a super new language, the amount of total brokenness is minimal.

The bad:

\- The current compiler's error messages are frequently bad to the point of being useless. Try to mutate an immutable dictionary? You get a type mismatch when you could get an error about immutability.

\- The compiler is a lot slower than I think they mean for it to be.

\- The debugger takes several seconds to evaluate an expression compared to almost instantaneous evaluation in Objective-C.

\- 8 MB of standard library in your app binary.

The ugly:

\- "SourceKitService crashed" messages in Xcode flashing on the screen at 30 hertz.

But at the end of the day, if you're hiring an outside company to do this, why does it matter to you what language it's written in? Shouldn't they be able to use their best tools?

<comment><USER8>
        >But at the end of the day, if you're hiring an outside company to do this, why does it matter to you what language it's written in? Shouldn't they be able to use their best tools?

Unless the owner wants to be forever betrothed to the outsourcing company the language selection is a valid concern. For instance, [she|he] may want to take over updates when iOS9 comes out and plans on being proficient in Swift by then.

The owner should weigh why they wanted Swift in the first place vs. the consultant's recommendation and then decide from there.

</comment></comment><comment><USER9> When they say that, they probably just mean that their developers aren't up to speed yet on Swift, so they don't feel comfortable writing it in Swift.

You'd likely pay more for them to learn Swift on the job.

<comment><USER10> Just what i was about to write.

</comment></comment><comment><USER11> I think this decision needs to be taken on a case by case basis, instead of a universal answer. You need to evaluate the lifecycle of the project. If this project is going to be around for only 1 year (like a game or marketing campaign that quickly ramps up and then dies down), you're better off getting it done in Objective C. The client will be happier given their familiarity with Objective C, and you'll have an easier time explaining it to their in- house team.

However, if this is longer term bet like an app that's going to be in use after 3-5 years, you should have a honest discussion with the client about considering Swift. While Objective C is more well understood and supported right now, that might not be the case in 3-5 years. Most Apple developers would rather be writing Swift code in that timeframe, and any ObjC code will be perceived as "legacy", difficult to debug, and abandoned code that no one likes to touch.

I've worked on many iOS projects like this, which contain pre-ARC code, which no one likes to go near. Bugs in that code tend to be ignored and entire features are left to rust because the source code is so dated that it's better to leave it alone than risk breaking anything by modifying it. If this project could end up in that state, it's better to be future-proof and start with Swift. However, if it's a short term app, choose the path of least resistance, which seems to be Objective C at the moment.

</comment><comment><USER12> According to this blog, you'll get more correct code with Swift:

[http://www.sunsetlakesoftware.com/2014/12/02/why-were- rewrit...](http://www.sunsetlakesoftware.com/2014/12/02/why-were-rewriting- our-robotics-software-swift)

Over the lifetime of the software, anything you can do to reduce bugs is a win.

By the way, I maintain a list of Swift resources. I have almost 500 urls from the past 9 months, so you can see that Swift is gaining some adoption: [http://www.h4labs.com/dev/ios/swift.html](http://www.h4labs.com/dev/ios/swift.html)

</comment><comment><USER13> I'd say it depends on your definition of "production ready". The APIs are likely to be stable and well supported, but the current library does suffer some culture clashes, as they're mostly just done with Swift's Objective-C interop. A lot of the APIs are somewhat annoying to approach due to them being designed with Objective-C in mind. Most standard library APIs will be rife with implicit optionals and require extra type checking, especially if you're implementing delegates.

In particular, dealing with Core Data can be a holy mess with Swift because every single property on a Core Data object is dynamic and implicit optionals. Unlike Objective-C, which will happily pretend like nothing has happened (in many cases), Swift will explode quite spectacularly if you try to operate on nil values, and implicit optionals lets that happen without throwing type errors. Either be very careful with marshalling accesses to Core Data objects, or test thoroughly with different data patterns. Last thing you want is your app crashing because someone filled in data in your app that leaves a property set to nil.

I'd expect some resistance (on top of the "I need to learn a new language" part), and some swearing about all these "if let"'s or "I thought Swift meant no more null pointer exceptions!", but it's perfectly doable.

</comment><comment><USER14> I've recently been re-writing an old pet project from Objective-C to Swift. I've found the Swift error messages incredibly unhelpful in Xcode compared to Objective-C, but the resulting code to be a lot more readable and concise (and therefore, importantly, much more maintainable). I find myself writing a lot less 'glue' code too. On balance, I probably found the Objective-C code easier to write, partly because of Xcode support and partly (if I'm honest) because it lets me do more dumb/unsafe things, which should probably be discouraged.

For me at least, the biggest problem I've found is that I have no intuition for best practices in Swift (when to use certain language features etc.), and that makes me wary that I'm writing bad Swift code, even if it's technically correct. I imagine it'll take time for the community to standardise on what makes for good Swift code, and for more extensive learning resources to be developed etc. Sticking to Objective-C for now certainly doesn't seem to be a bad thing.

<comment><USER15> _... I probably found the Objective-C code easier to write, partly because of Xcode support and partly (if I 'm honest) because it lets me do more dumb/unsafe things, which should probably be discouraged._

That same argument was used in the '80s by Pascal proponents against C.

Would the software we use today be better if it all were written in Pascal instead of C? Yes, there would certainly be less buffer overflow exploits... But also less power and features. C was simply more suited to building complex/powerful software than most other languages at the time. Can you imagine Linux in Pascal?

The way I feel about Swift is that it's a better C++ combined with some of the didactic/patronizing aspects of Pascal. That's probably a fine language for some uses, but I wish they had designed a better Objective-C instead.

<comment><USER16> The Linux Philosophy of a kernel that runs on everything from a super computer to a smartphone is sort of misguided I think. You can write much smaller and potentially faster kernels if you focus on one architecture and use case, see for example the Oberon project (it uses a pascal descendant for its system language, also called Oberon) or the Mesa/Cedar system at Xerox Parc. With time I'm sure that kernel designs like the Singularity OS one will take over: Invent a systems programming language that allows for better static analysis and verification of driver protocols. Then run everything at ring 0 and identity mapped virtual address translation, with most of the applications written in memory safe languages or virtualized in app containers. That way context switches, which incur huge overhead, as well as heavy weight processes are a thing of the past.

</comment></comment></comment><comment><USER17> There is no correct answer. It really depends. If you use Swift like a different syntax for Objective-C, it's probably way faster to keep writing ObjC (because of the broken tooling).

If you can leverage other patterns, such as FP, you might be able to achieve a big speedup in writing Swift.

It also really depends on when you want to ship: if it's a bit more long-term, Swift might be a better bet (I'm assuming that in a few years from now, almost all iOS apps will be written in Swift). If it's more important that it's ready next month, ObjC might be better, because the devs will know exactly what it takes to ship it, and will almost certainly not run into unexpected issues with the language or compiler.

That said, I'm writing my next product 100% in Swift, and we're on schedule to ship in 2 weeks. I wouldn't have done it any other way, and have seen a big increase in productivity and fun.

</comment><comment><USER18> It is production ready. It isn't without its quirks (specially Xcode support) but been using it for a while and works fine for production apps.

As jefflinwood mentioned, most likely they don't have the developers proficient in Swift and just want to downplay it. For me this is a red flag for the company.

</comment><comment><USER19> Interesting coincidence... I developed a game [1] in Swift and posted it as a "Show HN" about an hour ago [2].

Initially, I admit that I did have some rough times as I worked through all of the Xcode 6 betas, and that was quite challenging. However, things have definitely gotten better with production releases of Xcode.

I know that it's a game and not a traditional app like you are developing, but I think my game shows that you can achieve a quality result with Swift.

[1] [https://itunes.apple.com/us/app/rocket- renegade/id955229059?...](https://itunes.apple.com/us/app/rocket- renegade/id955229059?mt=8)

[2] Show HN: Rocket Renegade, a Space Shooter for iOS in Swift

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

</comment><comment><USER20> I recently worked on a production app that used Swift. It's certainly possible, but I wouldn't recommend it (yet). Writing Swift is nicer and feels much more natural than Objective-C, but the tools are not there yet.

Xcode crashes often (even more frequently than with Objective-C), the compiler will probably also crash at some point during development. Compiling Swift code is also considerably slower than compiling Objective-C code. Error messages are often cryptic and debugging compiler bugs is very time consuming.

There's also a few places in Swift where things still need some more time to settle, framework support is tricky and some very basic tasks are harder than they should be (for example, getting a substring).

</comment><comment><USER21> My only real complaint is compilation time. I'm at around 3000 lines of code and maybe 30 files and it takes 2 minutes to compile and run. An Objective-C app would be less than a few seconds, but unfortunately Swift doesn't do incremental compilation.

</comment><comment><USER22> Sounds like an excuse to me.

But, 'ready for production' is a relative term that must be considered in context. Apple is encouraging developers to submit apps with Swift, so clearly they think it's 'ready for production' in some contexts.

If you're building an app for which an obscure, swift-specific bug may cause a critical security or safety issue for your customers then perhaps go with objective-c to sleep better at night. Although my impression is that Swift is stable enough even for this category of apps.

But, I'd wager that vast majority of apps out there do not fall under that category.

<comment><USER23> Agreed on excuse. But if the vendor doesn't have people already familiar it might be worth asking whether it's worth paying for them to learn it if you don't already have an existing codebase that requires it.

I've been working in Swift,t he language itself is nice, the tooling and community documentation is a bit rough. For example Cocoapods support for Swift pods is still prerelease and there are a lot of small differences coming from Objective C that can require a little research.

I wouldn't write safety-critical code in either language though.

</comment></comment><comment><USER24> Having written android apps and never having written an ObjC app, swift was a combination of confusion, aha moments, and wtfs. In particular, not so much the language itself, the lack of any kind of well supported and well used package management is rather lame. I don't know if this is something I should expect as I haven't worked with ObjC but coming from python and java land I don't really like submoduling in my dependencies and wiring all of them into the build system via the GUI.

<comment><USER25> [https://medium.com/@stigi/swift-cocoapods- da09d8ba6dd2](https://medium.com/@stigi/swift-cocoapods-da09d8ba6dd2)

<comment><USER14> Since that's been written, CocoaPods has added Swift support. As of a few weeks ago it's currently available in beta (gem install cocoapods --pre).

To the OP, CocoaPods is probably the most widely-used package manager, but there's also Carthage too, which is decentralised: [https://github.com/Carthage/Carthage](https://github.com/Carthage/Carthage)

It'd be nice if Apple had an official package manager but they seem to want to stay out of it (see Homebrew/MacPorts on OS X too).

<comment><USER26> Want macports semi developed by apple staff?

<comment><USER27> Yes, at least initially. I don't if any Apple employees still contribute to MacPorts, though. Apple does still provide hosting and infrastructure to the project, for what it's worth.

</comment></comment></comment></comment></comment><comment><USER28> I personally made an app using Mapkit that's in the App Store. It's not exactly a huge or complex app but it works fine. I think it all depends on if the developers feel comfortable writing it in Swift. But the truth is why do you want it to be written in Swift? Does it really matter?

Shameless promotion: [https://itunes.apple.com/us/app/mappa/id931699397?mt=8](https://itunes.apple.com/us/app/mappa/id931699397?mt=8)

</comment><comment><USER29> I'd say its 'ready' for prod but can still be a pain regarding tooling. I've written a Faye client in swift [http://github.com/hamin/FayeSwift](http://github.com/hamin/FayeSwift) and will eventually update my mac app too [https://itunes.apple.com/us/app/mackernews-hacker-news- clien...](https://itunes.apple.com/us/app/mackernews-hacker-news- client/id946730699?mt)

</comment><comment><USER30> I have released an app with Swift and libraries in Obj-C. Now I am developing an iOS game completely in Swift working correctly even in iOS 7. (Apple provides libraries to support Swift in 7, but in iOS 8 is native)

I think is more the contractor doesn't have the experience or don't feel confortable enough deploying a Swift App. There are some issues with XCode and Swift, but nothing too critical.

The language is ready, but most of the developers aren't.

</comment><comment><USER31> XCode tooling support is limited in some areas but definitely production ready. LinkedIn's new SlideShare app is written completely in Swift: [http://readwrite.com/2014/10/02/slideshare-app-built-in- swif...](http://readwrite.com/2014/10/02/slideshare-app-built-in-swift- language)

</comment><comment><USER32> Absolutely , we shipped our first enterprise swift app at Elementum ( Manufacture [https://appsto.re/us/Jfn34.i](https://appsto.re/us/Jfn34.i) ) at the end of last year. There was a learning curve but the metrics regarding lines of code , and time to market made it well worth it.

</comment><comment><USER33> Swift is fine. I have released a Swift app that uses the maps api pretty extensively and it works great.

As BSousa mentions, xcode can be a bit flakey sometimes (syntax parser/autocomplete crashes sometimes) however it automatically restarts so it isn't really an issue.

I agree with BSousa that this FUD seems like a cultural red flag with the company.

</comment><comment><USER34> One pro of using Swift which I haven't seen mentioned here is that you will be able to attract more developers to your project if you write it in Swift. Everyone wants to work on the new hotness. This is a long term value and could outweigh any short term shortcomings of the tools.

</comment><comment><USER35> I'd agree with the sentiment that it's ready but not without its quirks. Check out some libraries I've been making in it per user request. Fun to write, terse, elegant.

[https://github.com/mapbox/?query=swift](https://github.com/mapbox/?query=swift)

</comment><comment><USER36> Eh, I haven't enjoyed the debugger in Xcode when using swift.

Unfortunately, many of us iOS developers work for clients. These projects are usually on timelines, and if writing the app entirely in Swift slows us down substantially, we will likely go with Obj-C.

Also, Obj-C isn't likely going anywhere.

</comment><comment><USER37> Yes, it's production ready, but the quirks in tools are significant hindrance to productivity. I would estimate 1.2 ~ 1.5x longer to get it written in Swift.

<comment><USER38> Is tooling really that critical? Coming from JS, I can write whatever without any tooling at all. The need for heavy tooling in most other frontend dev is one of the reasons that I think that JS, despite all its issues at the moment, will come to rule interface development. The baseline in JS is that one can read, write, and understand it using only the human brain.

</comment></comment><comment><USER39> If you are dead set on doing it in Swift shoot me an email and we can talk further about it. (Email in profile)

</comment><comment><USER40> Has Apple shipped anything yet that runs in Swift? Can we tell?

<comment><USER41> Don't know if they have shipped anything major but the WWDC app was meant to be in Swift I think. You could probably tell if you get it in the debugger.</comment></comment>


Paypal and Authorize.net: Help End the Credit Card Hostage Situation - <AUTHOR> http://www.braintreepaymentsolutions.com/blog/open-letter-to-the-ceos-of-paypal-and-authorize-net-help-end-the-credit-card-data-hostage-situation <comment><AUTHOR> Braintree is one of the most forward thinking payment providers out there. A good number of startups on HN have integrated with them (we have, too). They have an excellent policy about porting customer data (e.g., stored credit card numbers) when moving to a different provider. Amazing customer service overall.

<comment><USER2> They also require a 3 year contract where if you go out of business before then they require you to pay thousands in monthly minimums (read the ENTIRE contract before signing up). They claim to be very startup-friendly, but really their terms are not that great.

I've heard great things about their service, but I found CDGCommerce to have much better terms.

<comment><USER3> We (Braintree) have no contracts and no termination fees. Merchants can leave whenever they want and for whatever reason without penalty. Some of our sponsoring banks unfortunately have cancellation fee language (that we don't control and are trying to get removed) but we provide an addendum to every customer that states they will never be responsible for any cancellation fees.

<comment><USER2> I see on your application page that you have that addendum. I'm sorry for the incorrect statement, the rep I worked with last year didn't do a good job of communicating requirements (also was very inflexible with monthly fees).

I will be sure to keep Braintree in mind for my next venture

</comment></comment></comment></comment><comment><USER4> It seems kind of lame to beg the incumbents to make it easy for you to poach their customers. The big evil guys have their customers by the balls. It's safe to assume there's no way they're going voluntarily let go.

They need angry former customers to do the talking. Maybe this raises awareness a bit, but what really resonates is horror stories. A few high profile former Authorize.net/PayPal customers that are angry and willing to tell people about it would probably go much further.

The sweet begging approach isn't likely to work.

<comment><USER5> The addressees of an open letter are seldom the intended recipients.

<comment><USER4> Yeah no doubt. And maybe this is really the best way to get things started. It definitely isn't enough though. Anymore than The Gimp guys asking the CEO of Adobe to make Photoshop save files in XCF format.

</comment></comment></comment><comment><USER6> I got frightened by all the PCI DSS fear that permeates this board. I assumed you guys had it all figured out, and to a man, you seem to all be of the same mind on this issue. Fear, fear, fear.

When I actual Read the F----ing Manual about this ...., actually read that what was required was peanuts compared to the thousands of posts and comments I've read here pontificating on how to safely store a freaking password to a dating site, I am perplexed. How can a group of people who can talk your arm off for two hours about salts, rainbow tables, hashes, and password entropy, be frightened of PCI? [https://www.pcisecuritystandards.org/security_standards/pci_...](https://www.pcisecuritystandards.org/security_standards/pci_dss.shtml)

I store my own credit card info. Exactly how I do it is none of your business, as, while I don't rely on obscurity for my security, I'd be foolish to deny myself it's added protection. I don't just meet PCI standards, which are easy, I greatly, greatly, exceed them. Why anybody would use a third party billing company is not mysterious, but why somebody who reads HN would do so, is strange to me.

I already know the comments I'll get for uttering such blasphemy. I would respectfully request that you actually spend 10 minutes reading actual PCI DSS guidelines before doing so, however.

<comment><USER7> I respectfully suggest that you undergo a 3rd party Type 1 PCI audit....

The amount of legal and policy documentation you are required to have is by itself a massive undertaking. The 3rd party audit will cost $150,000-$300,000 and a huge amount of man hours.

<comment><USER6> One in every crowd, isn't there?

<comment><USER8> I note you sidestepped the question that you had been audited by (as they put it so nicely) a "Qualified Security Assessor" to complete your "Report On Compliance" ?

<comment><USER6> Well, I have to admit, I am certainly not a 6,000,000 transaction per year merchant, which is when I would need a level 1 audit that you and your friend so gleefully salivate over. I wish I was! If I was, I think it very reasonable to audit your processes to insure security.

In fact, I am a level 4 merchant, to my shame, so I have not spent money having an expensive "Certified QSA Security Consultant" audit my systems. I would remind everybody, that, sadly, they are probably level 4 merchants as well, unless they do over 20K transactions a year. Even if you do more than 20K,you're not in the scary big leagues till you get to 6M transactions.

Finally, I'd like to note that we hear a lot about these "possible fines", in theory, but have you heard of any in real life? I assume they must exist, but I invite you to read about the Heartland data breach, which exposed over 130 million credit card numbers. You'll note they still haven't been fined, but they "may be fined over $150K".

<comment><USER8> One thing at the time here. Lennart, my buddy does indeed do well over 6M transactions per year, so a level 1 audit is his lot. Technically his company (vxsbill.com) is an IPSP, not a merchant. But because he has the requirement anyway all the merchants that he works with and for benefit from the secure facility that he offers.

If you are a level 4 merchant, so less than 20K transactions per year (which sounds like a lot but really is only about 55 transactions per day, which I've already crossed over all by myself) then you could theoretically roll your own, but you are setting yourself up for a big fall if there ever would be a breach of security involving your site. And you'll still be paying access fees to a gateway, or have you found a way around that?

As for your 'theoretical fines', the two biggest instances that I remember wrecked the companies involved, the first one involved a company called Dacotah Marketing and Research, one of the largest internet billing companies during the .com boom, the second involved iBill.com, which you could probably qualify as their successor.

Both of these companies offered 'third party billing', which is one thing you are at least staying away from.

But if VISA doesn't care about blowing 10K+ merchants to kingdom come by fining an IPSP that does not abide by their rules out of existence, you certainly are not going to be felt any more than a gnat would be felt if a car ran over it.

They _really_ don't care about individual merchants at VISA or MC, and to work with a large to mid sized IPSP will have a significant advantage in that effectively you are bundling your negotiation powers against the card issuers.

This will help during acceptance, charge back issues, merchant account revocation for some imaginary sleight and so on (you _did_ check if you have permission to run those logos, did you get it in writing?).

Last but not least, working through an IPSP rather than 'rolling your own', no matter how satisfying is that you get the benefit of a large pool of knowledge on scrubbing and pre-authorization checks to make sure that your customer is legit. But of course you've never had a fraudulent charge.

I don't know much about the Heartland data breach, other than what I read in the media so I'll decline to comment on that.

Let me close this bit with that 100 days ago you didn't know about PCI at all (<http://news.ycombinator.com/item?id=1092224>) and now you are the expert in the field and will tell people that they should just roll their own because you slapped something together and it worked - so far.

Me, I'll be leaning on a decade+ of experience and a couple of very dedicated employees to make sure that my money keeps rolling in, and that my customers data does not get compromised. There is only so much time.

I also don't make my own computer chips, circuit boards, and so on. I've found it to be un-economical to do so and the same logic is what stops me from rolling my own billing solution.

Incidentally, I'm the original author of 'webpay', the software that powered the first major IPSP, so it's not as though I wouldn't have an idea where to start, but some things require a whole lot more dedication than I'm willing to spend on it to do it right.

[http://web.archive.org/web/19980507122555/http://mattheij.nl...](http://web.archive.org/web/19980507122555/http://mattheij.nl/)

cheers!

edit: afterthought, you may be talking cross purposes when you compare the $150K that Hearland might be fined to the most common kind of fine, the chargeback penalty. If you haven't had a chargeback yet then I urge you to read up on this and why scrubbing is so important, especially if your volume is low a single group of unfortunately timed chargebacks can kill your merchant account, depending on your contract the permissable percentages can be as low as 0.7% of the volume in the _running month_ , the latter is a real problem is there is a temporary change in volume on your website. I'll leave it up to you to figure out why that is a problem.

</comment></comment></comment></comment></comment></comment><comment><USER9> If I'm one of the mentioned CEOs, here's what I just read:

"Dear guys who are bigger than me: please make it easier for me to steal your customers."

</comment><comment><USER8> I'm not aware of how exporting the credit card data stored in the databases of these companies could ever be valid under PCI compliance rules.

They _say_ it is, but I don't think it is up to braintree to say that it is, it would be up to the issuers to say that it is, and as long as they don't come out on the subject nobody is going to risk getting fined 10 million bucks or so by VISA or MC (or worse, to get shut down) to find out.

Braintree should probably do it's best to lower the barrier to entry to their services rather than to try to create a portability layer with competitors that don't care. And then braintree could give the right example by allowing merchants to take their data with them to other providers of payment services.

Note that just as you can't 'export' from Paypal or authorize.net you also can't simply 'import', the reason for that is that bulk import with random 3rd parties is extremely risky, it bypasses all the safeguards that have been installed to prevent all kinds of fraud.

</comment><comment><USER10> Braintree is great for bringing this issue to light. I've personally been hurt by the lack of portability and have seen it affect several other companies. Here is Recurly's response:

<http://blog.recurly.com/2010/05/credit-card-portability/>

</comment><comment><USER11> At some point, your customer's card expires, and you need to ask them to re- enter their details. New details -> new provider. It might take two years to migrate most of your clients - even if it isn't ideal, it's not like you're locked in _forever_.

<comment><USER12> Not true. Dirty little secret - you can roll forward the expiration on a credit card with impunity. The expirations are because the magnetic strips wear, not for any security.

<comment><USER13> I have tried this before with my processor, and the transactions were denied because of no match on the expiration date.

</comment></comment></comment><comment><USER12> This is cute. Not even Chargify or Recurly support[1] the "standard" (as far as I know), and they have vaults! Show me a list of other gateways that support the standard, and then maybe you can get the big boys on board.

I used to work in politics. This is the sort of poke-the-giant thing that longshot candidates do, and it actually ends up reflecting more negatively on Braintree than anyone else. It's a tone-deaf PR move from a great company.

EDIT: Looks like Chargify sends the CC details to the gateway and they don't have their own vault: <http://chargify.com/features/pci-compliant-security/>

<comment><USER10> Just to clarify, we at Recurly will gladly return your credit card data to you (in a secure fashion) if you decide to migrate away. I've been burned before by Authorize.NET holding my business' credit card data hostage and I wouldn't wish that on anyone. We'll be posting more on this shortly.

I'm really happy that Braintree is pushing this forward. I've seen it hurt several companies when they need to switch gateways or merchant accounts.

Isaac Recurly, CEO

</comment></comment><comment><USER14> The problem: not many people actually switch _payment processors_. Once you get with Auth.Net, you spend a lot of time negotiating better rates with different companies, but your Auth.Net gateway stays the same.

I could see data portability being an issue in the long run, but for now, with Auth.net being basically one of two gateways, not enough moving around happens for their to be a "call for portability" (that will actually be heard).

I do, though, applaud a forward-thinking move like this. It may be looked back on as the small spark that got the fire going.

</comment><comment><USER15> Or just forget about credit cards and use FaceCash!

<http://www.facecash.com>

(My startup.)

Seriously, the industry has no incentive to change. They make a killing. Merchant contracts are strict and likely forbid alternative standards such as the one being proposed here.

<comment><USER16> Agreed, the industry makes a killing, but you're still charging a percentage.

How about a flat $0.25 per transaction?

<http://dwolla.org/dwollak/questions/16/Advantages>

</comment></comment><comment><USER17> I have fun questions: Who is the target audience for this letter? What is it trying to achieve? How effective is this letter in its current state in a) reaching the target audeience and b) achieving its goals?

</comment><comment><USER13> If braintree cares this much about this, why don't they allow people who use authorize.net currently to store their credit cards in the braintree vault?</comment>


LearnDB: Learn how to build a database - <AUTHOR> https://learndb.net/ <comment><USER2> For complicated reasons I was involved in a successful project to develop an open-source, Oracle-SQL-compatible, transactional-integrity-preserving, extensible database designed for in-memory performance in Java. In the process of this development "suddenly" the reasons for a whole bunch of performance and syntax oddities in databases like Oracle and PostgreSQL became very clear.

I was shocked to learn that was 15 years ago when I looked up the link to share, but if you are interested in the topic of "how to implement a database" it may be worth a look.

For what it is worth it was listed (not by me) on the C2 Wiki on the "Programs to Read" Page, where it was described as "[A] database written in Java with good unit tests and ShortMethods." [1]

Both statements are true, for a complete working example of a production database (it supported a commercial product for at least 10 years) it is actually a pretty accessible and well documented code-base.

The project is called AxionDB and can be found at [2].

[1] [http://wiki.c2.com/?ProgramsToRead](http://wiki.c2.com/?ProgramsToRead) [2] [http://axion.tigris.org/source/browse/axion/](http://axion.tigris.org/source/browse/axion/)

<comment><USER3> On the subject of readable database source code:

* LMDB is legendary for its performance, but it is source code is kind of hard to read. Found there's a pretty decent port to Java which looks a lot more readable [1].

* LMDB doesn't support SQL. But there's this SQL implementation: Apache Calcite [2]. Creating a DB using llmdbjava + Calcite sound like an interesting project.

1: [https://github.com/lmdbjava/lmdbjava/tree/master/src/main/ja...](https://github.com/lmdbjava/lmdbjava/tree/master/src/main/java/org/lmdbjava)

2: [https://calcite.apache.org/](https://calcite.apache.org/)

<comment><USER4> Maybe it would be better to start with [https://github.com/leo- yuriev/libmdbx](https://github.com/leo-yuriev/libmdbx)

<comment><USER3> This looks super interesting! Although it still looks more complicated to understand than lmdbjava. I feel any C codebase will be more difficult to follow since there's gonna be a lot more code related to memory management that happens automatically in a GC language like java.

<comment><USER4> JVM and .NET ports - [https://github.com/castortech/mdbxjni](https://github.com/castortech/mdbxjni) and [https://github.com/wangjia184/mdbx.NET](https://github.com/wangjia184/mdbx.NET) are listed there as well.

<comment><USER5> Wrt JVM, not a port, but a JNI interface.

</comment></comment></comment></comment></comment></comment><comment><USER6> How is this #2 on Hacker News? There's literally nothing here about how to actually build a database (yet?)

Instead, there's just a key-value store implemented on top of a javascript hashmap and a filesystem.

<comment><USER7> This has to be a joke? This looks more like 'how to use a k-v store 101 for non programmers'

I don't want to put more content under a terrible post, but the best resource for this material Jennifer Widom's MOOC.

[https://cs.stanford.edu/people/widom/DB- mooc.html](https://cs.stanford.edu/people/widom/DB-mooc.html)

<comment><USER8> I took this back in 2011 and don't remember there being much on "building a database". Is there more advanced content now?

</comment></comment></comment><comment><USER9> Why would a pedagogical project choose JavaScript of all languages?

Unless the project _specifically_ needed to leverage features of the language, or a web browser, it's an incredibly poor choice for building anything with well maintained abstractions. Or anything at all ready, when the language is covered in warts.

I imagine the author hasn't yet discovered for themselves why it's a poor choice, given only a key-value store has been implemented (using JSON.stringify, no less)

<comment><USER10> JavaScript is extremely accessible and the warts can easily be worked around.

I spent a lot of my life being a JavaScript hater and after working with it for four years I can definitely see how it is really a simple starting point for a lot of concepts. Sure it has warts. What doesn't?

Have you worked with a JS language for any extended period of time? What about that made you not even want to consider it for anything? I'm really curious, I'm not trying to set you up - I'm really not exeperienced enough to do so :)

Edit: to be clear because of general curiosity and because I hate bringing work home, most side projects I work on are in some other language.

<comment><USER9> > and the warts can easily be worked around

Not really. The author doesn't leverage any kind of static typesystem, which would at least mitigate some of the warts. He's chosen Node.js instead of leveraging the browser, so no free visualization layer for doing anything interesting with, unfortunately.

> Have you worked with a JS language for any extended period of time?

Most of my day job is working in a _really, really big_ Javascript codebase. I can say with confidence that the language is something that we're absolutely stuck with, and I still have no idea why somebody would implement a pedagogical database with it (well, then again, they haven't; they've implemented a key-value store, which is trivial).

To offer an alternative, they could have chosen something boring but everywhere like Java, which is just as accessible to those with less experience. Then they'd have the possibility of doing fine-grained parallelism, file access, designing abstractions that fit within a statically typed language.

<comment><USER11> No stupid questions time, but given all languages, would an array based language like J be a decent choice for building a database from scratch?

I mean, tables seem like doubly indexed arrays.

In my mind it wouldn't be readable but it'd be maybe less lines of code than other languages?

I have never thought about building a database that takes into consideration CAP theorem and ACID compliance, sounds super tough. I'm usually happy enough when I learn something neat about Postgres.

I thought this would be neat but it's just a kv store in JavaScript.

</comment></comment></comment></comment><comment><USER12> I realized how little i knew about how databases work until I watched this lecture series. [https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA](https://www.youtube.com/channel/UCHnBsf2rH-K7pn09rb3qvkA)

Does anyone have DB internal book recommendation that inst' boring as hell.

<comment><USER13> You might try this collection of papers about DB technology.

[http://www.redbook.io/](http://www.redbook.io/)

Fair warning: this is not for beginners. If you find the going too hard, start with a DB textbook.

Also, that site doesn't seem to include the papers themselves. But most of those papers are very famous, so if you search for the titles, you should find copies. Worst case, you might need to visit a university library.

<comment><USER14> > Fair warning: this is not for beginners. If you find the going too hard, > start with a DB textbook.

which one can teach how to build a DB system from scratch? I'm not talking about SQL theory or implementing a SQL parser but the actual persistence, indexing part.

<comment><USER13> Both of them, really. There's a lot to know if you want to build a modern database system. But no work I am aware of addresses the specific question of how to build a database system from scratch.

A reasonable approach might be to start with this high-level paper, and follow papers they reference until they get specific enough to address your specific questions:

        Joseph M. Hellerstein, Michael Stonebraker, James Hamilton.
        Architecture of a Database System. Foundations and Trends in Databases, 1, 2 (2007).

For the sort of low-level issues that you are interested in, it might be useful to study a well-regarded persistence package, such as Berkeley DB.

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

Another system that might be worth studying is SQLite.

[https://www.sqlite.org/index.html](https://www.sqlite.org/index.html)

<comment><USER15> If the Hellerstein/Stonebraker/Hamilton paper is the kind of overview you are looking for, then a better link for the SQLite equivalent is

[https://sqlite.org/arch.html](https://sqlite.org/arch.html)

</comment></comment></comment></comment></comment><comment><USER16> Not a lot of content yet, but building databases (even toys) is an incredibly interesting exercise which I encourage many more people to try out, so +1!

For anyone else who is interested in learning how to build a database, can I thoroughly recommend following along with Andy Pavlo's Advanced Database Systems course from CMU[1]. Every lecture is accompanied by reading lists, notes, and assignments. Whats more, I find Andy's style to be very easy to parse even on complex topics.

Even if you think you know a fair bit about this domain, you will likely learn a lot!

[1][https://www.youtube.com/playlist?list=PLSE8ODhjZXjYplQRUlrgQ...](https://www.youtube.com/playlist?list=PLSE8ODhjZXjYplQRUlrgQKwIAV3es0U6t)

</comment><comment><USER17> Why the votes? There's nothing there.

</comment><comment><USER18> Since you are creating a new file for each entry, I think BTRFS would be a good choice.

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

</comment><comment><USER19> just vote for the title.. this place is really very funny..

</comment><comment><USER20> why the hell would you share this when its nowhere near done</comment>


Because of AI, the value of a computer science degree will "diminish over time" - <AUTHOR> https://www.vox.com/recode/2019/5/29/18644652/mark-cuban-ai-computer-science-coding-liberal-arts-kara-swisher-steve-case-decode-podcast-interview <comment><USER2> AI is theoretically applicable to every facet of human interaction. I would expect it to diminish the value of almost every skill set over time. AI generates code, art, entertainment, news, etc. If anything I would expect a hard Computer Science degree founded in theory to be one of the last impacted by the growth of AI.</comment>


Ask HN: Connect your app to the world's networks? Is this a hard problem? - <AUTHOR> Hey,<p>Just wondering, how difficult is the problem of connecting a mobile app to networks so it can call normal cellphone numbers? I would imagine it could be a huge problem, due to different implementations and regulations, but I also remember there was a startup which aimed to solve this problem. Any ideas ? <comment><USER2> There are a few start ups offering telephony APIs. The most popular is called Twilio.

<comment><AUTHOR> Thanks. For some reason typing this question into Google gave me millions of irrelevant results no matter how I tried to word it.</comment></comment>


Rapid recovery from major depression using magnesium treatment (2006) - <AUTHOR> http://www.ncbi.nlm.nih.gov/pubmed/16542786 <comment><USER2> A quick search on Google Scholar reveals more studies confirming this: [1] [2] [3]. It might be worth trying out, since it seems to be pretty hard to overdose on magnesium unless you have kidney failure. [4]

[1] [http://ijp.sagepub.com/content/19/1/57.short](http://ijp.sagepub.com/content/19/1/57.short)

[2] [https://www.researchgate.net/profile/Betina_Elfving/publicat...](https://www.researchgate.net/profile/Betina_Elfving/publication/272513367_Dietary_magnesium_deficiency_alters_gut_microbiota_and_leads_to_depressive- like_behaviour/links/560a742208ae1396914bd253.pdf)

[3] [https://www.researchgate.net/profile/Claudia_Schmuckermair/p...](https://www.researchgate.net/profile/Claudia_Schmuckermair/publication/262149492_Dietary_magnesium_restriction_reduces_amygdala- hypothalamic_GluN1_receptor_complex_levels_in_mice/links/5405d27e0cf2bba34c1db295.pdf)

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

<comment><USER3> 1 is behind a paywall, so you can't see how many patients were in the study or what the effect size was. 2 and 3 were in mice.

Mice are useful model organisms for many things, but it is very important to remember they are _not humans_. For one, they have wildly different inflammation responses, ([http://blogs.sciencemag.org/pipeline/archives/2013/02/13/mou...](http://blogs.sciencemag.org/pipeline/archives/2013/02/13/mouse_models_of_inflammation_are_basically_worthless_now_we_know) ) and inflammation is yet another thing that seems to influence mental illness.

<comment><USER4> From Journal of Immunology with impact factor 4.92

Note the following quotes are take from an article that's "aim is to sound a word of caution" about the use of mice as a substitute for human studies. Even they note how well mice have served and will continue to serve as a model for human biology.

"Mice are the mainstay of in vivo immunological experimentation and in many respects they mirror human biology remarkably well."

"In this review our aim is not to suggest that the mouse is an invalid model system for human biology. Clearly, with so many paradigms that translate well between the species, and with the relative ease with which mice can now be genetically manipulated, mouse models will continue to provide important information for many years to come. "

[http://www.jimmunol.org/content/172/5/2731.full](http://www.jimmunol.org/content/172/5/2731.full)

<comment><USER3> Yes, and that is indeed the journal of _immunology_ , which is speaking of mice in a primarily immunological context. One might easily guess that mice are less useful model organisms in neurology.

</comment></comment></comment></comment><comment><USER5> I think getting the news out about this research could be very important as many people could seek more heavy handed treatment for tiredness, depression and anxiety, not knowing the cause was a simple mineral deficiency.

I used to feel tired all the time, with permanent pain in the neck and the retinas, even though I slept 7 hours a night. After I started taking magnesium, I felt 15 years younger. I could finally get a good night's sleep and my energy recovered. There were also other effects: my sex drive increased, dandruff almost disappeared and my bowel movements have improved.

Another useful mineral for me was Calcium. I got rid of a nagging back pain that affected me for the last 10 years. Other treatments such as massage and exercise had no effect.

It feels like doctors had no idea to check for these two minerals in my case. Even though I visited various specialists and went to a sleep lab to test my brain waves, they had no useful recommendations. Could it be true that doctors have no idea about magnesium and calcium?

<comment><USER6> Regarding your question at the end - I firmly believe that doctors and day-to- day medical professionals traditionally despise discussions regarding supplementation. This his extremely anecdotal of course, but there seems to be some kind of 'wall' \- probably on purpose - where medical professionals believe that only the knowledge on the inside of the wall has merit. This can be seen in the marketing/'re-evaluation' of opiates like Oxycontin, where once the establishment type leadership said it was okay, a lot of doctors started writing up scripts with this encouragement, and now the US is in the grips of a horrible addiction crisis.

It's not that medical professionals don't appreciate healthy living - it's that I frankly don't believe they're trained to promote healthy living. Rather, they treat symptoms. Some things are easier to figure out than others, and anything outside of the 'wall' is more often than not viewed in a negative light.

<comment><USER7> It's really just that most nutritional supplements have either low-quality supporting data or contradictory data. The hype surrounding the field of nutrition is not matched by its benefits.

This is not to say that there is no future for it. Rather, it is to say that there is _a huge_ future for it, because at present the field has little to offer backed by strong evidence.

<comment><USER8> Even if there's not enough data, the risk of supplements is very low , especially compared to the risk of pharmaceuticals.So why not try ?

And the reason they don't have as much high-quality proof as pharmaceutical(clinical trials), is just because of monetary incentives, nothing more.

<comment><USER7> When we talk about pharmaceuticals, we talk about financial toxicity. Americans spend over $10 billion on nutritional supplements annually [1], most of which have very poor supporting evidence. Should people be able to spend their money how they see fit? Sure. Are they getting utility from it? Not the utility they're hoping for.

1 = [https://www.washingtonpost.com/news/wonk/wp/2015/02/04/ameri...](https://www.washingtonpost.com/news/wonk/wp/2015/02/04/americans- are-ignoring-the-science-and-spending-billions-on-dietary-supplements/)

<comment><USER9> When we talk about healthcare, we talk about financial toxicity. Americans spent $3 trillion on healthcare in 2014 [1], much of which had very poor outcomes. Should the healthcare system get a defacto blank check to charge insurance companies as much as they want? Sure. Are the patients getting utility from it? Not the utility they're hoping for.

1 = [https://www.cms.gov/research-statistics-data-and- systems/sta...](https://www.cms.gov/research-statistics-data-and- systems/statistics-trends-and- reports/nationalhealthexpenddata/downloads/highlights.pdf)

(lol, sorry. $10 billion on supplements is a drop in the bucket.)

</comment></comment></comment></comment></comment></comment><comment><USER10> This is from 2006: surely by now there is more evidence to support/reject this hypothesis?

<comment><USER11> Thanks, we added the year.

</comment></comment><comment><USER12> Here is a review article on using magnesium to treat depression: [http://www.sciencedirect.com/science/article/pii/S0306987709...](http://www.sciencedirect.com/science/article/pii/S0306987709007300)

It claims that magnesium supplementation is as effective as anti-depressants.

<comment><USER13> The caveat is that anti-depressants aren't any better than placebo for typical cases of depression: [http://jama.jamanetwork.com/article.aspx?articleid=185157](http://jama.jamanetwork.com/article.aspx?articleid=185157)

<comment><AUTHOR> This article is about major depressions, not typical cases.

</comment></comment></comment><comment><USER6> I recall the big splash that came with the marketing of ZMA as a supplement[1] for testosterone production quite a while ago. It was something OTC that I tried on several occasions and found to have limited merit. Unlike some other products, I didn't feel the ZMA effects in muscles per se, but noticed significantly deeper (better?) sleep and recovery. If ZMA was assisting in recovery and sleep more than anything, then I could definitely buy into the notion magnesium has quite a few physical and mental upsides as a supplement (with further research!).

[1] [https://en.wikipedia.org/wiki/ZMA_%28supplement%29](https://en.wikipedia.org/wiki/ZMA_%28supplement%29)

</comment><comment><USER14> What is the recommended procedure to be tested for vitamin/mineral/whatever (vitamin D = steroid?) deficiencies... is it best to head to a random doctor to get blood drawn?

It seems like a good idea to get levels checked regularly - like an annual physical! If there's reliable, low-cost way of getting everything or at least everything important checked I would love to hear about it.

<comment><USER15> That's part of my yearly(ish) physical. They always tell me I have a vitamin D deficiency, so I take supplements for a few months, forget about it, and I'm deficient again by the next physical.

<comment><USER16> The most efficient way of getting vitamin D would be from sunshine.

<comment><USER17> Not in winter if you live in northern latitudes:

"If you live north of Atlanta (ahem, Boston), it's impossible to produce vitamin D from the sun in the winter, because the sun ray's never get high enough in the sky for the ultraviolet B rays (UVB) to penetrate the atmosphere. This can be a problem for most of us that aren't lucky enough to have winter homes near the Equator."

source: [http://www.bostonmagazine.com/health/blog/2013/01/11/vitamin...](http://www.bostonmagazine.com/health/blog/2013/01/11/vitamin- d-sun-winter/)

<comment><USER16> This is true. Having a lamp that produces UVB radiation could help (with appropriate use and eye protection)

</comment></comment></comment></comment></comment><comment><USER4> Anecdotal Experience follows: The combination of coffee and exercise was leaving me truly exhausted. I was drinking water but still had signs of dehydration(foggy, listless etc).

Started using rehydration packets EMERGEN-C ELECTRO MIX and instantly(15 min) felt distinctly better than after a liter of straight water. Given the rest of my diet, magnesium was the main probable culprit. I switched to SLOW-MAG and it reduced earlier symptoms. (in theory this was controlling for other electrolytes). My recommendation is to try the Packets first as they effect is within 15 min, although it might take two if you're really dehydrated.

<comment><USER18> How can you know this isn't the placebo effect?

<comment><USER4> Not sure if your response is rhetorical or not.

1\. I cannot.

2\. I noted that in the first line that this was anecdotal. The implication being that other the comments should be considered just as highly and I offer nothing beyond what is commonly accessible on the web in terms of research, with N=1 additional observations.

3\. Despite not being a double blind study(with blood work to corroborate with ground truth, what could in fact be a psychosomatic condition), I varied my choice of supplements considerably and noted those lacking in magnesium provided little benefit.

4\. My experience fits what is known in the literature. To quote Carl Sagan,'Extraordinary claims require extraordinary evidence.' but in our case, its effectively an application of occam's razor.

5\. Finally, I present what I think is the best way for other people to test if my effect was a placebo effect. The slow absorption isn't nearly as dramatic as the instant with a litter of water. Try it yourself if you think its the case, (not that that will remove the placebo possibility).

</comment></comment></comment><comment><USER4> From Neuropharmacology, which has an impact factor of 5.1.

"Furthermore, a causal relationship between Mg2+ and anxiety is suggested in mice with low plasma Mg2+ levels which display increased anxiety- and/or depression-related behaviour..."

[http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3198864/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3198864/)

<comment><USER4> At the very bottom I've listed other resources, but they've been down voted... :(

</comment></comment><comment><USER19> The hilariously small sample size of this article and the lack of peer review aside, if you want to try this just for the hell of it, be sure to _not_ buy a bunch of magnesium oxide (the cheap stuff), as the bio-availability is terrible (~4%).

Instead, buy chelated magnesium, something like this: [http://amzn.com/B000BD0RT0](http://amzn.com/B000BD0RT0)

</comment><comment><USER20> This link discusses the paper in question: [https://www.psychologytoday.com/blog/evolutionary- psychiatry...](https://www.psychologytoday.com/blog/evolutionary- psychiatry/201106/magnesium-and-the-brain-the-original-chill-pill)

</comment><comment><USER21> My SO used to get regular migraines, but since taking daily magnesium they've completely stopped

<comment><USER8> For those seeking research about magnesium and migraine, it's recommended here for prevention of migraine:

[http://www.ncbi.nlm.nih.gov/pubmed/26252585](http://www.ncbi.nlm.nih.gov/pubmed/26252585)

</comment></comment><comment><AUTHOR> In this study, N=small, but nevertheless, I think it is a very interesting article. Because the effects are so rapid, and magnesium supplementation is in general harmless, it is imho definitely a good idea to see if a magnesium deficiency is the cause of the disorder. Please take note that not all magnesium supplements are equal.

<comment><USER22> > Please take note that not all magnesium supplements are equal.

Could you elaborate on this, please? Would like to know more.

<comment><USER23> From some admittedly not very scientific research into this, it seems that different forms of magnesium are absorbed differently by the body. It is claimed that magnesium oxide is poorly absorbed by the body and can lead to more side effects than other forms of magnesium. Magnesium citrate is supposed to be better, but the best forms are supposed to be chelated magnesium compounds. Chelated magnesium is supposed to be most easily absorbed by the body and best tolerated in terms of side effects.

From personal experience, I will say that I feel better after taking chelated magnesium vs magnesium citrate. The specific chelated magnesium compound I take is magnesium glycinate/lysinate. It has helped ease symptoms of anxiety. I had previously taken magnesium citrate, which ended up making me feel nauseous.

A lot of the sites that come up in google are alternative health sites (Mercola, etc.). Here are two links that may be more reliable:

[http://www.webmd.com/vitamins- supplements/ingredientmono-998...](http://www.webmd.com/vitamins- supplements/ingredientmono-998-magnesium.aspx?activeingredientid=998)

[http://www.drugs.com/mtm/chelated- magnesium.html](http://www.drugs.com/mtm/chelated-magnesium.html)

Also, here is a PDF of a class action lawsuit filed against a manufacturer accused of putting magnesium oxide in their chelated magnesium to cut costs. Has a lot of information on the purported benefits of magnesium and on how the magnesium industry is run:

[https://www.truthinadvertising.org/wp- content/uploads/2014/0...](https://www.truthinadvertising.org/wp- content/uploads/2014/04/Hoffman-v.-Bluebonnet-Nutrition-Corp.-complaint-.pdf)

<comment><AUTHOR> Very interesting. Can you recommend a specific brand?

By the way, I have noticed that flaxseed oil (1-2 tablespoons/day on some bread) also helps ease anxiety in my case. I have no clue about the mechanism behind it, but I just wanted to mention it.

<comment><USER24> Flaxseed oil is a good source of an omega 3 essential fatty acid, ALA. Generally most people don't get nearly enough omega 3 - the other source is oily fish. Our nervous system is particularly dependent on it.

</comment></comment></comment></comment></comment><comment><USER25> Appears that the author of this paper is a quack hawking magnesium and zinc miracle cures[0].

[0]: [http://www.ibiblio.org/london/herbs/forums/alt.folklore.herb...](http://www.ibiblio.org/london/herbs/forums/alt.folklore.herbs/msg00123.html)

</comment><comment><USER26> I found this related article on chelated minerals as a mood stabilizer. Others might find this interesting, too.

[http://www.ncbi.nlm.nih.gov/pubmed/11780873](http://www.ncbi.nlm.nih.gov/pubmed/11780873)

BACKGROUND: To determine in open trials the therapeutic benefit of a nutritional supplement for bipolar disorder.

METHOD: The sample consisted of 11 patients with DSM-IV-diagnosed bipolar disorder aged 19 to 46 years, who were taking a mean of 2.7 psychotropic medications each at study entry. Three additional patients dropped out prematurely. The intervention is a broad-based nutritional supplement of dietary nutrients, primarily chelated trace minerals and vitamins, administered in high doses. At study entry and periodically thereafter, patients were assessed with the Hamilton Rating Scale for Depression (HAM-D), the Brief Psychiatric Rating Scale (BPRS), and the Young Mania Rating Scale (YMRS).

RESULTS: For those who completed the minimum 6-month open trial, symptom reduction ranged from 55% to 66% on the outcome measures; need for psychotropic medications decreased by more than 50%. Paired t tests revealed treatment benefit on all measures for patients completing the trial: HAM-D mean score at entry = 19.0, mean score at last visit = 5.4, t = 5.59, df = 9, p < 01; BPRS mean score at entry = 35.3, mean score at last visit = 7.4, t = 2.57, df = 9, p <.05; YMRS mean score at entry = 15.1, mean score at last visit = 6.0, t = 4.11, df = 9, p < .01. The effect size for the intervention was large (> .80) for each measure. The number of psychotropic medications decreased significantly to a mean +/\- SD of 1.0+/-1.1 (t = 3.54, df = 10, p < .01). In some cases, the supplement replaced psychotropic medications and the patients remained well. The only reported side effect (i.e., nausea) was infrequent, minor, and transitory.

CONCLUSION: Some cases of bipolar illness may be ameliorated by nutritional supplementation. A randomized, placebo-controlled trial in adults with bipolar I disorder is currently underway, as well as open trials in children.

<comment><USER26> I'm not sure how reputable the journal is that this was published to, and not experienced in determining that.

</comment></comment><comment><USER4> NIH points out that "Early signs of magnesium deficiency include loss of appetite, nausea, vomiting, fatigue, and weakness."

And "An analysis of data from the National Health and Nutrition Examination Survey (NHANES) of 2005–2006 found that a majority of Americans of all ages ingest less magnesium from food than their respective EARs"

Link: [https://ods.od.nih.gov/factsheets/Magnesium- HealthProfession...](https://ods.od.nih.gov/factsheets/Magnesium- HealthProfessional/#h5)

<comment><USER27> If Cedars-Sinai's list of magnesium levels in foods[1] is accurate, it seems to me that it'd be kind of hard _not_ to be deficient a majority of days (sources I'm seeing say you need between 300-400mg/day). Add in trying to get enough of all the other things you're supposed to get such-and-such mg/day of _and_ trying to save time/money by not having to cook with 100 different ingredients every week[2] and you're really in trouble if you want to _consistently_ get enough of all this stuff solely from food sources.

[1] (PDF WARNING!) [https://www.cedars-sinai.edu/Patients/Programs-and- Services/...](https://www.cedars-sinai.edu/Patients/Programs-and- Services/Documents/CP0403MagnesiumRichFoods.pdf)

[2] It seems that comprehensively nutritious eating is firmly at odds with the typical Internet advice: "you guys are so wrong about how much it costs and how much time it takes to cook at home, just do what I do and make a big pot of rice & beans on Sunday then eat leftovers all week, takes an hour and costs me like $2/day"

</comment></comment><comment><USER28> It bums me out that HN readers just read and respond to the headline without analyzing the actual content.

My immediate reaction to medical headlines is always to wonder "why should I believe this"? In this particular case the paper tests _four_ people, one of whom is described as only "moderately depressed" and who lost his "craving for smoking, dipping, cocaine and alcohol" with the treatment. I am very skeptical of this magical cure.

(From there, I might also add that the publishing info itself is pretty sketchy (author appears to be some random dude self-publishing, paper cites his own website a lot), but it's a bit ad hominem to rely on this. It's also entirely possible that this hypothesis is correct but I don't think this paper is a good first step on proving that.)

<comment><USER29> Here here.

As it is a snow day, I can't get the other articles as well or do a good search (Fallout4 for me, oh shucks).

That said, just because there are only 4 people in a study does not mean that it is a bad article. I agree that the guy is maybe a quack, but that can be said of a lot of scientists too. Truth has a different metric than the opinions of people. That there is only 4 subjects is not all that off in biology, especially in humans. For instance, in the hearing pathway, there is a single layer of neurons that helps mediate the location of low frequency noises in mammals. The Nature Letter that revealed this was done on 4 cells total. The difficulty of the experiment was extreme. Sectioning brains at essentially random, probing neurons perfectly from the input and output neurons to those special neurons, all at body temperature, and in mature animals, it took that team 10 years for 4 neurons. ALL of them now are bakers in Germany; they quit science.

So, though the guy may be a quack, and though this experiment may not be as hard, it does not mean he is necessarily wrong.

<comment><USER30> Extraordinary claims require extraordinary evidence. Any depression study with only 4 people is not extraordinary considering the pervasiveness of the issue in society.

</comment></comment></comment><comment><USER31> "..using this one simple trick"</comment>


Ask HN: Code for America - <AUTHOR>

Would you do it? Do you think it's worth the 11 months and 35k USD stipend?<p>http://codeforamerica.org/ <comment><USER2> If you want to be poor, you can always work at market rate and donate the difference to some charity that actually matters.

<comment><USER3> great simultaneous denigration of people who work for charities and people who donate to charities!

(surely you can't earn decent salary while working for charity and if you'll donate to it your quality of life is sure to decline! and sense of mission doesn't count as anything either! but maybe, just maybe, it's not all about the money?)

<comment><USER2> Not what I meant to convey. I said that if you're ok with $35,000 a year, why not get a job that pays $200,000 a year and donate $160,000? That cash is going to make a lot more difference than your PHP web app for contesting parking tickets ever will.

<comment><USER4> I somewhat agree, but don't forget that a large portion of that will get taxed, which would limit the amount that you could donate.

<comment><USER2> Donations are pre-tax.

<comment><USER5> Actually, donations come out of your post-tax income, and then you get a tax deduction (not a credit) for them, if you itemize your taxes.

<comment><USER2> Doesn't this work out the same? I know if you just donate $20 and take the standard deduction it's post-tax, but if you donate $165,000, I'm sure that your accountant can work something out for you.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Discussion four months ago: <http://news.ycombinator.com/item?id=1395816>

</comment><comment><USER7> This is great! And yes, worth it. The ability to network, get more experience all while aiding in something for the community and getting paid? Nice!

In Norway there was recently a funding round where personal or corporate initiatives could get funding for "webprenteurship" where you would use open data from departments etc and create something for the greater good. It was funded by the government. Thats somewhat similar although not as directed as this is.

</comment><comment><USER8> Assuming the parallel name to "Teach for America" is intentional, one of the primary motivators is missing: paying off college loans. Teach for America pays 100% of interest accrued while in the program, and gives you (admittedly small) awards to pay back some of your college loans. You also get loan deferment while you're in the program, just like if you were still in school.

This doesn't change the societal value or possibilities of the "Code for America" program, but it makes it impossible for those of us who are going to graduate soon with huge loan debt to participate.

</comment><comment><USER9> I've been thinking about applying for this since I first saw it but the timing just hasn't been right. I wonder if anyone in the first round is on HN. If so, I'd love to hear about your experiences during the application process. I definitely have my eye on Code for America.

</comment><comment><AUTHOR> Clickable: <http://codeforamerica.org/>

</comment><comment><USER10> Yes. I've often wished there was something like this! Not just at the city level, but county, state, and national. I would do this in a heart beat -- is, if I weren't rather busy already. I may still apply, from half-way across the world.

</comment><comment><USER11> I would consider doing it though I have done the startup and big company thing, so the experience may not have as big an impact career wise as for others. Aside from networking and the actual work, it certainly demonstrates good citizenship, character, and passion.

If I were the organization, I would try to offer some group housing (maybe they do and I missed it). I certainly agree if the program gets bigger colocating project teams with the customers/cities is definitely the way to go in order to create empathy and broader contextual understanding of opportunity and impact.

</comment><comment><USER12> As a Brit without a US Visa, probably not. But it's a fantastic idea.

</comment><comment><USER13> Compared to a GTA/GRA salary, 35K for 11 months is really good.

Compared to being in a start-up based on Ramen, 35K is great!

</comment><comment><USER14> How about something more like Peace Corps for programmers and hackers? Not just for government projects, but for humanitarian coding (if such a thing exists).

<comment><USER15> You mean like Geek Corps?: <http://www.geekcorps.org/>

</comment></comment><comment><USER16> for a first job, or a couple years out of school, or trying to bypass school? This would be awesome. Having gone to grad school married with kids, I assure you, you can make this happen.

</comment><comment><USER17> I think the lowest i could work for is 40k. The program sounds really noble, and it appeals to me, but going from 80k to 35k is hard.

<comment><USER18> True, It'd be hard to be motivated on 35k/year to lead a project. But I'd consider it IF I'd be getting great training/materials in cutting-edge skills (ruby, html5, etc.) to make up for the low pay, AND got exposed to a good network of folks outside of just the government.

<comment><USER19> Be careful about calling any part of web design cutting-edge. It may change quickly what is in fashion on the web, don't mistake that for being technically challenging.</comment></comment></comment>


36 Hours in Silicon Valley - <AUTHOR> http://travel.nytimes.com/2010/09/05/travel/05hours.html?hpw

<comment><USER2> Sounds pretty different from the "My God, it's full of strip malls!" descriptions I've heard from others.

<comment><USER3> you also forgot the light industrial parks filled with 1-2 story commercial buildings and massive parking lots.

And Los Gatos as the "trendier downtown?" I dont get how that isnt Santana Row (as much as I dislike it)

<comment><USER4> I kinda like downtown los gatos and Los altos a bunch, although they are very different. Mountain view always smells good. Palo alto is trying too hard, IMO.

<comment><USER3> Oh _I_ love downtown Los Gatos and Mountain view, but I wouldnt really call them "trendy', especially compared to Santana row.

<comment><USER4> I think I was confusing different meanings of trendy. I agree with you on second thought.

</comment></comment></comment></comment></comment><comment><USER5> I appreciate that shout out to Antonio's Nut House, one of the few places I actually enjoy hanging out in the South Bay

</comment><comment><USER6> Good thing they missed the coffee shops and the Hacker Dojo. We just dodged a bullet, eh? ;-)

</comment><comment><USER7> No Buck's of Woodside? :-) BTW, anyone else noticed the prominent black numbers written along the top of the walls in there? I asked a server what they meant and they had no idea.

<comment><USER4> Is it any good? Embarassingly I have never been.

<comment><USER7> We found it merely OK. The service not particularly friendly, the food so-so. But it was nice to visit as we were just playing tech-tourist. I suspect it'd be a lot better going with other techies or investors rather than when on vacation with the wife.. :-)

</comment></comment></comment><comment><USER8> "Swing by...", Channing & Emerson in Palo Alto for the Lee De Forest memorial plaque (not far from the HP Garage). His work preceded all the other sights mentioned.

You might also want to spare 30m for a quick tour of the Stanford campus. About as far from NY as you're going to get, and a SV linchpin.</comment>


Obituary: MIT's "foremost academic economist of the 20th century" - <AUTHOR> http://www.nytimes.com/2009/12/14/business/economy/14samuelson.html

<comment><USER2> _In orthodox economics, rationality became a straitjacket. Platonified economists ignored the fact that people might prefer to do something other than maximize their economic interests. This led to mathematical techniques such as "maximization," or "optimization," on which Paul Samuelson built much of his work. Optimization consists in finding the mathematically optimal policy that an economic agent could pursue. For instance, what is the "optimal" quantity you should allocate to stocks? It involves complicated mathematics and thus raises a barrier to entry by non-mathematically trained scholars. I would not be the first to say that this optimization set back social science by reducing it from the intellectual and reflective discipline that it was becoming to an attempt at an "exact science." By "exact science," I mean a second-rate engineering problem for those who want to pretend that they are in the physics department — so-called physics envy. In other words, an intellectual fraud._

Nassim Taleb, _The Black Swan_

</comment><comment><USER3> "World-class economist Paul Samuelson, a Nobel laureate, wrote in the tenth edition of his textbook Economics: _"It is a vulgar mistake to think that most people in Eastern Europe are miserable."_ This, mind you, in the aftermath of the 1953 East German uprising, the 1956 Hungarian uprising and the Poznan protests in Poland, the 1968 revolution in Czechoslovakia— all suppressed with bloodshed by Soviet tanks. In the eleventh edition, he took out the word "vulgar." In the 1985 twelfth edition, that entire passage had disappeared. Instead, he and his coauthor, William Nordhaus, substituted a sentence asking whether Soviet political repression was "worth the economic gains." This non- question was identified as "one of the most profound dilemmas of human society." After 70 years of Leninism, Stalinism, and Maoism that took at least 100 million lives, this was still a dilemma?

It seemed to me utterly incredible that an otherwise great economist could parrot idiotic Marxist propaganda. At a time when the magnitude of the Soviet economic disaster was apparent even to the most willfully blind Marxists in Central Europe and the USSR, the 1985 Samuelson text offered this paragraph about the Soviet economy:

 _But it would be misleading to dwell on the shortcomings. Every economy has its contradictions and difficulties with incentives—witness the paradoxes raised by the separation of ownership and control in America. . . . What counts is results, and there can be no doubt that the Soviet planning system has been a powerful engine for economic growth...._ "

[http://meganmcardle.theatlantic.com/archives/2009/12/paul_sa...](http://meganmcardle.theatlantic.com/archives/2009/12/paul_samuelson_rip.php#comment-336772)</comment>


Tesla Wins Back The Right To Sell Direct To Consumers In New Jersey - <AUTHOR> http://www.torquenews.com/2250/new-jersey-will-allow-tesla-sell-direct-eventually-it-might-not-matter

<comment><USER2> I don't understand why this needs to be limited to Zero-Emissions vehicles. Any new car manufacturer will have difficulty implementing the dealer model.</comment>


Konkuri: The simplest way to manage and publish your tournament - <AUTHOR> http://www.konkuri.com Konkuri is a web application to manage tournaments and leagues, create the tournament site, share results, get feeds, comment on matches, and so on.<p>Konkuri's goals are: 1) Help people manage and publish tournaments for any kind of sport or game; 2) Become a community where players and teams can find tournaments and viceversa. Konkuri has been conceived for the amateur sports world, which is full of passion but poor of online visibility. <comment><USER2> thats cool, might have to use that for the work lan gaming sessions ..</comment>


Moving Java Forward Faster - <AUTHOR> https://mreinhold.org/blog/forward-faster <comment><USER2> This may be an unpopular opinion, but I don't want Java to move forward faster. I don't really want it to move forward much at all unless there is a huge, tangible benefit from the new feature(s). I am of the belief that programming languages should be a solid, fixed foundation on which lasting software can be reliably built. Every time a feature is added to a programming language, it becomes larger, more complex and harder to learn. Rapid changes to languages can also result in regrets, and it is essentially impossible to take something back in language development.

In general, I think too much stock is put into language features, perhaps because many developers are bored with the actual software they are writing/maintaining, and so new language features are relatively fun. As a mental experiment for those who know both Java and Kotlin, or both Java and Scala: Suppose you were asked to estimate the time required to implement a system in Java, and you arrived at an answer of 2 months. Now what would be your estimate for the same system, but written in Kotlin? How about Scala? Admit that it would be the same. (Well, probably a little longer for Scala, but just because it takes forever to compile, ha.)

<comment><USER3> I think that _good_ languages offer features that make your code better, not let you write it faster.

Sure, it may take me two months to write that thing in Scala still, but I'll have more confidence it will work well, and it'll be nicer to read, maintain and work with moving forward.

Scala is an interesting example for this, because the language is a grab-bag of features that definitely can be abused by people who don't know better, it's definitely easy to write _worse_ code in it.

The reality is there is an easy blueprint for Java, because C# is Java, but done better. It's moving at a good clip, but the features coming in are very useful and well thought out.

<comment><USER4> > I think that _good_ languages offer features that make your code better, not > let you write it faster.

And _great_ languages let you do both.

<comment><USER5> And what do you define as a great language?

Language greatness is pretty subjective and task specific. There are some languages I will never declare great (i.e. PHP, JavaScript, Ruby), but others could be great for different tasks..

<comment><USER4> > Language greatness is pretty subjective and task specific. There are some > languages I will never declare great

If greatness is subjective AND task specific, then the languages you will never declare great could be considered great by others for the tasks they perform. And by your own admission if they were great subjectively AND for a particular task, that would make those languages great. But, you still claim that you would never declare them great?

</comment></comment></comment></comment></comment><comment><USER6> >So, let's ship a feature release every six months.

I agree with the proposed plan, when I worked on the JVM, there was a mad dash to get features in by a certain date, otherwise you'd have to wait till the next release of Java to ship your changes.

From interacting with the service teams (L3 and above) customers prefer new features in a new version of Java, with the long release cycles, you have to ship new features in a service packs which made the service team queasy.

It also removes the stigma that Java and its ecosystem is slow compared to V8, .NET and the other platforms.

</comment><comment><USER7> This is a major change:

"After JDK 9 we'll open-source the commercial features in order to make the OpenJDK builds more attractive to developers and to reduce the differences between those builds " [http://mail.openjdk.java.net/pipermail/discuss/2017-Septembe...](http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html)

Java Flight Recorder will be open source.

<comment><USER8> To be honest I didn't even know what Java Flight Recorder was - and I've been doing Java, Clojure and Kotlin for a number of years. I don't see this being a major change for those that have always been on OpenJDK

<comment><USER9> I use Java since its introduction in 1996, never installed OpenJDK other than when it came by default on some random Linux distribution.

Java Flight Recorder and Visual VM are great tools, only matched by .NET ones to monitor application performance.

</comment></comment></comment><comment><AUTHOR> See also:

* Accelerating the JDK release cadence [http://mail.openjdk.java.net/pipermail/discuss/2017-Septembe...](http://mail.openjdk.java.net/pipermail/discuss/2017-September/004281.html)

* Faster and Easier Use and Redistribution of Java SE [https://blogs.oracle.com/java-platform-group/faster-and-easi...](https://blogs.oracle.com/java-platform-group/faster-and-easier-use-and-redistribution-of-java-se)

Oracle will also ship binary distributions of OpenJDK, and OpenJDK will become the canonical JDK distribution.

</comment><comment><USER10> I'm fully in support of defined, rolling release trains. 6 months is a good start considering where they're coming from. I feel like that's still slightly too long though, and is one of the things I wish the Go team would change. The Go team's argument is that it takes time to fully test features before being able to release them, which I understand, but that's the whole point behind a multiple release train model.

But I digress. Faster Java & JVM updates will help Kotlin out as well moving forward. :)

<comment><USER11> > Faster Java & JVM updates

More likely faster updates will be to Java itself, while JVM enhancements will be limited to LTS.

Pattern matching and data classes, for example, will arrive far sooner in Java than value types in the JVM.

<comment><USER12> No, JVM enhancements will not be limited to LTS. If anything it's best to merge them long before an LTS, so that they're well-baked in the LTS itself.

<comment><USER11> My point is that "smaller" features like pattern matching and data classes will land in Java well before big ticket items like value types; not that JVM enhancements will be strictly limited to LTS.

Of course, you have the inside word: when _are_ value types coming to the JVM? Hopefully by Java 10.

<comment><USER13> Minimal value types will arrive as an experimental feature at the VM level real soon now, language and library support will take a lot more work.

<comment><USER14> Giggidy!

</comment></comment></comment></comment></comment></comment><comment><USER15> +1000

We did this (at a much smaller scale) with Apache HBase (starting at 0.94, which I release-managed). We went to a monthly release cadence.

We saw the frantic last minute commits just before a release (and followed by multiple smaller releases just after the big release to stabilize the code base) essentially vanish. If the feature wasn't done, it simply got in a month later.

For us it required an "transitive compatibility" (i.e. one can go from version X to version X+3 without upgrading to X+1 and X+2 first), and stable functional tests, so that confidence in a release is automatic and does not need to be established manually.

</comment><comment><USER16> Hi All,

I represent the London Java Community (LJC) on the Java Community Process (JCP) Executive Committee (EC), aka the Java standards body. I also help run the Adopt OpenJDK programme for OpenJDK outreach and onboarding new developers to work on Java itself.

Now that the acronyms are out of the way :-). We're working at the JCP with Oracle to streamline the standardisation process in order to facilitate these faster releases and provide other Java vendors the ability to run their reference implementations against an in flight Technical Compatibility Kit (TCK), which is what you need to pass in order to call yourself Java.

I'm really, really pleased that Oracle is increasing the cadence. Java 9 allows for incubation modules and so if something isn't ready, it can simply be put in there for early testing without it impacting the main release.

Some folks asked about alternative platforms. In terms of providing high quality releases of OpenJDK for alternative platforms we've created a portal at [https://www.adoptopenjdk.net](https://www.adoptopenjdk.net) with the build farm run via [https://ci.adoptopenjdk.net](https://ci.adoptopenjdk.net) (code in various repos at [https://www.github.com/AdoptOpenJDK](https://www.github.com/AdoptOpenJDK)). We've only just received the Java Test Compatibility Kit J(TCK) from Oracle and once we have the binaries tested against that then folks will be able to get the latest OpenJDK binaries for all of the esoteric platforms (ARM, z360, AMD variants, AIX, Solaris and so forth).

We'd love for folks with devops skills to come and join us (Docker, IaaS, Jenkins, make skills welcome).

If you have any specific questions please throw them my way!

</comment><comment><USER17> As I keep saying, more and smaller releases cause a constant, low amount of pain. That's good, because you avoid the teeth-yanking bullshit of deploying 6 month of care-free development to prod. And even though I hope the OpenJDK community develops more responsibly than my devs, but the point still stands given scaled time frames.

</comment><comment><USER18> > To make it clear that these are time-based releases, and to make it easy to > figure out the release date of any particular release, the version strings > of feature releases will be of the form $YEAR.$MONTH. Thus next year's March > release will be 18.3, and the September long-term support release will be > 18.9.

Shouldn't those version numbers be 2018.3 and 2018.9? Have we learned nothing from the Y2K bug?

<comment><USER19> Imagine the shock when our descendents wake up on Jan 1 2118 and all their systems are accidentially running on a 100 year old JVM :)

<comment><USER20> I just had the horrible realization that java will still exist in 2118.

<comment><USER21> They'll be running the JVM in a Docker container in Linux written in JS in the browser compiled to web assembly running on a Rust WebOS. But it will be okay, because it the hardware will be a 1024 core quantum processor.

</comment></comment></comment></comment><comment><USER22> If you've never had a chance to meet Mark in person, he is an incredible guy and a really nice person. Totally on-board with this idea. The execution is going to be the tricky part.

</comment><comment><USER23> It'd be nice, but being an Android guy, I'd see zero benefit, as Google has no good way to push out updates to their VM.

<comment><USER7> Maybe Google should use openJDK instead of using their own proprietary version of Java.

No one benefits of fragmentation.

<comment><USER24> As of Android 7 they do use the OpenJDK. If you're implying that they should replace the Android SDK/ART with OpenJDK/JVM then that would be foolish. The OpenJDK and JVM were never designed to work within the constraints of embedded mobile devices.

<comment><USER7> Why can't Google submit patches to make it work for embedded devices? I don't see the point of a separate version of Java. Imagine if you could develop Android apps against the latest version of Java.

<comment><USER25> And Google should spend their time and money improving Java, owned by a company that massively sued them?

<comment><USER9> Apparently the server team does exactly that!

Search for Google.

[http://openjdk.java.net/projects/mlvm/jvmlangsummit/agenda.h...](http://openjdk.java.net/projects/mlvm/jvmlangsummit/agenda.html)

[http://openjdk.java.net/projects/mlvm/summit2014/agenda.html](http://openjdk.java.net/projects/mlvm/summit2014/agenda.html)

</comment></comment></comment></comment></comment></comment><comment><USER26> Slow releases weren't the only problem. Sometimes they even promised things that one year into development would be candidly postponed of other two years. I can't recall of any project being managed as poorly.

<comment><USER27> Java is the worst managed project you've ever heard of? You must live a charmed life.

</comment></comment><comment><USER28> As long as they stay away from the lambdas and FP trainwrecks that was 8.

<comment><USER29> I can't tell if you're being sarcastic, but I'm guessing you aren't. Anyway, from a full time Java developer's perspective, lambdas and the FP stuff added to Java 8 have sort of been a holy grail. Filtering with streams have single- handedly made my life as a developer measurably easier, but then again I'm a back-end web dev so it comes up a lot. If you're a Java developer, I'd strongly recommend going back and trying some of these features because they really are quite nice once you get the hang of them.

<comment><USER28> You seem to have jumped to the conclusion that I haven't tried the FP features. If I hadn't tried them, I wouldn't be criticizing them. If I wanted to work in FP style, I would choose an FP language; not encourage a traditional, solid language to be perverted to do something that is completely against the nature and design of that language.

<comment><USER30> Since lambdas and streams are optional, what is your critique of them?

<comment><USER23> I'm guessing they work on a team, and other members of the team are using them.</comment></comment></comment></comment></comment>


GitHub Package Registry - <AUTHOR> https://github.blog/2019-05-10-introducing-github-package-registry/ <comment><USER2> Comments moved to [https://news.ycombinator.com/item?id=19881709](https://news.ycombinator.com/item?id=19881709), which was posted a bit earlier.</comment>


Compensation expectations as developer for unseeded hardware startup in Bay Area - <AUTHOR> What compensation expectations should I have as sole hardware developer for unfunded BLE startup in Bay Area? i.e. money, equity percentages, consulting costs, etc. I have 5+ years exp. in PCB design/Embedded SW development <comment><USER2> Well, if they are unfunded, they are unfunded :)

You may want to check angel.co, they may have salary listing averages, etc.

</comment><comment><USER3> What is the roadmap to funding? Or revenue? What is your risk profile? What will this do for your career?

I second the advice to look on angellist, but I would look at the larger picture because that should affect your comp expectations.</comment>