HNHacker News
TopNewBestAskShowJobs

shadowmint

3,481 karma · joined November 11, 2011

submissionscomments
shadowmint··on TypeScript at Google
I feel like this sort of organic growth (for typescript) is a very healthy sign for a project.

ES6 (or whatever we’re supposed to refer to it as now) is good enough for many things, but when you see it used heavily with, for example, proptype hints... you get the feeling that there really is a trend these days towards flavoring static type checking and the error checking that offers.

I think its an interesting shift, with python and javascript both being poster child dynamic languages, but people who use them seriously going... ‘yeah, type checking is actually pretty handy...’.

shadowmint··on Open source takes continued investment, and that must be subsidized somehow
I don't think many people are seriously suggesting RedisLabs don't have the right to pursue a valid business model to secure the future of themselves and redis in general; I mean, look at elastic search, that's exactly what they do with their extension pack, and it works very well for them.

No one bats an eyelid about that.

> If the Commons Clause license is confusing or ambiguous to you, simply treat it as a commercial license...

I have to say, this really is the issue for me.

It's got both Apache and Commons in the title, that probably means its even more free than the apache license right?

No? Wait... so I can use it for free? Or am I reselling it? I guess I need a lawyer if I'm going to touch this stuff now right? Mmm... no. I think that we can safely put all of those modules in the 'never use for any purpose' box, thanks.

This kind of thing, seems like deceptive conduct, and that's something that is anathema to stable businesses looking for infrastructure to use.

Licensing is important, it should be clear and unambiguous in naming and purpose.

shadowmint··on Commons Clause
tisk tisk, so many downvotes and knee jerk reactions, but this is pragmatically correct.

GPL is unpopular, and if you want people to use your software, it is the wrong license to choose.

Should it be? Perhaps not. ...but I don't think the parent comment is nearly as wrong as people seem to think.

It doesn't matter if the GPL technically is a better or worse license; the fact is that (perhaps indeed driven by large corporations) GPL has a very negative image right now, and since we do live in a 'look at my popular github repo with oh so many stars, aren't I popular, oh btw hire me pls' world now, that is actually a big deal.

The question is not, 'should I use GPL?', because the answer is no, if you want to have a successful popular open source project.

The question is; how do we actually change the perception of GPL so the answer becomes yes?

I'm not sure... but I think it's a far more important question.

(I can certainly say that I no longer use the GPL, after using it for many years, largely because it was requested I remove it from projects. What do you do in that situation? Since I really don't care that much why not just put it under something else? I don't have a good answer.)

shadowmint··on The Ugly Truth of Ugly Produce
I think the problem is more complex than you're bothering to give it credit.

For example, food stamps may go to a family, where they are dealt with responsibly, in a way that money, which is very easy to grab and walk out to buy cigarettes with when things go badly, is not.

Obviously, it's not a full solution, and a cynical recipient could sell them, true... but we're not talking about individuals acting in isolation for purely selfish reasons; that's a contrived subset of the problem.

What's the alternative you're proposing?

Just hand out cash?

The research shows that people suffer severe difficulty in managing fiscal matters when under financial stress. It's the old 'why do people who are poor buy so many lottery tickets?'?

Money isn't the correct solution; and maybe food stamps aren't either... but they're a better solution, and don't think that's even in doubt.

...but if you have a different one, I'm happy to hear it.

shadowmint··on Russ Cox on Go dependency management
I think I’m more offended Russ said he was looking at cargo as ‘best of breed’ for inspiration.. but ended up ignoring it entirely to do his own thing.

Just suck it up.

You went off and did your own thing, and ignored everybody else, sticking pretty much to what you wanted to win the race in the first place (gopkg).

Right, now thats out the way can we just get on with it and use modules?

Decisions have been made, they’re here to stay. It doesn’t make everyone happy... but hey, we’re all massively relieved the mess has been sorted out, so thank you.

Lets stop these deep soul searching what he said she said wastes of time and get get started using it~

shadowmint··on EU fines Asus, Denon-Marantz, Philips and Pioneer $130M for online price fixing
> EU fines represent about 3% of EU revenue

wow. Really?

You make that sounds like its insignificant, but it really isn't.

Fines that go in to the 'consolidated budget' for a country or region doesn't seem right; it's blatantly in their own interest to lay out fines, regardless of if the behaviour warranted it or not.

This seems very familiar to the US property seizure laws; the line between 'justice' and 'flat out corrupt' is fine, and there's significant financial gain to walking the corrupt side of the line.

I don't think this is anything to be proud of.

