Search content
Sort by

Showing 20 of 696 results by PowerGlove
Post
Topic
Board Meta
Re: Is this wrong
by
PowerGlove
on 21/08/2025, 10:12:17 UTC
Personally, I don't see a problem with what OP posted...

In my view, you shouldn't delete someone's opinion because it's "inflammatory" or "reads like a troll attempt".

I think that a troll-post should be defined as one which is trying to provoke conflict (compared to one which maybe succeeds in creating conflict but that wasn't written for conflict's sake). As in, it's not trolling when you're saying upsetting things (even often or habitually) that you believe to be true. It's only trolling when you're saying things that you don't believe to be true (while secretly hoping that saying those things will greatly annoy some person/group/demographic). The rule against trolling is about as difficult to enforce in a mistake-free way as a rule against scamming would be (they both amount to often requiring clairvoyance on the part of the moderators).

If OP wants to tell the members of his local board that he thinks they're being greedy, he should be allowed to do that (and while it's always nice when someone manages to frame their perspective in a respectful way, it shouldn't be a requirement).

This sort of moderation gets too close IMO to a modern controlled-speech community where the freedom to share your viewpoint only exists when you haven't tripped over any of a long list of subjective rules meant to attenuate anything that anyone might find offensive.

One last thought: I guess, there's also a class of troll-like behavior where you do believe that what you're saying is true, but you also know that none of it is really germane to anything, and the primary reason you're bringing it up is because you're working some kind of agenda/angle/vendetta. But, to me, that falls into the (more general) category of "ax-grinding", and not the (more specific) category of "trolling". Hmm... I just looked up a definition for "ax-grinding", and according to Merriam-Webster it's "working for an ulterior purpose or toward a selfish end". I can't say that I completely agree with that definition, and this isn't the point that I set out to make, but, I'll be a monkey's uncle if that entry doesn't describe just about all human activity. Cheesy
Post
Topic
Board Reputation
Merits 55 from 4 users
Re: Everyone on this site except for me is psychotic and evil.
by
PowerGlove
on 16/08/2025, 13:18:37 UTC
⭐ Merited by nutildah (30) ,DireWolfM14 (10) ,EFS (8) ,ABCbits (7)
(...) to ADVANCE SCIENCE, whatever the fuck that means.
When OP says "BITCOIN DOES NOT EVEN HAVE A MINING ALGORITHM THAT IS DESIGNED TO ADVANCE SCIENCE", I think what they mean is that they think it's a pity that the definition of Bitcoin's PoW scheme missed an opportunity to embed a niche computer engineering problem. They're saying that if the PoW scheme had been defined in just the right way, then it would have effectively caused any advancements in Bitcoin mining to also have been advancements in reversible computing. (OP even attempted such a thing here.)

I've gotta say, when I carefully read through OP's old posts, I get kind of emotional...

One of the (unrelated-seeming, but, bear with me) stories from recent memory that affected me most (as in, even now, ~7 years later, I get a lump in my throat just thinking about it) is the story of Terry A. Davis:



