Friday, October 11, 2019

Read it or Throw it #214

  1. Relearning to Type
    My new post describing my journey to relearn to type. I won’t elaborate and just hope it will make you curious enough to go and read the article…
  2. SVM - Spacemesh Virtual Machine
    Another post of mine, but this time, a work official one.
    This post describes the first milestone of SVM (Spacemesh Virtual Machine).
    I’ve worked on the SVM project (first milestone) for the past 3 months.

    Here’s a link to the GitHub repository:
    https://github.com/spacemeshos/svm

    If you know Rust or if you’re into Compilers and looking for a very challenging job and super fun! please email me at: yaron.wittenstein@gmail.com
  3. Big Benefits when Your Product is Bootstrapped
    Oren Eini, one of the greatest developers on earth tells his remarkable story of bootstrapping his company creating RavenDB. A must-read article for entrepreneurs!
  4. Kubernetes and the Erlang VM: orchestration on the large and the small
    A great article by José Valim, the creator of Elixir about the similarities between KS8 and the Erlang VM. While KS8 orchestrates nodes, the Erlang VM does that same at the instance level. José also writes about how KS8 and the Erlang VM can complement each other in cases like Service Discovery.
  5. Tuple: A remote pair programming tool for discerning developers
    A new remote screen sharing product designed in particular for developers.
    The video on the site looks really cool.
    The tool is only for Mac users.
  6. How Many Words Does the Average Person Know?
    In the last couple of months I’ve worked almost daily on my English vocabulary.
    English is a gigantic language and I was asking myself how many words a fluent English speaker really knows. If you’re curious too, then read the article.
  7. gitmoji
    A cheat sheet to GitHub emojis.
  8. emacs or vim
    That’s funny. I will have my take about the endless war of emacs vs vim on a future post under my blog.
  9. Recommendation Talk: Rust, WebAssembly, and the future of Serverless
    A comprehensive summary by Steve Klabnik about Rust, the evolution of WebAssembly starting from asm.js to this day and the next generation of Serverless executing WebAssembly programs.
  10. Book Recommendation: Ultralearning
    A great book about applying innovative learning techniques by Scott H Young. This book will give you undoubtedly some food for thought. I know it made me think and reflect on the way I learn things. Highly recommended book!

Fools ignore complexity. Pragmatists suffer it. Some can avoid it. Geniuses remove it.
– Alan Perlis

Saturday, August 24, 2019

Read it or Throw it #213

The second article of my new blog. This time a condensed post full of goodness about productivity principles with specific recommendations to Mac users.

Please forward it to colleagues if you liked it
Thank you!


Even though the article talks about exploring Rust only at Microsoft Security Response Center and not in more places within the company, for now, it's nonetheless a big accomplishment to Rust as the new alternative to the traditional system programming language like C/C++.

Microsoft won't be the first gigantic company to use Rust. 
Amazon relies on Rust for their Firecracker.
This is another positive sign that Rust has a bright future. 


In this blog post, Salvatore Sanfilippo (a.k.a antirez) goes low-level about the big forthcoming feature of Redis 6: Client-side caching.

The prerequisite for this will feature will be a breaking change on the redis protocol called: RESP3.
Existing redis client will have to go major changes in order to support these changes but I'm sure it'll worth it.

The new client-side caching will help applications gain better performance and be more real-time.
For some apps, it'll be a game-changer.


The Timber (check out this tool!) logging company released a new general-purpose logging collector agent likes Logstash//Filebeat/others.

Vector is written in Rust, and according to the site benchmarks it outperforms its competitors.
This tool comes with programmability for doing transformations of logged events using Lua.
Moreover, this tool has a detailed Roadmap filled with tons of goods.


A superb article about the nature of software development.
The article brings into the surface a lot of points that we see happening throughout our career.
This is a kind of article that should be re-read at least once a year.
The article is a long one but definitely worth reading!!


The open-source alternative to Google Spanner continues its growth.


Artichoke is an implementation of Ruby in Rust.
This is very cool!
BTW, there is also a more mature project of Python implementation in Rust called RustPython


Another new cool projejct is nushell. It's a shell (like bash/zsh/fish) but written in Rust :)


A Rust re-implementation of cloc that claims to be x100 faster.
loc will tell you how many lines of code has been written in your projects.
It will output stats per each programming language used.
There are usage flags like: "show LOC for each file" or "show LOC for by files regex"


I'm sure you're familiar with all these self-growing books.

