raboukhalil's comments

raboukhalil | 5 months ago | on: The Burrows-Wheeler Transform

Author here, nice to see the article posted here! I'm currently looking for ideas for other interactive articles, so let me know if think of other interesting/weird algorithms that are hard to wrap your head around.

raboukhalil | 7 months ago | on: AI in biology: distinguishing hype from reality

This is a podcast we recorded about the promise and perils of AI in biology, where we dive into a case where AI was used to predict enzyme function and gave results that looked really promising, but were not quite right.

raboukhalil | 3 years ago | on: Show HN: I built interactive playgrounds for Awk, Sed, Grep using WebAssembly

Good morning HN! This tool lets you play with awk, grep, sed, and jq commands right in your browser. Start from the examples and explore from there!

To get these tools running in the browser, I compiled them to WebAssembly (see https://github.com/biowasm/biowasm for details). That way, the commands you type run instantaneously, and it doesn't cost me an arm and a leg to host servers that execute arbitrary commands from users :)

raboukhalil | 4 years ago | on: Show HN: An Interactive Jq Tutorial

Thanks! It's generally easiest to do for C/C++/Rust/AssemblyScript code (other languages often need to ship things like garbage collection or an interpreter alongside it). But even with those languages, it's not always trivial to support features in the browser like file systems, threads, SIMD, etc.

raboukhalil | 4 years ago | on: Show HN: An Interactive Jq Tutorial

Hey HN, I recently came across a very useful tutorial about jq (https://earthly.dev/blog/jq-select/) and created an interactive tutorial based on it. It features a command-line sandbox where you can safely explore and run arbitrary jq commands (it runs jq in your browser using WebAssembly).

Check it out if you want to learn how to filter, process, and wrangle JSON data. And if you happen to be getting started in bioinformatics, check out the rest of the tutorials on sandbox.bio :)

raboukhalil | 7 years ago | on: Ask HN: Is WebAssembly the next big thing? Is it worth investing in learning?

WebAssembly is an awesome technology and I'm super excited about it, but IMHO it's probably best to assume you don't need it unless you can convince yourself otherwise.

That said, here are a few examples of where it shines (warning: shameless plugs incoming):

- In data analysis apps, you can replace slow JavaScript calculations with WebAssembly and see significant speedups--I wrote this case study on my experience with that: https://www.smashingmagazine.com/2019/04/webassembly-speed-w...

- It's super helpful in porting games from languages like C/C++ to the web without having to rewrite the game from scratch. Here's a post I wrote about how to port a game like Asteroids to the web: https://medium.com/@robaboukhalil/porting-games-to-the-web-w...

- WebAssembly is really good for building playgrounds out of command line tools. Here's how I built one for the jq CLI: https://opensource.com/article/19/4/command-line-playgrounds..., the benefit being more secure than hosting it on the backend + much faster runtime

- I'm also excited to see how WebAssembly will impact work outside the browser: https://hacks.mozilla.org/2019/03/standardizing-wasi-a-webas..., especially with Function-as-a-service offerings that support Wasm like Cloudflare/Fastly workers, where the benefit is that I can write my function in any language + the time to initialize the function could be much faster

Another shameless plug: if you want a practical intro to WebAssembly, I self-published a book about it recently: http://levelupwasm.com/!

raboukhalil | 7 years ago | on: Writing a Technical Book for Manning

I have not received feedback that my book was too short. In my own experience, I've rarely ever completed a technical book--in fact, I've often wished they were shorter!

raboukhalil | 7 years ago | on: We Used WebAssembly to Speed Up Our Web App by 20X

Hi HN! This is an article about using WebAssembly to speed up a web application.

As I mention in the article, WebAssembly isn't always the right tool for the job, but for our use case, it was a great fit because we were able to port an existing data analysis tool written in C to WebAssembly, and use that to replace the slow JavaScript calculations we were using initially.

page 1