That dude was a programming legend. In fact, I don't think I've ever crossed paths with someone that I'm fully convinced can even understand just how talented he was (I mean, programmers, as a rule, tend to all think that they're something special, but, when measured on a scale that tops out with what Terry managed to pull off on his own, it's like he's turning out perfectly-set chocolate soufflés while most everyone else is stuck trying to microwave their turds, or something). Solo-programming complicated things (like, for example, a software-rasterized 3D engine) using only dependencies/libraries that you wrote yourself, to run on an operating system that you wrote yourself, all using a compiler that you wrote yourself for a C-like programming language that you designed yourself, is a feat that puts him in a group so small that anyone that figures they belong in that same group is almost certainly mistaken and very probably thinks that getting something like a homebrew Forth or Lisp environment to run on bare metal and then host a small VGA game is just about the size of it (it isn't).

The thing is, you'd never be able to see or say that about him if you graded what he did at face value. His work (TempleOS, I mean) was very difficult to take seriously and looked childishly stupid in many ways. What gave it the patina of amateurism was the fact that he had serious mental health issues (starting from around age 27 and eventually leading to him being homeless and then taking his own life at age 48). He came to believe that he was in direct communication with God (who gave him instructions, like never to implement SVGA, and to stick to a 16-color 640x480 video mode), and when he wasn't programming what he believed to be the Third Temple prophesied in the Bible, he was having manic episodes that would leave him in situations like having driven hundreds of miles to escape capture by the CIA before throwing his keys into the desert and dismantling his vehicle to look for tracking devices. That kind of thing. Toward the end, and for a long time leading up to it, it was impossible to follow WTF he was even talking about most of the time, but, if you engaged him in anything programming-related, he'd be completely lucid.

Anyway, I have no idea what's going on with OP. Maybe he's a troll, or maybe he really is who he says he is. I can't grade his work (I'm not a mathematician), and so I can't say where he might sit on the scale of giftedness. I also can't speak to his seemingly-obvious mental health issues (I'm not a psychiatrist), and so I can't say where he might sit on the scale of craziness. But, I do get some Terry-vibes from his posts (the religious/divine-justice stuff, the phrase-fixation, the repetitive incoherent nonsense, the lucid technical thoughts). With that in mind, my advice to everyone would be to pick between ignoring him or showing him kindness (I mean, that's good advice in general, I think, even though I often fail to apply it myself, and while I know it's difficult to do that when someone is being especially disruptive or saying unhinged things, in my experience, kindness goes a very long way, and there really is no point in trying to argue with someone who cannot perceive that they're playing chess with checkers pieces, so to speak).
Post
Topic
Board Meta
Merits 8 from 3 users
Re: Attack on privacy
by
PowerGlove
on 10/08/2025, 02:59:26 UTC
⭐ Merited by LoyceV (6) ,babo (1) ,dkbit98 (1)
That terrorism bullshit excuse is just one of several that cocksucking politicos pull out of their panties when they want to squeeze our nuts.
Thanks for that, TSC. Gave me a good giggle. I've always enjoyed your turn of phrase. Wink

I could go toe to toe with TMAN any day of the week when I'm in that headspace--and I'd be damn glad to have him back on the forum as well.
I don't doubt it (both your talent for funny flame-crafting, and your desire for the forum to be more colorful personality-wise).

What makes me really appreciate your angrier posts is that I know you're a fundamentally kind and good-natured dude. I hope you don't mind me sharing the following anecdote about you, but, it's something that got me smiling heavily the other day: I remember you and I having a few conversations (maybe in 2023) and (for context: I'm quite pranky IRL and it's normal for me to goof around with the people I like) at some point I thought I spotted a good opportunity to tell you (in a completely deadpan way) that this song was the "power ballad" masterpiece that had gotten me through some tough times (I think I even asked you to listen to it carefully and keep an ear out for the wisdom it contains). Lol. Anyway, I remember being mightily impressed that you replied to that with a very kind-hearted response and managed to avoid saying anything at all negative about the song (but, be honest now, you had to be thinking: "Holy shit that's a terrible song, and to rate it so highly... PowerGlove must be a few fries short of a Happy Meal.") Smiley

It might be really hard to do, but you've got to vote with your clicks, i.e., if your prediction comes true....you've got to say goodbye to Google, fuck Apple, use linux instead of Windows, and in general do not support your oppressors by fellating them at your computer desk.
Exactly. But, my fear (after watching my own family members and friends) is that people aren't really prepared to deal with much (or even any) inconvenience, and they'll continue to use whatever it is that they're already familiar with or that can otherwise get them where they're going without requiring too much thought on their end. I've basically stopped trying to convert friends and family because I've had very little success with it over the years (I've gotten pretty close once or twice with getting family members to turn their backs on Microsoft, Apple, Google, etc. but, it never seems to actually take). If I get one more call from friends or family asking me to unbork something for them after they've systematically ignored years and years of my advice, Imma say: "Yeah, well... That's the way she goes, buddy. The fuckin' way she goes." Cheesy

Having said all that, it is getting seriously hard to find a sane computing environment, or to have anything even approaching real digital privacy, and here's a piece of a conversation I had about this a few months ago:

Hmm... The thing is, I've noticed that for something like ~25 years now, little personal-computing freedoms keep getting taken away from people (mostly without them seeming to care, or even realizing that it's happening). So, the advice I'd give you today is unfortunately much more complicated, nuanced, and error-prone than it would have been even 5 years ago... (It's almost as if there's some off-the-books department out there whose mission it is to infiltrate the technology sector and then push for various unnecessary things that will slowly sink personal private computing under such a pile of complexity that it'll no longer be feasible for anyone but the most disciplined hackers to achieve.)
Post
Topic
Board Meta
Re: Attack on privacy
by
PowerGlove
on 06/08/2025, 02:26:34 UTC
The end result will be anonymous criminals, and no privacy for anyone who follows the law.
So much this.

Sorry to keep quoting things from the same source (in 3 of my last 4 posts; I'll give it a rest now), but your thought reminded me of the 77th footnote in that essay:

This may be theoretically possible but practically difficult: it might be hard to accomplish for technically unsophisticated people. This is why it is said: When crypto is outlawed only outlaws will have crypto (or privacy, or security) (original attribution unknown).
Post
Topic
Board Meta
Merits 5 from 2 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 05/08/2025, 20:27:24 UTC
⭐ Merited by fillippone (3) ,vapourminer (2)
Not really, because anyone can disable PM-notification-emails if they want to (but you have a point).
Yeah, but, that setting affects reception, not transmission. As in, if you disable e-mailed PM notifications, then the PMs you receive won't be duplicated over SMTP, but the PMs you send can still be.

On Bitcointalk on the other hand, all I have to do it go to the website, my browser keeps me logged in, and I can read any PM. I don't even read the content of the email notification, because the layout is less clear than the actual PM. So I wouldn't miss it if it's gone.
Yup. That's kind of my point: If very few people have a genuine need (or at least, a deep appreciation) for the ability to be out-of-band sent HTML-stripped versions of the PMs they receive, then, I think the forum should take the message content itself out of any e-mailed PM notifications (for all the reasons I mentioned).

If it were up to me, I'd take out the subject, the sender, and the instant-reply link, too, but, I can't see getting a change like that past theymos.

How cool would it be if the forum has an easy to use client side encryption (like Protonmail)? PGP involves copy/pasting messages and even if I'd want to use it, it would be the rare exception amongst thousands of PMs. Privacy should be easy for mass-adoption.
By encrypting everything by default, any outside observer wouldn't know if it's sensitive or not. I don't remember where I read it, but: "nobody has to know I have nothing to hide".
Agreed. And it's something that I've considered doing more than once...

There are three stumbling blocks (that I can see):

(*) It would involve JavaScript and move Bitcointalk even further toward a state of not being able to work without scripting. (This doesn't bother me any, but, I'm aware that there are some no-JS folks out there that really bristle at being forced to enable browser scripting. I don't find their stance to be realistic, but, I can't say that I blame them for feeling the way that they do: Most programmers, and especially web developers, seem to have no problem with relying on a mutating nest of dependencies that they could never have written on their own, and therefore can't fully understand. You shouldn't accept a vouch from someone when it's about something that they don't understand. If you can't program a given thing from scratch, then you don't understand it.)

(*) It would break PM search. (But, I don't see this as a huge problem. When I originally made this topic, I was working on a filter-by-user patch for PMs. That patch slipped through the cracks and I forgot about it, but, I left it in a close-to-finished state, and if I finish it now and manage to convince theymos to merge it, then, I could see a lack of server-side PM search being much less annoying. Eventually, I could implement client-side search based on server-side user-filtering, but, its first-use/uncached bandwidth usage would depend on how many PMs you've sent to or received from that particular user. I've also got some ideas around re-basing the whole PM system on top of a rank-dependent amount of per-user API-accessible storage, and I could make something like that work really efficiently, but, those ideas are too involved to unpack here.)

(*) I forget the third point I was going to make. It was prolly good, though. Smiley

Anyway, when something gets complicated enough that I either can't see a way to very safely splice it into the existing software design, or I can see a way to do that but I expect it to be a huge uphill battle to get it merged, then, my energy wanes and I try to turn my attention back to very small improvements that don't leave much room for argument.

I think what a lot of people don't really understand about me is that I'm in a very particular "mode" when I'm on Bitcointalk: I very rarely suggest (or code) the things that I personally want, because I realize that the things I want are radical, and I don't have the energy to argue for them in what I perceive to be a very change-resistant environment (I don't only mean the user base; I'm also referring to theymos, because, ultimately, things come down to, or are at least very affected by, what he personally likes and dislikes). I don't begrudge theymos his iron grip on Bitcointalk, because I understand it, and my own grip would be at least as tight if I were in his position, but, it leaves me in a situation where I know that I'm not going to be able to get things over a certain complexity-limit or even with a certain flavor past him. Unfortunately, I also know that I'm not really built for the kind of work that I get to do for the forum, and so I'm almost certainly going to run out of interest at some point and move on to things that I actually find stimulating (or at least ideologically satisfying). So, I'm stuck with the problem of how to intelligently ration out my dwindling supply of energy so that I can get the most amount of "good" done while I'm still around to affect things (not only that, but, I also have to make my decisions as smartly as I can in the presence of a tech lead that seems to lean very heavily toward inaction, and a community that sometimes makes either the mistake of engaging in far too much wishful thinking given the status quo, or the mistake of encouraging inaction by discussing things to death, instead of just saying: "Yeah, that would be an improvement. +1").

CTRL-N > b ENTER > click MESSAGES. The slowest part is loading the messages (with hundreds of pages). Unless you're not signed-in already, but I don't really see a reason for that on my own computer.
Yup. That's the basis of that argument (not being signed-in). Like you, I have no need to read PMs without also being signed-in to Bitcointalk, but, like I said, I'm playing devil's advocate with all three of my arguments against implementing this change.

That may be close enough to what you're suggesting, and it's already implemented (for Newbie-senders only).
Yup. That came up in a private conversation I had a while ago about this. Like most of the diffs I share on the forum, my expectation is that theymos will re-imagine them in terms of his own source tree (as in, I can't see anything besides 1.1.19, so it's often the case that my diffs are "wrong", but, he knows that, and can account for it).
Post
Topic
Board Meta
Merits 24 from 5 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 04/08/2025, 17:07:25 UTC
⭐ Merited by vapourminer (10) ,LoyceV (6) ,bitmover (3) ,Cricktor (3) ,joker_josue (2)
Is this stupid ? We’re buds you can be honest w/me lol.
The first part of your proposal makes sense to me...

I'm struggling to follow your "reversed" idea, though. Maybe try giving me the ELI5 version.

Thx for all ya do, if I haven’t told ya before , you’re appreciated Wink
Thanks, Chi. Smiley



Changing the subject abruptly, I may as well use this post to ask (the forum) a question that's been on my mind for a while now: Is anyone else bothered by SMF externalizing PMs? As in, does anyone else find it odd that, on the one hand, the highest bug bounty ($60K, currently) on Bitcointalk relates to PM privacy, but, on the other hand, and in the name of convenience, the PMs you send are likely being re-sent to some outside server that you almost always have no dependable details on? (As in, who is the PM recipient's mailbox provider? Are you OK with that provider's data-handling policy? Are you OK with their level of programming/security competence, along with their stance on privacy to begin with? Is it Microsoft? Is it Google? Are you OK with the contents of your correspondence, either now or in the future, being used to improve their services and train their models? And so on.)

I've been on-and-off thinking about this for a long time, but, what reminded me of it recently was reading the following (from a wonderful essay I bumped into while going over the WabiSabi paper):

Quote from: Phillip Rogaway: The Moral Character of Cryptographic Work
To be more prosaic: I pick up the phone and call my colleague, Mihir Bellare, or I tap out an email to him. How many copies of this communication will be stored, and by whom? What algorithms will analyze it—now and in the future? What other data will it be combined with in an attempt to form a picture of me? What would trigger a human analyst to get involved? Might my call or email contribute to a tax audit, a negative grant-funding decision, some Hoover-style dirty tricks, or even an assassination? There is not a single person who knows the answer to these questions, and those who know most aren’t about to tell.

I see three arguments against caring too much about this problem (all of which I can poke holes in, but, I'm playing devil's advocate here):

(a1) The forum is already man-in-the-middled (courtesy of Cloudflare, which is an obvious intelligence-gathering nexus), so, chances are good that the forum's PMs are being collected anyway.

(a2) People should be encrypting sensitive correspondence.

(a3) It's very convenient to be able to entirely read incoming PMs without having to be signed-in to Bitcointalk.

I guess, my counter-arguments go:

(c1) That's true, but, in my heart of hearts, I hope that theymos will eventually either find the energy himself, or develop enough trust in another networking-savvy programmer, to move the forum back to an in-house anti-DDoS system.

(c2) That's true, and it's what I do myself when something is really sensitive, but, I have a really hard time believing that most forum users know how to correctly do this and are disciplined enough to actually make themselves do it (especially for typical PM conversations, where no individual thing you're discussing is especially sensitive, but, taken as a whole, you'd still prefer the conversation to remain just between the communicating parties).

(c3) Is it, though? If you still received a notification by e-mail (with just the sender and subject of the PM, but without the actual message), would it really be so inconvenient if you couldn't read the whole PM right from your mailbox? (I mean, you'll have to use Bitcointalk anyway in order to reply to the message, so, what have you really gained by being able to quickly pre-read the PM? Isn't knowing who sent the message, and what it concerns, enough for you to go on until the next time you're signed-in?)

There's a really simple SMF patch that would prevent personal messages from being routinely transmitted outside of Bitcointalk's own system boundary:

Code:
--- baseline/Themes/default/languages/PersonalMessage.english.php 2011-02-07 16:45:09.000000000 +0000
+++ modified/Themes/default/languages/PersonalMessage.english.php 2025-08-04 15:59:48.000000000 +0000
@@ -16,7 +16,7 @@
 // Don't translate the word "SUBJECT" here, as it is used to format the message - use numeric entities as well.
 $txt[561] = 'New Personal Message: SUBJECT';
 // Don't translate SENDER or MESSAGE in this language string; they are replaced with the corresponding text - use numeric entities too.
-$txt[562] = 'You have just been sent a personal message by SENDER on ' . $context['forum_name'] . '.' . "\n\n" . 'IMPORTANT: Remember, this is just a notification. Please do not reply to this email.' . "\n\n" . 'The message they sent you was:' . "\n\n" . 'MESSAGE';
+$txt[562] = 'You have just been sent a personal message by SENDER on ' . $context['forum_name'] . '.' . "\n\n" . 'IMPORTANT: Remember, this is just a notification. Please do not reply to this email.';
 $txt[748] = '(multiple recipients: \'name1, name2\')';
 // Use numeric entities in the below string.
 $txt['instant_reply'] = 'Reply to this Personal Message here:';

Basically, e-mailed PM notifications would remain as-is, except that the "The message they sent you was:" part would no longer be included.

Is it only me, or, does it make sense to you, too, to take a convenience (experienced by some subset of PM-receiving users), and swap it for a very probable increase in privacy (experienced by basically every PM-sending user)?
Post
Topic
Board Meta
Merits 2 from 1 user
Re: Attack on privacy
by
PowerGlove
on 31/07/2025, 14:37:08 UTC
⭐ Merited by apogio (2)
But given that we are literally sleepwalking into 1984, I just felt like I had to do something about it.
Nicely put.

Allow me to quote from the 48-page essay that Phillip Rogaway wrote to accompany his 2015 IACR Distinguished Lecture:

Quote from: Phillip Rogaway: The Moral Character of Cryptographic Work
But, despite all these arguments, I am skeptical about rationalist accounts of ethical affronts, be it mass surveillance or anything else. If we behave morally, it is not because of rational analyses, but an instinctual preference for liberty, empathy, or companionship. As Schneier points out, animals don’t like to be surveilled, because it makes them feel like prey, while it makes the surveillor feel like—and act like—a predator. I think people know at an instinctual level that a life in which our thoughts, discourse, and interactions are subjected to constant algorithmic or human monitoring is no life at all. We are sprinting towards a world that we know, even without rational thought, is not a place where man belongs.

The whole essay is really worth reading, IMO. (I recommend printing it out and setting aside enough time to sit down and consume it slowly, carefully, and contemplatively; I only say that because there's a tendency these days for people to blast through things as quickly as they're able to, and while that's OK when you're consuming hastily-produced or otherwise low-effort content, it's a real shame when you "save time" by only superficially digesting something that was put together with much care/thought.)

I really wish we had that Privacy and Security board.
Yup.

It's a yes from me. It would be nice to have a place to post about security/privacy topics (e.g. Tor, Tails, Qubes, Whonix, etc.) and help other members to improve their opsec and keep their BTC safe.

Right between B&H and Off-topic seems like a good spot:


Post
Topic
Board Meta
Merits 22 from 6 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 26/07/2025, 23:15:54 UTC
⭐ Merited by LoyceV (12) ,dkbit98 (5) ,joker_josue (2) ,vapourminer (1) ,Cricktor (1) ,bitmover (1)
Is there a way the themes can be fixed @PowerGlove Huh
No easy way, I'm afraid. Undecided

As I understand it, theymos disabled all but the default theme both as a security-related decision (to reduce the amount of attack surface), and as a maintenance-related decision (to reduce the number of files that need to be touched when fixing bugs and implementing new features). Given SMF's code architecture, I would have done exactly the same thing. It's hard to explain to the uninitiated, but, SMF's conception and implementation of "theming" is very backwards (to my way of thinking).

If I were designing things from scratch, I'd probably use many of the ideas I bumped into back when I was doing a lot of C++ GUI programming (in Qt, wxWidgets, and the like). Qt, as a toolkit, was really nice back in the day and contained a lot of good ideas (back when it was still being developed by a very small and very skilled team with a very clear vision; I'd say that that era started to end for them around the transition from Qt 3 to Qt 4, and things really started turning to mush after Nokia acquired Trolltech).

Anyway, long story short: I don't see a sensible (to me) way to do a theme/style system on SMF (as in, one that wouldn't involve a serious restructuring of the code). I forget who suggested it (maybe Cyrus), but, I guess a carefully-designed feature to let the user replace/extend the forum's CSS could be implemented (though, I have more than a few reservations about doing that, including that the markup isn't really optimized for it, and I've noticed that most people aren't nearly as concerned as I am about running browser extensions, so, they may as well then just install a style-management or user-scripting extension and adjust the forum's frontend that way).

I can't recall where my thinking trailed off the last time I considered this, but, I reckon it was with a hunch that 90% of the problem (from the perspective of users) could be solved by implementing a palette system rather than a full-blown theme system (as in, in Qt's terminology, thinking in terms of QPalette rather than QStyle). That's a much easier lift, and would manifest as a new section under "Look and Layout Preferences" where you could individually pick/adjust semantically-named color entries (and choose between a few completed presets to use either as-is or as a starting point for tweaking). Unfortunately, even something like a simplified palette system would be pretty awkward to successfully retrofit onto the forum's version of SMF (which is already near breaking point, and is a quagmire of sloppy code, half-developed ideas, abandoned disciplines, and difficult-to-reason-about cross-cutting concerns/effects).

