Canadian software engineer living in Europe.

  • 10 Posts
  • 324 Comments
Joined 1 year ago
cake
Cake day: June 7th, 2023

help-circle



    • Keep everything in an external git service. You can use third party services like Codeberg, GitLab, or GitHub, or host your own on your NAS.
    • When you’re not working on a project and don’t think you’ll need to reference it for a while, just delete it from your laptop. The code always lives in git anyway.

    In terms of local storage, I usually have everything in ~/projects/project-name, and I don’t have tiny file size limits because I don’t use FAT32 filesystems — that’s the default filesystem you usually get on USB sticks and external hard drives you buy. You have to format those drives to something like EXT4 (Linux) or NTFS (Windows) or you get stuck with FAT32 which has 2gb file sizes.





  • Whether you like it or not, politics is into you and directly affects your life. It’s good to learn more about it.

    “Neoliberal” refers to an economic push (typically championed by right-wing parties). The short explanation is that neoliberal proponents want to strip regulation wherever they can, believing that “the market” will provide what the regulations were guaranteeing (safety, competition, etc.) organically.

    An extreme example would be removing any controls on food safety. The idea is that if a company gets a reputation for producing toxic/dangerous food, the market (ie, the people buying food) will naturally avoid that company because they don’t want to get sick and that company will go out of business. That risk is what keeps them in line.

    A more common example is vehicle emissions. We regulate a lot of terrible stuff out of car exhaust — lead for example — because the market refused to do it themselves.

    Opponents to neoliberalism point out that:

    1. The massive amount of money in the hands of corporations means that their ability to manipulate the market (through advertising, media manipulation, or intimidating/buying their competitors) means that the market is insufficiently free for such policies and…
    2. That (perhaps most importantly) the individual often will not make purchasing decisions based on what’s good for the broader public.

    Also, a few thousand dead kids due to some executive deciding to add arsenic to corn flakes to reduce costs is too high a price to pay for “liberalising” the economy.


  • 5-over-1 refers to a building/zoning design where you have one floor of commercial business space on the ground (typically small businesses, cafés, etc.) and then around 5 floors of residential apartments above it. Your classic “mixed use” neighbourhood: great for land values, walkability, sustainability, transit, cycling, etc.

    I’m dubious about the claim that neoliberal policies naturally lead to this design though, as those with the money routinely seem more interested in paving a few hectares of green belt and filling it up with single family homes.

    What would be helpful is for zoning bylaws to start redrawing cities with more 5-over-1 areas, replacing wide/noisy/dirty/dangerous through roads with narrow winding ones and broad sidewalks littered with trees and cafés.





  • So my first impression is that the requirement to copy-paste that elaborate SQL to get the schema is clever but not sufficiently intuitive. Rather than saying “Run this query and paste the output”, you say “Run this script in your database” and print out a bunch of text that is not a query at all but a one-liner Bash script that relies on the existence of pbcopy – something that (a) doesn’t exist on many default installs (b) is a red flag for something that’s meant to be self-hosted (why am I talking to a pasteboard?), and (c) is totally unnecessary anyway.

    Instead, you could just say: “Run this query and paste the result in this box” and print out the raw SQL only. Leave it up to the user to figure out how they want to run it.

    Alternatively you can also do something like: “Run this on your machine and copy/paste the output”:

    $ curl 'https://app.chartdb.io/superquery.sql' | psql --user USERNAME --host HOSTNAME DBNAME
    

    In the case of the cloud service, it’s also not clear if the data is being stored on the server or client side in LocalStorage. I would think that the latter would be preferable.



  • It’s actually rather brilliant.

    In an (d)effective 2 party system like ours, running to your extremes has few costs, since the electorate tend to vote parties out rather than vote them in. When the public tires of the ruling party (it helps if you own most of the media) and you do get elected, it’s by:

    1. your base that votes for you regardless
    2. new voters from the fringe you’ve been courting
    3. people who’ve convinced themselves that you’re just pretending to be crazy to court that fringe.

    Now you can do whatever you like and if people complain they get shouted down by both sides: “What did you expect? They literally told you they were going to do this.”

    In short, it’s how you drag the Overton Window toward that extreme. If only the Left in this country had figured this out years ago, we wouldn’t be saddled with Sir Red Tory.


  • It’ll take at least that long for the EU member states to forgive the UK for its fuckery. The memory of Brexit will have to fade enough in their minds before it’s even considered.

    • It’s doubtful that the same deal will be on the table, as it would be politically untenable domestically.
    • Getting France and Germany on board will be hard, given that they enjoy much more power in our absence.
    • The risk of our exit again when our xenophobia acts up would have to be objectively low, or no member state would take the chance on approval lest we fuck over their economy again when we throw an egocentric racist tantrum.


  • There it is! Thank you! It’s a process owned by root called kworker/0:0+kacpid. Any idea what that is?

    [Edit 1] Interestingly, I can’t even kill -9 it.

    [Edit 2] With kworker kacpid to work with, I did a quick search and found this SO page that has some interesting information that I only partially understand, but the following worked like a charm:

    # grep -Ev "^[ ]*0" /sys/firmware/acpi/interrupts/gpe?? | sort --field-separator=: --key=2 --numeric --reverse | head -1
    /sys/firmware/acpi/interrupts/gpe09:11131050     STS enabled      unmasked
    # echo disable > /sys/firmware/acpi/interrupts/gpe09
    

    It’s not clear to me what an interrupt is or whether this gpe09 value is meant to be persistent across reboots, or why this only seems to be happening in the last couple months, but if I can make it go away by running the above from time to time, I guess it’s alright?




  • Generally, I agree. I think what I meant by the above is “how would you tell someone how to use the thing”. My favourite example is email vs email-with-PGP.

    How do you send an email?

    1. Open client
    2. Click “send new email”
    3. Type your email
    4. Click send

    How do you send a PGP-encrypted email

    Let’s first talk about this thing called a “keyserver”. Once you know what that is, you’ll have to go out and find some keys to add to it. We’re not going to talk about styling your message 'cause that’s not something you should be able to do… etc. etc.