Julio Biason blog.juliobiason.net

Things I learnt the hard way (in 30 years of software development)

I just started reading this (estimated read time: 34 minutes) and I have to say there are some really great tips inside. This one on code comments is pure gold: If you have no idea how to start, describe the flow of the application in high level, pure English/your language first. Then fill the spaces between comments with the code. Better yet: think of every comment as a function, then write the function that does exactly that. Julio warns that many of his learnings are cynical, but it’s gotta be hard to not be cynical after 30 years in this industry…

read more

Rich Harris DEV.to

Why Rich Harris doesn't use web components

Rich kicked the proverbial hornet’s nest yesterday. After you read his 10-point post, stick around for the comments, many of which rebut one or more of those points. I’ll weigh in on #3: Platform Fatigue Every time we add a new feature to the platform, we increase that complexity — creating new surface area for bugs, and making it less and less likely that a new competitor to Chromium could ever emerge. Co-sign! 💯

read more

GoCD Icon GoCD – Sponsored

Continuous delivery for microservices blog series

If you run and deploy microservices, this blog series from the GoCD will be a great guide for you and your team as you navigate testing, feature toggles, and more. 5 considerations for continuous delivery of microservices Test strategy for microservices Trunk based development and feature toggles Environment strategy for continuous delivery of microservices Configuration strategy for continuous delivery of microservices

read more

logged by @logbot permalink

Devon C. Estes devonestes.herokuapp.com

A proposal for some new rules for Phoenix contexts

Phoenix 1.3 introduced the idea of Contexts, which I’m generally very much in favor of. However, I wish there was a little bit more structure to the idea. It’s so open ended that I’ve found deciding where best to put a function kind of tricky, and then I frequently end up with duplicate behavior across contexts or have a hard time finding functions later on because the module they’re in made sense at the time, but it doesn’t make as much sense now. So, I’m proposing the idea of a Primary Context and a Secondary Context. I’ve also struggled to determine just how to use Contexts to my benefit. It seems that Devon is trying an add more structure approach whereas I have (so far) gone with a YAGNI approach.

read more

Cryptocurrency libra.org

Welcome to Libra?

Facebook, VISA, Uber, and A16Z (amongst others) have officially announced their cryptocurrency: Reinvent money. Transform the global economy. So people everywhere can live better lives. Color me skeptical. Not of the value of cryptocurrencies writ large, but in the actors and entities behind this particular coin. One thing I believe to be true, though: ten years from now our idea of (and interaction with) money will be dramatically different than it is today.

read more

The New Stack Icon The New Stack

Rust creator Graydon Hoare talks about security, history, and Rust

It’s hard to believe it’s already been 9 years since Rust was first announced to the world. The New Stack has a nice interview with Graydon Hoare… sharing his thoughts on everything from the state of systems programming, to the difficulty of defining safety on ever-more complex systems — and whether we’re truly more secure today, or confronting an inherited software mess that will take decades to clean up.

read more

José Valim elixir-lang.org

The Elixir language is now "feature complete"

José Valim, announcing the just-released Elixir v1.9: … releases was the last planned feature for Elixir. We don’t have any major user-facing feature in the works nor planned. I know for certain some will consider this fact the most excing part of this announcement! This doesn’t mean the language will stop moving forward, but you’ll have to read the full announcement to get the full picture. The Releases feature looks shiny, for sure. Congrats to all involved for yet another awesome milestone!

read more

DigitalOcean Icon DigitalOcean – Sponsored

DigitalOcean’s Managed Kubernetes service is now production ready

To coincide with the first day of CNCF’s Kubecon event, DigitalOcean has announced that their Managed Kubernetes services is now production ready and generally available. When we introduced DigitalOcean Kubernetes last year, we made it possible for you to spin up Kubernetes in minutes. With our simple and scalable Kubernetes service, all you need to do is define the size and location of your worker nodes, while DigitalOcean provisions, manages, and optimizes the services needed to run your Kubernetes cluster.

read more

logged by @logbot permalink

CSS github.com

Enjoy writing CSS in your JS? Try writing JS in your CSS! 😏

First off, everything happens in your CSS file. You can layer this into your websites as you see fit. You can use this to layer on just a little bit more functionality in your CSS here and there or construct an entire page. It’s up to you! If you think this sounds crazy… just wait until you have a look at it: .item { cursor: pointer; --js:( function toggle() { this.classList.toggle('active'); } this.addEventListener('click', toggle ); ); } Play around with CJSS on Codepen, but that’s all I’d advise you to do with it (as would the author).

read more

Smashing Magazine Icon Smashing Magazine

A progressive migration to native lazy loading

Native lazy loading is coming to the web. Since it doesn’t depend on JavaScript, it will revolutionize the way we lazy load content today, making it easier for developers to lazy load images and iframes. I’m excited about native lazy loading! We’ve been using lozad.js for lazy loading with some success. There are times when it seems that IntersectionObserver fails to its job and an image won’t load. (If you scroll the element out and back in to the viewport, it will usually work the second time.) But it’s not a feature we can polyfill, and it will take some time before it becomes usable across all browsers. n this article, you’ll learn how it works and how you can progressively replace your JavaScript-driven lazy loading with its native alternative, thanks to hybrid lazy loading. I might try this hybrid approach and see what happens…

read more

Wired Icon Wired

The clever cryptography behind Apple's 'Find My' feature

In upcoming versions of iOS and macOS, the new Find My feature will broadcast Bluetooth signals from Apple devices even when they’re offline, allowing nearby Apple devices to relay their location to the cloud… it turns out that Apple’s elaborate encryption scheme is also designed not only to prevent interlopers from identifying or tracking an iDevice from its Bluetooth signal, but also to keep Apple itself from learning device locations, even as it allows you to pinpoint yours. WIRED with a fascinating explanation of an utterly fascinating scheme.

read more

npm blog.npmjs.org

npm token scanning extending to GitHub

The npm team is collaborating with GitHub on a new service that will automatically check for tokens that might have been accidentally pushed up to a repository and then automatically revoke them if they are valid. This will help to quickly mitigate attack vectors that might arise from the accidental oversharing of credentials for projects. From the post: Whenever you commit or push a change to GitHub in a public repository and an npm token is found in the change, it is sent to npm for validation. If it’s valid, we will revoke it and notify the maintainer of this action via email.

read more

0:00 / 0:00