shadowmint··on HyperRogue – a non-Euclidean roguelike
Yes, but we're all basically familiar with elliptic geometry, and as a result it's not terribly interesting or surprising.

Hyperbolic geometry, on the other hand, is alien to most people, (especially fractal like the projections into 2d and 3d), so when people wave their hands and say 'non-Eyclidean geometry!', that's what they usually actually mean.

Try actually watching some of the hyper-rogue gameplay: https://www.youtube.com/watch?v=lX5eCfRSCKY

I assure you, it's more interesting as a geometric visualisation than planetary annihilation is.

More technical reading here: https://math.stackexchange.com/questions/1407550/what-hyperb...

shadowmint··on You don't need ML/AI, you need SQL
Obviously ML can add a lot of value here, but its questionable to me if its trivial to build such a model with available data, keep said model up to date, or train variations on it easily, cheaply and quickly enough to A/B test the result and ensure you’re actually making any tangible difference.

So you know... I don’t think it’s unfair to say that for smaller vendors, the cost/effort of setting up a ML model may dwarf the fractional improvement it offers over just having one person doing human generated SQL queries.

The point is this isn’t like machine vision or voice, where its almost expontentionally better than traditional approaches.

It’s just... a bit better. Which is worth it only if the fractional improvement pays for the setup cost.

shadowmint··on HyperRogue – a non-Euclidean roguelike
This is true of many ‘non euclidean renderers’ but in this case it is actually using a hyperbolic plane as the playing field.

Higher dimensionality is largely irrelevant to whether the geometry is euclidean or not.

shadowmint··on GitLab Web IDE
People want it... Yes, but do gitlab users want it?

I’m not arguing theres a place for a web ide... sure. That’s a thing.

...but as part of gitlab? really?

...and lets be explicit here; part of gitlab instead of a stand alone product?

What if you want an IDE that uses a different source control?

Whats the benefit to me of having it as part of gitlab?

shadowmint··on GitLab Web IDE
Says who?

This kind of ‘user centric’ justification is rubbish and we all know it.

What this is, pure and simpe, is ‘throw it at a wall and see what sticks’.

Maybe people will like it and they’ll run with it, or maybe people will hate it and it’ll get binned.

Fair enough; but its got zippo to do with user quality of life or what users actually want; its just easier to justify value by adding features than fixing existing ones.

‘Speculative development’

Bitbucket does this all the time as well; its super annoying.

If you want to improve user quality of life, you know what you need to do?

Ask users what they want. ...and listen.

shadowmint··on GitLab Web IDE
That’s a strange thing to say given what you’ve made is significantly more full featured than necessary for that use case.
shadowmint··on How to be a Manager – A step-by-step guide to leading a team
This is quite a fair comment, but I can’t tell if you’re agreeing, disagreeing or just making an unrelated point.

The point I was making is: this article isn’t practically useful, its just ‘how it would be nice if things were’ not ‘how to get there’.

Its got some good ideas, sure... but as you say, reality and ideals aren’t easily matched; so as a step by step guide, its somewhat trivialising what is actually a very hard, entirely unsolved set of problems.

shadowmint··on How to be a Manager – A step-by-step guide to leading a team
This is really great advice, thank you.

I think it really crystalized the issues I had reading the article; you can do (or try to do...) all the ‘right things’ and still have a terrible result.

If it was easy to get right, things would be great... but its not. Its hard. ...and a slide deck of protips doesn’t cut it as a solution.

shadowmint··on Why Development Teams Struggle to Deliver on Time, on Budget, or at All
There are literally hundreds of methods and tools; it doesn’t matter which one(s) you pick.

I’m quite serious.

The thing you need to realize is that you’ll get it wrong, no matter the tool... until you invest time in reviewing past estimates and plans.

People think because they’re engineers they can just magically make estimates... but its a skill. If you don’t have a feedback loop to measure your progress and adjust your actions, you’ll literally never improve at it.

...that’s why even ‘Senior’ developers and ‘technical leads’ are often terrible at this; they’ve simply never bothered to seriously make an effort to learn how to do it.

shadowmint··on Memorandum on Microsoft’s strategy against Linux and Open Source software (1998)
What are you talking about?

Microsoft has to suck it up when they screw up like everyone else.

...they’ve just got a teack record of screwing it up (and screwing peopke over) which is longer and messier thansome other people.

Google would get the same reaction if they had done what microsoft has.

The point is: no free lunches.

You feel its unfair to microsoft? Well, cry me a fucking river for that billionity dollar corporation.

