The Changelog The Changelog #323  – Pinned

The road to Brave 1.0 and BAT

This week Adam and Jerod talk with Brian Bondy, Co-founder and CTO of Brave. They talked through the beginnings of Brave and how BAT (Basic Attention Token) could be driving the future of how we offer funding and tips to our favorite websites and content creators. Of course, they go deep into the historical and the technical details of the Brave browser and their march to Brave 1.0. The last segment of the show covers how BAT works, how it’s being used, and also their interesting spin on an ad model that respects the user’s privacy.

read more...

Command line interface github.com

Run SQL directly on CSV or TSV files

q is a command line tool that allows direct execution of SQL-like queries on CSVs/TSVs (and any other tabular text files). q treats ordinary files as database tables, and supports all SQL constructs, such as WHERE, GROUP BY, JOINs etc. It supports automatic column name and column type detection, and provides full support for multiple encodings. An example of using q to count distinct values of a specific field (uuid of clicks data) q -H -t "SELECT COUNT(DISTINCT(uuid)) FROM ./clicks.csv"

read more...

DigitalOcean Icon DigitalOcean – Sponsored

The DigitalOcean Terraform Provider

You’ve heard of Terranform from HashiCorp — it’s the safe and predictable way to create, change, and version your infrastructure. It has become an essential part of many DigitalOcean users’ workflow. And, our friends at DigitalOcean want to ensure it receives the support it deserves! we’re so excited to release version 1.0.0 of the DigitalOcean Terraform Provider. This release marks a major milestone: the first since DigitalOcean took ownership of the project and a declaration of our commitment to support its continued development. Learn how to use Terraform with DigitalOcean.

read more...
logged by @logbot permalink

JS Party JS Party #52

Nest 'dem loops

NESTED LOOPS is a JavaScript band that combines music and video with web tech to perform live at JSConf. In this episode, Jerod and Suz are joined by Jan Monschke and Kahlil Lechelt, which comprise 2/3 of the group. After sampling one of their tracks, we hear the story of how they got the band together, the journey of building a tech stack for their first live performance, and how that stack was then rewritten to be “good” for their second performance. Suz is at awe with the technologies at play. Jerod wonders if there’s room in the world for musicians directly targeting JavaScript devs. A good time is had by all.

read more...

Kevin Owocki Medium

Gitcoin Labs and burner wallets?!

The next big thing for Gitcoin might be coming out of their announcement of Gitcoin Labs. In their words, Gitcoin Labs is “R&D for Busy Developers.” We are excited to expand upon Austin Griffith’s work in the ecosystem, and to formalize it into Gitcoin Labs, which will be a service that provides Research Reports and Toolkits for Busy Developers. Kevin mentioned that they’re “going to continue Austin’s work in the ecosystem” and the first thing listed on their roadmap was “burner wallets”— consider me intrigued.

read more...

Brad Frost bradfrost.com

Ditching the MacBook Pro for a MacBook Air

For all of our #applenerds out there — I haven’t read this fully (though it’s probably a ~3-5 min read) Brad touched on some key sticking points we didn’t fully cover on our recent Spotlight episode on Apple’s Fall 2018 Mac/iPad event. Here’s one pro that stood out to me: The bevel is back, baby. — one of the best things about this machine is the nice slope that doesn’t hurt my writs while typing. This was one of the biggest things I noticed when I switched from my original MacBook Air to a MacBook Pro, and I’m happy to return to a comfortable typing environment. If you’re a MacBook Pro user, have you been considering the switch to a MacBook Air?

read more...

GitHub Icon GitHub

Top programming languages of 2018 (according to GitHub)

The state of the Octoverse has landed and with it a new dataset of top programming languages for 2018. According to languages by contributor (as of Sept 30, 2018)… Ruby dropped from #5 to #10, Python swapped with PHP to take over the #3 spot — plus so much more…if you dig into the data. JavaScript also tops our list for the language with the most contributors in public and private repositories. This is true for organizations of all sizes in every region of the world. However, we’ve also seen the rise of new languages on GitHub. TypeScript entered the top 10 programming languages for public, private, and open source repositories across all regions last year. And projects like DefinitelyTyped help people use common JavaScript libraries with TypeScript, encouraging its adoption. We’ve also seen some languages decline in popularity. Ruby has dropped in rankings over the last few years. While the number of contributors coding in Ruby is still on the rise, other languages like JavaScript and Python have grown faster. New projects are less likely to be written in Ruby, especially projects owned by individual users or small organizations, and much more likely to be written in JavaScript, Java, or Python. Here’s the visual…

