HN user

williamvds

324 karma

Contact: hn@williamvds.me

Posts1
Comments72
View on HN

That video is also a great example of just how abusable the bailiff system is.

All the "agents" care about is getting the money for their client. For this, they're willing and apparently able to abort at least one flight, and possibly others, costing people on those flights possibly thousands each with rebookings etc, all for £3k.

I've only has the displeasure of interacting with a bailiff once, when I was a naive student. The guy knocked on the door asking after a previous tenant. We went through for any mail addressed to the guy he was after, and while doing so seemed to revel in explaining how he had the power to barge in by force and arrest me if we wanted. In the moment I was slightly incredulous but nodded along. Was only after the fact I researched to find you're within your rights to turn them away unless they're accompanied by actual police.

Seems like the perfect job for power-tripping sods.

Far from being douchey, I think you've hit the nail on the head. No one is perfect, we're all incompetent to some extent. You've written shitty code, I've definitely written shitty code. There's little time or consideration given to going back and improving things. Unless you're lucky enough to have financial support while working on a FOSS project where writing quality software is actually prioritized.

I get the appeal software developers have to start from scratch and write their own kernel, or OS, etc. And then you realize that working with modern hardware is just as messy.

We all stack our own house of cards upon another. Unless we tear it all down and start again with a sane stable structure, events like this will keep happening.

I don't claim to offer a perfect solution, but the first step is admitting the problem. I'll be seeking out alternatives myself.

with good ownership management

This part is questionable. As the advertising news highlights, a private company operates primarily in the interest of its owners. For a venture-captial backed company, you expect to see the cycle of benevolence in order to grab market share, a model that induces lock-in (social lock-in, in this case), followed by exploitation (advertising and the other predatory FOMO stuff they have with the subscriptions).

The writing was on the wall from the get go, but people fell for it anyway. And now I'm hit by it too because I have to use it to hang with my friends.

It's all so tiresome

Maybe, just MAYBE, people will start reconsidering putting their social communities on this awful service and locking their social lives to it.

I'm gonna look into hosting Matrix servers or something.

I expect that soon their policy of banning client modifications (for a web app) will be applied to ban users with adblockers.

Opening everything and making it free during strikes sounds like a great way to do it, but I don't think the power that be would allow it.

I've never seen a barrier hopper stopped, but I'm sure the bobbies would be sent in if thry announced everyone would be doing it.

There's also the problem of disconnected services - the purple line is Rail, so while they use the same stations, they can be on strike when the Underground isn't. So you could go through open barriers at a rail station but you'd find the barriers shut trying to leave from an Underground station.

I'm aware of just how under invested the rest of UK infrastructure is outside of London, but that doesn't make complaints about its services invalid.

With the billions spent on the purple pine you'd reasonable expect a decent quality of service that doesn't involve so many cancellations, delays, and days of complete deadlock. Bet if you look at to comparable European countries this reliability would be a joke to them.

The train being every 5 minutes is only for central London, if you live further out you're only served by at most 1 in 3 trains. Missing one sucks much more, during rush hour you can bet you'll be crammed like sardines if you're not early.

I've only been commuting twice a week for about a year, and there have been several occurrences where I get to the station and all upcoming trains are delayed or cancelled due to some line failure. The alternative route takes about twice as long if I want it to cost the same. You bet your arse TFL won't give you a refund if your regular route is untenable.

London gets more investment, definitely. But even so the outcomes still lag behind what you'd expect from the capital of such a wealthy country.

I respect your intentions, and if the CLA is truly restricted to relicensing as MIT or dual-licensing, I'd be more willing to use it.

I would hightlight that the dual licensing in particula introduces the issue of sharing any profits with other maintainers, if there are several. Personally if I'm submitting minor patches I would not bring this up, but it deter people from wanting to be more actively involved.

Depends on the size and scope of your project, I guess.

As soon as I see a CLA I'm turned off even using a piece of FOSS software.

I get it's usually just the lawyers protecting the company just in case a contributor tries something dodgy in the future. Out of principle however, I resent the broad assignment of copyright and granting them the right to relicense.

Of course I expect most of these projects would never exercise that right, but the mere fact that they _could_ take my Free work and make it non-Free is very disturbing.

So I'm simply not going to use it. I'm not going to get invested, then find a problem that I could theoretically submit a patch for. Rather than think of all the users who would benefit from my change, I'll just see it as free work for a megacorp.

Oh hey, I also worked on Company of Heroes, but a good decade later while porting it to iOS. It was definitely among the nicer codebases I worked on at that job. But we did some unholy things to port it and get it working with touchscreens, I'm glad none of the original team have to see that. Decently chuffed with what we managed to bolt on to the existing UI system though.

