G4Vi
Location: New Hampshire
Remote: Strongly Preferred, 3+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Rust, Perl, TS/JS, Go, Python, Wasm, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 9+ years experience between systems programming (cross-platform and embedded in C and C++), WebAssembly (porting, plugin systems, and binary parsing/recompilation), and Backend (identity and security in Rust, Typescript, Postgres). I'm proud of my open source work such as porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). More recently, I have enabled running binaries embedded in the Cosmo's ZIP based filesystem https://github.com/jart/cosmopolitan/commit/fdea2482ddc32c5b... . For my next role, I'm mostly interested in systems/Wasm development, but can be flexible to work in an interesting domain. Location: New Hampshire
Remote: Strongly Preferred, 3+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Rust, Perl, TS/JS, Go, Python, Wasm, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 9+ years experience between systems programming (cross-platform and embedded in C and C++), WebAssembly (porting, plugin systems, and binary parsing/recompilation), and Backend (identity and security in Rust, Typescript, Postgres). I'm proud of my open source work such as porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755) and making my own HTTP media server/web interface. For my next role, I'm mostly interested in systems/Wasm development, but can be flexible to work in an interesting domain. Location: New Hampshire
Remote: Strongly Preferred, 3+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Rust, Perl, TS/JS, Go, Python, Wasm, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 9+ years experience between systems programming (cross-platform and embedded in C and C++), WebAssembly (porting, plugin systems, and binary parsing/recompilation), and Backend (identity and security in Rust, Typescript, Postgres). I'm proud of my open source work such as porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755) and making my own HTTP media server/web interface. For my next role, I'm mostly interested in systems/Wasm development, but can be flexible to work in an interesting domain. Location: New Hampshire
Remote: Preferred, 3+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Rust, Perl, TS/JS, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 9+ years experience between application and embedded system development for avionics, building WebAssembly tooling, and full-stack SaaS development including backend identity and security work. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). For my next role, I'm mostly interested in systems/native development, but can be flexible to work in an interesting domain. Location: New Hampshire
Remote: Only (occasional travel okay), 2+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Rust, Perl, TS or JS ES6+, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. Professionally, I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, full-stack SaaS development, and Rust network programming. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). For my next role, I'm mostly interested in systems/native development, but can be more flexible to work in an interesting domain. Location: New Hampshire
Remote: Only (occasional travel okay), 2+ years experience fully remote
Willing to relocate: Yes
Technologies: C, C++, Perl, TS or JS ES6+, Rust, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html / https://computoid.com/about/GavinAHayes-Resume.pdf
Email: gavin [at] computoid dawt com
Hi, I'm Gavin. I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, and full-stack SaaS development. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). For my next role, I'm mostly interested in systems/native development, but can be flexible to work in an interesting domain.Remote: Only (happy to come-in or travel occasionally). Worked remote for the last 2+ years.
Willing to relocate: Maybe
Technologies: C, C++, Perl, TS or JS ES6+, Rust, Go, Python, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html
Email: gavin [at] computoid dawt com
Hello, I'm Gavin. I have 8+ years experience between application and embedded system development for avionics, building WebAssembly tooling, and full-stack SaaS development. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from native to web to embedded.
"Hackable" Email: Extending Postfix with WASM
Excluding the Wasm runtime, the hermit's runner or hermit base is under 400 LOC: https://github.com/dylibso/hermit/blob/1f6f51d0d6b3941c9616f... . Instead of reading the configuration and module from /zip you would use zip decoder on the hermit you want to run.
Hermit: Actually Portable WASM
Remote: Only (happy to come-in or travel occasionally)
Willing to relocate: No
Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)
Email: gavin [at] computoid dawt com
Website: https://computoid.com
GitHub: https://github.com/G4Vi
Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various test and measurement avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.
Remote: Only (happy to come-in or travel occasionally)
Willing to relocate: No
Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)
Email: gavin [at] computoid dawt com
Website: https://computoid.com
GitHub: https://github.com/G4Vi
Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various test and measurement avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.
Remote: Only (happy to come-in or travel occasionally)
Willing to relocate: No
Technologies: C, C++, Perl, WASM, Linux, Windows, Embedded, HTTP, and more
Résumé/CV: https://computoid.com/about/GavinAHayes-Resume.html (link to PDF in /about)
Email: gavin [at] computoid dawt com
Website: https://computoid.com
GitHub: https://github.com/G4Vi
Hi, I'm Gavin. For the last 5+ years, I've designed, built, and maintained the software (application and embedded system) for various avionics products. At home, I've worked on side projects such as making my own HTTP media server/web interface and porting Perl to the Cosmopolitan Libc (featured on HN: https://news.ycombinator.com/item?id=33966755). I am interested in various systems and backend software engineering from web to embedded.
apperlm does not download perl module dependencies right now, but download_package.pl can be used to download dependencies. apperlm mostly just acts as a glorified front-end to Info-ZIP when doing a build of a "nobuild" config (building off of existing apperl)
download_package.pl example https://github.com/G4Vi/MHFS/blob/6db6ad24886ca0ea335a050228...
Edit: You can see what files were packed into it by renaming with .zip extension and opening with Windows Explorer.
Edit 2: "perl_repo_files" just specifies where to copy files to inside of the perl source tree. It is only used if you are building APPerl from source (it is unused if you are building a "nobuild" config). IPC-Open2 should already be bundled in the full perl.com as it's included in the perl5 repo: https://github.com/G4Vi/perl5/tree/cosmo-apperl/ext/IPC-Open...
I haven't tested any. Pure Perl servers should be the easiest to get working. The Cosmopolitan Libc doesn't support fcntl F_SETFL O_NONBLOCK on Windows yet, and so non-blocking / event loop servers may be a no-go for now.
> I will try to release something similar to redbean but based on perl and DBD::SQLite
I'd like to see this.
> Then I might go with MHFS at first
I wouldn't consider MHFS's HTTP server "production ready" and suffers from the above mentioned O_NONBLOCK issue, but I'm curious how it would go.
If you haven't already, feel free to join the Redbean/Cosmopolitan Libc discord to discuss. (There's a link on the APPerl webpage).
Then, I would create a custom build of APPerl using Perl::Dist::APPerl 's apperlm and modifying the apperl-project.json to pack in the script, CPAN modules, cgi files, and the static resources into a APPerl binary. When bundled into APPerl, the script can read the files embedded in APPerl from the /zip path.
Perl::Dist::APPerl (with tutorial on building apps): https://metacpan.org/pod/Perl::Dist::APPerl
MHFS's APPerl packaging config: https://github.com/G4Vi/MHFS/blob/master/apperl/apperl-proje...
It's linked from the page, but thought I'd point out if you're curious what went into making APPerl, check out the blogpost (self-plug): https://computoid.com/posts/Perl-is-Actually-Portable.html
There is a kernel patch to add APE (Actually Portable Executable) support to Linux removing the need for the the apeloader or assimilating. I'm not sure what the status is on that.
Perl Is Actually Portable
Especially for porting existing projects, I recommend against using the amalgamation as sometimes including everything all the time causes problems.