HNHacker News
TopNewBestAskShowJobs

jdjb

211 karma · joined November 25, 2011

[ my public key: https://keybase.io/danbruce; my proof: https://keybase.io/danbruce/sigs/53YoVXBSDuqnnPmPiNy7MUIdtp8Rrjp8epNlXrr6vTM ]
submissionscomments
jdjb··on Why use Rust on the back end?
The HashSet would be the owner of the IP address type. Your function would call the "take" method of the HashSet to take ownership of the IP address. Now the IP address cannot go back into the HashSet unless you give ownership back and no other thread/caller can take ownership.
jdjb··on We memo all the things (2020)
If you're using React.useCallback to avoid triggering further hooks down the line, then you're using it wrong. Since React.useCallback is ostensibly just React.useMemo wrapped around a function, this note in the documentation is just as applicable:

  You may rely on useMemo as a performance optimization, not as a semantic guarantee. In the future, React may choose to “forget” some previously memoized values and recalculate them on next render, e.g. to free memory for offscreen components. Write your code so that it still works without useMemo — and then add it to optimize performance.
jdjb··on Have Online Reviews Lost All Value?
I have a few reason why I almost exclusively shop online at Amazon. I try to trust as few companies as possible with my credit card details. Amazon having nearly anything I need makes this easier and convenient.

I prefer the convenience of a brick and mortar store (the convenience being able to browse the products in real life and take it home with me immediately) but it's not always possible to find what I'm looking for locally.

Lastly, for every person complaining here on Hacker News about their one anecdotal issue with Amazon there's thousands of products being shipped every minute that have no issue. Amazon mostly works, though I wouldn't trust it for very large fragile things.

jdjb··on Qt for Python available at PyPi
There's nothing wrong with hoping a freely licensed open source competitor will come along and lower the cost of developing in the space.

PyQT are free to extract fees from the ecosystem as long as they can, just as some open source devs are free to try to eat their lunch money.

jdjb··on Yelp’s Six-Year Conflict with Google
For me it's not that Google is more trustworthy, but that their influence and abuse of monopoly position doesn't affect me as much. As a developer I'm well aware of my options for search and operating systems.

I can choose not to use an Android phone. I can choose not to use Google search, block Google domains in my hosts file, etc. While the alternatives are probably not as pleasing or convenient, I can definitely get by without Google.

I can also get by without Microsoft. I've used Linux almost exclusively for 15 years now. But choosing to stick on Linux has been made harder with Microsoft's monopoly. It's easier now but I can remember when it was very difficult to find good hardware to run Linux and not have to pay a premium or pay for a Windows license even if you never wanted Windows (and definitely didn't want to pay out of principle).

As far as I know, Google's dominance on search doesn't affect my experience when I use other services. I haven't seen a "Halloween documents" event out of Google's camp.

jdjb··on WhatsApp backdoor allows snooping on encrypted messages
They should also add a toggle that prevents the client from retransmission to unknown keys without human approval.
jdjb··on WhatsApp backdoor allows snooping on encrypted messages
Then don't use a messenger that promises end-to-end encryption. Client side encryption is all about ensuring only clients that hold private keys can read messages delivered to them.
jdjb··on LiChess: Learn from your mistakes
Thibault simply wants to deliver the best online chess experience. Period.

It's purely donation driven and he pulls a small salary from whatever's leftover after buying enough servers to keep the site up.

jdjb··on To Build a Better Ballot
Yeah, that survey was incredibly lackluster. Also felt some of the questions were pretty leading.

Questions like implying online voting would lead to higher electoral costs or that a more mixed representation in the house would immediately slow down government. While some of those effects may occur, it seems disingenuous to pick out one random negative effect to single out in a questionnaire like that.

jdjb··on Programming by poking: why MIT stopped teaching SICP
I wonder how much of this is due to the idea: 1) non-technical users need to be able to use our software. How much code today is about preventing users from doing something they should know better? 2) we're less and less able to say "no, that goes way beyond the project's scope" to our bosses. Our bosses will quickly reply "yeah well Google's ______ does it, so why can't we?".
jdjb··on Show HN: Test your JavaScript modules simultaneously in 32 different versions of Node.js
Very nice project. I built something similar for PHP: https://github.com/vectorface/dunit
jdjb··on People with names that break computers
That, and we have bosses who don't believe us that a single string for first and last name won't work for everyone.
jdjb··on JavaScript web apps considered valuable
And build it for multiple platforms. Unless you only care about one.
jdjb··on Before I Can Fix This Tractor, We Have to Fix Copyright Law
Arguably, the only reason you have to worry about the lawsuits is because of stupid IP laws in the first place though.
jdjb··on Give Google Contributor a try: Pay to remove ads
As soon as their content hits my client though, they don't have any right to control what my client does with it.
jdjb··on The HTTP/2 implementation
Browser? OS?