Libraries are a public service, and free WiFi is often provided along with that service.

In this case that service is being deliberately sabotaged for one of the most vulnerable groups in society.

Internet access is so necessary in modern life that it should be considered a citizen or human right.

Even if you subscribe to the ideology of the homeless being lazy leeches, the counter-effectiveness is quite obvious. Homeless people could be using the WiFi to access online banking, job, and housing applications. Things that would help get them off the street.

“a media driver your computer needs is missing”

If you installed the N version of Windows, try manually installing the Windows Media Center.

I had problems with NVIDIA Shadow play which were resolved by installing it.

Apparently the application is omitted from the N version because of European antitrust action ages ago.

Ignoring the annoyances of Jira-style project management, here's some things I hate about Jira (cloud, on Firefox on Linux):

- the keyboard hotkeys aren't customisable, and often fire when I'm using alt+numbers to switch tabs, so when I come back to the Jira tab it's on some report page I don't care about

- sometimes the content won't render when switching pages, requiring a full refresh. It's difficult to tell whether it's just being slow to load, or it's gotten itself stuck. Sometimes I sit there for a few seconds like an idiot until I remember to hit refresh

- there's pretty poor support for ticket templates as far as I can tell. My company's method uses a confluence page with a table with the templates, then uses the bulk "create Jira ticket" option. But this edits the wiki page for some reason, which you need to revert. They're probably expecting you to duplicate a whole template page before generating, but the editing part could be an option in the generator wizard. With this method there's no way to go back and amend the auto-generated tickets' titles and descriptions etc. You're stuck with manually editing all of them along with the template. Surely templates are a common enough use case that warrant a dedicated workflow?

which is a very crass assumption in 2023

No, I think it's a very sensible assumption. As far as I can see, virtually every GNU/Linux OS has shared libraries in /use/lib, and it even has crude support for versioning.

When these assumptions break with Nix, I'll grumble about it, but I won't blame it on the original package. Nix's approach is a break from the norm, so really it has the responsibility of maintaining compatibility.

But it's quite straightforward to write your own nix packages based on upstream python packages

Things break down when you have to stick to specific versions of packages, at which point creating/overriding nixpkgs quickly becomes untenable. My idea is to use Nix to complement the existing standard standard Python tools everyone uses.

Thanks for the great write-up. As someone who somewhat recently got into Nix I've struggled with many of the same problems.

With the whole "your system is read-only" bit, I'll add that Nix can make trial and error editing of config files quite tedious. Editing and reapplying the configuration is fast, but not as fast as editing a file and `systemctl restart`ing the service in question.

On development environments I've also had similar problems. My workplace uses a combination of Python and C++. While Python has an established package management system, C++ is still in the early days. The traditional is just use what your OS provides, but the production OS is different from the development OS, the former being much more "stable" (and therefore with older package versions) than the latter. This has caused plenty of headaches with features not being available, and is holding us back from using newer C++ features, or even adding dependencies easily.

Being keen on Nix, I've been testing out using it locally for dependencies.

With C++ it mostly works. Some annoyances have been packages not providing CMake or pkglib config files. Some packages don't quite have all the possible features enabled, and it's not trivial to enable them (I struggled with arrow and liborc).

Then comes Python, which introduces the same nightmares which the author experienced. Python packages that use system shared libraries are troublesome. The buildUserFHS solution seems like the right approach when mixing and matching, but it introduces a few more problems (the details of which elude me right now).

An additional problem is portability. Theoretically one could use `nix bundle` to ship whole applications, but a shared library is a different matter. We've got a Python module written in C++ module, I'm not sure a module built by Nix would be compatible with the host's Python, given the libstdc++ differences and so on.

This struggle is topped with the fact I'm the one going against the grain, trying to sort out the issues I hit, for my own purposes only. I do hope I manage to prove to myself that it's a tenable approach, and eventually can propose it to the wider team. But for now I know it's a dream.

With bash's HISTIGNORE, I can consciously prefix my command with a space to prevent it being added to history.

ls I usually don't care about, but there are directories I regularly cd to, so it would be nice to have those in history.

I can think of a neat heuristic, which is that I often cd to an absolute or home directory, so if the path starts with / or ~ I'll possibly want to cd there again in the future. Changing to a relative path on the other hand, I tend to do more rarely and while doing more ephemeral work.

As I understand the history, the US started supporting China around the time of the Carter administration when Deng Xiaoping was in power. That's when China reformed to incorporate much more capitalist aspects in their economy. The Americans thought this was "their guy" who would bring capitalist democracy to China. Unfortunately they were mistaken, the CCP never had any intention of losing grasp of its authoritarian rule.