shadowmint··on Ask HN: What's your favorite way of getting a web app up quickly in 2018?
This is correct.

...it is also why php is not really any significantly better choice than any other framework/language combination.

The benefits of ‘plain php’ (simplicity) disappear quite quickly when you’re doing anything non trivial.

I would never choose php without one of those framework stacks; it doesn’t scale, its prone to hideous security issues and its a fugly mess of reinventing the wheel.

Frankly, anyone doing this these days has no idea what they’re doing.

shadowmint··on AI winter is well on its way
You’re arguing around the point here.

Almost all reasearch domains live on a log curve; a little bit gets you a lot to start with, but eventually you exhaust the easy solutions and a lot of work gets you very little improvement.

You’re arguing we haven’t reached the plateau at the top yet, but you’ve offered no meaningful evidence that is the case.

There are real world indicators that we are reaching diminishing returns for investment in compute and research now.

The ‘winter’ becomes a thing when it becomes apparent to investors that their financial bets are based off nothing more concrete than opinions like yours, when they don’t work out.

Are we there yet? Not sure, myself, I think we can get some more wins from machine generated architectures... but I can’t see any indication that the ‘winter’ isn’t coming sooner or later.

Investment is massively outstripping returns right now... we’ll just have to see if that calms down gradually, or pops suddenly.

History does not have a good story to tell about responsible investors behaving in a reasonable manner and avoiding crashes.

shadowmint··on Getting 1Password 7 ready for the Mac App Store
How can this be an issue if their base software is open source? Just recompile it with the numbers upped, surely?
shadowmint··on Mara: A lightweight ETL framework, halfway between plain scripts and Airflow
python is slow and single threaded, which is a tangible problem for an ETL, and airflow specifically.

...airflow is good enough for other reasons, but that doesn’t mean ‘not python’ gets off the wish list.

shadowmint··on Mara: A lightweight ETL framework, halfway between plain scripts and Airflow
Basically software for batch processing a tonne of data.

eg. importing a SAP feed into a database, or loading a bunch of csv files, or like processing a bunch of images...

...anything where you have to convert data from some source through a series of steps (typically a DAG) into some useful output.

However, its often misused.

For example, if you have a trivial amount of data, or trivial process an ETL is over engineered cruft where a simple script would do.

So there are many (rubbish) ‘simple ETL frameworks’ which offer zero value and technical complexity for no benefit.

Unless you need multiple servers processing data through multiple steps and you need the auditing and process control... you probably don’t need an ETL, just a simple script.

shadowmint··on Mara: A lightweight ETL framework, halfway between plain scripts and Airflow
...but why?

Just use airflow.

Things I want in an ETL:

[x] works at scale.

[x] simple to use.

[x] not written in python (eg. in go or rust)

[x] easy to scale (eg. in docker)

[ ] this.

shadowmint··on Notes on structured concurrency, or: Go statement considered harmful
This is very very long to explain a very simple pair of ideas:

1) You should be able to declare scoped blocks that mandate execution of all tasks started in that block ends when the scope ends.

2) This is fundamentally superior to all other forms of concurrency.

I get it; this is basically what async/await gets you, but conceptually you can spawn parallel tasks inside an awaited block, and know, absolutely that all of those tasks are resolved when the await resolves.

(this is distinct from a normal awaited block which will execute tasks inside it sequentially, awaiting each one in turn).

...seems like an interesting (and novel) idea to me, but I flat our reject (2) as ridiculous.

Parallel programming is hard, but the approach from rust, to give you formal verification, instead of arbitrarily throwing away useful tools seems much more realistic to me.

shadowmint··on SteamOS, Linux, and Steam Machines
This seems like a lovely sentiment...

however...

If you release games on a platform, or targeting a hardware spec which has a player base with is too small (like say, VR), and don't make enough money in your 'big bang' release, you're screwed, and your company goes under.

Heck, even if you do make some money, if its not enough to 'wow' investors, your studio will probably still be shut down. The economics of big bang release software are very hard ('Explain to me again why after making a million dollars this month you want another million dollars investment that will not generate any return for the next 2 years?'), and game companies are behind the curve in dealing with it.

The alternative (freemium) is just a race to the bottom, and its happening on steam right now the same way it happened on the app stores.

Incentives to encourage developers to target 'linux first' isn't just not going to work; its actually unethical.

You're basically paying people to target a platform that you know isn't significant enough for them to recoup the significant development costs in making games.

So yeah.

Realistically, you need to do one thing:

Figure out a way to provide a meaningful continuing income stream to developers targeting the platform.