HTTP/1.1: 2.06s HTTP/2: 0.45s

with Chrome 45 on 64-bit Debian 8

jdjb··on Google Play Music – free, ad-supported radio
My bigger issue that two clients cannot be listening to music at the same time, even if you're a paying member.

I'll often forget to stop streaming the music at work and start listening to it on the bus on the way home. My workstation at work then fights for control of the service with my phone and every other song drops out with "another device is using the service".

jdjb··on To Apple, Love Taylor
Something tells me we'd see a direct correlation between the amount of lobbying and the amount of legal backing your "product" needs in order to have value (copyright protection, patents, brand trademarks, etc).
jdjb··on Waiting for Dark: Inside Two Anarchists' Quest for Untraceable Money
Also no way to hide what you buy from your family, friends, co-workers, employer, future employers, etc. No way to hide what your company spends its money on from its competitors. No financial privacy at all for anyone doesn't sound like a goal we should be pursuing.
jdjb··on Forgotten Corners of World of Warcraft
Guild Wars focused on your synergy with your party. The content got harder but your character stats didn't improve. You got a few new skills at your disposal (and eventually 1 elite skill) but mostly it was about understanding the game mechanics and how to work as a team better.

This also meant that not every mission was necessarily more challenging than the last (in Factions there were some missions that were much harder right after leaving noob island than those deeper in the game play like in the Luxon/Kurzick areas).

jdjb··on GitHub hit by DDoS attack
I use NoScript as well (and I wish more people would) but to be fair I doubt the users who were part of the botnet even noticed it at all. It's only github who would've benefited from these users running NoScript.
jdjb··on Redesigned GNU C Library manual
And yet the whole thing doesn't load if you block javascript. No content at all.
jdjb··on Apple iOS Hardware Assisted Screenlock Bruteforce
Even on more modern Pokemon systems (nintendo DS) you could upload a pokemon to the cloud servers and watch the network traffic lights on your router. Shut off your DS as soon as your pokemon had been uploaded and when you start up your game again, the pokemon is still in your party. It's also in the cloud so you connect and pull your clone off the server.
jdjb··on The time has come to stand up for the GPL
Yes, the other author has the ability to choose to not open source their code. But they absolutely do not have the choice to not abide by whatever license was applied to the libraries and original works they are building from.

The freedoms awarded by the GPL are not intended for the authors of the derivative works but for everyone else. The restrictions in place only prevent the author of the derived work from restricting everyone else.

jdjb··on The time has come to stand up for the GPL
It's pretty simple choice really.

If your goal is simply to get your code used by other people and corporations, under virtually no restriction with what they do with it, then the GPL is not a good choice.

If your goal is to let others use your code for the greater benefit of everyone that uses your code, then the GPL enforces that (at least to the extent it can be reasonably enforced).

jdjb··on The time has come to stand up for the GPL
This is completely wrong. Purchasing a product that contains code licensed under the BSD license does not ensure you get access to the source (unmodified or otherwise). It is the biggest difference between the GPL and BSD license.

All the BSD license ensures is that if they distribute the code they have to retain things like author retribution.

jdjb··on The time has come to stand up for the GPL
How exactly is the unresolved tension keeping things in check? The untested nature of how far the GPL can hold up in court is exactly why we see violations of the GPL so flagrantly. It's exactly why violators of the GPL are willing to let this go to court (if there was ample precedent of the GPL being upheld it is reasonable to assume most corps would choose to settle issues like these before they escalate to a law suit).

If the GPL is never proven to be upheld (at least to the point where most legal corporate accepts it) by the courts then it is a meaningless licence that only matters to free software advocates and geeks.

jdjb··on Show HN: Discover your ranking on GitHub
Is the score formula correct?

sum(stars) + (1.0 - 1.0/count(repositories))

So if I have 3000 stars and 10 repositories, you give me a score of 3000.9? Shouldn't it be multiplied?

jdjb··on Lenovo Statement on Superfish
"We thought that performing an SSL MitM on our users to serve targeted ads would improve their experience. What a shocker when we found out we were wrong!"
jdjb··on Microsoft hits out at Google team over bug report
They're the ones doing the work of finding these vulnerabilities and being nice enough to report this to Microsoft (and the public) at all.
Page 1 of 4Next →