Learning Music with Ableton

Nice work by the Ableton folks. A website to experiment with beats, melody, harmony, basslines, and song structure:

In these lessons, you’ll learn the basics of music making. No prior experience or equipment is required; you’ll do everything right here in your browser.

Right here in your browser™

Learning Music with Ableton →

Elsewhere , Leave a comment

Scaling your Redux App with ducks

It’s one of these things I too keep struggling with from time to time: do you organize your project files per type/functionality, or per feature?

Alex Moldovan from FortechRomania:

Our approach starts from the need to isolate the React code into a single folder — called views — and the redux code into a separate folder — called redux.

Inside the views folder, we prefer a function-first approach in structuring files. This feels very natural in the context of React: pages, layouts, components, enhancers etc.

Then, inside the redux folder…

Per feature a “duck folder” is created, containing actions, reducers, selectors, etc. for said feature:

duck/
├── actions.js
├── index.js
├── operations.js
├── reducers.js
├── selectors.js
├── tests.js
├── types.js
├── utils.js

Might give this kind of structure a try for the next React+Redux project …

Scaling your Redux App with ducks →

Elsewhere , , Leave a comment

Nobody knows what the fuck they’re doing.

Max Stoiber, on determining if you’re qualified or not for a specific (frontend) job listing:

If you’ve built a side project with React.js and know your way around JavaScript in general, you’re at least as qualified as 90% of all other devs out there.

I’ll tell you a secret: Nobody knows what the fuck they’re doing.

That’s just the nature of front-end development, it moves so fast that one day you’re on top of everything, the next day you’re years of learning behind. Don’t worry about it, pretend you know your shit and get on with it.

I’d tweak the end though … don’t “pretend to know your shit” – then you’re just scamming – but “be aware of the shit you don’t know, knowing that you’ll learn about it when needed”.

Also, when hiring, a company will (should!) most likely hire for attitude, not skills at that certain moment in time.

Nobody knows what the fuck they’re doing →

It’s nothing new, this. See You Can’t Get Comfortable in Web Development for example, which itself also contains a few more links related articles.

Elsewhere , , Leave a comment

Use a mouse on iOS with PointerKit

Great work by Louis D’hauwe:

PointerKit is a proof of concept framework to use a pointing device on iOS. This is done via a multipeer connection between a Mac and an iOS device. The pointer movement is captured by the Mac app, after which it’s send to the receiving iOS device (over Bluetooth or Wi-Fi).

Implementation is simple. After having added the PointerKit Framework, add these couple of lines to your project:

var manager: PointerManager!

override func viewDidAppear(_ animated: Bool) {
    super.viewDidAppear(animated)
    manager = PointerManager(with: self, in: UIApplication.shared.keyWindow!)
    manager.showConnector()
}

However. PointerKit uses private APIs, so Apple will refuse your app upon submission :-/

Pointerkit →

Elsewhere , , Leave a comment

Allemansrätten – Sweden on Airbnb

Allemansrätten – or the freedom to roam – is a principle protected by Swedish law that gives all people the right to be free in Swedish nature. It’s a place where you can eat berries from the ground, sleep under the stars, swim in the lakes and roam freely. To make this home available for everyone, Sweden has listed the entire country on Airbnb.

Airbnb: Visit Sweden →

Elsewhere , , Leave a comment

JSON Feed

We — Manton Reece and Brent Simmons — have noticed that JSON has become the developers’ choice for APIs, and that developers will often go out of their way to avoid XML. JSON is simpler to read and write, and it’s less prone to bugs.

So we developed JSON Feed, a format similar to RSS and Atom but in JSON. It reflects the lessons learned from our years of work reading and publishing feeds.

The format itself is very easy to read/interpret:

{
    "version": "https://jsonfeed.org/version/1",
    "title": "My Example Feed",
    "home_page_url": "https://example.org/",
    "feed_url": "https://example.org/feed.json",
    "items": [
        {
            "id": "2",
            "content_text": "This is a second item.",
            "url": "https://example.org/second-item"
        },
        {
            "id": "1",
            "content_html": "<p>Hello, world!</p>",
            "url": "https://example.org/initial-post"
        }
    ]
}

A plugin for WordPress is also available.

Announcing JSON Feed →
JSON Feed Plugin for WordPress →

(via ★)

Elsewhere , , Leave a comment

History of the entire world, I guess

Hilarious and entertaining video explaining the history of the earth. Worth your time 🙂

Elsewhere Leave a comment

The fight to rethink (and reinvent) nuclear power

Nice piece by Vox on nuclear energy. Nowadays we generally associate nuclear energy with bad things like disasters and mushroom clouds … but producing nuclear energy is also carbon neutral, and the production process can be made safer and more efficient. Doesn’t that make it part of our future energy strategy?

We have startups building cheaper, smaller reactors that don’t melt down and we have engineers making fuel that doesn’t produce much waste.

While the public image of nuclear energy is rooted in the past, the nuclear energy of today is a whole different ballgame.

Elsewhere , Leave a comment

Using react-devtools with React Native

The “React Developer Tools” is a very handy browser extension which lets inspect and manipulate the React component hierarchy along with their props and state. There’s also a standalone version, to be used with React Native.

To use it, install it as a project dependency:

npm install --save-dev react-devtools

And then adjust the scripts section in your package.json by adding this:

"devtools": "react-devtools"

And then finally run it as follows:

npm run devtools

It’s also possible to install react-devtools globally.

npm install -g react-devtools

And then run it as follows:

react-devtools

Viewing your console.log()s and such is not part of the react-devtools. To view them, continue as you’d normally do (e.g. running react-native log-ios or by using the In-App Developer Menu, choosing the option Debug JS Remotely)

react-devtools

Elsewhere , , Leave a comment

Design Better Data Tables

Good data tables allow users to scan, analyze, compare, filter, sort, and manipulate information to derive insights and commit actions. This article presents a list of design structures, interaction patterns, and techniques to help you design better data tables.

Good overview!

Design Better Data Tables →

Elsewhere , , , Leave a comment