This PM from last year still captures most of my position on working within the constraints set by SMF:

I wrote the below reply before realizing that the thread had been locked. I figured you wouldn't mind me sending it to you via PM.

(No need to reply yourself, though I'm happy if you do, I just didn't want a post I spent 30 minutes on to go to waste.) Cheesy

Normally, I would've said our best bet would be @PowerGlove, but this is what he/she said about this specific matter: (...)
Yup, outside of a few big background things, I'm mostly focused on doing little micro-improvements.

To be clear, I'd like to tackle search (and a great many other things), but it's unwise (IMO) to do any "major surgeries" on such an old and creaky codebase. From my point of view, SMF's whole technical design is just wrong. There's an unbelievable amount of attack surface. It's all fun and games until something I've done opens up a security hole... I'm an extremely careful programmer, but I also know that, given enough time, mistakes are basically inevitable.

I've left some ideas with theymos about what I believe to be the most promising technical direction for Bitcointalk. If those ideas ever get any traction, then I'm confident that I'll be able to maneuver myself into a position where I can squarely hit just about any ball the community might throw my way, but until that happens (and it may never happen), I'm basically only willing to swing at things that make sense to me in the context of an about-to-explode codebase (which is a pretty small subset of the things that make sense to me in general).
Post
Topic
Board Meta
Merits 20 from 5 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 16/07/2025, 15:54:26 UTC
⭐ Merited by Welsh (6) ,LoyceV (6) ,vapourminer (4) ,dkbit98 (3) ,joker_josue (1)
Yes, of course that's what worries me the most.  Grin
I'm not insinuating that anything like that was the motivation. I'm simply saying "Thanks" to the people I mentioned (I should have included TryNinja), and I'm pointing out that I often don't merit posts that I personally really appreciate.