US doesn’t want to lose control of the mostly peaceful, prosperous, and free rules-based order it created after the disastrous first half of the 20th century.

despite its mistakes and flaws along the way

"Mistakes and flaws" is one hell of an understatement.

The global suppression of any leftist or communist leaning/related movements (operation CONDOR et al. ). The funding of guerilla and other violent groups in order to install US-friendly governments, or simply exterminate leftists (Contras, Indonesia in 1965). The installation or support of many dictators who massacred and sacked their own people (Noriega, Pinochet, throughout South America). The outright invasion of a few countries who didn't play ball.

The modern US is relatively harmless, and yes, a world dominated by the CCP would probably be worse. But let's please not forget what the US did to achieve its current world order.

You can mostly avoid macros now, thankfully. I'm particularly thinking of things like compile-time reflection, some more complex type introspection. Things that would let you get rid of some code generation like D's mixins perhaps.

Existing c++ reflection has mostly been done with macros, which you sacrifice readability for by declaring your class with macros instead, and I believe is often a runtime thing anyway. Complex type metaprogramming is possible, sure, but often so obtuse and illegible I'd dare say the preprocessor is a better alternative if it works.

I agree on the practicality aspect. When programmimg in C, one learns to accept these preprocessor hacks.

When programming in C++, where limited compile and type metaprogramming exists, one is constantly hitting the limits and it causes endless frustration. I go through a mini cycle of grief until I give in and use a macro, or an otherwise less elegant implementation.

You're right in that it has taken years (decades, even) to standardise some better alternatives to macros. But even now C++ lacks some of their power.

I have to wonder how much faster alternatives would have been implemented, if macros weren't "good enough" for so many use cases.

I have to assume other young people, like myself, want a mostly furnished place because dragging a ton of furniture around is very annoying. Especially when you're forced to move around every few years because the rents keep hiking up.

And I don't think the adverted price are representative of how much you'd end up paying in just rent. My current place went up £200/mo from £1800/mo advertised, because the agent went back to us (and the other applicants), telling us other people's offers, and goading us into increasing our offer.

Anecdata: I share a 2 bed in Ealing, £2000/mo in just rent, council tax band D which adds about another month's rent a year. If I weren't working in finance and paying more to make up for my housemate's lower salary (my ~70k/yr to his ~£30k/yr) there's no way we'd be able to afford this place. We'd have to find somewhere in a worse location, with poorer quality, or both.

I don't see it as stupid. I see it as an intentional delay tactic to maneuver around a regulator which, so far, acts far too slowly and imposes weak fines in response to flagrant privacy lawbreaking.

As long as Facebook can treat the fines as a cost of doing business they're happy. That, and as long as their (bullshit) value proposition of personalising ads by collecting as much personal data as possible is unaffected.

I'd deleted my Facebook account years before, but after that begrudgingly signed up to Facebook Messenger because my friends insisted on using it (which are separate accounts apparently).

At some point, a couple of years ago, I decided enough was enough (probably when they forced me to accept some new anti-privacy EULA which otherwise blocked me from using Messenger Lite).

There was no delete account option in the app that I can remember. I searched and searched for at least an hour. Facebook's support site was a labyrinth of circular links that edged around actually deleting my account. I had no Facebook account, so I couldn't log in to delete it on the website's account settings.

I just wanted an email I could send the request to. I finally found one for a data protection officer or some sort. Sent them an email, got another one back redirecting me to the website. Obviously that wasn't helpful, so I sent them one of those GDPR deletion templates.

Didn't hear back, and checking a few months later, my account was still accessible.

Lack of support is a big killer when it comes to Android. The OEM drops support after a few years, then it's pure luck whether some benevolent dev picks up maintenance of a FOSS ROM like LineageOS. My phone was that lucky for a good few years, but now support for it has been dropped.

I don't think I have the time or energy to work out how to bootstrap, port, and maintain an Android distro for my phone. Conversely, the rest of my systems run off mainline GNU/Linux, which I am able to set up and maintain. I'd be happy if I could get a phone with a similar experience.

Yeah, true. In this case, I'm sure most teams did what mine did, and waited for the outage to be resolved. The development workflow and CI/CD is so tightly coupled to the Git remote, it would have taken a while to create and switch to another remote.

Git avoids the problem where the central service being down gets in the way of local development. Even in Git, that central service going down means degraded collaboration.

Normally a Git remote is just an ssh-accessible machine, and so pretty resilient. But GitHub is a lot more complex, so apparently that simple service went down, along with all the features they built on top of it