HN user

jmd42

25 karma
Posts1
Comments25
View on HN

I recall a study which suggested that we don't really calculate the trajectory as such, but use some kind of simple visual heuristic to continually align ourselves with where the ball is going to land.

They showed that people running to catch a ball would follow an inefficient curved path as a result of this, rather than actually calculating where the ball will land and moving there in a straight line to intercept it.

It's a lawsuit because Schrems only needs enough of a basis to force the courts to consider certain issues, and to make statements about how GDPR should apply in principle in certain situations, in order to effectively restrict big tech's use of data.

It's a case brought strategically in order to trigger certain questions of interpretation of GDPR rules to be litigated.

Schrems' specific claim only needs to hold enough water to give him standing to get the case through enough filters in the court system to facilitate this.

I don't think he even needed to prove that.

Rather it's that, in the course of evaluating this case, the court has been forced to make statements clarifying how certain rules and principles in GDPR are to be interpreted. And this has, in effect, narrowed the way Meta etc can use data.

Which for Schrems is really his ultimate goal anyway - his case is just a way to force the courts to rule / establish legal precedent on broader issues.

Schrems has launched several strategic court cases like this to push back on privacy issues, and even runs a non-profit focused on doing so.

I think "activist" is just giving him well-deserved credit for the amount of legwork he puts in to see these cases through.

He is absolutely doing this out of principle / for a cause, and not because of his own individual grievance - he just needs to be able to point to something affecting him personally to give him the legal footing to bring the case to court.

SEEKING WORK | London | Remote (US/EU timezones) I run a boutique software development studio, where I focus on helping startups get their MVP off the ground, or assisting companies with more intricate and involved development tasks.

Clients come to me when they want more than a copy/paste solution, as I take the time to understand their business and goals in detail, collaborating with them to deliver something highly tailored to their precise needs.

More info / portfolio / contact: https://devbeat.co.uk

Thanks!

SEEKING WORK | London | Remote (US/EU timezones)

I run a boutique software development studio, where I focus on helping startups get their MVP off the ground, or assisting companies with more intricate and involved development tasks. I'm particularly geared towards projects which involve more complex interactivity or problem-solving.

Clients come to me when they want more than a copy/paste solution, as I take the time to understand their business and goals in detail, collaborating with them to deliver something highly tailored to their precise needs.

More info / portfolio / contact: https://devbeat.co.uk

Thanks!

SEEKING WORK | London | Remote (US/EU timezones) I run a boutique software development studio, where I focus on helping startups get their MVP off the ground, or assisting companies with more intricate and involved development tasks. I'm particularly geared towards projects which involve more complex interactivity or problem-solving.

Clients come to me when they want more than a copy/paste solution, as I take the time to understand their business and goals in detail, collaborating with them to deliver something highly tailored to their precise needs.

More info / portfolio / contact: https://devbeat.co.uk

Thanks!

I think the "compression-oriented" term was coined by Casey Muratori. There's an article expanding on it here: https://caseymuratori.com/blog_0015

Like a good compressor, I don’t reuse anything until I have at least two instances of it occurring. Many programmers don’t understand how important this is, and try to write “reusable” code right off the bat, but that is probably one of the biggest mistakes you can make. My mantra is, “make your code usable before you try to make it reusable”.

I always begin by just typing out exactly what I want to happen in each specific case, without any regard to “correctness” or “abstraction” or any other buzzword, and I get that working. Then, when I find myself doing the same thing a second time somewhere else, that is when I pull out the reusable portion and share it, effectively “compressing” the code. I like “compress” better as an analogy, because it means something useful, as opposed to the often-used “abstracting”, which doesn’t really imply anything useful. Who cares if code is abstract?

SEEKING WORK | London | Remote (US/EU timezones)

I run a boutique software development studio, where I focus on helping startups get their MVP off the ground, or assisting companies with more intricate and involved development tasks. I'm particularly geared towards projects which involve more complex interactivity or problem-solving.

