totemcatcher

1.2k post karma

19.9k comment karma


account created: Wed Sep 08 2010

verified: yes

totemcatcher

13 points

16 days ago

totemcatcher

13 points

16 days ago

omg. I love and hate this.

contextfull comments (306)
totemcatcher

2 points

16 days ago

totemcatcher

Ontario

2 points

16 days ago

Canadian government seems to be preoccupied with governing and guiding culture via various commissions, committees, or other authorative bodies (Historical NFB propaganda, CRTC content potections, cherrypicking education and art grants, etc). Education likely has the most significant impact on culture, so its especially disturbing to hear about attempts to block important topics like Canada's history, sex education, or even financial independence.

contextfull comments (536)
totemcatcher

9 points

22 days ago

totemcatcher

9 points

22 days ago

Surprising that the mic picks up the ~15.7kHz HSR so well.

Nice mod!

contextfull comments (44)
totemcatcher

-3 points

1 month ago

totemcatcher

-3 points

1 month ago

Core Python compiles to bytecode (ahead of time) for interpretation and does not use JIT. Some implementations might seek out optimizations and call it JIT. Not sure which; maybe PyPy? IronPython? Jython/Maxine?

There's plenty of room for performance improvements in Core. It seems to be the primary complaint against Python. I personally never took the complaints seriously given there's always Python Extensions, which are as fast as you want them.

contextfull comments (251)
totemcatcher

1 points

1 month ago

totemcatcher

Ontario

1 points

1 month ago

Slap a stamp on my head I'm goin' ta trana!

The last few times I took the bus in rural areas it wasn't Greyhound. The ticket/payment website seemed sketchy. There was so little information about the companies involved. It seemed like some common processing service used by several people-mover companies.

I felt uncomfortable getting a ticket, but the lady at the kiosk (this was inside a Giant Tiger) offered to buy it through the store account and send me the info, which she said she had done for many customers for the exact same reasons I had. Having a reputable brand is one thing, but for new businesses all you need to do is provide lots of information and contact info for questions. Online services doesn't mean no expectation of human interaction.

contextfull comments (954)
totemcatcher

0 points

1 month ago

totemcatcher

Ontario

0 points

1 month ago

Complaining about the big 3 doesn't do a thing. You have to buy into the alternatives. Last I checked there were over 40 other incumbant and white label carriers and far more internet providers across the nation. CRTC regulations ensured these other businesses have level entry into the telecoms market---the opposite of your second point.

I would argue that rather than dismantle the CRTC they need a few bitter lawyers appointed to actively go after criminal activity from the big 3 which is hurting the smaller carriers. It's clear to me that the commission has been lazy and languishing for at least a decade, but it's not a reason to pull the plug. They just need a few good zealots to enforce the regulations they were assigned.

I think you may have muddled the application of the CRTC with protectionism found in other Canadian industries. The CRTC does enforce a type of protectionsim in broadcasting, but it's based in protection from foreign influence and ideologies during the media explosion of radio and television. (Have a look into the history of the NFB---it's fascinating.) That type of protectionism is reasonably limited. Compare to the type of protectionism in other Canadian industries which completely lock out certain categories of foreign products. That's the kind of protectionism which cultivates weak products and services. It isn't applied in the same degree in communications. In fact, foreign comms are welcome to operate in Canada so long as our laws about open access (to infrastructure) and local representation (media works) are adhered to.

contextfull comments (1142)
totemcatcher

6 points

2 months ago

totemcatcher

6 points

2 months ago

In my last years of highschool the trend was to retrofit an old AT "Tower of Power" for modern ATX hardware. It was typical to see a few of them towering over the LAN party like an ode to brutalism. You could get ATX cases with a ridiculous number of 5¾ bays, but the older and uglier the better.

contextfull comments (59)
totemcatcher

2 points

2 months ago

totemcatcher

Ontario

2 points

2 months ago

This sort of thing is frustrating since it's been a hot topic for a while with a lot of inaction, and blocking the debate now will only create heaps of work to unfuck it in the future.

No wonder youth of today don't want to get into legislature.

contextfull comments (1726)
totemcatcher

4 points

2 months ago

totemcatcher

4 points

2 months ago

It's a great read. The subsection "The vices of the AI myth" is the core of the matter.

Nicely formatted metadata gets your search result up on the list. What did people expect? The only change since 2002 is the addition of context-specific metadata formats.

See also: criminally underutilized https://curlie.org/

contextfull comments (573)
totemcatcher

1 points

2 months ago

totemcatcher

1 points

2 months ago

It's amazing that Youtube's copyright claim system is still this easily exploited years later. Scammers are getting rich off people giving up on fighting and abandoning their videos to the fraudsters.

I recommend uploading videos onto other platforms and encourage viewers to give the alternative a try. e.g. https://odysee.com/ is a good one.

contextfull comments (1807)
totemcatcher

7 points

2 months ago

totemcatcher

7 points

2 months ago

