Skip Navigation
Daniel Quinn

Canadian software engineer living in Europe.

Posts 22
Comments 535
Exclusive-Trump would impose 25% tariffs on oil from Mexico and Canada under trade plan, sources say
  • The environmentalist in me is rather happy to hear this. Frankly, 25% is too low. Trump may be crazy, but if his trade war(s) mean higher prices on fuel for the biggest driver of climate change on the planet, I'll take it

  • TIL Connor Trinneer & Dominic Keating have a podcast called "The D-Con Chamber". Here they are interviewing Nana Visitor on her new book!
  • At one point in the interview, Visitor says something about an acres who refused to be interviewed because she didn't want Visitor to make money off of her. I didn't catch the name though. Who was it?

  • Recommend a laptop with good GNU/Linux support for a 3D artist
  • The Framework 16 looks pretty great. Repairable & upgradable, discrete graphics (AMD), and guaranteed Linux support.

  • Post your setup. no matter how uggo
  • Each Pi 4 has 8GB of RAM. With six devices, that's 48GB to play with. More than enough for my needs.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • This is what I get for trying to be civil. You're a terrible person and you should be ashamed of yourself.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • My first response to this was expletive-laden, but I think I might get through to you if I reign it in, so I'm trying to be polite here. Just understand that I am seething with rage while I type this.

    Hey there friend. You need to learn to park or stop driving. Seriously, you're endangering lives for your convenience. You get the whole damned road while everyone else is allocated the slightest fraction to safeguard ourselves from drunks, assholes, and morons pushing two tonnes of steel and glass at 60mph while they stare at their phones and you think it's ok to push kids on bikes into that channel of death because you can't be bothered to look for a legit parking spot? I get that your employer is pressuring you for better times, but you're literally breaking the law and that law exists for a reason.

    Every one of the 4 of the drivers I saw that day were parking on the cycle lane when they had multiple more reasonable options available to them:

    1. The driveways of those receiving the packages
    2. Around the corner in a safer area where parking spaces are allocated by the city for just this situation
    3. Blocking the road. I understand that this seems crazy to someone who spends so much time on the road, but blocking a car lane is an inconvenience. Blocking a cycle lane gets people killed.

    What you're doing is lazy, selfish, and dangerous. Those cycle lanes are barely safe as they are without constantly being blocked by selfish people who think that they double as a parking space. You already have nearly the entirety of the city for your vehicle. Leave these alone.

  • Canadian Billionaire Owns Israeli Team With Among ‘Most Racist’ Fans
  • I'm of two minds with them. On the one hand, they're doing more and better journalism than most Canadian media, but on the other hand Jesse seems to have a number of blind spots when it comes to Israel. That recent interview with the Israeli ambassador for instance was an embarrassment for example. He did everything he's often critical of other journalists doing when covering Trump: he platformed a liar, knowing he would lie, and didn't challenge him on any of his lies.

    I'm a bit behind on the episodes at the moment. Did they do a story of what went down in Amsterdam?

  • Canadian Billionaire Owns Israeli Team With Among ‘Most Racist’ Fans
  • Yeah it's really quite shameful how Western media has covered it.

  • Post your setup. no matter how uggo
  • Actually, as a web guy, I find the ARM architecture to be more than sufficient. Most of the stuff I build is memory heavy and CPU light, so the Pi is great for this stuff.

  • Post your setup. no matter how uggo
  • They're fanless and low-power, which was the primary draw to going this route. I run a Kubernetes cluster on them, including a few personal websites (Nginx+Python+Django), PostgreSQL, Sonarr, Calibre, SSH (occasionally) and every once in a while, an OpenArena server :-)

  • Post your setup. no matter how uggo
  • Seven Raspberry Pi 4's and one Pi Zero, mounted on some tile "shelves" inside some IKEA furniture.

    Ho ho ho

  • Canadian Billionaire Owns Israeli Team With Among ‘Most Racist’ Fans
  • They're horrendous. They marched in packs through Amsterdam chanting "There are no schools in Gaza" (because all the children are dead), pulled down Palestinian flags and attacked locals with metal pipes.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • Actually, I spent an inordinate amount of time building exactly this in my head for most of the day following these photos. There are two major obstacles that I can think of:

    1. Abuse. You will very likely get random dick pics and other terrible stuff sent to such a system. I suppose you could fight this by requiring registration with some id or something, but that's its own can of worms.
    2. I don't know how common it is to have GPS enabled by default on people's cameras. On top of that, even though I have it enabled on my phone, 1 of the 3 photos taken that day had grossly inaccurate GPS attached to it, so now I'd be looking at building some sort of friendly UI to allow people to fix the GPS from their photos.

    The server-side stuff is easy (at least for someone with my background) but the front-end is sufficiently complicated that I couldn't do a good job on my own.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • But why weren't they wearing their helmet/high-vis/body armour???

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • You'd think, but there are three levels of responsibility: the city council, the county council, and the local police. Calling any one of them to complain and demand enforcement results in them redirecting you to one of the others.

    Basically, unless you're blocking car traffic, no one with power cares.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • That's a good point actually. Amazon is much more likely to care about a van that can't deliver than some scratched paint.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.
  • Well, given that parking in a bike lane carries a hefty fine, and that the cops don't seem to care, it's unlikely that they'd be around to notice or choose to do anything about scratched paint or a broken headlight.

  • Amazon delivery vans were parked in bike lanes all over Cambridge today.

    mastodon.social Daniel Quinn (@danielquinn@mastodon.social)

    Attached: 3 images #Amazon delivery vans were parked in bike lanes all over Cambridge today. #FuckCars

    Daniel Quinn (@danielquinn@mastodon.social)

    cross-posted from: https://lemmy.ca/post/33126960

    124

    Amazon delivery vans were parked in bike lanes all over Cambridge today.

    mastodon.social Daniel Quinn (@danielquinn@mastodon.social)

    Attached: 3 images #Amazon delivery vans were parked in bike lanes all over Cambridge today. #FuckCars

    Daniel Quinn (@danielquinn@mastodon.social)
    10

    How to find what's eating 100% of just one core?

    From time to time, often after I've restored from sleep or finished playing a Steam game, one of my CPU cores is pinned at 100% with no indication of what might be doing it. Running htop, btop, or GNOME system monitor all show the same thing: CPU0 at 100% while the rest are doing near-nothing, and no process in particular seems to be using those resources.

    If I restart, it's back to normal, and sometimes I can play a game in Steam or let the computer go to sleep and it doesn't do this, but it happens often enough that's annoying/confusing so I'd like to know if there's a way to either (a) diagnose which processes are using which CPU cores, or (b) somehow "reset" the checking of these values to make sure that something's not just being misreported.

    This is a desktop system running Arch & GNOME.

    27
    danielquinn.org Developing with Docker

    You'd think that this topic would have been done to death, but given that *every* job I've started in the past 10+ years has used 


    Developing with Docker

    I've been writing code professionally for 24 years, 15 of which has been Python and 9 years of that with Docker. I got tired of running into the same complications every time I started a new job, so I wrote this. Maybe you'll find it useful, or it could even start a conversation, but this post has been a long time coming.

    Update: I had a few requests for a demo repo as a companion to this post, so I wrote one today. It includes a very small Django demo user Docker, Compose, and GitLab CI.

    19

    My UX seemed to really slow down after the update

    mastodon.social Daniel Quinn (@danielquinn@mastodon.social)

    Attached: 1 image After an update, my #Fairphone appeared to slow down, but it wasn't overloaded. Apps all performed their jobs quickly, but the *animations* were sluggish. Digging into the "Developer Options", I noted that the drawing animations were all set to `2x`, and bumping them down to `1`...

    Daniel Quinn (@danielquinn@mastodon.social)

    ...so I found out how to fix it

    5

    The number of lines for each character by percentage of the series

    It would seem that I have far too much time on my hands. After the post about a Star Trek "test", I started wondering if there could be any data to back it up and... well here we go:

    Those Old Scientists

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | KIRK | 8257 | 32.89 | | SPOCK | 3985 | 15.87 | | MCCOY | 2334 | 9.3 | | SCOTT | 912 | 3.63 | | SULU | 634 | 2.53 | | UHURA | 575 | 2.29 | | CHEKOV | 417 | 1.66 |

    The Next Generation

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | PICARD | 11175 | 20.16 | | RIKER | 6453 | 11.64 | | DATA | 5599 | 10.1 | | LAFORGE | 3843 | 6.93 | | WORF | 3402 | 6.14 | | TROI | 2992 | 5.4 | | CRUSHER | 2833 | 5.11 | | WESLEY | 1285 | 2.32 |

    Deep Space Nine

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | SISKO | 8073 | 13.0 | | KIRA | 5112 | 8.23 | | BASHIR | 4836 | 7.79 | | O'BRIEN | 4540 | 7.31 | | ODO | 4509 | 7.26 | | QUARK | 4331 | 6.98 | | DAX | 3559 | 5.73 | | WORF | 1976 | 3.18 | | JAKE | 1434 | 2.31 | | GARAK | 1420 | 2.29 | | NOG | 1247 | 2.01 | | ROM | 1172 | 1.89 | | DUKAT | 1091 | 1.76 | | EZRI | 953 | 1.53 |

    Voyager

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | JANEWAY | 10238 | 17.7 | | CHAKOTAY | 5066 | 8.76 | | EMH | 4823 | 8.34 | | PARIS | 4416 | 7.63 | | TUVOK | 3993 | 6.9 | | KIM | 3801 | 6.57 | | TORRES | 3733 | 6.45 | | SEVEN | 3527 | 6.1 | | NEELIX | 2887 | 4.99 | | KES | 1189 | 2.06 |

    Enterprise

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | ARCHER | 6959 | 24.52 | | T'POL | 3715 | 13.09 | | TUCKER | 3610 | 12.72 | | REED | 2083 | 7.34 | | PHLOX | 1621 | 5.71 | | HOSHI | 1313 | 4.63 | | TRAVIS | 1087 | 3.83 | | SHRAN | 358 | 1.26 |

    Discovery

    Important Note: As the source material is incomplete for Discovery, the following table only includes line counts from seasons 1 and 4 along with a single episode of season 2.

    | Name | Total Lines | Percentage of Lines | | ---------------- | :---------: | ------------------: | | BURNHAM | 2162 | 22.92 | | SARU | 773 | 8.2 | | BOOK | 586 | 6.21 | | STAMETS | 513 | 5.44 | | TILLY | 488 | 5.17 | | LORCA | 471 | 4.99 | | TARKA | 313 | 3.32 | | TYLER | 300 | 3.18 | | GEORGIOU | 279 | 2.96 | | CULBER | 267 | 2.83 | | RILLAK | 205 | 2.17 | | DETMER | 186 | 1.97 | | OWOSEKUN | 169 | 1.79 | | ADIRA | 154 | 1.63 | | COMPUTER | 152 | 1.61 | | ZORA | 151 | 1.6 | | VANCE | 101 | 1.07 | | CORNWELL | 101 | 1.07 | | SAREK | 100 | 1.06 | | T'RINA | 96 | 1.02 |

    If anyone is interested, here's the (rather hurried, don't judge me) Python used:

    ```python #!/usr/bin/env python

    This script assumes that you've already downloaded all the episode lines from

    the fantastic chakoteya.net:

    wget --accept=html,htm --relative --wait=2 --include-directories=/STDisco17/ http://www.chakoteya.net/STDisco17/episodes.html -m

    wget --accept=html,htm --relative --wait=2 --include-directories=/Enterprise/ http://www.chakoteya.net/Enterprise/episodes.htm -m

    wget --accept=html,htm --relative --wait=2 --include-directories=/Voyager/ http://www.chakoteya.net/Voyager/episode_listing.htm -m

    wget --accept=html,htm --relative --wait=2 --include-directories=/DS9/ http://www.chakoteya.net/DS9/episodes.htm -m

    wget --accept=html,htm --relative --wait=2 --include-directories=/NextGen/ http://www.chakoteya.net/NextGen/episodes.htm -m

    wget --accept=html,htm --relative --wait=2 --include-directories=/StarTrek/ http://www.chakoteya.net/StarTrek/episodes.htm -m

    Then you'll probably have to convert the following files to UTF-8 as they

    differ from the rest:

    * Voyager/709.htm

    * Voyager/515.htm

    * Voyager/416.htm

    * Enterprise/41.htm

    import re from collections import defaultdict from pathlib import Path

    EPISODE_REGEX = re.compile(r"^\d+\.html?$") LINE_REGEX = re.compile(r"^(?P<name>[A-Z']+): ")

    EPISODES = Path("www.chakoteya.net") DISCO = EPISODES / "STDisco17" ENT = EPISODES / "Enterprise" TNG = EPISODES / "NextGen" TOS = EPISODES / "StarTrek" DS9 = EPISODES / "DS9" VOY = EPISODES / "Voyager"

    NAMES = { TOS.name: "Those Old Scientists", TNG.name: "The Next Generation", DS9.name: "Deep Space Nine", VOY.name: "Voyager", ENT.name: "Enterprise", DISCO.name: "Discovery", }

    class CharacterLines: def init(self, path: Path) -> None: self.path = path self.line_count = defaultdict(int)

    def collect(self) -> None: for episode in self.path.glob(".htm"): if EPISODE_REGEX.match(episode.name): for line in episode.read_text().split("\n"): if m := LINE_REGEX.match(line): self.line_count[m.group("name")] += 1

    @property def as_tablular_data(self) -> tuple[tuple[str, int, float], ...]: total = sum(self.line_count.values()) r = [] for k, v in self.line_count.items(): percentage = round(v * 100 / total, 2) if percentage > 1: r.append((str(k), v, percentage)) return tuple(reversed(sorted(r, key=lambda _: _[2])))

    def render(self) -> None: print(f"\n\n# {NAMES[self.path.name]}\n") print("| Name | Total Lines | Percentage of Lines |") print("| ---------------- | :---------: | ------------------: |") for character, total, pct in self.as_tablular_data: print(f"| {character:16} | {total:11} | {pct:19} |")

    if name == "main": for series in (TOS, TNG, DS9, VOY, ENT, DISCO): counter = CharacterLines(series) counter.collect() counter.render() ```

    11

    What's the best way to remote into a Mac?

    My father is 75 and not very capable on a computer. He's got an old MacBook Air at home behind a typical ISP router for which he has no access controls (so no port forwarding).

    My immediate need is actually not his machine at all, but the Raspberry Pi I installed at his house before I left the country and forgot to enable cron on so it's not doing what I need yet. However, it would be really nice if I could also do one of the following as well:

    • VNC (or something) into his computer whenever something "isn't working" rather than doing the talk-him-through-it dance over Skype.
    • Install a new OS (the Mac is no longer supported by MacOS). I don't know how plausible this is though.

    My current plan is to email him a shell script that should create a reverse SSH tunnel to a server in Montréal or something and then I can shell into his Mac through there. It's not ideal though since we're still talking shell scripts and he's easily frustrated.

    I know that in Windows land there are all sorts of tools scammers use to take over a machine remotely. Does Mac allow for the same thing? Note that I only have Linux machines available to me on this side of the Atlantic.

    9

    I made a thing: "django-cool-urls"

    danielquinn.org django-cool-urls

    It's taken the better part of six months, working a few hours in the evenings when I can scratch the time together, but my latest 


    django-cool-urls
    6

    Boy on quad bike arrested on Chisholm Trail for 'dangerous driving'... carrying a machete

    www.bbc.com Boy on quad bike arrested in Cambridge for 'dangerous driving'

    The boy has since been bailed until May, say police.

    Boy on quad bike arrested in Cambridge for 'dangerous driving'
    0

    What're some of the dumbest things you've done to yourself in Linux?

    I'm working on a some materials for a class wherein I'll be teaching some young, wide-eyed Windows nerds about Linux and we're including a section we're calling "foot guns". Basically it's ways you might shoot yourself in the foot while meddling with your newfound Linux powers.

    I've got the usual forgetting the . in lines like this:

    $ rm -rf ./bin

    As well as a bunch of other fun stories like that one time I mounted my Linux home folder into my Windows machine, forgot I did that, then deleted a parent folder.

    You know, the war stories.

    Tell me yours. I wanna share your mistakes so that they can learn from them.

    Fun (?) side note: somehow, my entire ${HOME}/projects folder has been deleted like... just now, and I have no idea how it happened. I may have a terrible new story to add if I figure it out.

    291

    I'm having serious problems with Omega

    I've got a very simple Kodi setup:

    • Arch Linux on a laptop behind the TV
    • Media files on a server upstairs, shared over NFS

    I've been running Kodi quite successfully on this machine for years, but with the Omega update, videos play without audio for about 10seconds, then freeze. Sometimes if I wait a while, I see subtitles for the episode while the video is frozen. Music doesn't play either. The interface freezes too, to the point where I have to kill -9 it. Switching from Wayland to Xorg hasn't had an effect.

    I tried deleting ~/.kodi and restarting, but nothing changes.

    Has anyone else run into this?

    3

    Some dude 3D printed a little house for his local frog

    mastodon.social Maaike (@MaaikeV@mastodon.social)

    Attached: 1 video Makers rule! Meet Frodrick and the evolution of his house Trust me, it’s worth it, it’ll make you smile #maker #frodrick #3DPrinting

    Maaike (@MaaikeV@mastodon.social)

    A break from the usual in this community, but I trust it'll be appreciated. I think this is very solarpunk: using technology to improve the lives of all creatures.

    5

    I lost days of play time to a stream cloud sync error

    I've been playing a lot of Fallout 4 over the holidays. I started and finished the Nuka World DLC (killed all the baddies), made it to level 90, etc.

    Today I was playing on my Deck as the battery got a little low (11%) so I saved my game, exited the game, and went to shut down.

    As it was shutting down, the Deck displayed a message, something like "Syncing to Steam Cloud" as the logo was spinning.

    A few hours later, on a full charge, I booted it back up, started Fallout 4 again and... some of my old saves are there, but only about 30% of them, and critically not the most recent ones.

    Has this ever happened to anyone else? Is this a known issue? Can I fix it, or report it? I've basically lost interest in finishing the game now.

    7

    9 days after writing in defence of a Free Palestine, Paul Biggar is dropped from his director role at CircleCI

    hachyderm.io Paul Biggar (@paulbiggar@hachyderm.io)

    Attached: 1 image Actions have consequences, and that's ok

    Paul Biggar (@paulbiggar@hachyderm.io)

    His original post , titled I can't sleep, is some brilliant writing. When we talk about the chilling effect that criticism of Israel creates in industries everywhere (including ours) this is what that looks like.

    94

    A giant, muscular penguin roaring in a comic book style

    I needed something for a presentation I'm doing on advanced Linux, so I thought something like this might be appropriate.

    Annoyingly, I can't seem to get Bing to generate an image that isn't square.

    8

    Ash Vs Bash

    [For reference, I'm talking about Ash in Alpine Linux here, which is part of BusyBox.]

    I thought I knew the big differences, but it turns out I've had false assumptions for years. Ash does support [[ double square brackets ]] and (as best I can tell) all of Bash's logical trickery inside them. It also supports ${VARIABLE_SUBSTRINGS:5:12}` which was another surprise.

    At this stage, the only things I've found that Bash can do that Ash can't are:

    • Arrays, which Bash doesn't seem to do well anyway
    • Brace expansion, which is awesome but I can live without it.

    What else is there? Did Ash used to be more limited? The double square bracket thing really surprised me.

    10

    How do you get an application onto this list?

    I'm working on a little program that'll launch different browsers based on the content of the URL passed and I'd like to set it as the default Web app in this list (under Settings → Default Apps). I've written a .desktop file based on the epiphany.desktop file, but it doesn't show up when I hit [Win]+o+p+e and it doesn't show up in the default apps either, so I'm hoping that someone here can explain what I've done wrong.

    Here's the contents of the opening.desktop file:

    $ cat ~/.local/share/applications/opening.desktop [Desktop Entry] Name=Opening GenericName=Web Browser Comment=Open links in the right browsers Keywords=web;browser;internet;opening; Exec=opening %u StartupNotify=true Terminal=false Type=Application Icon=/home/daniel/.local/share/applications/opening.png Categories=Network;WebBrowser; MimeType=text/html;application/xhtml+xml;x-scheme-handler/http;x-scheme-handler/https;multipart/related;application/x-mimearchive;message/rfc822;application/x-xpinstall;

    Any criticisms are much appreciated!

    5

    Where can I eat the Midsummer Common cows?

    They must get turned into streaks to be eaten somewhere right? It'd be nice if every morning that I have to ride my bike through their wet piles of shit, I can think to myself: "at least I'll get to eat you at ________ in a few months".

    3
    Request a Feddit.uk community @feddit.uk Daniel Quinn @lemmy.ca

    Cambridge

    There was a reasonably active community on Reddit, but now that I'm not there anymore, I miss it.

    3

    I like the idea of solarpunk...

    ...but I think I'd probably be miserable there.

    I'm violently allergic to pollen, am terrified of bees, wasps, and grasshoppers, and generally despise bugs and dirt. My ideal world would see everything paved in marble. No cars, (obviously) with a quiet, sustainable, walkable communiy, but green, as beautiful as it is, causes me a great deal of pain.

    It's there any place for me in a solarpunk world?

    14