HN user

skwosh

230 karma

soundcloud.com/goomtrex github.com/goomtrex gmail.com/goomtrex

______________

Currently living in Melbourne. Feel free to get in touch...

Posts1
Comments58
View on HN

Spot on. It's telling that most DAW UIs are based on archaic ideas (like mixers/tracks and MIDI/step-sequencer grids). Even BuzzTracker (2009) outshines many of the current DAWs with DAG instrument/effects-chaining and arrow-key/cursor navigation.

My post-graduate research concerned signal-rather-than-event-based generation/transformation of compositional data, integrated with textural/timbral synthesis.

My current focus is building a DSP framework for this purpose in C++20 [1].

In any case I'm interested in following your progress, and happy to contribute code/ideas if you feel like collaborating (links in profile).

[1] https://github.com/synthetic-methods/xtal

The project started a few years ago adapting generating functions to Complex waveshaping, with the waveforms correspond to certain constructions in optics, celestial dynamics, etc.

This has since been extended with an algebraic/modular approach to building more complex textures and rhythms. So the aim is to create totally novel sounds, but the traditional waveforms tend to pop-up from time to time!

Relatively speaking...

Cultural optimism is likely to follow periods of growth and abundance, like buying a property in the 1970s for $5K and selling it in the 2000s for $2M. The last couple of decades have seen a reversal of this effect, so I don't think it's unreasonable that more people are feeling pessimistic about the future and their place in it.

The connection between language and humour is an interesting topic, and brings to mind the Sapir-Whorf hypothesis (or more generally, linguistic relativity [1]).

It can be difficult to tell how much of a cue (or "clown" as you mention) is required/necessary for the joke to be understood. For example, even American comedians often deliver the punch-line in an overt/exaggerated way.

I've noticed (possibly broader) Chinese and Dutch humour depends much more on slapstick and stereotypes. Of course I probably wouldn't even register the more subtle humor from those cultures.

I've often wondered if there are unique (semantic & syntactic) qualities of the English language that lend themselves to more to particular kinds of (deadpan or sarcastic) humour, such as semantic ambiguity (cf. double entendres), variations in phrasing & tone), etc.

Even the German language can be abused for a similar purpose, as the following quote from [2] illustrates:

Kafka often made extensive use of a characteristic particular to the German language which permits long sentences that sometimes can span an entire page. Kafka's sentences then deliver an unexpected impact just before the full stop—this being the finalizing meaning and focus. This is due to the construction of subordinate clauses in German which require that the verb be positioned at the end of the sentence. Such constructions are difficult to duplicate in English, so it is up to the translator to provide the reader with the same (or at least equivalent) effect found in the original text.

[1] https://en.wikipedia.org/wiki/Linguistic_relativity

[2] https://en.wikipedia.org/wiki/Franz_Kafka

I agree of course - a society with at least some understanding of statistics, logic, anthropology (of media), etc is essential to a healthy democracy.

It would be great to see political/cultural literacy taken more seriously, but the trend as you point out has been in the opposite direction (and has been/will be for some time).

Being burdened with debt and not having the choice to pursue further education are the real problems, and can hopefully be solved in a way other than restricting access to those fields.

Meanwhile, elsewhere in this thread... it's pretty cynical (but not uncommon) to suggest that one's primary value to society is what they contribute economically (or otherwise validated economically).

I'm lucky that the situation is a bit more optimistic here in Australia...

I never said arts/humanities are useless.

> inability to pick a useless major

I agree with the sentiment though, that (in general) an Arts degree (or whatever) alone it's not enough to sustain a career.

I just think it's an important part of a balanced education, and that overall society is better off having more engagement with the arts, language, history, philosophy, cosmology, theoretical physics, category theory, linguistics, anthropology, etc.

As I said elsewhere, prioritising vocational education is fine to some extent, but to do so by crippling participation in the Arts by making those qualifications prohibitively expensive (by not providing loans) is a mistake.

It is a luxury of sorts, but not in the frivolous sense. As I see it, it's not so much a problem of optimising higher education for career payoff, but restructuring/regulating education to make it more accessible (both to encourage participation in a wider range of subjects, and to facilitate career change).

Yes, those things are also wrong. As are decreasing socioeconomic mobility, racially & religiously motivated violence, lack of code hygiene and unit testing, etc...

If you read my and other responses in this thread, the arts/humanities are far from useless (they just have a less direct economic effect).

Historically important art/music has often been ignored, ridiculed, censored, etc. To suggest that it only has social/cultural value if it appeals to a popular/paying audience is overly simplistic.

