651 karma · joined May 14, 2020
If there were enough people out there to stand up and make a difference by going somewhere else and hitting these companies where it hurts (stop giving them money and personal data to mine), then maybe it would start to make a difference.
And this kind of extreme binary categorization seems to be everywhere lately...
- Against some policies of some country's authoritarian regime? You're a racist!
- Vote for team blue (red)? You must despise everyone who votes for team red (blue)!
- For bike lanes? You're anti-car!
- Pro-carbon tax? You hate the economy!
- Concerned about men's issues? You must hate women!
It's almost as if holding any nuanced view and ability to debate about the many complex situations we face in life means you're more than likely to find yourself despised by those in either of the extreme camps on any given issue, which unfortunately seem to be growing to include more and more people as time goes on. As this unfolds, we're less likely to be able and willing to find compromises, have empathy for, and better understand one another. How are we going to come together to work on solving some very hard problems of the future when we're all just shouting past each other, thinking that anyone who doesn't hold the exact same set of viewpoints as one does on so many varied issues is an idiot?
To be clear, I'm not disagreeing with you in regards to the harm caused in the specific case of CSAM, but I can't help but see this as a slippery slope into having the ability in the future to label and act on other kinds of information detected as objectionable (and by whom one must also ask), which is itself incredibly harmful to privacy and to a functioning free society.
For non-negative values less than 2^31, these will happily cast among themselves "correctly", but outside that range you will run into trouble.
As one example of what can go wrong, consider the following code, where we have a 32-bit int (signed) and a 64-bit size_t (unsigned):
size_t s;
int i;
s = 0x00000000f0000000;
i = s;
s = i;
printf("0x%lx\n", s);
We've first assigned to s a valid value for its range (but greater than or equal to 2^31), then assigned s to i, casting it to i's int type (hint: i is negative here because of the int type's sign bit), then assigned i's value back to s, casting it back to a size_t (hint: this performs sign-extension of the most significant bit). The final value of s, as printed by the last line above, you will find is 0xfffffffff0000000, which is not the original value we assigned!
[0] Section 5 from https://download.microsoft.com/download/7/8/8/788bf5ab-0751-...
For example, secure boot and anti-tamper measures are often used to lock out users from being able to examine or modify equipment and software for their own benefit. Sure, these measures can be argued as ways to "protect" the user from themselves (preventing inadvertent/unsupported changes of hardware causing malfunction, or preventing the installation of malware, and so on), but to rob the users of their agency to decide what's best for themselves in these circumstances is fundamentally disrespectful.
Nonetheless, I hope your employer is in a position to be part of a movement to buck the trend here, but based on what I've seen in the industry over the years, I've learned to be very skeptical whenever I hear of such "security" capabilities being thrown around as universally beneficial for everyone.
First, this clouds the arguments being made against real racism (or at least what I think most people would have agreed on what this term meant in past years), and this weakens the voices of victims of that racism. Second, this gives governments and regimes a powerful mechanism to silence any dissent, by using the cover of racism to shut down cricitism far more effectively by potentially painting anyone who criticizes them as a racist.
The first point risks the word "racist" becoming a blunt label that ultimately reduces its effectiveness. Consider that when just about anyone could be considered a "racist" for discussion or behaviour that arguably has nothing to do with racism, then the term itself really starts to lose its meaning and risks devolving into just another derogatory term again any person with thoughts/behaviours one disagrees with. The second point has the insidious effect of shutting down any honest discussion about the statements and actions of governments and regimes around the world, arguably to the detriment of the vast majority of people in the world.
To me it seems more and more like the label "racist" is being thrown around with far too wide a net. As a result, the real victims of racism get their voices drowned out, while other interests get to co-opt the term as a powerful label to use for pushing their own agendas.
Sure they do, although almost certainly nowhere near enough to sustain our current situation and the system it's built atop of (from which the holders of capital seem to have benefited immensely), although perhaps this is exactly the point you were making.
It might not be recognizable to most people living in modernity today, but in general humans will always trade (by some means, not necessarily with "money") with other humans whenever relative specializations occur between them, which even in small groups is likely to happen naturally.
After all, it's not the exchange of paper bills or service to capital in particular that makes an economy, and there is always going to be demand of something and some supply of some of those things as long as humans are around and interacting, regardless of how miserable the existence is, or how "inefficient" such a system might be.
They had just wiped their iPhone in an attempt to clean it up and restore the software to factory condition, and afterwards it required an OS software update for some reason (okay, sure), so this was done. After this update, some kind of "activation" was required (why?) before the device was usable at all for anything meaningful. This activation step failed, showing no particular reason for failure (only along the lines of "your iPhone couldn't be activated, call support"). Over the phone support wasn't helpful in giving any further details, so ultimately the device was brought to Apple where they used some diagnostic tools and determined that some hardware component (possibly cellular antenna?) was malfunctioning, and most likely this was preventing the activation from continuing (again, why?). The Apple tech said they could do nothing to repair the device (no hardware fix, no software fix), and as a "fix" offered only some sort of insultingly low-value buy-back option instead.
There are so many problems with this scenario:
1. Why was "activation" required to use the device at all at this point? The owner just wanted to use it to take some photos, listen to music, watch videos, and do some simple web browsing...No Apple services required, so why the forced requirement to activate the device?
2. Why was no useful information presented to the user about why the activation step failed, so they could at least attempt to troubleshoot for themselves (or with the help of someone of their choosing)?
3. Why does an otherwise unnecessary hardware sub-component (from the point of view of the device "owner" in the context of their usage) misbehaving prevent the ability to activate or otherwise use the device for some valid purpose?
I should mention that the device was out of warranty by this point, so it was not expected that any hardware repair would be at anyone's expense but the owner's, but this entire situation to me just looked like a pointless software-induced device disabling, for no good reason.
After witnessing such a situation, I can't help but wonder how much of this hostility and disrespect towards their customers is just so Apple can drive more new device sales, or what else is going on, but it certainly gave me a lot to think about where this particular company (and the industry in general) seems to be headed.
Consider two broad but otherwise generally viewed as unrelated (however, not mutually exclusive) skillsets: A and B. Lots of people are great at A and lots of people are great at B, but the intersection of the two is generally small (perhaps "law" and "programming" could be reasonably argued as examples of A and B here). There are large numbers of people employed doing A, and similarly for B, often quite successfully in both cases.
Now, there's some much smaller set of individuals who have a reasonable grasp of both skillsets A and B. Recall that they're not mutually exclusive (are any skillsets, really?), just not often seen together. It seems that this set of people would be uniquely positioned to potentially provide immense value over the perhaps small (but even more marginally serviced) field of needs where A and B intersect. The value here isn't in the individual's capability for A or B in isolation, but in what they can provide where A and B cross.
I realise the above is a big generalization and perhaps hugely oversimplified, but it's interesting to think about the different, seemingly unrelated skillsets where there may be great potential from some cross-pollination of ideas to bear new fruit. I do think that "programming" in general, perhaps in some form not as it's conventionally understood today, is becoming somewhat of a new literacy, at least to the extent that there seem to be countless existing businesses or fields of inquiry that could benefit from programmers who are also experts in their traditional domains. However, one could also come up with lots of different examples for A and B above, which may not even include programming at all.
Both the core simulator [0] and geographical/weather/ocean data handling library [1] I wrote are free and open source, in case it might benefit anyone else, or if they're interested and would like to contribute. :)
Some months ago, I had also shared it as a Show HN post [0], and I am thankful for the feedback received then, but I will be the first to say it's still not really ready for "prime time" despite continuous improvements since. Mostly I've been focusing a lot on the simulation and back-end side of things, but I do think it could benefit from a more modern UI (maybe someday).
Nonetheless, we have a small community of virtual sailors who regularly participate in races, and I could not be more grateful for all their feedback and help with this project so far!
I'm also curious how (or if) we're going to learn to collectively solve some of these long-term problems before many of them really start to turn into those specific, concrete, short-term threats to us as individuals, at which point many of the "easier" solutions may no longer be effective anymore.
I've also found many Apple fans have an unhealthy obsession with Apple bordering on mental disorder, but my anecdote is about as pointless as yours here.
There are also plenty of people in both "camps" who just want a device to go about their business and, as is their choice, don't care much beyond "what costs less" (however they might define that), or what their friends/family use or recommend, or maybe just what fits a very specific use case of theirs.
I've used both types of devices, and there are some things Apple/iOS does better and some things Google/Android does better, and certainly some things neither does well. The specifics of that will always be a subject of disagreement depending on who you ask.
Even beyond software or cloud-based tech, this can be useful to think about and apply even more broadly in life, for example when consideing any variety of real or virtual tools, platforms or services that you may depend on.
All right, then I really need to ask: it took you 13 years of using Ubuntu unhappily before you decided to switch to Windows?
> Horrible font rendering that makes me not even want to code
I know every system does font rendering a bit differently, and what people like to see really seems to have a big subjective factor it. Personally, I've always had a preference to how fonts are rendered on, for example, Ubuntu compared to Windows 10, especially with 2x scaling on high-DPI displays, but I acknowledge everyone's different.
> But the most important thing is that I am just tired of tinkering. Nowadays I just want to open my computer and get on my programming job and have everything just work.
Not disagreeing with you on this point. However, when it comes to "tinkering", I find all the cloud-connected nonsense and "extras" that Windows comes with turned on and thrown in your face by default after an install a much bigger annoyance, and I often have to go digging through all kinds of settings windows to get a good deal of that turned off, and even then it's not always possible (see telemetry, for example). A new Windows 10 install is a lot more effort in "tinkering" with all the settings into some sane configuration than any Linux distro where you're not compiling your own kernel and/or packages (and maybe even then).
Unless printf() is ultimately hooked up to some text-capable interface, like a UART with a terminal on the other end. :) Although I will agree that in general this isn't a typical use case for embedded microcontrollers in the real world.
For myself, after getting something simple like the above working, it was a gateway to much more experimentation of further possibilities, and ultimately I ended up making an interactive shell [1][2] with some built-in utilities and text games I also wrote that runs on a variety of AVR microcontrollers (those very same Arduino boards I had when starting out).
[1] https://community.atmel.com/projects/avrsysh-systemshell-som...
One of the things that's easy to take for granted these days when working on desktop or server software is a mostly stable network connection, but on mobile this goes completely out the window, or down the elevator shaft as the case may be. :)
The other thing that really can't be discounted here is that a lot of the HN crowd are likely the default go-to people in their circle of family and friends for this sort of stuff, and in many cases they may also have major purchasing influence and technical decision making power in their respective businesses. Turning off one of them may be inconsequential on its own in the short term, but it could seriously add up to a lot more destroyed mindshare and significantly more "lost" sales over time.
There was a time I remember when various things with Linux installations were often quirky or troublesome to get working well with certain laptop hardware, but I'm convinced now that this situation has improved tremendously since then...at least from my recent experience and hearing other good things about the Dell XPS and various ThinkPad models, and of course System76 (although I haven't had a chance to try one of those myself yet).
And all this right after crossing, along with five of his companions, 1300 km of some of the most treacherous stretches of ocean in the world, in a modified lifeboat! The entire story of that whole expedition really is amazing.
Ultimately I think there needs to be a balance here, and most importantly users ought to be made more aware of what they're usually getting when purchasing DRM-protected content: a limited license to consume their paid-for content for a (possibly unspecified) period of time on a specific set of devices under certain circumstances that often lie well beyond their control.
I'd like to think that some kind of free market-based approach of consumers choosing to support the content creators who take a more balanced approach to DRM (or just avoid it entirely) would "solve" these problems, but I'm not too hopeful of this ever working out given the enormous knowledge asymmetry between content creators/distributors and consumers about how stuff like this works.
I'm really fascinated by their approach to building datacenters, which seems to include taking over disused industrial sites and converting them for datacenter use. For example, their datacenter just outside of Montreal is on the site of an old aluminum smelter [0]. In this case, I'm sure the proximity to plentiful and cheap hydroelectric power nearby (as would have been beneficial for aluminum smelting in the past) was a major factor in the choice of location as well.
[0] https://baxtel.com/data-center/ovh-beauharnois-quebec-bhs