As I understand it, what value is currently doing is attempting to bootstrap the market to consume linux games, by:

- Minimise the cost of developing on the platform by improving the tooling and making it easier to target 'cross platform' to include an additional platform (vulken, steam networking, etc).

- Make a platform that will consistently actually run said games, and push that upstream for other distributions to pick up.

- Work with partners to provide hardware that is configured in a way that can actually run that platform without having to compile the kernel yourself.

So... frankly, that seems like a pretty smart way to tackle the problem.

...but on the other hand, it hasn't been massively successful, to be fair.

Practically speaking, 'linux first' is never going to work; but I don't really know what else they can really do to help it along the way.

shadowmint··on Oracle Wins Revival of Billion-Dollar Case Against Google
So what now? An appeal of the appeal?

This is the legal drama that never stops giving...

shadowmint··on How to Design Programs, second edition
nope.

...but once again I recommend anyone who reads this post go browse wikipedia’s design patterns section. Its pretty neat:

https://en.m.wikipedia.org/wiki/Software_design_pattern

shadowmint··on How to Design Programs, second edition
> I felt it was a modern followup to the classic Design Patterns...

If you’re going to recommend a book, then why not just recommend Design Patterns?

That’s actually a good book; and, if you read it, you will extract exactly zero value from this one, which gives only the most trivial coverage of a handful of the patterns from the former.

/shrug

I feel like people who 5 star review this on amazon didn’t read Design Patterns becuase it looked to scary, and liked it because this was cute and simple and easy.

...unfortunately, the reality is that cute simple explanations are usually trivialising the content (as this book does; seriously go read a few game programming gems if you think game programming is as trivial as a singleton...), so given a choice of a universally acclaimed coverage of the topic, and some hand drawn pictures, why the heck would you recommend the latter to anyone other than a student?

I don’t get it, and I see no value in the content of this book ...but, I guess different things for different people.

shadowmint··on How to Design Programs, second edition
I’ve commented at length about this book before; really, just don’t bother. It’s not very good at patterns, not comprehensive, not clear on how to use them for games or why you might want to use them at all.

Google search “design pattern book”. Right, now take any of those books.

If you want game related stuff try “game programming gems”.

This book is free... that’s literally all it has going for it. Wikipedia has better stuff that you know... actually compiles, etc.

If you got any value out of Game Programming Patterns, I cannot strongly enough recommend you go and read an actually good book on design patterns; you’ve probably been mislead by its vague hand waving and incoherent discussion of the various topics.

shadowmint··on Containers won the battle, but will lose the war to serverless
He's right (in some ways).

I know it's written in an irritating style, but I feel like this kind of scaled application deployment strategy is basically the future, and you'd be very very naive to dismiss it as just some marketing hype.

The ability to deploy arbitrary micro-services to a cluster is basically all this is, under the hood, and that's something that intrinsically beneficial.

Sure, you may argue, the difference between deploying code to a cluster, and deploying a container to a cluster may seem immaterial, largely, but ultimately its hard to argue that it's better to choose the container in most cases, if you can delegate the work of 'configure and manage the container and container infrastructure' to someone else.

There's no question it'll slowly start eating the container world in my opinion; the barrier to entry is low, and ultimately (with something like openwhisk) you can use a container if you do need to package say, a specific version of opencv for some specific purpose.

Can anyone suggest why this is a bad approach?

It doesn't sound like a bad approach to me, and a lot of people are taking a lot of interest in it.

The problem is the people who are pitching "microservices as a service", as though you might be able to delegate some parts of your service out as a microservice to other people, like you can run a 'lpad service' and there will be the new 'microservice app store' and people will all flock to use it, and a few people who write the early 'good functions' will Get Rich Quick.

...and every time any single one person screws up their service, or has a tizzy and shuts it down, dozens of applications will fail.

What a disaster waiting to happen; its ridiculous, and all the noise about it is just people looking for funding (or just clueless, I have no idea).

...but, that doesn't change the fundamental value proposition of serverless: auto-scaling without devops.

(Also:

> And we’re seeing the exact same pattern with serverless. Yes, other companies could challenge Amazon’s dominance. But they probably won’t, because they don’t believe it’s for real. And by the time they do, it’ll be too late.

Yep. That's spot on as well)

shadowmint··on Fired Google Engineer Loses Diversity Memo Challenge
/shrug

I'm not telling you what to do or that what you're saying is wrong; I'm just telling you you're being rude by doing what you're doing in the way you're doing it.

If you don't care, that's up to you.

← PreviousPage 2 of 31Next →