https://learnbchs.org/ bchs stack tools example BCHS Logo BSD, C, httpd, SQLite. BCHS is an open source software stack for web applications. To prepare a BCHS environment, install OpenBSD, start your editor of choice, and get to work. How does a BCHS system look? See a trivial example. Stack components why bchs? because the open internet is inhospitable. [puffy] BSD OpenBSD. World-renowned for its focus on security and documentation. Reliable six-month releases. Binary patching. It takes the guess-work out of your environment. Resources: man pages, FAQ, Absolute OpenBSD, mailing lists. the C Programming Language C is a straightforward, non-mustachioed language. It has full access to the kernel's system calls and a massive set of development tools and libraries. Resources: The C Programming Language, clang(1), clang-local(1). #include int main(int argc, char *argv[]) { puts("Hello, world!"); return 0; } % curl -sD- -o/dev/null https://www.openbsd.org HTTP/1.1 200 OK Connection: keep-alive Content-Length: 5181 Content-Type: text/html Date: Wed, 28 Mar 2018 03:15:19 GMT Last-Modified: Sun, 25 Mar 2018 18:08:04 GMT Server: OpenBSD httpd httpd(8) OpenBSD's home-grown web server. If you need more features for your web application, submit a patch. Resources: httpd(8), httpd.conf(5), slowcgi(8), Relayd and Httpd Mastery. SQLite SQLite is a `self-contained, embeddable, zero-configuration' database. It's a practical solution for the majority of database needs. Just pkg_add sqlite3 and you're ready. Resources: API reference, SQL reference, The Definitive Guide to SQLite. [sqlite] BCHS is a stable, developer-oriented platform. Get used to minimalism and security: componentised, privilege-separated binaries in file-system jails. Most of all, forget your instincts to search Google and StackExchange for every parameter and function call: man pages are your new best friend. Articles, events, conference talks... have more links? let us know. * Dates in kcgi 2020/05 * Portability and continuous integration 2020/04 * kore: Automagic x509s via ACME Joris Vink, 2019/11 * sqlbox: ksql re-imagined 2019/11 * TypeScript integration and openradtool 2019/07 * Translation with openradtool 2018/07 * SQLite3 manpages on OpenBSD 2018/06 * Role audits with openradtool 2018/03 * RBAC in BCHS (PDF, video) AsiaBSDCon, 2018/03 * API provisioning with openradtool 2017/10 * `Should I use the BCHS web stack?' EuroBSDCon short answer, 2017/ 09 * Split-process ksql 2017/07 * Introduction to RAD with openradtool 2017/05 * Secure CGI AsiaBSDCon, 2017/03 * BCHS sandboxing with pledge 2016/11 * Using JSON with BCHS 2016/10 * Secure CGI Applications in C on BSD AsiaBSDCon, 2016/03 FAQ questions from the internet. Is BCHS a joke? Software development is full of jokes. This is not one of them. How do I pronounce `BCHS'? It's pronounced /bi:tS@z/, beaches. Or just Bee See Haich (or `Aich') Ess. How can I hire BCHS developers? OpenBSD developers maintain an extensive list of support options, but these mostly relate to system administration. A better option is to contact your local user group; or if an event is upcoming, attend and make enquiries in person. Falling through these options, polite enquiry on OpenBSD's misc mailing list might get you pushed in the right direction. Wasn't this site once funnier? Yes. But some folks confused humour with levity. OpenBSD `puffy' logo copyright Theo deRaadt. Source. SQLite logo released by Dr Richard Hipp into the public domain. Content otherwise Kristaps Dzonsons