read more...

Drew Devault drewdevault.com

sr.ht, the hacker’s forge, now open for public alpha

Drew Devault, announcing “sir hat” (or however you want to refer to it) For those who are new, let me explain what makes sr.ht special. It provides many of the trimmings you’re used to from sites like GitHub, Gitlab, BitBucket, and so on, including git repository hosting, bug tracking software, CI, wikis, and so on. However, the sr.ht model is different from these projects - where many forges attempt to replicate GitHub’s success with a thinly veiled clone of the GitHub UI and workflow, sr.ht is fundamentally different in its approach. This has folks pretty excited. But what’s all the hubbub about? Well, in addition to being 100% free and open source… sr.ht is special because it’s extremely modular and flexible, designed with interoperability with the rest of the ecosystem in mind. On top of that, sr.ht is one of the most lightweight websites on the internet, with the average page weighing less than 10 KiB, with no tracking and no JavaScript. The flagship product from the software suite is it’s CI platform, which: is easily the most capable continuous integration system available today. It’s so powerful that I’ve been working with multiple Linux distributions on bringing them onboard because it’s the only platform which can scale to the automation needs of an entire Linux distribution. There’s always a potential for hyperbole when the creator is describing their creation, but I’m convinced this is at the very least worth checking out. It might even make for a great episode of The Changelog…

read more...

GoCD Icon GoCD – Sponsored

Why should you use GoCD over Jenkins?

Jekins is the incumbent option, not to mention, open source. GoCD is also open source and supports Kubernetes and can be installed with Helm Charts. GoCD provides its core value out of the box. Maybe you will add a few integration plugins to make GoCD fit better in your environment. Jenkins will require many plugins to deliver value. You will need to understand the plugins, how they interoperate, and how to upgrade them. GoCD will feel more stable. Jenkins will feel more hackable. Which is a better match to your needs and philosophy? Learn how to setup your first pipeline, or check out their enterprise plugins and support.

read more...
logged by @logbot permalink

Scott Jehl filamentgroup.com

Inlining or caching? Both please!

I was exploring patterns that enable the browser to render a page as fast as possible by including code alongside the initial HTML so that the browser has everything it needs to start rendering the page, without making additional requests. Our two go-to options to achieve this goal are inlining and server push (more on how we use those), but each has drawbacks: inlining prevents a file from being cached for reuse, and server push is still a bit experimental, with some browser bugs still being worked out. As I was preparing to describe these caveats, I thought, “I wonder if the new Service Worker and Caching APIs could enable caching for inline code.” I’ve been dabbling a bit with service workers over on Brightly Colored to improve the loading time, so this exploration of caching inline CSS is fascinating. In fact, I used to completely inline all the CSS on the site, but switched to a file request because of the way I thought service workers, well… worked. Surprisingly, this implementation doesn’t look too difficult.

read more...

Andy Clarke stuffandnonsense.co.uk

Redesigning your product and website for dark mode

Andy Clarke on the Stuff & Nonsense blog: Implementing dark mode is easy, but designing for it is less so. Here are some things you should consider when designing a dark mode version of your product or website to ensure you maintain accessibility and readability, and a consistent feel for your brand between Light and Dark. It’s all the rage to “dark mode all the things” right now, but Andy’s practical advice on the topic is great. Finding the right palette and the consequential typography decisions needed, are good to keep in mind.

read more...

JavaScript blog.mgechev.com

Guess.js - a toolkit for enabling data-driven user-experiences on the web

Our goal with Guess.js is to minimize your bundle layout configuration, make it data-driven, and much more accurate! In the end, you should lazy load all your routes and Guess.js will figure out which bundles to be combined together and what pre-fetching mechanism to be used! All this in less than 5 minutes setup time. That’s an excellent goal! But how will that work? During the build process, the GuessPlugin will fetch report from Google Analytics, build a model used for predictive pre-fetching and add a small runtime to the main bundle of your application. On route change, the runtime will query the generated model for the pages that are likely to be visited next and pre-fetch the associated with them JavaScript bundles. The tool was announced at Google I/O back in May, but as of today it’s still in alpha.

