The Changelog The Changelog #368  – Pinned

Finding collaborators for open source

Jeff Meyerson, host of Software Engineering Daily, and the founder of FindCollabs (a place to find collaborators for open source software) joined the show to talk about living in San Francisco, his thoughts on podcasting and where the medium is heading, getting through large scale market changes. We talk at length about his new project FindCollabs, the difficulty of reliably finding people to collaborate with, the importance of reputation and ratings systems, and his invite to this audience to check out what he’s doing and get involved.

read more

Erik Kennedy learnui.design

Designing for iOS and Android

From Erik Kennedy who shared some tactical design advice for developers — this awesome visual guide covers the primary differences between designing for iOS and Android, including navigation, UI controls, typography, app icons, and more. If you’re designing both an iOS and an Android (Material Design) version of an app, this guide is your new best friend 😎. We’re going to cover the most relevant differences between iOS and Android for UX/UI designers. If you’ve created an app on one platform, this is most of what you need to know to “translate” it for the other platform.

read more

Node.js github.com

The largest Node.js best practices list

With 35k+ stars, I might be the last one to the party on this awesome repo. It is the largest compilation, and it is growing every week - currently, more than 80 best practices, style guides, and architectural tips are presented. New issues and pull requests are created every day to keep this live book updated. We’d love to see you contributing here, whether that is fixing code mistakes, helping with translations, or suggesting brilliant new ideas.

read more

Practical AI Practical AI #64

Robot hands solving Rubik's cubes

Everyone is talking about it. OpenAI trained a pair of neural nets that enable a robot hand to solve a Rubik’s cube. That is super dope! The results have also generated a lot of commentary and controversy, mainly related to the way in which the results were represented on OpenAI’s blog. We dig into all of this in on today’s Fully Connected episode, and we point you to a few places where you can learn more about reinforcement learning.

read more

Devon Zuegel GitHub Blog

GitHub Sponsors is out of beta

Earlier this week GitHub Sponsors came out of beta to general availability for developers with bank accounts in 30 countries (and growing). Also, check out the companion video celebrating some of the developers of GitHub Sponsors. Next steps? This is just the beginning for native sponsorships on GitHub. We’re working hard to build out great sponsorship experiences around the world.

read more

DigitalOcean Icon DigitalOcean – Sponsored

How to build and install Go programs

From the how to code in Go series on DigitalOcean’s Community site from our friends at Gopher Guides (Mark Bates & Cory LaNou). In Go, the process of translating source code into a binary executable is called building. Once this executable is built, it will contain not only your application, but also all the support code needed to execute the binary on the target platform. This means that a Go binary does not need system dependencies such as Go tooling to run on a new system, unlike other languages like Ruby, Python, or Node.js.

read more

logged by @logbot permalink

Browser London Icon Browser London

The power of the MoSCoW method

I’ve never heard of this method before, but it’s definitely interesting enough to link up for you: At its core, the MoSCoW method is simply a prioritization framework that can be applied to any kind of situation or project, but it works best when a large number of tasks need to be ruthlessly whittled down into a prioritised and achievable to-do list. The general idea is you take a list of tasks/stories/whatevs and place each into one of for buckets: Must, Should, Could, and Won’t. (Somehow this gets shortened to MoSCoW for the namesake.) If you listened to our recent episode on Agile, you know I’m not a fan of ceremony when it comes to planning practices, but I do think there is some value here if you do it right. Click through for the skinny on how to run a MoSCoW exercise as well as some pitfalls to avoid.

read more

npm github.com

npm adds `fund` subcommand to help support maintainers

As of npm 6.13, maintainers can add a funding field to their package.json (which works very much like GitHub’s FUNDING.yml) and users can run npm fund to see how they can support their dependency authors. Darcy Clarke had this to say about the feature on npm’s blog: Post install you will now see output that describes the number of packages that have defined funding information. You can opt-out of this prompt by using the –no-fund flag if you so choose. At the end of August, we made a promise to the community to invest time & effort to better support package maintainers. This work is just the first, small step toward creating a means/mechanism for a more sustainable open source development ecosystem.

read more

Cloud blog.trailofbits.com

Algo – your personal VPN in the cloud

The linked article is an excellent introduction to Algo, which is effectively a set of Ansible scripts that set up a Wireguard and IPSEC VPN for you. Algo automatically deploys an on-demand VPN service in the cloud that is not shared with other users, relies on only modern protocols and ciphers, and includes only the minimal software you need. And it’s free. For anyone who is privacy conscious, travels for work frequently, or can’t afford a dedicated IT department, this one’s for you. Algo’s list of features (and anti-features) is compelling and most VPN services are terrible. 👀

read more

Documentation divio.com

What nobody tells you about documentation

This article starts out like a bit of false advertising: It doesn’t matter how good your software is, because if the documentation is not good enough, people will not use it. People tell us that about documentation all the time. Come on, now. Get to the good stuff! In this article I will explain how you can make your documentation better, not by working harder at it, but by doing it the right way. The right way is the easier way - easier to write, and easier to maintain. OK, I’m listening. I’m listening. Documentation needs to include and be structured around its four different functions: tutorials, how-to guides, explanation and technical reference. Each of them requires a distinct mode of writing. Pay dirt! 🙌 This is an absolute must-read on the four different kinds of docs and how to effectively execute on each.

read more

Thoughtbot Icon Thoughtbot

Let's not misuse 'refactoring'

German Velasco: I find that many people confuse refactoring with any change in code. Sometimes they even use the word to mean huge changes that break the application — “we need a month to refactor this monolith.” I think that in those cases, we are misusing the word refactoring, robbing it of its proper meaning, and ultimately, robbing ourselves of the power to communicate an important concept. Let’s revisit what refactoring is and what it is not. Some folks might consider this post semantic pedantry, but I think there’s value in knowing the difference between refactoring and merely changing stuff. Don’t get me wrong, I misuse the term on the regular, but when I’m being more diligent with my word choice I will reach for rejiggering instead.

read more

JSON engineering.instawork.com

When XML beats JSON

When demoing Hyperview to new engineers, there’s one comment that frequently comes up about the HXML data format: “XML, really? It’s bloated and outdated. Why not use JSON? It’s the future.” These comments imply that JSON is the “one true file format” that should be used for everything, but we don’t believe there’s such a thing. Each format makes tradeoffs in encoding, flexibility, and expressiveness to best suit a specific use case. The author makes a pretty solid argument that JSON is better for lists, while XML is better for trees.

read more

Podcasts from Changelog

Weekly shows about developer culture, software development, open source, building startups, artificial intelligence, and the people involved.

0:00 / 0:00