@Cyrus: I'm still stop-and-start working on your nice link-sharing suggestion from a few pages back, and I have a suggestion of my own for your bta.lk project.

This ended up being a bit of a back-and-forth with theymos (who added some nice ideas), but, instead of re-hashing the whole thought process that we went through, I'll just share the summary:

Basically, using your suggestion post as an example, with your existing approach, its URL would be shortened to: bta.lk/t/5503118.msg65275936#msg65275936. But, by taking advantage of the asterisk-topic-ID patch I did in 2023, and by using a Base58-encoded message ID (plus a bit of arithmetic that I'll justify later), you could implement an approach that would allow it to be shortened to: bta.lk/CY7XN. (I mean, that's pretty cool, right? 12 characters instead of 40.) Smiley

How it would work is that you take the message ID (in this case: 65275936), then multiply it by 2 and add 1 (resulting in: 130551873). Then you encode that integer using Base58 (resulting in: CY7XN). Then, on your end, you set things up so that your server responds to URLs of the form: bta.lk/CY7XN, by first Base58-decoding the CY7XN part back into 130551873, and then checking that it's numerically odd before floor-dividing it by 2, which gets you all the way back to 65275936. Finally, you use that recovered message ID to do a 301 redirect to: https://bitcointalk.org/index.php?topic=*.msg65275936#msg65275936. (The multiplying/dividing by 2, and the adding/subtracting of 1 are details that have to do with keeping the scheme amenable to extension. In code, those steps don't appear in their arithmetical form, and are bitwise operations that are there to make sure that the least significant bit is set to 1 for message IDs. The least significant bit being unset is reserved for future use.)