read more...

 Itamar Turner-Trauring codewithoutrules.com

Enthusiasts vs. Pragmatists

Do you love programming for its own sake, or do you just program for the outcomes it enables? Depending on which describes you best you will face different problems in your career as a software developer. Enthusiasts code out of love. If you’re an enthusiast you’d write software just for fun, but one day you discovered your hobby could also be your career, and now you get paid to do what you love. Pragmatists may enjoy coding, but they do it for the outcomes. If you’re a pragmatist, you write software because it’s a good career, or for what it enables you to do and build. Which is your camp and why?

read more...

Eugen Kiss blog.usejournal.com

Lean testing or why unit tests are worse than you think

This is a spectacularly thoughtful and insightful piece by Eugen Kiss on testing: Different kinds of tests have different costs and benefits. You have finite resources to distribute into testing. You want to get the most out of your tests, so use the most economic testing approach. He goes on to describe why he believes that integration tests provide better ROI than unit tests and end-to-end tests. Then he turns his aim on unit tests in particular: There is the claim that making your code unit-testable will improve its quality. Many arguments and some empirical evidence in favor of that claim exist so I will put light on the other side… Unit tests ossify the internal structure of the code. Click through to read his whole argument, but I will say in my experience unit tests only ossify the structure when I do them poorly. In other words, the better I get at unit testing, the more useful they become. In light of that, Eugen’s big takeaway at the end might be 💯 on point: If you desire clear, albeit unnuanced, instructions, here is what you should do: Use a typed language. Focus on integration and end-to-end tests. Use unit tests only where they make sense (e.g. pure algorithmic code with complex corner cases). Be economic. Be lean.

read more...

Leo Farias github.com

NearDB - a simple document db made for globally distributed reads

The motivation behind NearDB: While working on building edge applications for higher performance and lower latency there is a need store persistent data also on edge. There are multiple distributed database solutions but they are very involved and costly while having a much lower global footprint than a CDN. The idea came up to leverage ubiquitous and mature infrastructure like cloud storage and CDNs to deliver a persistent data solution from the edge.

read more...

Daniel Stenberg daniel.haxx.se

QUIC will officially become HTTP/3

We recently talked with Daniel Stenberg about HTTP/2 and QUIC, so this news comes with little surprise looking back on that conversation with hindsight. The protocol that’s been called HTTP-over-QUIC for quite some time has now changed name and will officially become HTTP/3. This was triggered by this original suggestion by Mark Nottingham. On November 7, 2018 Dmitri of Litespeed announced that they and Facebook had successfully done the first interop ever between two HTTP/3 implementations. Mike Bihop’s follow-up presentation in the HTTPbis session on the topic can be seen here. The consensus in the end of that meeting said the new name is HTTP/3!

read more...

Zach Bloom Cloudflare Blog

Cloud computing without containers

(READ ALONG IN YOUR FAVORITE MOVIE TRAILER VOICE) … In a world where serverless is still being demystified, CloudFlare, a company who’s focused on pushing things to the edge, launches a game changer for not only serverless, but for cloud computing at large. Unlike every other cloud computing platforms out there, this platform called Workers, doesn’t use containers or virtual machines. This, is the future of serverless and cloud computing. Join Zach Bloom in this epic tale as he tries to convince you why. OK, seriously — this news bubbled up to me enough times that I just had to share it. Here’s the tee up of the problem they faced — how they’re going about solving it is truly a great read. Two years ago we had a problem. We were limited in how many features and options we could build in-house, we needed a way for customers to be able to build for themselves. We set out to find a way to let people write code on our servers deployed around the world (we had a little over a hundred data centers then, 155 as of this writing). Our system needed to run untrusted code securely, with low overhead. We sit in front of ten million sites and process millions and millions of requests per second, it also had to run very very quickly…

read more...

Our podcasts

No matter who you are or where you are on your path of being a developer, we have a podcast for you. This community cares about the past, present, and future generation of developers. We're about lifting people up, not putting people down.

0:00 / 0:00