The major problem with these books is that these books usually spread over way too many pages for providing a couple key messages.

Here comes Blinkisit to save us. It's a big archive of very short versions of most of these books.
Each book summary takes a couple of minutes to read. Most of the books also come as Audiobooks.'

I've already read about 30 short books like that in its Android mobile app.

This service costs mone, so you need to decide if it worth it for you.
Tip: look for a coupon on the internet.


"Good software, like wine, takes time"
Joel Spolsky

Friday, June 28, 2019

Read it or Throw it #212

My talk about the research so far at Spacemesh regarding Smart Contracts leveraging WebAssembly.

And here is a link to all the talks given at the Wasm on the blockchain workshop Berlin 2019

I'm thinking about starting my own blog...
So this is my very first blog post about why I think it's important to stay open-minded for new technological opportunities.

Many thanks for Omer Hamerman and Yuval Zalmenson for the feedback!

3. Waxosuit - The Cloud-Native Exosuit for WebAssembly
On the last issue, we had Fastly's announcement article about Lucet:

The wasm out of the browser explodes and now a new (still in its infancy) project called Waxosuit has been born.

Waxosuit is a WebAssembly runtime (build on top of wasmer) for running in the cloud wasm code. 
If I understand right, the vision is to equip the Waxosuit runtime with many capabilities (plugins) that could be used by the hosted wasm programs.

The big vision is to make the developer more productive since he/she will have a rich set of capabilities out of the box in the wasm runtime.
(for example, logging, monitoring, database integrations...)

It means a developer can write less code and rely on the set of these capabilities (high-level "system-calls like") 

This could have the potential to be the next generation of Heroku or next generation of serverless computing

Here is a medium post, Introducing Waxosuit by @Kevin Hoffman the creator of waxosuit

A very interesting article about the future of programming using dependent types
I hope that Rust will have some form of this in the future 

This is more like a mini-book about long-term memory.
It's a joyful read full with illustrations and simple explanations.

One of the topics covered for better long-term memory is by practicing using
the spaced-repetition technique. A few years ago I've given a lightning talk about this technique, here is a link (the talk is in Hebrew)

This is another mini-book about memory but this time on working memory.
If you liked the content of the above item about long-term memory, you'll surely love this one as well.

An article that reviews the positive effects of practicing the Dual N-back game on working memory (according to a conducted research)

Last time we had GitHub Package registry and now the former CTO of npm releases a Decentralized Package Registry called Entropic. 

This declaration is of high importance since it's a decentralized package registry.
Did it ever happen to you that the deployment of your service failed since your centralized package manager has been down? 

In the previous newsletter issue, I've added an item for Sourcegraph and GitHub has just released (still in Beta) its own Sourcegraph competitor (if to be delicate) and it'll be probably given the company another boost against the competition with GitLab.

Another product that should be worried for its future is Octotree (browser extension on top of GitHub)

GitHub also acquired another company called Pull Panda for streamlining the code reviews process

An eye-opening article about the nature of hiring people claiming that A Players will hire A Players, but B players will hire C players and so on.

I tend to agree with this. Usually, strong people will want to work with other strong people, since they understand they have something new to learn from them
(since no one knows everything).

This term has been coined by late Steve Jobs and here is the link to the original video of him talking about this.



"The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time."
Tom Cargill, Bell Labs

Saturday, May 18, 2019

Read it or Throw it #211

This is a big deal since GitHub continues to expand its services after the GitHub Actions.

That's one of the reasons that private repositories are free since GitHub wants to attract customers and make them pay for the ecosystem services


This also a big deal since Web Assembly is the future universal bytecode not only of the internet
but probably of Desktop-apps / smartphones apps/god knows

Even though Web Assembly is still considered in an early stage, it's spec (see next item), browsers adoption, out of the browser Runtimes is getting a lot of momentum. 


Continuing the previous item, Mozilla announced WASI, a specification for running web assembly programs outside of the browser.

Imagine having a C++/Rust/Go/another language that is being compiled to Web-Assembly
(LLVM already supports that).

Then the Runtimes hosting the WebAssembly file will come out of the box with implementation
for the system-calls interface. 

It means that we could not only run our programs but also switch between WASM runtimes as long as they implement the WASI interface.


One day after Mozilla announcing the WASI standard Fastly announces its WASM runtime that implements WASI. (they have been working closely with Mozilla for months before going public). 

The future of CDNs is executing code on the edge, and what could be more suitable for the mission then running a WASM file on the edge? 

