8 ms·
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 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!
- olso 8y agoThat's a really expensive (and I can afford it). How did you figure out these prices?
- kristiandupont 8y agoSeems like a pretty standard price for a non-fiction book to me..?
- rolfvandekrol 8y agoNot for a book of 75 pages. The price and the amount of content don't seem to be in balance.
- Insanity 8y agoUnless it is of great quality perhaps. But I do agree, it seems like just a bit too much.
- sokoloff 8y agoThis very common line of thinking is how books that ought to be 75 pages balloon out to 225 pages, using 3x the words to convey the same amount of content.
- seanwilson 8y agoShould you not set the price on the value of the content, not the amount content? If 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.
- bouk 8y agoBooks aren't priced by the number of pages
- maxgraey 8y agoI agree. Look for example on book called "Learn WebAssembly" by Mike Rourke which contain similar content on 328 pages and is priced at €16.00, have free preview and code examples
- Haydos585x2 8y agoSeems like it's in the same price range as a lot of other similar books and courses. Authority and Marketing for Developers are two that spring to mind. I'm sure if you subscribe to his mailing list there'll be some sort of sale on at some point.
- raboukhalil 8y agoYes that's right! I did base my pricing on books like Authority
- jplayer01 8y agoAny discount for students?
- swixmix 8y agoThe pricing is in tiers. Just the book is $29.
- sonnyblarney 8y agoThe price is quite reasonable.
- anchpop 8y agoThe book looks good (I like the demos of the examles), but what motivated you to choose that pricing scheme?
- Posibyte 8y agoThe capstone project and little pacman game look pretty interesting. Think you can spare a short portion of the book to show what the writing is like? I find them to be some of the best litmus tests of what I'm about to get myself into on a technical book purchase.
- raboukhalil 8y agoThanks Posibyte! Here's a sample section about how to compile jq to WebAssembly: http://levelupwasm.com/sample-jq.pdf http://levelupwasm.com/sample-jq.pdf. But note that it's from Chapter 7, so some of the HTML portions might not make complete sense without reading the previous chapters, but hope it gives you a sense of the writing style! Also, here's the table of contents in case it helps: http://www.levelupwasm.com/toc.pdf http://www.levelupwasm.com/toc.pdf
- Posibyte 8y agoThank you!
- raboukhalil 8y agoNo problem, thanks for the idea! I added the TOC and sample chapter to the landing page too since it seems like a common question.
- marvindanig 8y agoHey, if it's about web why not provide the option of reading it on web itself? Today I saw someone selling 'offline-first' on dead-tree medium and thought to myself: Really? Does he not believe in offline-first capability of web enough that he went with the older more inefficient medium for offline reading? 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.
- raboukhalil 8y ago
- macp 8y agoTable of contents and sample chapter? Webassembly for genomics sounds cool :)
- raboukhalil 8y agoYes! Here's the table of contents: http://www.levelupwasm.com/toc.pdf http://www.levelupwasm.com/toc.pdf 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 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/ https://github.com/robertaboukhalil/aioli/ and https://github.com/robertaboukhalil/fastq.bio 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.
- macp 8y agoAwesome! Thank you.
- itimetrack 8y agoA short (or partial) screencast (might grab people... specially if the quality is good.
- rfinney 8y agoNCI Chromatic - Cancer Genomes with WebAssembly: https://chromatic.nci.nih.gov/ https://chromatic.nci.nih.gov/
- raboukhalil 8y agoThat's so cool, thanks for sharing! Do you know where I can find more info about how it was built/which portion of the app uses WebAssembly?
- rfinney 8y ago
- blaze33 8y agoHey congratulations ! Funny enough, I had offers to write a book on WebAssembly, almost 2 years ago, after writing an article[1] on that topic that somehow ranked #1 on HN for a day :) Had to decline but never doubted someone more experienced would write one! [1]: https://news.ycombinator.com/item?id=14495893 https://news.ycombinator.com/item?id=14495893
- raboukhalil 8y agoThank you! Really nice article btw, I like that you go into that much depth.
- terrycody 8y agoI would appreciate its free for testers on HN.
- johnfn 8y agoWhat’s there to test? It’s a book. You just read it.
- b_tterc_p 8y agoDon’t be obtuse. He means a sample chapter so you can evaluate quality.
- raboukhalil 8y agoI recently added a book sample (http://www.levelupwasm.com/sample-jq.pdf http://www.levelupwasm.com/sample-jq.pdf) and a table of contents (http://www.levelupwasm.com/toc.pdf http://www.levelupwasm.com/toc.pdf), hope that helps.
- samdixon 8y agoLooks great. I would definitely buy this if there was an option for a printed book.
- d2xdy2 8y agoJust picked up the “complete edition”. Really looking forward to going through it all. This looks great!
- ltbarcly3 8y agoNot sure if you're a shill, but you sure seem like a shill to me.
- sokoloff 8y agoIt's an expertly played 4.25 year long con...
- ltbarcly3 8y agoI was thinking more like a friend of the author..
- raboukhalil 8y agohaha, nope, no idea who d2xdy2 is but I highly appreciate them for buying the book though! :D
- d2xdy2 8y agoJust a developer in Atlanta.
- raboukhalil 8y agoThanks, looking forward to hearing your thoughts on it!
- notaboutdave 8y agoDoes the book cover anything on rendering with OpenGL or graphics libraries?
- raboukhalil 8y agoYes! Chapter 8 talks about graphics; the Pacman example shows how to port a C++/SDL2 Pacman clone to WebAssembly and OpenGL (with Emscripten). That said, the focus of that chapter is porting games like that, but it doesn't go into writing OpenGL directly.
- taytus 8y agoHonest feedback: Pricing is high. 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.
- jamestimmins 8y agoWhile shameless self-promotion would be an issue, I think this is exactly in line with what HN (and even Show HN) is for. Although that's really up to Dang et al. 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.
- raboukhalil 8y agoThank you jamestimmins, that’s also my understanding of Show HN
- mindcrime 8y agoShow HN is explicitly self-promotional... sure, it's usually used for software projects of some sort, but I don't see any reason that it shouldn't be used for a book you wrote, especially when it's very topical, relative to the community here.
- zrail 8y agoCongratulations on shipping! You accomplished something that vanishingly few people do. You should be incredibly proud of yourself. 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.
- raboukhalil 8y agoWow, thank you so much!
- gggtothesig 8y agoNot completely true, i might complain about the price of a car dosent mean i dont want to buy it
- titanix2 8y agoWell here it’s more a self published pdf than a book. It didn’t pass a publisher screening nor got an ISBN so it’s hardly a "real" book.
- thanksDr 8y agoYes, the ISBN is what gives it that booky authenticity.
- deleted 8y ago[deleted]
- Stratoscope 8y agoFWIW, my second printing of Donald Knuth's Fundamental Algorithms from 1969 lacks an ISBN. So either it is also not a book, or else OP is in good company.
- rSi 8y agoIf I remember correctly you can get an ISBN for any self published book without much hassle. I used to do a magazine with a friend and we self published with an edition of 100 for each issue. Getting the ISBN was easy. Congratulations on writing a book, and don't let anyone tell you it's not a real book, just because you don't have a publisher or it didn't get printed yet!
- quickthrower2 8y agoNice work. A small note - you might want to redirect http->https on your site, especially as you are taking payments. You wouldn't want a MITM to redirect your customers to another payment processing page. Also my browser is reporting your https certificate as invalid so sort that out too.
- raboukhalil 8y agoThanks for the tip! Luckily I don’t process payments myself but use Gumroad to do that, so payments are safe, but I’ll get an https certificate for the landing page.
- woodrowbarlow 8y agoif someone mitms your landing page, they'd be hijacking the payment links to redirect to their phishing hook rather than your payment service.
- maxgraey 8y agoSo much PR of this book is everywhere, as if Brendan Eich himself wrote it!
- raboukhalil 8y agoHaha, I can confirm Brendan is not the author. Just curious though, where else have you seen this book mentioned?
- johnmarcus 8y agoHow can web assembly deal with per-env variables? Need to recompile for every environment? That means recompile at startup, since I deploy the same artifact to different envs and allow the env to define its vars. For this reason, as a sys admin, I hate web assembly (and most other asset pipelines)
- iwanttoeatyo 8y agoThis seems to be a book about unsing emscripten to get c/c++ to run in the browser. What if I want a book about writing wasm from scratch?
- hellofunk 8y agoFrom scratch, what do you mean?
- sidcool 8y agoGreat job mate! Congratulations for shipping.
- raboukhalil 8y agoThank you!
- arendtio 8y agoLooks nice. If you are planning to expand this, I would be interested in a comparison of the different toolchains (e.g. Emscripten vs. Go vs. Rust). Currently, I would choose the toolkit of my favorite language, but I have no idea what kind of consequences such a choice has.
- pjmlp 8y agoCongratulations on getting it done.
- raboukhalil 8y agoThanks pjmlp!
- ardenpm 8y agoI see the sample chapter has an autoconf porting example. Is porting a CMake based project covered anywhere in the book?
- raboukhalil 8y agoI don’t have an example that specifically uses cmake, though similar principles apply but you’d use the emcmake utility. That said, thanks for the feedback! I’ve added that to my list of things to add to the book.
- Accacin 8y agoIntersting, I've been looking into this recently and this might be the thing I need to finally get stuck into it. Pricing seems reasonable, I'm not sure about other comments saying it's a little high.
- seanwilson 8y agoCongrats! Any comments on how straightforward you found completing the book? Did you get stuck at any point? What was the most difficult part? 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).
- raboukhalil 8y agoThank you for the tips! I'll be writing an article in coming weeks about my experience writing this book. This is the second book I self-publish, and unlike the first one, I actually tracked how much time I spent on each category of tasks (writing, editing, marketing, head scratching, etc), so the article will also include that. Stay tuned!
- SCdF 8y agoLooks cool! 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?
- raboukhalil 8y agoThanks! Yes the book focuses on C/C++, but you don't need very much C/C++ knowledge to follow along in the book. 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.
- alex_hitchins 8y agoI'm getting your book - thank you. Also wanted to say I really like the site you have put together. Minimal yet everything there. Perfect.
- raboukhalil 8y agoThank you so much for the kind words!
- langitbiru 8y agoCongratulations on your book! May I ask why you choose self-publishing road instead of publishing it on publisher? I am not saying one way is better than the other. I am just wondering. 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?
- raboukhalil 8y agoThanks! I like to self-publish mostly because I can craft the book in my own way and move faster. I also enjoy being able to touch all aspects of the book, including the design and marketing. 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!
- amelius 8y agoWhy not place the compiled demos directly on the website? 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.
- raboukhalil 8y agoHi amelius, here's an example app that uses WebAssembly: http://jqkungfu.com http://jqkungfu.com (compiled jq to WebAssembly!) Here's the sample section from the book that covers exactly how that app was built: http://www.levelupwasm.com/sample-jq.pdf 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 http://www.levelupwasm.com/toc.pdf
- scandox 8y agoAs someone who spent 2 days fighting with an Emscripten config I can say that good information is worth the money.
- raboukhalil 8y agoYes, I felt the exact same way about those configs when I was learning WebAssembly (╯°□°)╯︵ ┻━┻
- kkarakk 8y agoRegion specific pricing would boost adoption a lot. you can buy full courses on Coursera/other MOOCs for 30bucks in some countries and your pdf+cheat sheet costs more = guaranteed your book shows up on libgen
- amreact 8y agoThis looks really neat! I noticed that it talks about how to call command line programs from my own webassembly program. Does it talk about techniques that could be used for package management, where someone publishes webassembly binaries and people consume them in their own webassembly binary? If so, does that work even when the webassembly "packages" are written in different languages?
- ecmascript 8y agoLooks interesting, unfortunately I don't have the time now but I will for sure maybe buy this book in the future!
- deleted 8y ago[deleted]
- webmaven 8y agoCan you share any data on bounce/engagement/conversion rates for the different packages (eg. X% leave the page without scrolling/reading, Y% read the page but don't buy, Z% actually make a purchase, purchases break down A/B/C% between the different packages)?
- rtacconi 8y agoI do not have time to read it now but for sure I will buy it. It looks good, well done!