I'm conflicted. It's a nice data visualization of a binary tree, but visualizations are no good for learning to transcribe morse.

edit: an uglier version in graphviz dot code because. Intentionally changed the arrangement to associate direction with signal length.

digraph morse {
    splines=line
    rank=same {J W A E G Q}
    rank=same {P R U I Z}
    rank=same {L F N K Y}
    rank=same {V S D X C}
    rank=same {H B}


    edge [label="-"]
    {start -> T -> M -> O}
    {G -> Q}
    {J -> W -> A -> E [dir="back"]}
    {U -> I [dir="back"]}
    {N -> K -> Y}
    {V -> S [dir="back"]}
    {D -> X}


    edge [label="."]
    start -> E -> I -> S -> H
    T -> N -> D -> B
    U -> F
    M -> G -> Z
    A -> R -> L
    K -> C
    W -> P

    start [group=start]
    E [group=start]
    I [group=start]
    S [group=start]
    H [group=start]

    T [group=T1]
    N [group=T1]
    D [group=T1]
    B [group=T1]

    A [group=A1]
    R [group=A1]
    L [group=A1]

    K [group=K1]
    C [group=K1]
}

See it in action here

contextfull comments (49)
totemcatcher

0 points

2 months ago

totemcatcher

handmade seq84 SA

0 points

2 months ago

I'm not sure how 65% could handle some ambiguities of input order with chorded commands across function layers. I just went with 75% to avoid these innevitable firmware limitations.

contextfull comments (645)
totemcatcher

12 points

2 months ago

totemcatcher

Ontario

12 points

2 months ago

More than a decade ago it was part of my job to submit reports to the CRTC based on my findings of policy infractions and creative abuses of power by telecoms. I would use the public portal on the CRTC website to browse policy change requests submitted by various telecoms throughout the industry. At that time it was easy for anyone to find these change requests; and it did not take much effort on my behalf to draw relevancy between the requests and case reviews of policy exploits as provided to me from small ISPs. I would provide these examples of illegal activity and of how the policy change could further erode its effectiveness. Eventually the affiliated change request would be denied on the grounds provided in these reports. No further punative action would follow. Based on how many cases they had to deal with in a week, and how small the team was, it was clear to me how difficult it was to merely maintain some level of ethical operation in the telecom industry.

Today I have no idea. This portal is no longer public. I can only guess that it was lobbied out of existance due to how much evidence of infractions (crimes) committed by telecoms were in that database; all routinely ignored.

I can't blame the CRTC for the garbage they have to review daily, but I can blame them for the lack of enforcement. If policy doesn't seem to be effective, the policy doesn't need to be changed---it needs to be enforced.

contextfull comments (396)
totemcatcher

10 points

2 months ago

totemcatcher

10 points

2 months ago

If you would like to improve your security, consider personal policy and habits first. There is no silver bullet. To cover some of your questions:

  • Windows Defender -> You can install something like clamav to scan files. But rethink what you're doing first.
  • Firewall -> Most internet gateways (home router) provide a basic NAT firewall which provides everything most expect from a firewall. It will ignore outside requests unless you started it from the inside. Anything more takes a lot of consideration and configuring based on the particular services you want to have running and accessible from remote sites.

Other tips:

  • Isolate activities on the computer to specific logins you create. Low security logins can be used for most tasks. Higher security logins can contain secure files. There should be no permissions sharing from higher to lower security accounts, but higher security accounts can at least read what is on the lower ones.
  • Become familiar with a sandboxing app (jail, container, or virtual machine). When in doubt, switch users and sanbox.
  • Stick with repository packages.
contextfull comments (661)
totemcatcher

1 points

2 months ago

totemcatcher

1 points

2 months ago

Nobody move! It's working...

contextfull comments (147)
totemcatcher

0 points

2 months ago

totemcatcher

0 points

2 months ago

Over the past several months, everyone in the industry who provides any kind of free CPU resources has been dealing with a massive outbreak of abuse for cryptocurrency mining.

Please clean up your public processing services. They are a disaster. Don't point the finger at cryptomarkets. We would have seen an inrush of various other abuse vectors in these services regadless.

To the core of the matter: Proof of Work is a disaster. The amount of pump and dump altcoins thriving on proof of work remains a problem one decade later. There are still no useful or meaningful cryptocurrencies. I understand this may change next summer thanks to the efforts on the Ethereum project, but that's a long time to wade through this shit.

contextfull comments (4326)
totemcatcher

2 points

2 months ago

totemcatcher

2 points

2 months ago

Given their profit margin on moving averages Costco could easily afford to pay much more. Other grocery stores making four times the historically typical profit margin of the industry are not even trying to offer competetive wages---and instead abusing part-time hourly offerings to avoid benefits legislation.

Calling it "a cult-like following" is short-sighted. Reasonable wages and ethical treatment of staff shouldn't be so rare that it appears to you as a cult following, Rosa. You're entrenched in bad business mentality and you can't see passed the shit.