I'm not saying there's no overlap between capitalism and art in general, but if they're perfectly aligned then we miss the challenging, obscure, alternative, upsetting, disruptive, etc.

If I was designing policy?

Really all I'm talking about is not defunding/sidelining Arts etc "because it's not financially viable".

The idea is really to provide a well rounded education, (giving students a broader perspective on the world, a stronger vocabulary for expressing ideas, etc), as opposed to a purely career focused one. I think it would be detrimental to culture and society in general if everyone was groomed from high-school to only ever consider the safe, paved, career footpath.

This may take the form of allowing for more electives in vocational courses, encouragement to take double degrees, or eliminating barriers for later study (letting people change their minds, or even just reskilling when the robots take over).

What I was meant by "subsidisation" is just the "somewhat" free education that exists in some places today, but has been more prevalent/widespread in the past. And while prioritising vocational degrees is fine to some extent, crippling participation in the Arts by making those qualifications prohibitively expensive (by not providing loans) is a bad idea imo.

Sure, through the lens of "smart investing", an arts degree is a shitty investment, and therefore shouldn't be funded. I just think that's a bit reductive, and that the value provided by those programs can be hard to quantify.

I agree that many students probably gain nothing at all from studying arts, but many do, and become better people, professionals, politicians, etc.

Studying these fields (or communicating with people who have (even watching documentaries)) helps to understand and contextualise the world, and to articulate those (often complex and abstract) ideas.

Of course, many people come away with nothing, and many with only the most superficial understanding, but an educational climate with less participation in the arts, humanities, theoretical sciences, etc would suffer a net reduction in cultural capital, political discourse, etc.

[*] IMO.

Part of the problem here is that the terms/interest is so crippling that they can't take out another $160K debt to "pivot" into something more financially practical.

Further, I think having the availability/flexibility of studying multiple degrees can be immensely useful/rewarding. Particularly as industries get more advanced/sophisticated (and others get automated/downscaled), I wouldn't be surprised if there's a cultural shift towards continuous reeducation (at least, as much is financially practical/possible).

You could say that about anything though, and I'm sure many in engineering do (about everything from design patterns to category theory...).

The value added by quality in-person tuition shouldn't be underrated though, not to mention access to equipment, studios, and like minds...

Working and communicating in person is a hugely effective catalyst for productivity, creative evolution, etc. Artistic and scientific development is often accelerated by human interaction, which is why art movements and scientific advancements tend to cluster around communities (vs individuals).

There seems to be a strong sentiment in this thread that the only value provided by education is the contribution to career (e.g. that loans should only be provided for financially viable courses, that studying arts is as useful to one's career as studying finger painting, etc).

This just seems so wrong.

Optimising for vocational training means you're effectively tuning out the abstract arts and sciences and... oh, the humanities. These fields don't usually/directly translate into a financial success, but they broaden our perspective and deepen our experience. And in doing so provide the tools and language to more effectively analyse and engage with human culture.

And to a certain extent, "true" art is antithetical to capitalism, in a similar way that "true" journalism is antithetical to surveillance (honesty/transparency vs main-stream popularity), and I'd argue equally as important. For that reason these fields absolutely should be subsidised, otherwise art becomes about marketing, journalism becomes about propaganda, and science becomes about start-ups...

It's not clear to me why (in the pattern presented) the decorators don't return a subclass (which would preserve the dynamic and static properties and methods, etc). Instead you get hacks like `hoist-non-react-statics` to copy them over manually.

For context, the article advocates the following:

    import GlobalClass from 'global-class'

    const decorator = SuperClass =>
        class extends GlobalClass {

            render() {
                return <SuperClass {...etc}></SuperClass>
            }

        }
This can be rewritten to remove the fixed dependency on `GlobalClass`, while preserving the underlying type:
    const decorator = SuperClass =>
        class extends SuperClass {

            render() {
                // const SuperClass = super.constructor // if you want to be less explicit...
                return <SuperClass {...etc}></SuperClass>
            }

        }
The only requirement is to maintain the contract outlined by the `SuperClass`, but that's what `super` is for. (By that I mean e.g. that `componentDidMount` should't be overwritten without also calling super.componentDidMount() before/after).

Returning a different kind class entirely limits the utility of the pattern in general (IMO), and you lose the nice function-composition-like behaviour provided by `super.method`.

Where, in any of my day-to-day job duties, ...

Off the top of my head, or at least where I've used them recently:

kth permutation of a set of numbers?

Producing all pairs of a collection, e.g. for computing the minimum distance between elements (via map/reduce).

clone a directed graph

Any object in an OO language (like JavaScript) is essentially a directed graph, so, cloning one of those.

