Hello

Hello everyone :wave:,

I have read/skimmed through half of the mailing list archives, up to March
'17, so far. To control my desperation to skip the rest, I'm taking a
breather here and chiming in to introduce myself.

My name is Gurpartap Singh. I've been a no-name writing Cocoa/OS X apps
since 2007, iOS since 2009, and shipped my first Swift app with swift-1.1.
The journey's been bumpy but incredibly productive even with the swift
major version migrations. :nerd_face:

I've also been using Go on the backend for the past 2 years for http api
servers. I've made myself acquaint with golang/src/net/http's basic working
model as well as the community tooling around it. I'm also using grpc-go
(HTTP/2 transport) and following swift-grpc and swift-protobuf development,
looking for signs of stability to be able to switch wherever productive.

Out of necessity, since I do not use a proxy server (nginx, Apache), I
patched Go's net/http to serve TLS on a "given" listener (systemd activated
port listener in my case). I contributed this back to golang source, and it
was shipped in today's Go 1.9 release.

There's a lot to be desired in my current Go stack when compared with the
opportunity Swift presents, inherent variable type-safety being one[2], and
the joy of writing expressive code being another among many.

Along with server-swift, I'm also exploring how empowered I feel with
swift-package-manager[3], IDE tooling[4], crash-resilience (I read the list
thread on this), orm-free db/postgres drivers, community adoption and
stories of excitement in the wild. :man_dancing:

Staying on topic and to scratch my own itch, I am, therefore, interested to
learn more about and contribute to the swift-server work group. I do not
know if I'm eligible to be a stakeholder, but I would like to stick close
to and observe the developments, and provide feedback on topics I can get a
grip on.

Thank you for your time.

Kind Regards,
Gurpartap Singh[5]

[1] net/http: Please offer function "ServeTLS" ยท Issue #13228 ยท golang/go ยท GitHub
0b77d3eb009335aaa72205c6642 - go - Git at Google
409a5e4a408d6%5E%21

[2] Go assumes zero-values for uninitialized primitives, structs. The need
for optionals is compensated by assuming zero-values as nil, custom
wrappers, or by using pointers. :man_shrugging:

[3] There are questions about offline/local development flow that I'm going
to find answers for through experience. Let me ask one, do I have to git
commit a local dependency before I'm able to build the dependent during
development?

[4] Dependency building, source completion, source linting/formatting,
debugger, etc. that actually works. :drooling_face:

[5] You may follow me on Twitter <https://twitter.com/Gurpartap&gt; and Github
<https://github.com/Gurpartap&gt;\.