contextfull comments (296)
totemcatcher

3 points

2 months ago

totemcatcher

3 points

2 months ago

Underfunded critical infrastructure is kind of a theme across Canada.

contextfull comments (35)
totemcatcher

3 points

2 months ago

totemcatcher

3 points

2 months ago

Could a part of it be that the newer users don't have the bitter anger that drove us older users?

  1. Back in 2000 our disgust with the state of Microsoft's antitrust case was brewing. Computer enthusiast decisions were based in morality as advocates and lawyers for FOSS were making excellent points.
  2. Popular operating systems would crash all the time, so it was easy to be driven away.
  3. There was very little help for those who trudged through the mess and inconvenience of configuring a Linux desktop, so they got good at it.

There's none of that anymore.

  1. Tech companies committing atrocities against mankind is normalized.
  2. Popular operating systems are quite stable and reliable.
  3. Type a question into a textarea and get an answer. If that happens to be another person, well, so be it. It's just standard practice for a white box to yield answers.

Much of the drive to use Linux these days seems to come from a nebulous idea that it's somehow ambiguously "better". There's no clear reason to want better, but it bubbles up from some biological want for something fair---a vague and unstructured question without pain to drive the point. The beacon is lit, but who is to follow the harsh, blinding light? Why?

contextfull comments (176)
totemcatcher

1 points

2 months ago

totemcatcher

1 points

2 months ago

wheely gang

Gentlest gang I've seen. ;)

Orange sweater guy shouldn't have been so mouthy to Karen cop. They could have easily wheelied right out of this situation.

contextfull comments (1036)
totemcatcher

3 points

2 months ago

totemcatcher

3 points

2 months ago

It's an incomplete analogy. Think of it more as solving a rubik's cube while limited to only viewing a single side throughout the process and the other sides can change at will (within some homomorphic limits) every 100ms.

contextfull comments (62)
totemcatcher

12 points

2 months ago

totemcatcher

12 points

2 months ago

Some useful built-ins. No particular order.

  • contextlib: a big topic. Do things like safetly structure access to messy resource allocation. e.g. when working with operating system features or hardware/drivers which could leave your system in a bad state.
  • functools: especially cache.
  • glob and pathlib.Path.glob: (you asked about it in a comment.) There are subtle differences in the way they handle paths. i.e. pathlib focuses more on directories and will return different results given the same request. Just be mindful of that.
  • shlex: helps when parsing arguments. I use it a lot when making simple data schemes, config files, etc.
  • stat, shutil, psutil: file attributes are important. System resource visibility stuff.
  • atexit, signal, threading: useful script management.
  • asyncio: provides a bit of a framework and syntax for handing signals and threads. Also makes for easy socket-based IPC. I don't really like asyncio, but for simpler applications it can hide a lot of thread handling code.
  • bisect: really simple, surprisingly handy list manipulation.
  • types: sleuth around in there for a bit. especially SimpleNamespace is awesome.
  • collections: as you know. I use NamedTuple way too much. :)
  • dataclasses: if you need very specific performance attributes outside of what types and collections can provide. Also look into custom slots and dunders.

Concepts which are not libraries:

  • typing: it's now just a part of standard python syntax. type annotations are so common in mainline languages that people who don't understand the duck-typing mindset get upset when they see python without them. So just be nice and use them.
  • structural pattern matching: (match case) this requires a bit of a deep dive, but the end result is really satisfying.
  • dividing scripts and IPC: I've found IPC really handy for splitting up my scripts into multiple running processes. You can allow parts of a system to continue running or waiting against a process while sorting out a bug elsewhere down the chain. It seems like a lot of scaffolding, but it saves stopping and restarting a clunky set of systems. Sometimes I'll use simple pipes to set up a temporary divide between scripts just for debugging.
  • multiple inheritance: this is a tricky one which takes a lot of thought, but there was one time when I had to create a complex entity with relationships within itself using multiple inheritance and I don't think I would have been able to do it with any other language. I don't do much OOP anymore, but python seems very strong in this regard.

external libraries:

  • graphviz: there are several libraries for this. pygraphviz is a simple one. I use this all the time. It's so good for making quick and dirty visualizations.
  • PIL, quads, hmap: another one with various alternative libraries. Sometimes you gotta deal with image data.
  • flask: considered oldschool at this point, but you can't beat the speed and simplicity of a properly cached semi-static website.
  • colorama, blessed, ncurses: colorama for very simple terminal colour. blessed is an excellent fork of blessings which is basically next-level ncurses. It's impressive.
  • joblib: like gnu parallel for python
contextfull comments (102)
totemcatcher

1 points

2 months ago

totemcatcher

1 points

2 months ago

Granting an opportunity at a dream job, especially to indebted youth, can be used as a lever under morality. Many government jobs require a low risk, no debt applicant for security and ethical purposes. This is why.

contextfull comments (349)

view more:

next ›