My guess is that in OO you are typically only parameterising `this`, and therefore only talking about one facet of the domain. Family polymorphism (or virtual classes) provide a way around this...

I think the most important skills you can learn as a programmer are the fundamentals, including control (continuations, generators, etc), data patterns/structures (template method, functors, etc), and systems (distributed, databases, etc). This requires study, and University is a great place for that, not only for the courseware, but for the available resources and community as well. Look at it as more of a vehicle for what you want to learn, rather than a series of trials you have to work through.

The fundamentals make it possible to learn new frameworks, libraries, idioms, etc very quickly. And being able to draw on solutions across computer science gives you a huge advantage in problem solving for the real world.

But if you just want to be an Angular or React hack you'll definitely have some success working through tutorials, vlogs, etc. But ultimately I think your value will be limited (by comparison).

I tend to agree (though I appreciate divergence from time to time).

The real value (for me) in HN (and Reddit) is the discussion (as opposed to the articles themselves).

HN is somewhat unique in having a diverse and (usually highly) technologically literate user base, often generating interesting and thoughtful discussion on a range of tech related subjects.

The discussion on these OT posts is limited by comparison. Experiences and insights are replaced by speculation and conjecture.

I'm being a bit hyperbolic here, but hopefully I'm getting my point across. I enjoy technology and business discussion from all skill/experience levels, including JavaScript noobs and emerging businesses. I can't really say the same for amateur discussion of general topics.

The goods and services consumed have to come from someone working somewhere.

Like your former self? Retirement fund contribution is compulsory in Australia (as a %age of income), and probably elsewhere.

The song that the article refers to is Amen by The Winstons (1969), a cover of the gospel-like Amen by Jester Hairston (1963).

Though the drum break was played (and probably "composed") by band-member G. C. Coleman, the cheque was made out to the copyright holder and singer of the band Richard L. Spencer.

I wonder what would be different if Sony held the rights.

Apologies in advance for the unsolicited monad tutorial (it's my turn to be that asshole)...

Firstly, saying "`X` is a monad" is the same as saying "class `X` implements the monad interface".

The monad interface is usually defined with `return` and `bind`, but I think it's more instructive to borrow the terminology from JavaScript's `Promise`...

* `Promise#resolve(value)` is the same as `return`, also known as `pure`. It just wraps the given value in a promise.

* `Promise#then(function)` combines both `bind` (when a new Promise is constructed and returned) and the functor method `map` (when a plain value is returned).

To provide a unified monad/functor interface for both `Promise` and `Array` (using `wrap` instead of `resolve):

    // `then` provides both `bind` and `map` depending on the return type of the given function:
    Promise.prototype.map = Promise.prototype.then 

    Promise.wrap = Promise.resolve

    // f maps elements to arrays of elements:
    Array.prototype.then = function (f) {
        return [].concat.apply ([], this.map(f))
    }

    Array.wrap = function (x) {
        return [x]
    }
There's no intrinsic value beyond that shared interface, it just allows you to write abstractions without knowing specifically what kind of monad you're dealing with (like the "do" syntax).

EDIT: BTW, I've purposely skipped a few things in this description, it's meant to be illustrative, not definitive...

I think using Haskell's type syntax is misleading in this context (and doesn't really imply the required associativity (much less commutativity if you wanted to consider Abelian monoids)).

The operation of a monoid maps from pairs of things to things. So in terms of types:

    <a,a> -> a
Or for some `twin` type constructor:
    twin a -> a
This is a bit more suggestive also in terms of F-algebras, where the operation has the following signature (f is a functor, or mappable container):
    f a -> a

Licensing etc feels like it would work with the larger and more homogeneous parts of the industry (creating a more fungible work force). Outside of that environment, technology varies so much between companies, and changes so much over time that licensing around certain technological stacks/skills seems naïve.

I'm not sure it's that easy to quantify the (more) important and transferable skills like abstract thinking, project estimation, team work, being able to learn quickly, etc.

Coding is closer to an art (like journeyman carpentry) than a discipline (like engineering), and therefore better judged on reputation, portfolio, etc, criteria that the industry already embodies.

/imo

Thanks, that's what I mean. My feeling is that some of the syntactic extensions to the language are piecemeal and don't reflect the full expressivity of JavaScript.

As a corollary I'd like to say: stop pushing JavaScript forward. There seems to be a lot of focus on providing syntactic sugar for things that already exist (like classes, decorators, etc) at the expense of flexibility and composability (executable class bodies, @foo vs normal function application, etc).

What JavaScript needs much more IMO is a (better) stdlib, with more datatypes and procedures than currently available (including big numbers, the various flavours of trees, better support for equality and comparison, etc).