Clients come to me when they want more than a copy/paste solution, as I take the time to understand their business and goals in detail, collaborating with them to deliver something highly tailored to their precise needs.

More info / portfolio / contact: https://devbeat.co.uk

Thanks!

Right - I think it's fair to expect somebody to come up with some kind of approach to solving this, even if they've never encountered the problem or drilled Leetcode before. At least to be able to conceptualize the problem and make a decent attempt.

I wouldn't expect more than brute force. But being able to reason about this, having some working familiarity with graphs etc, is not an unfair bar.

Coding Is Hard 3 years ago

I agree with this.

You'll often see responses like "but many people don't need to write sorting algorithms from scratch in their day to day work, so they're out of practice". But to me this attitude itself is indicative of the issue.

Being able to do this doesn't require sorting algorithms to be well-practiced and fresh in one's mind. It requires a general ability to visualize and reason about simple data manipulations. Which to me is an absolute fundamental for a programmer working in any field.

If the algorithm can be described with a small sketch or a couple of sentences, generally an implementation should just flow for an experienced programmer who has general fluency? For something like bubble sort, the description can be more or less directly translated to code.

The fact that someone even conceives of this as something which needs to me memorized / practiced suggests to me that they might not have that kind of basic working fluency.

I think it's more that the "inversion" interview story became a bit of a hot topic, and so is something people tend to reference in these discussions. Not that it's a specific problem people think is great to ask in interviews.

It also seems to neatly split people into camps who think "this is trivial, and totally reasonable to expect somebody to answer, even if it's a little contrived", vs those who think "this is not practical, and you'd only know the answer if you'd already practiced it, so it's not fair to ask".

It eliminates competent, skilled people who don't have the time to memorize the latest cargo cult trends in hiring

But given that you already acknowledged that it's pretty trivial, why would memorization be necessary for a competant person?

Why not ask the much more interesting and potentially useful question of balancing a binary tree?

Honestly? Because that's harder.

The swapping question is basically a softball / FizzBuzz-style question to test the most basic familiarity with data structures, pointers/references, and recursion.

I'm on the same page.

Sure, your day-to-day work may not involve manipulating binary trees. But presumably it does involve working with variables, objects, references, manipulating data of some kind... And if you're comfortable with the fundamentals of those, then this is something you should be able to figure out even if you've never heard of a "binary tree" before, once somebody has sketched it or shown you the definition of their TreeNode class, right?

It honestly baffles me how people consider this something which needs to be drilled or memorized.

There are absolutely algorithmic questions which would fall into that category. But if somebody considers this to be one of them - or something like "find the smallest number in an array" - then I have to question whether they have an understanding of the most fundamental concepts in programming...

Or if they get through each day solely using things they've memorized by rote, or looked up, and they don't really have any idea how any of the foundations they're building on actually operate.

Essentially the value is in not having to set up your own SSH server. Or for providing you with 'throwaway' domains for any developer who wants to temporarily expose some locally running service.

One use-case I had was connecting an Android app over 4g to a backend service running on my development machine, for some ad-hoc debugging. Using a tool like this was more straightforward than setting something more permanent up manually (spinning up a server, certificates, DNS, etc). Especially for someone not super familiar with how to configure the tools involved.

Getting visibility within Steam itself is still probably the most effective way of increasing sales numbers - generally being featured/recommended within the platform is profoundly more effective than more organic marketing efforts (unless you really go viral on social media, for example).

Discoverability and viewership numbers for game dev streamers on Twitch are really poor. Of course it can have value as a marketing initiative, but you can also grind that for months / years without seeing a significant effect on sales - the return on time investment is probably not great. Whereas getting onto the front page of Steam (as part of some seasonal event, for example) can do more for you in a single day than months/years of streaming or social media.

Drive day 1 sales, increasing your chance of getting featured as a "hot new release", increasing visibility and trying to ride the recommendation algorithm.