To get this working on your end, the first step would be to add this PHP file to your document root:

Code: ("link.php")
<?php declare(strict_types=1);

function 
int_from_base58(string $base58): int null {

    
$result strlen($base58) >= null;

    foreach(
str_split($base58) as $digit) {

        
$value strpos('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'$digit);

        if(
$value === false || $result intdiv(PHP_INT_MAX $value58)) {

            return 
null;
        }

        
$result $result 58 $value;
    }

    return 
$result;
}

function 
redirect_die(string $location): void {

    
header('Location: ' $locationtrue301);

    die(
'<a href="' $location '">' $location '</a>');
}

if(isset(
$_GET['id']) && is_string($_GET['id'])) {

    
$decoded int_from_base58($_GET['id']);

    if(!
is_null($decoded)) {

        if(
$decoded == 1) {

            
$message_id $decoded >> 1;

            
redirect_die('https://bitcointalk.org/index.php?topic=*.msg' $message_id '#msg' $message_id);
        }
    }
}

http_response_code(400);

die(
'Malformed shortlink.');

?>

I noticed this in your server's response:

Code:
x-powered-by: PHP/5.6.40

I wrote and tested the above code on PHP 8.2 (but, I think it would run on 7.4, too). To get the above code working on PHP 5.6, you could try the below version (I haven't tested it, but, if you can't upgrade your PHP interpreter for some reason, then, you should try it and let me know if it doesn't work):

Code: ("link.php")
<?php

function int_from_base58($base58) {

    
$result strlen($base58) >= null;

    foreach(
str_split($base58) as $digit) {

        
$value strpos('123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz'$digit);

        if(
$value === false || $result floor((PHP_INT_MAX $value) / 58)) {

            return 
null;
        }

        
$result $result 58 $value;
    }

    return 
$result;
}

function 
redirect_die($location) {

    
header('Location: ' $locationtrue301);

    die(
'<a href="' $location '">' $location '</a>');
}

if(isset(
$_GET['id']) && is_string($_GET['id'])) {

    
$decoded int_from_base58($_GET['id']);

    if(!
is_null($decoded)) {

        if(
$decoded == 1) {

            
$message_id $decoded >> 1;

            
redirect_die('https://bitcointalk.org/index.php?topic=*.msg' $message_id '#msg' $message_id);
        }
    }
}

http_response_code(400);

die(
'Malformed shortlink.');

?>

You'll know that you've got this step working when you can navigate to: https://bta.lk/link.php?id=CY7XN, and be redirected to: https://bitcointalk.org/index.php?topic=*.msg65275936#msg65275936.

The next and final step is to hide the link.php?id= part behind some URL rewriting.

I mocked this up a few different ways in my test environment...

On nginx, I got it working by adding the following line to the server section of the config:

Code:
rewrite ^/([1-9A-HJ-NP-Za-km-z]+)$ /link.php?id=$1 break;

On apache2, I got it working (after enabling mod_rewrite) by adding the following line to the VirtualHost section of the config:

Code:
RewriteRule ^/([1-9A-HJ-NP-Za-km-z]+)$ /link.php?id=$1

I'm not sure what you'd have to do for LiteSpeed, which is what I see you're running, but, hopefully the above is enough for you to figure it out. (I'd take everything I've said about this URL-rewriting step with a large grain of salt: DYOR and all that; I can't remember the last time I put a web server into production that I didn't write myself, and I don't have the temperament to learn configuration syntax and struggle with an off-the-shelf tool when it's easier for me to just write an application-specific server in C++ and do everything in code. Basically, what I'm saying is: I don't employ this style of problem-solving when I can help it, so, probably someone more versed in HTTP server configuration can find fault with or otherwise add value to my URL-rewriting snippets.)

Anyway, in case it isn't clear, the whole idea here is that when I get around to finishing the link-sharing patch, this new kind of really compact shortlink is what I'd like to generate in addition to a normal Bitcointalk link. (And, in the meantime, I guess people could make use of it early by manually taking any message ID, multiplying it by 2 and adding 1, then using an online Base58 encoder to derive a working shortlink.)
Post
Topic
Board Meta
Merits 12 from 4 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 14/07/2025, 14:23:11 UTC
⭐ Merited by LoyceV (4) ,vapourminer (4) ,ibminer (2) ,dkbit98 (2)
I know I'd be at least a little bit sad if he up and vanished one day.
"at least a little bit sad"? Wow. I didn't realize I was having that magnitude of effect on Bitcointalk. Haha. Nah, I know what you mean, and, the feeling is definitely mutual: I'd miss you, too. Smiley



@joker_josue, @Sandra_hakeem, @Cricktor, @nutildah, @Obim34: Thanks for the encouragement (and for bumping the patch thread). Please don't take me not leaving merit on your posts to mean that I don't appreciate them.



theymos fixed it already using Patch C, it only needed a second bump for him to take action.
Yup, I saw that. It cheers me up. (And now my blood pressure can stop spiking when I see someone complaining about something that I've already fixed. At least, for this particular issue.) Cheesy



@LoyceV: I'm sorry that this affected some of your data projects. Fix A wouldn't have (but, that would've caused old posts to render differently). I don't think it's possible (as in, CSS isn't powerful enough) to repair this bug in a history-preserving way without making some kind of change to the markup. Anyway, I hope I didn't create too much extra work for you. (Longer term, the forum really needs an API. It's very backwards that the frontend has to be disturbed as little as possible because of all the third-party projects built against it.)
Post
Topic
Board Meta
Merits 6 from 4 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 11/07/2025, 17:34:06 UTC
⭐ Merited by Cricktor (2) ,nutildah (2) ,Sandra_hakeem (1) ,dkbit98 (1)
Why do we have to use a hack to put multiple words in the same row of a table?
I think you've run into the bug that this patch would fix.

(Hmm... I'm not sure what to think/feel about an obviously useful patch with 3 different approaches for theymos to pick from just sitting there and collecting dust for ~11 months. It hurts me a little, I guess. I have a lot of pent-up frustrations around what it's been like for me to work on these little forum improvements. I don't know... I keep circling the thought that I'm not a good fit for Bitcointalk, and that I'm clearly swimming against the current, and I should take the hint and find a more productive endeavor.)
Post
Topic
Board Meta
Merits 21 from 7 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 03/07/2025, 01:02:20 UTC
⭐ Merited by LoyceV (6) ,hosemary (4) ,vapourminer (4) ,dkbit98 (3) ,joker_josue (2) ,ABCbits (1) ,Cyrus (1)
Would it be possible to make something other than the title clickable? Say the post number, the date, or even the "/"?
Nice one. I'll likely work on that (at some point).

What's going on there is that Symmetrick edited the subject into the Unicode character U+3164 ("Hangul Filler"). I quickly parsed the UCD XML file (for Unicode 16.0.0) and found ~406 other characters that will cause that same kind of (browser dependent) nothing-to-click problem. This is more of a note to myself than to you, but, to prevent that kind of "blank" subject from being possible in the first place, I suppose I should write a stripInvisible function (to filter out those ~407 "default ignorable" characters) along with a beefed-up trim function (to gobble up all ~25 kinds of whitespace from both ends of a string). That way, blank-but-not-empty subjects won't sneak past the minimum-length check. Probably, almost all of the ~65 Unicode control characters have no business being in subjects, either. I'm not sure about the ~170 formatting characters (though, I think ~138 of those would be caught anyway by the hypothetical stripInvisible function).

Hmm... I just tired myself out thinking about how I'm going to shoehorn all of that (or its whitelist inverse) into SMF's strange and inconsistent text-handling story; Imma rest my eyes for just a minute, m'kay? Cheesy

* PowerGlove dozes off...



About the interesting discussion on the previous page: I have thoughts, but, as usual, they're complicated, and it will take time for me to try to distill them into something readable...

I guess, one thought that I'm ready to share now is that I don't see how someone could be for self-moderated threads but against merit-restricted threads. As in, if you resent the idea that the thread-starter should have the power to limit merit-sending, then you should really resent the idea that the thread-starter should have the power to limit discussion.

I recently found this post by OgNasty (who I think is just about the biggest plonker that I've ever bumped into, but, even grade-A dingleberries occasionally have good thoughts):

Perhaps another idea is for some sort of list of deleted posts at the bottom of self moderated threads so that if people want to read what has been deleted, they have the option.

If it were up to me, I think I'd get rid of the self-moderation feature completely, but, failing that, I think something like what OgNasty is suggesting makes a lot of sense...

I think what I'd do is adjust the self-moderation notice from currently looking like this (and only being at the top of the page):



To looking like this (and being at the bottom of the page, too):



(The important change is that the "44 posts" part is now a link which will take you to a view of the deleted posts.)

There's also this idea from suchmoon:

It's allowed for topic-starters to delete all replies to their self-mod topics. Restoring the posts would only be considered in special cases such as if their account had been hacked.

Also, if a topic has no more replies, moderators will typically delete the topic on request, since then there isn't the issue of deleting other people's replies. That's why the empty topics were not restored.

It's just that he trashed a bunch of threads out of spite or mental breakdown or whatever that was, not because of anything related to the threads themselves. That's why I think it's abuse of a forum feature/privilege.

Perhaps there should be a time limit on self mod. I can't think of a good reason to delete posts months later.

I agree with that... I too can't think of a good reason to allow a self-moderating topic-starter to delete another user's posts a long time after they were written. (Unless, maybe, the topic-starter has returned after a long break from the forum, or something. I guess, accounting for that would be simple enough, but, it's the kind of band-aid-on-band-aid logic that quickly leads me back around to thinking that the whole self-moderation feature should never have been implemented in the first place. In fact, if it didn't currently exist, and it only now came up as a new suggestion in this thread, I'm pretty sure that almost everyone would hiss at the idea.)
Post
Topic
Board Meta
Merits 16 from 7 users
Re: [Discussion] Bitcoin Pizza Day on Bitcointalk 🍕
by
PowerGlove
on 23/06/2025, 11:56:45 UTC
⭐ Merited by klarki (5) ,LoyceV (4) ,hosemary (2) ,JayJuanGee (2) ,babo (1) ,joker_josue (1) ,dkbit98 (1)
I have a better suggestion, you can rate 114 with 0 points as I am no longer interested in the contest.
Don't be like that, dude. It's all good...

Probably you only meant to say "Thanks" to the people that voted for you, but, try to see things from a zoomed-out point of view. Imagine if every participant (in this competition and others) got into the habit of sending merit as a "Thanks" to the people that voted for them. I mean, that would get out of hand pretty quickly, no? People that really struggle to rank-up by making high-quality contributions would make sure to vote in every competition that they could find...

Also, it's kind of unsportsmanlike, isn't it? I would never want to win anything by encouraging people to vote for me. I'd want to win "clean" (even if all my competitors were trying everything that they could think of to tip the scales in their favor).

(Having said all that, one thing where I myself am pretty unsportsmanlike, at least according to others, is with deathmatch first-person shooters: I basically stopped playing them because everyone else thinks it's bullshit that I sometimes "camp" and feel comfortable staying out of view for long periods of time. Most people can't have fun like that, and resent the fact that I can outwait them, and I've myself gotten into heated arguments about how it's not against the rules, but, yeah... I don't like irritating people, even when I think that I'm in the right, so I changed my playstyle, and still lit them up nine ways to Sunday, haha, but, I really, really don't enjoy being in overly-prescriptive environments, so, I just stopped playing, except occasionally with close friends.)
Post
Topic
Board Meta
Merits 37 from 8 users
Re: Hidden pages/ features on the forum
by
PowerGlove
on 03/06/2025, 14:32:34 UTC
⭐ Merited by The Sceptical Chymist (12) ,LoyceV (6) ,ABCbits (5) ,dkbit98 (5) ,vapourminer (4) ,ibminer (3) ,JayJuanGee (1) ,babo (1)
Maybe this one isn't as not-known as I think (I've only ever seen it used on a handful of old posts), but, if you post while in ;wap2 mode (or ;imode, too, I think) then you'll get a different "message icon" than any of the 12 that you can ordinarily [1] pick from (I posted this message in that way, so, you should see the "wireless.gif" icon to the left of this post's subject and date/time).

[1] I'm aware of "moved.gif" and "recycled.gif", and I'm aware that there are some extra message icons on the "Important Announcements" board. I'm just referring to the 12 that you typically get to pick from.

Who knew there's a [php]-tag?
Yeah, that one's easy to forget about. It's worth noting that (with the right delimiter) you can get PHP code-coloring with [code][/code] tags, too:

Code:
<?php echo "Me?! I know who I am! I'm a dude playing a dude disguised as another dude. You're a dude that don't know what dude he is!";

BTW, here's a (I think) complete list of the 59 BBCode tags that the parser recognizes (it's an alphabetical arrangement of the 57 tag names that I found within SMF 1.1.19's parse_bbc function, plus the [btc] tag which came from theymos, and the [nbsp] tag which came from me):

Code:
#
*
+
0
@
abbr
acronym
anchor
b
black
blue
br
btc
center
chrissy
code
color
email
flash
font
ftp
glow
green
hr
html
i
img
iurl
kissy
left
li
list
ltr
me
move
nbsp
nobbc
o
O
php
pre
quote
red
right
rtl
s
shadow
size
sub
sup
table
td
time
tr
tt
u
url
white
x

(From the above list, I think only flash, html, and move are disabled: they are recognized, but, they emit inert stand-ins.)

(Adding new BBCode tags isn't as difficult as it might seem, so if anyone has any good ideas for useful ones, feel free to leave them in my thread.)

And who knew there's some sort of "space" that Admin can post, but turns into " " when I quote it? And why can Mia Chloe post it without problems? Never mind, the " "-thing only happens when I Preview my post.
That's the numeric entity reference for a non-breaking space. I don't know why entity references (and other inconsistencies) show up sometimes during preview. Between theymos' version of SMF being different to mine, and either version being approximately the same bug-harboring contraption, I probably wouldn't be able to get to the bottom of it without sinking something stupid like 2 or 3 days into figuring it out. Angry
Post
Topic
Board Meta
Merits 10 from 4 users
Re: Why is it impossible to Undo (CTRL+Z) Smiley and Bulletin board codes?
by
PowerGlove
on 30/05/2025, 14:17:38 UTC
⭐ Merited by dkbit98 (3) ,logfiles (3) ,ABCbits (2) ,Cyrus (2)
Why is it not possible to undo smiley or BB codes that one may have clicked on accidentally in a post they are trying to create?
Hmm... I've never noticed that before, but, it makes sense to me now that I consider it (what's happening is that the undo history of the textarea is being cleared/reset each time its contents are changed programmatically: when you insert something into a post/PM by using the toolbar, then either an SMF-provided JavaScript function named replaceText or one named surroundText is invoked, and, in either case, the textarea gets modified in such a way that the undo history is wiped; though, strictly speaking, I'm only considering the non-IE paths, and so maybe undo/redo did actually work correctly back in the day on Internet Explorer, but, that's neither here nor there).
 
Or can our script guy (PowerGlove) make some patch?  Smiley
I can. Smiley



Code:
--- baseline/Themes/default/script.js 2006-11-01 07:46:11.000000000 +0000
+++ modified/Themes/default/script.js 2025-05-30 10:34:10.000000000 +0000
@@ -113,6 +113,14 @@
 // Replaces the currently selected text with the passed text.
 function replaceText(text, textarea)
 {
+ // First, attempt to use the execCommand interface (it's deprecated, but, it doesn't wipe the undo history, which is nice).
+ if (typeof(document.execCommand) != "undefined")
+ {
+ textarea.focus();
+ if (document.execCommand("insertText", false, text))
+ return;
+ }
+
  // Attempt to create a text range (IE).
  if (typeof(textarea.caretPos) != "undefined" && textarea.createTextRange)
  {
@@ -167,13 +175,11 @@
  // Mozilla text range wrap.
  else if (typeof(textarea.selectionStart) != "undefined")
  {
- var begin = textarea.value.substr(0, textarea.selectionStart);
  var selection = textarea.value.substr(textarea.selectionStart, textarea.selectionEnd - textarea.selectionStart);
- var end = textarea.value.substr(textarea.selectionEnd);
  var newCursorPos = textarea.selectionStart;
  var scrollPos = textarea.scrollTop;
 
- textarea.value = begin + text1 + selection + text2 + end;
+ replaceText(text1 + selection + text2, textarea);
 
  if (textarea.setSelectionRange)
  {

(Between the three different ways that I can think of to fix this, I think the above way makes the most sense in the context of the existing code. It's not perfect, but, it's much lighter than trying to spoof input events or maintain a non-native undo history, and, if the deprecated interface that it relies on does actually get removed at some point, then the logic will just more-or-less return to the state that it's currently in.)

(I'm not going to bug theymos with a PM about this one, so, hopefully he bumps into this post naturally. I didn't test this change very carefully, because that's always the most time-consuming part of the process, and it doesn't make much sense for me to allocate a huge block of time to doing cross-browser testing for a proposed change that theymos might never even see, let alone merge. If he merges it and it turns out that I've overlooked something, like maybe selection-preservation not working exactly how it used to, then the change can be undone and I'll attempt to revise/improve it at that point.)
Post
Topic
Board Meta
Merits 18 from 3 users
Re: New moderator in forum?
by
PowerGlove
on 06/05/2025, 08:45:53 UTC
⭐ Merited by LoyceV (12) ,dkbit98 (5) ,Lafu (1)
@mprep: What's the point of doing this, though? I can't think of any non-contrived upside to merging old posts, but I can think of a few genuine downsides: Destroying timelines, breaking links to specific message IDs, sometimes hiding/losing "Merited by" markers, sometimes hiding/losing "Last edit" markers, adding new divergences between the forum and its various third-party archives, generating notification noise, and just generally irritating the affected posters (and it's not like Bitcointalk has a flourishing user base, so, why annoy good members for no real upside?). I mean, how much sense does it make to bypass the reporting mechanism and produce these old-post amalgamations on your own? Especially when, as you've said, they likely would have been marked "bad" if they had been reported organically rather than found by your bot.
Post
Topic
Board Meta
Merits 1 from 1 user
Re: If You love AI, Protect Human Written Texts at any Cost.
by
PowerGlove
on 28/04/2025, 07:41:48 UTC
⭐ Merited by Cyrus (1)
I enjoyed that. Thanks for recommending it! (It's available on the Internet Archive, BTW. Though, that's not how I read it: I hate creating unnecessary accounts, so I just found a copy of it on Anna's Archive.)

There are some thoughts in that story (mostly presented by "Jasper") that struck a chord with me, so I'll repeat some of them here:

Quote from: So Bright the Vision (Clifford D. Simak)
Someday, the human race will outwit itself. Someday it will mechanize to the point where there won't be room for humans, but only for machines.

Quote from: So Bright the Vision (Clifford D. Simak)
Of course, it's a great testimonial to the cleverness of Man, to the adaptability and resourcefulness of the human race. It is a somewhat ludicrous application of big business methods to what had always been considered a personal profession. But it works. Some day, I have no doubt, we may see the writing business run on production lines, with fiction factories running double shifts.

Quote from: So Bright the Vision (Clifford D. Simak)
But it should make some difference to us. It should make some difference in the light of a certain pride of workmanship we are supposed to have. And that is the trouble with machines. They are destroying the pride in us.
Post
Topic
Board Meta
Merits 14 from 6 users
Re: Little things that bug you/me about the forum
by
PowerGlove
on 19/04/2025, 15:41:00 UTC
⭐ Merited by The Sceptical Chymist (5) ,Xal0lex (3) ,ibminer (3) ,bitmover (1) ,vapourminer (1) ,Cyrus (1)
Does anyone know what is going on with PowerGlove?
He is not so much active in forum these days, only six posts written in April and March.
As unofficial main forum developer, he is either working on some big update, or he is busy with other things.
Getting Merit Poker done in time for the April 1st deadline was tough (and explains my lack of availability leading up to and during March). I've been chilling/recovering at half power (no glove) for the last few weeks. Tongue

In all seriousness, I'm always watching Meta, and working on forum-related things, even when I'm not posting about it. For example, last week I noticed a discussion come up about the "Report to moderator" function and saw Xal0lex mention that the "Please note that your email address will be revealed to the moderators if you use this." part of the description is no longer accurate. Someone asked if that language might be putting people off, and Welsh said that he thought so (which is my feeling, too), so I put together a patch and sent it to theymos.



Say I'd like to share this post in another post, I would press the currently imaginary share / 🔗 button located somewhere in the header of the post (in the thread title, or next to the quote and edit buttons). Clicking it would then maybe present a small dialog allowing me to copy it in this format:
Code:
[url=https://bitcointalk.org/index.php?topic=5503118.msg65275936#msg65275936]Little things that bug you/me about the forum[/url]
That's a very nice suggestion, Cyrus! I've started work on it. Smiley



What other consequences exist here?
It's a whole thing... I'll put together my thoughts on this soon and either post them here or send you a PM. Wink
Post
Topic
Board Project Development
Merits 15 from 5 users
Re: [BETA] [NEW] beta.ninjastic.space (forum search, archive and data visualization)
by
PowerGlove
on 13/04/2025, 01:02:24 UTC
⭐ Merited by mprep (10) ,TryNinja (2) ,NotATether (1) ,FatFork (1) ,Cyrus (1)
So I guess you just can't know.
It's a little off-topic for this thread, but, just so you know:




Post
Topic
Board Meta
Merits 219 from 11 users
Re: Replacing the merit system
by
PowerGlove
on 01/04/2025, 20:35:31 UTC
⭐ Merited by fillippone (50) ,EFS (50) ,theymos (45) ,LoyceV (42) ,Foxpup (12) ,mole0815 (10) ,ibminer (4) ,Halab (2) ,JayJuanGee (2) ,Cyrus (1) ,Avox (1)
Hey, everyone!

I just wanted to say that I hope you're all having fun! Smiley

(I actually had this idea back in 2023, soon after I did the FlappyCAPTCHA thing, but, I wasn't able to pull it off in time for last year's event.)

There are some chat commands that might be worth knowing:

/t+ makes the table bigger.
/t- makes the table smaller.
/t= makes the table the default size.
/c+ makes the controls bigger.
/c- makes the controls smaller.
/c= makes the controls the default size.
/q unseats you and puts you back in spectator mode. (This was from before I added the "Leave" button.)
/qj is the "quit join" command. You can use it to quickly be re-seated (it basically just selects a new table at random, without much intelligence, so you could end up back on the table you came from; if that keeps happening then there are likely only a few active tables).
/> rotates your position on the table (in case you prefer being seated somewhere other than the "south" chair).
/e is a (basically useless to anyone but me) command that does a console.log() on any recorded errors.

You can use the up and down arrow keys to navigate through the items that you've entered. If the chat input doesn't "accept" something you've typed in, then that's because you're either trying to enter an unrecognized chat command, or you're not seated, or you're trying to enter something that would take too many bytes when encoded in UTF-8 (like a long string of emojis, or something).

If anyone is interested in some programming details: With comments, and minus the custom build script, this project consists of just 1599 lines of code (168 lines of PHP, 576 lines of Python, and 855 lines of JavaScript, all according to cloc). It uses only the standard library from each language. While this project was mostly a solo effort, I certainly wouldn't have been able to complete it without help from both theymos (who helped with ideas and who did the database/SMF integration), and ibminer (who designed the table, the cards, and the chips, and who also helped with ideas).

One last thing: I added a cool little tribute/nod to o_e_l_e_o (who we all still miss very much around here). If the 5 "community" cards come up in a way that's suggestive of o_e_l_e_o's palindromic name (as in, something like 2-3-4-3-2, or J-5-A-5-J, etc. then the cards will display with a blueish glow, and everyone at that table gets a pMerit gift (and whatever is in the pot gets tripled).