Show HN: I wrote a book about WebAssembly
Hey HN!
I've been working on a book about WebAssembly over the last few months, and it's finally available at http://levelupwasm.com!
Why a book on WebAssembly you ask? Well... WebAssembly is awesome (obviously ) but it's certainly not the easiest thing to learn. So I wrote this book as a practical intro to using WebAssembly in your web apps.
I would appreciate any feedback!
93 comments
[ 2.6 ms ] story [ 174 ms ] threadIf the book enabled you to e.g. create and sell a WebAssembly project quicker or win a big client project that requires WebAssembly then $29 shouldn't be worth thinking about to most developers.
Also, here's the table of contents in case it helps: http://www.levelupwasm.com/toc.pdf
Can we as developers not do better?
Above aside, congrats on publishing your book!
WebAssembly is super-interesting, I have bookmarked the page and will buy as soon as I get home.
Webassembly for genomics sounds cool :)
And for a sample of the writing, here's the section on compiling the CLI tool jq to WebAssembly: http://levelupwasm.com/sample-jq.pdf (though note that it builds on previous material so it doesn't re-explain everything)
Edit: Also, if you're curious about using WebAssembly in genomics, check out https://github.com/robertaboukhalil/aioli/ and https://github.com/robertaboukhalil/fastq.bio, a tool to get a preview of DNA sequencing quality that uses WebAssembly to speed up the analysis portions.
https://chromatic.nci.nih.gov/
Basically all the work is done in the browser : gzip decompression, custom parsing of sequencing alignment, png generation, etc. Lots of data are pushed to the client at load time like gene location information for genome build "hg38" (the latest). Server only provides reference sequence and sample genomic alignment "slices" for the region of interest. So, all the state is handled in the browser, server only provides trivial "wget" requests.
It is mostly wasm (source is C compiled with emcc). The front page is the requisite html/javascript start page. Pages are created in wasm code and pushed to JS for updating the DOM. Lots of calls to emscripten_run_script("your javascript here"). DOM manipulation straight from Rust/Go/C would be cool but it is not here yet.
Upside is server simplicity and security ... and no downloading and setting up complicated software.
https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5987889/
Code is done by the government so it's public domain. (Your tax dollars at work !)
[1]: https://news.ycombinator.com/item?id=14495893
Also, to me, this doesn't look like a good way to use Show HN. A link to Amazon wouldn't be different than what you just did.
It's a topic that is highly relevant to this community and for which there is high demand, given the number of Web Assembly tutorials that make it to the front page. Obviously, it's commercial, but so are many of the projects in Show HN. The ones that aren't are still self-promotional in some manner.
I often find that looking at book sites is an interesting way to learn what technologies are getting popular and I'm always curious to see the projects used to teach these things. Posting a book's website can start a conversation, whereas an Amazon link is more likely to start purchases and little more.
Finally, writing a technical book is an impressive accomplishment. Specifically, it's an impressive technical accomplishment.
Regarding price, $29 seems quite reasonable for a technical book. Many cost $35-45, and that's without getting into textbooks.
Always Remember: the people on this site complaining about price are not your customers, and that’s ok. There are always people on this site that complain about price. When I launched my book and it got on here half the comments were about the price instead of the book itself. Ignore them. They’re noise. Focus on selling to your audience.
So either it is also not a book, or else OP is in good company.
In the US you just buy them
Also my browser is reporting your https certificate as invalid so sort that out too.
Also, do you have a marketing plan? How are potential buyers going to find this?
Random SEO tips from a quick look: clean up you heading hierarchy (start with H1, nest H2 - H5 appropriately; right now they're pretty random), add ALT text to all images (the ones with source code could get you more search hits for example), add a meta description and also add HTTPS (very important for security as well).
If I don't know any C++ (and never plan to) but am learning Rust, do you think there is value here? Or is really focusing on the C++ -> WASM experience?
Most of the time, we treat C/C++ libraries as black boxes that we compile to WASM, though in some cases like Pacman, we do have to modify the original code, but you should be able to infer what we're doing from the context and the text.
Is it because no interest from the publishers? Or is it because you think the royalty percentage from publishers is too low? Or you don't have any particular reason? It's just feel natural to do self-publishing.
Also, do you hire editors?
This is actually my second self-published book (first one was about wrangling data on the command line with bash), so it does feel natural to self-publish at this point!
This could show the practicality of the approach, e.g. that the demos work in every browser. It also shows (hopefully) something that can be done only in WebAssembly, and not in plain JavaScript, which can provide motivation to actually learn about WebAssembly.
Also, I'd like to see a TOC and sample chapter.
Here's the sample section from the book that covers exactly how that app was built: http://www.levelupwasm.com/sample-jq.pdf (though keep in mind that it's from Chapter 7 and it builds on previous chapters)
Also you'll find the table of contents at http://www.levelupwasm.com/toc.pdf