View profile

Oliver's Newsletter - Issue No. 2 - Let's get this started

Oliver's Newsletter - Issue No. 2 - Let's get this started
By Oliver Jumpertz • Issue #2 • View online
What a week it has been…
I started my newsletter, the whole world seemed to have jumped on the GameStop and /r/wallstreetbets bandwagon and then jumped off again, the pandemic still goes on, I crossed 10k followers on Twitter, and Jeff Bezos stepped back as CEO of Amazon.
I’m pretty sure that every one of you also had one or the other battle to fight. I hope you won those and now have some time to come to rest and enjoy your weekend. It’s a good time to reflect on the week that is now over and use your free time for things you love (next to work). And it’s also time you can use to read this newsletter if you’d like to. I really hope you enjoy what I put together for you.

My current thoughts on...
This is where I share my thoughts on multiple topics that came to my mind since the last issue. Perhaps they were brought to my attention through someone in the community, perhaps I was explicitly asked for them, or perhaps I simply want to talk about them.
Want my opinion on something? Drop me a message and I might add my thoughts on it in one of the next issues!
JavaScript
JavaScript is and will stay the language of the web. But it’s even more than that nowadays. JavaScript has stepped out of the browser and delivered a pretty great developer experience in the backend with Node. Many people simply underestimate the benefit of being able to serve both ends of a project with only one language. Gone are the times where you had to switch to PHP, Java, C#, or any other language to build the same CRUD logic and some calculations over and over again in the backend. Those languages are still a choice, but teams don’t have to use them if they don’t want to.
I can foresee a bright future for JavaScript, even with WebAssembly on the horizon. The language itself will rise and rise and perhaps even become the lingua franca of enterprise software development at some point before another competitor slowly takes away from its market share.
WebAssembly
This technology has a very bright future but it simply hasn’t gone off where it initially was imagined at. Interestingly, WebAssembly seems to see more usage in the container and cloud world right now, than it does in the browser. It is still a really good step towards a universal byte code language that can be targeted by multiple other languages. Just imagine a compile-time target that can act as a universal plugin language. No more tool-specifics, only WebAssembly. And all that while you are still able to use the language of your choice. Doesn’t sound too bad, does it?
I think adoption will grow over time and we will also see more npm packages using WebAssembly under the hood. In the end, that’s the good thing about WASM, it isn’t completely transparent what runs in the background if you import a JavaScript module. You only find out when you take a look at the source code. That’s thanks to the great integration of WASM into the JavaScript world. I’m personally looking forward to finding out what the future brings for WebAssembly.
JAMStack
I think we are only at the beginning of a real revolution in web development. The JAMStack brings the missing piece to web development that both users and search engines are currently requiring: speed. Nothing loads faster than a statically generated HTML document with CSS and only some JS. And what’s awesome is, that it only uses fundamental building blocks of the web. APIs are everywhere nowadays. Simply look at Stripe, for example. Their product is an API that can be integrated everywhere. Static site generators do the rest and create highly optimized static assets. All this combined leads to an awesome developer and user experience.
The Smashing Magazine is a great case study to get some insights into the impact the JAMStack can have. Coming from multiple monolithic applications, the team did a full rewrite of their whole system, using Hugo, Preact, Netlify CMS, with some optimizations. And all that was done with only frontend engineers and a total of three custom lambda functions running in the background. Take a look at how well the site does and how fast it loads. And according to themselves, the team now has a way easier time pushing out content and products.
Serverless
Serverless and FaaS are slowly on the rise again. Containers gave an awesome push to AWS Lambda in all use cases I can currently imagine. Even huge machine learning models can now be deployed in a pretty straight-forward way. No more space constraints that force you to take another route. If I had the chance to decide when starting a new project, I’d go with serverless FaaS. It doesn’t matter if it’s a frontend- or backend-heavy project anymore. Serverless is simply a good fit for both now.
And with all that also comes a huge benefit for development teams. Frontend developers are now, more than ever, able to serve the full stack of a project without having to learn much more than they previously had to know.
Blockchain
If we ignore the fact (only for a moment) that there are technologies that could potentially cure cancer or bring us to Mars, Blockchain is THE technology. It’s not about crypto, it’s about the underlying blockchain concept which might bring so many applications to humanity we can’t even fully imagine, yet. Just imagine you could take all your followers with you, no matter the platform. This won’t bring humanity itself forward of course, but there is more to it. If you read about the GameStop and /r/wallstreetbets war going on, you are maybe aware that there is currently a lot of intransparent stuff going on. Perhaps there were shares counterfeited, perhaps there weren’t. But now imagine that our whole financial system is based on blockchain technology. Counterfeiting shares isn’t possible anymore. Everything is transparent, and only the consensus decides whether something is the truth. And all this without one central institution deciding whether to change the rules. That’s the huge promise this technology currently makes, and it’s one that it might live up to.
All this is only the tip of the iceberg. There may be way more possible applications for this particular piece of technology in the future. It’s all up to our imagination, and this makes it so awesome for me.
This Week On Twitter
I focus on worthwhile tweets and threads in this section. It includes some of my own but also some from the awesome community I am glad to be a part of.
If you want to see a tweet/thread or multiple (also your own) included in one of the next issues, send me a link and tell me what’s so great about it!
Free Data Science Resources
Data Science is still one of the hottest topics in the world. Whether you’re into it, or not, it may well be worth your time to spend at least some time learning the basics of it. The repository shared in this tweet will give you most of the resources you’ll ever need.
Function Composition In JavaScript
Function composition is the operation of taking two functions and combining them together into a third function. In this tweet, Simon shows you how to use this to your advantage when working with React hooks. But you can apply this to nearly everything and abstract away a lot of boilerplate.
Conditionally Assigning Object Properties
Sometimes, an if-else statement with long object instantiations is not the best thing to do for readability. Gladly, there is a way to do this inline. It may not live up to your standards of readability, and that’s perfectly fine, but it’s a really neat way to make your overall code a little shorter.
Twitter Header Made With CSS
There are several types of people. One type opens up Photoshop or another tool to create a new header for their social media profiles, and another type simply create their header using CSS, then takes a picture of it, and uses this. Pratham is one of the latter ones. The outcome is simply awesome and well worth a look. Who needs Photoshop or Illustrator anyways?!
Set Operations Coming To JavaScript
ES6 finally added a real Set to JavaScript, and now the ECMAScript committee works on adding some further useful methods to it. Implementing some of those manually was always possible, but wouldn’t it be better if JavaScript provided them itself? Well, this proposal is currently in stage 2 and very likely to find its way into the runtimes soon. This tweet shows you some of the most important methods for set operations and what they do.
Articles Worthwhile Reading
In this section, I focus on articles I came across that I found worthwhile reading and also some of my own. They don’t have to be published in this particular week.
If you want to see an article or multiple (also your own) included in one of the next issues, send me a link and tell me what’s so great about it!
The Choice Between A Button And A Link Is Actually A Serious One
Sometimes, we simply choose an HTML element without thinking too much. But the choice we make can have a direct impact on usability and accessibility. This short article by Rocco Sangellino does a great job of explaining to you what the differences between a link and a button are and when you should choose which one.
Button or Link - Which to choose?
An Introduction To Rust
Rust is a systems programming language. It hasn’t gained the traction it deserves, yet, and is behind Go in production adoption, but this slowly starts to change. More and more companies (including large ones like Microsoft) slowly start adopting Rust for critical parts of their software and infrastructure.
This justifies taking a high-level look at the language in this article I wrote and published recently.
An Introduction To Rust
A Dockerfile for your next Node service
Microservices aren’t dead because serverless FaaS is on the rise, and containerization is still a hot topic in the industry. Putting your next Node service inside a container is a pretty good idea because it makes it runnable nearly everywhere. In his article, Stefan Natter shows you how you can build a Dockerfile that suits most of your needs and can act as a base for your next project.
Easy to use Dockerfile for your next Node.js Project
Building A Containerized Lambda Function On AWS
AWS added support for containers some time ago. This brings real containers to AWS Lambda and means that you can now deploy your software in nearly every language without the issue of having to provide a full language runtime yourself. Containers make this way easier now and this article guides you through building your first containerized lambda function with Node.
Building A Containerized Lambda Function
Transducers
Have you ever worked with a Stream in Java? Or have you ever thought about how you could map, filter, flatMap, etc. JavaScript array’s without returning a new array for each step but only loop once? Well, this is what transducers enable. Just imagine that all your maps and filters were composed into one single function, and then applied one single time to each item in the array. That’s basically what transducers enable, and this article will give you a pretty awesome insight into what they really are, how they work, and how you can implement them yourselves.
Transducers: Efficient Data Processing Pipelines in JavaScript | by Eric Elliott | JavaScript Scene | Medium
Learning Resources
50 Projects In 50 Days - HTML, CSS & JavaScript
I am a huge fan of learning by doing. This course by Florin Pop and Brad Traversy is one of those courses that will give you a lot of bang for your bucks. As the name already suggests, it contains 50 projects that keep you busy for 50 days. The projects are diverse and cover a wide range of topics. I can really recommend this one if you ran out of ideas of what to build.
50 Projects In 50 Days - HTML, CSS & JavaScript | Udemy
Getting Started With The Cloud
I was recently asked by someone with a project management background what courses or learning resources I would recommend to him to get started with the cloud. This course by IBM is what I recommended to him. It covers the basics and gives you the knowledge you need on a high level to understand what the cloud actually is. No engineering background required.
Introduction to Cloud Computing | edX
Learning The Cloud From A Business Perspective
Even if you are not an engineer, learning about the business perspectives of going into the cloud is a great way to grow your understanding of the problems your managers or clients face. Most engineers solve business problems, and being able to understand certain decisions and why they are made can help a lot in the day-work.
Cloud Computing Engineering and Management | edX
My Current Twitter Statistics
Some of you are perhaps interested in how I do on Twitter, so in the spirit of transparency, I’ll share my Twitter statistics with you here.
Overall stats for the last 28 days
Overall stats for the last 28 days
Feb 2021 Summary
Feb 2021 Summary
Jan 2021 Summary
Jan 2021 Summary
Until Then
Interestingly, this issue led to me developing a real concept for this newsletter. It is not fully what I initially imagined it to be but I hope that it became even more. Hopefully, you like this concept, and I will spend more time thinking about what I could add or do differently to make it really worthwhile to read.
Feel free to give your most honest feedback. I’d love to hear your thoughts on this and how I can make this newsletter really worth reading for each and every one of you!
Until then, enjoy your weekend, spend time with your loved ones, have fun with your hobbies, and most importantly stay safe!
So long and yours,
Oliver
Did you enjoy this issue?
Oliver Jumpertz

Bringing the best tech content directly to your inbox. May include software engineering, JavaScript and Web Development in general, Rust, Cloud, Serverless, and some unexpected pieces.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Powered by Revue