We'll be able to develop our code in a lot of programming languages and run execute WASM files.

Current Serverless seems like old tech already 😛


Stripe owns a very big Ruby codebase and they internally developed type-checking extensions in order to increase the code quality. (like TypeScript did for Java-Script). 

This project will become an official part of Ruby 3 

This is very cool, I love that Ruby is getting better doesn't stand still.
I also think it'll hurt badly the Crystal Programming Language adoption


A fantastic article about what it feels like getting into Rust when coming from any other programming language.
It talks about overcoming obstacles and frustration, learning new thinking paradigms and the benefits of knowing Rust


7. awesome 
There are many awesome-XXXX repositories in Github,
but this one is a list of all the awesome-XXXX


Recently I've started using this tool a lot (I was aware of it but never gave it a serious chance).

I find it much better than reading code via GitHub. 
(most of the times, I don't want to clone locally code and read it on my computer)


I'm a long-time reader of Scott-H-Young blog and I appreciate much his work. 
This article worth your read


Less than 10 minutes short video explaining what's IPFS for dummies.
You can think about it like Bittorent next generation.



A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over, beginning with a working simple system. 
John Gall

Saturday, March 30, 2019

Read it or Throw it #210

A well-written article talking about the importance of having programming languages that will guard us the developers from as many mistakes as possible.

After all, we're humans and humans make mistakes.
Also, projects assumptions change over time.
Good tools and good programming languages can assist much. Give Rust a try!

A short summary for The Snowball book talking about Warren Buffett knowledge consumption and prioritization methods and how his life-long learning helped him in business

A very cool technique to resolve git merge conflicts in vim using vim-fugitive and good shortcuts

I think this is one of the most inspiring stories in the history of Software.
Who would think that Erlang, developed in the '80s for the telecommunication industry in Ericsson
will serve so well high-scale internet systems 30 years after?

An introductory article covering the basics of WebAssembly with nice illustrations

If you're a Mac user, go over the list. You'll probably find something useful

A cool extension for traversing a file evolution in a GitHub/GitLab

This article goes over different businesses models of Mozzila over time.
It's unintuitive that Mozilla makes money thanks to other browsers

Just watch these 24 seconds

If you want to learn Rust, then I highly recommend this book.

It's a more advanced book than the official The Rust Programming Language book
so you may want to that first


"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies and the other way is to make it so complicated that there are no obvious deficiencies."

Tony Hoare

Monday, January 28, 2019

Read it or Throw it #209

A very big milestone towards the anticipated future of Ruby 3.
Ruby 2.6 brings a JIT-compilation to its front and it'll continue to evolve in future versions

Confluent - founded by the original authors of Kafka are having hyper growth.
I hope that using their service will become a commodity 

The company behind InfluxDB don't stop delivering new goods.
I didn't take the time yet to examine the new flux language they are building,
but I'm sure they know what they are doing and that it'll become popular

Machine Learning on Code has a huge potential and this tool is just one example for that.
I'm very curious to see how it'll work on other programming languages besides Python 

GitHub, now backed by Microsoft breaks their rules in order to attract more users interest 
as part of the competition against GitLab, Bitbucket, and others

A very big move of Microsoft which puts her in the top of the game of Distributed Relational Database offered as SaaS

Cloudflare has early support for QUIC (a.k.a HTTP3) and it's in Rust! (and Open-Source)

A fascinating article about the importance of witnessing others in order to up our game.
Thanks to the internet and platforms like YouTube, Twitch, this technique is approachable to anyone

A simple explanation of the idea behind Binaural Beats

A very short (less than 3 minutes) National Geographic-like screencast about an animal called The Developer :)


The more you know, the more you know you don't know
Aristotle

Saturday, December 8, 2018

Read it or Throw it #208

I detailed list of productivity tips and tricks I'm using, maybe you'll find them useful to you too

A good article talking about how AI can play as an assistance role in software development

Facebook use AI to auto-detect common code bugs and how to fix them

In case you want to show your boss that Elixir is mature enough to be used in production use, send him this article and https://elixir-companies.com/

Amazon releases their own time-series database. It'll be interesting to see how it'll affect InfluxDB and others

This is big news!

Google promotes sharing AI models between data scientists.
Probably a GitHub-like platform for data scientists is just a matter of time

The key point is that a competent programmer can't let his slow him down

It's very encouraging to see more big and successful companies that work in a distributed structure 

A great introductory video about why Rust is awesome


“Simple things should be simple, complex things should be possible”
Alan Kay