This Week I Learned #4
Tags: node, javascript, opensource
Published: 2018-03-28 03:09:50

---
title: This Week I Learned #4
published: true
description: Private VPN, web scraping, data science tools, and more in this short episode!
tags: node,javascript,opensource
series: This Week I Learned
---

![This Week I Learned](https://thepracticaldev.s3.amazonaws.com/i/dwexmcpml0x4ffhyrlij.JPG)

A bunch of stuff I was looking into last week! Check out my [podcast](https://anchor.fm/john-paul-nuguit-ada/episodes/This-Week-I-Learned-4-e186v3) if you have the time! :D

![Outline](https://thepracticaldev.s3.amazonaws.com/i/pi89u5svsf26n5pldsj2.png)

## [Outline](https://getoutline.org/en/home)
> Journalists need safe access to information to research issues, communicate with sources, and report the news. Outline lets news organizations easily provide their network safer access to the open internet.

Outline is a self-hosted VPN solution created by Google’s Jigsaw team.

![Word2Bits](https://thepracticaldev.s3.amazonaws.com/i/uwtsutqfwj5kk7gfuayw.png)

## [Word2Bits](https://github.com/agnusmaximus/Word2Bits)

> Quantized word vectors that take 8x-16x less storage/memory than regular word vectors

If you’re into the data science space and you do text analysis, Word2Bits might be of interest to you. It’s a leaner alternative to word2vec. Go ahead and give it a whirl! 😊

![Web Scraping](https://thepracticaldev.s3.amazonaws.com/i/y8mjewfqohkgq3yz28fy.png)

## Web Scraping in Node

Last week we held our Hackathon. we were trying to build an application that gets the links on a page and checks their status (active/inactive) — and I learned that you can’t just get the HTML content of a site by requesting it from the browser. So I searched over the internet to find solutions for this.
After a bit of research, I built an Express server that my browser can communicate to. That server accepts a URL, gets the HTML response from that URL, and returns the list of links and their status. I used Axios to request the HTML from the URL and Cheerio to get all the links from the HTML. I’ll probably write a post about how I did this on the [GAPLabs Engineering](https://medium.com/gaplabs-engineering) publication.

![Britecharts React](https://thepracticaldev.s3.amazonaws.com/i/mfkfzcuynpqtrn7by9ey.png)

## Web Data Visualization X React
If you’ve tried getting into data visualization on the web, you will have inevitably encountered D3.js. I started learning it for a bit and then realized that it would conflict with React to some extent because it manipulates the DOM directly, while React uses a virtual DOM.

So I started looking for some libraries that effectively combine the two, and found a few. What I’m currently looking at right now is EventBrite’s Britecharts React which is a React wrapper of the existing Britecharts library which is based on D3.js.

The other ones I’m looking at are Nivo and Victory by Formidable Labs.

![OCLIF](https://thepracticaldev.s3.amazonaws.com/i/8ymhy5k8m2a26xhpmow6.png)

## [Open CLI Framework by Heroku](https://oclif.io/)
> oclif is an open source framework for building a command line interface (CLI) in Node.js. Create CLIs with a few flags or advanced CLIs that have subcommands. oclif makes it easy for you to build CLIs for your company, service, or your own development needs.

If you want to build CLIs without stressing what library you’ll use and how you’ll architect it, worry not! Try out Heroku’s Open CLI Framework and just worry about the business logic behind your CLI. 😊

![Why F#?](https://thepracticaldev.s3.amazonaws.com/i/2okdapvqs2krp21p8p6s.png)

## [Azure Notebooks](https://notebooks.azure.com/)
If you are one of the following:

- Into data science
- Likes to experiment anywhere
- Doesn’t like complicated setups

Azure Notebooks is for you! Azure Notebooks allows you to create and run Jupyter Notebooks on the cloud! No setup required — just a Microsoft account! The platform supports creating Python, R, and F# notebooks, which is especially helpful for me since I’m trying out F# and I don’t like the hassles of integrating F# with Jupyter. So again if you’re into data science, this is definitely something to check out. 😁