Rendered at 19:27:52 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
akersten 16 hours ago [-]
I wish the author got more into the weeds of anitcheat and how it evolved over time. Jagex was banning bots based on mouse movement heuristics in like 2005. 20 years later and there's some JS framework on the front page here heralding that same kind of analysis as some revolutionary new approach. I can only imagine what the modern anticheat engine entails, especially in the era of LLMs that can reliably emulate a human player. (Some of them can even write quite technical blog posts that almost escape detection ;)
OSaMaBiNLoGiN 16 hours ago [-]
I farmed tens of thousands of us dollars in modern RuneScape by unhooking the mousehook. It worked for decades.
Find call to `SetWindowsHookEx` -> Find dword (`HHOOK`) it returns -> Inject module that calls `UnhookWindowsHookEx((HHOOK)(module_base + hhook_rva));` -> profit.
Jagex has done some interesting things, but without fail, there is a blunder accompanying each.
megagpt3 12 hours ago [-]
Short of hardware-enforced secure boot chain TPM anticheat there will always be a way around it. It's cat-and-mouse, not a single permanent solution.
compsciphd 8 hours ago [-]
Honestly, I dont know why "xbox mode" isn't this for PCs. Instead of anticheat, reboot into a stripped down mode just for playing the game that has a secure boot chain that the app can attest and report to the servers about and then reboot back into normal windows.
booting is so quick today that its hardly a friction point as it used to be.
yoursred 7 hours ago [-]
It's called rebooting into rootkitted winblows
JojiDoesCode 9 hours ago [-]
You suck for farming gold btw
OSaMaBiNLoGiN 6 minutes ago [-]
Modern RuneScape was a pit of whale hunting mtx pay2progress nonsense. As soon as they started to make an effort to restore integrity to the game, I stopped farming gold and selling the bot. Got a regular job. Now I enjoy the game as a fan and am very excited to see how far the new Jagex CEO can take the company and its titles.
I don't have any regret for profiting from a game being bled dry by bankers. When that stopped, so did I.
I feel that's fair.
serf 6 hours ago [-]
let's try the entrepreneurial defense that tends to work around here :
"oh no, it's okay -- you see I was selling the hack; I wouldn't have wasted time in that game."
jamesnorden 9 hours ago [-]
Too hacker for Hacker News.
dpoloncsak 5 hours ago [-]
MMOs need bots farming gold, and are usually designing their economy around it
free_bip 4 hours ago [-]
This is just blatantly false.
OSaMaBiNLoGiN 4 minutes ago [-]
It is false. They don't need them by any means. In some specific cases, bots do help, but this is usually a result of poor design. An example would be any expendable resource that is required in large amounts, but is very boring and unrewarding to gather. In these instances, bots can be argued to be a positive. But for bots to exist to farm these boring resources, they must also exist to farm end-game content. If they exist at all, the negatives will always out weigh the positives. The positives exist, sure. But they're few and far between.
From a regular player's perspective, if they want to kill a boss for 3 hours, they must use X amount of Y resource. If the cost of Y resource is very high, or worse, the market has not enough supply, the game becomes less fun for them.
This is addressed by bots, but is better addressed by a design solution from the developer.
All of that being said, if bots exist, the reward for going and farming that boss is going to be far less than if bots didn't exist. So still, negative.
sph 15 hours ago [-]
“This is good for LLM.”
In reality since the new CEO, they have been much more strict with antibotting and they have virtually disappeared from the game. It’s been an incredible 6 months without major botfarms in the game. Botting subreddits have been on suicide watch since.
hansvm 16 hours ago [-]
It's gotten pretty good (finally good enough that you can observe it in the game's macroeconomics), but if you're any good as a programmer then it's no work whatsoever to build something which can bypass it indefinitely.
jkm_dot_dev 9 hours ago [-]
Hi, I'm the author of the article.
Sadly, the anti-cheat is not something I'm too knowledgeable in. Half of the story is visible in the client: which data is tracked, and when (as well as some visual adjustments to defeat older colour-recognition bots such as SCAR) - as well as the data scrambling I mention in the article, though this was more likely meant to break all third-party clients and packet sniffers.
Knowing how Jagex used this data once they'd tracked it isn't something I have much of an idea about, though.
On the wink: I wrote this article by hand over a couple of weeks back in May; I used AI to provide wording review on some of the more technical sections, and to create the SVG diagrams from my specs.
throwaway7679 15 hours ago [-]
The evolution for Old School RuneScape was to just make cheating a built-in feature. It only takes a couple clicks every ten minutes to "play" the game.
Hunpeter 9 hours ago [-]
I don't think you are wrong, per se, but at the same time the skill level of late-game (or even mid-game) encounters has also been increasing. Plus, they usually aim to strike a balance between less intensive but also less efficient activities vs. the ones requiring frequent clicks and full attention but offering quicker progression.
megagpt3 12 hours ago [-]
Only if you're talking about the Gemstone Crab.
Which was added because people were already doing that on the normal crabs, but fighting over the spots. So they made a crab that any number of people can fight at the same time (combat is ordinarily one to one), and it always lives for ten minutes no matter how many people are fighting it or how hard.
serf 6 hours ago [-]
this was the evolution of most online games, same reason why every action/shooter game that's online at the moment has a mechanic that allows players to see through walls : if players have that mechanic available to them then there is a likely scapegoat to believe killed you rather than realizing that it's a hacker with invisible textures or wall hacks; lessens the work for the developer answering hate mail from people that got killed by hackers.
rozenmd 13 hours ago [-]
It was enough to just write your own scripts instead of using freely available ones to avoid detection for an extremely long time.
swarnie 15 hours ago [-]
A large amount of work has been done this year alone to reduce botting to levels i didn't think was possible.
No need for mouse heuristics. Sandwich Lady will wreck your shit
saejox 16 hours ago [-]
Ultima online released in 1997 and required only a 28k modem.
I also would argue it was a more complex game.
simonjgreen 14 hours ago [-]
Publish 124 released last week. Quite incredible that the game is still undergoing development and new content. Admittedly it has changed hands several times, and the Richard Garriot days are a distant memory now, but still!
I used to operate one of the more popular player run shards, after the peak of the mainstream game, and even that feels like a distant memory.
Ultima Online is one of very few games (probably Star Wars Galaxies and that's it) that actually merit the label MMORPG. It's kind of insane when you think about it, that the MMO that most closely came to fulfilling the promise of a "shared, persistent, virtual world" was also the ~first one.
Nition 12 hours ago [-]
Even if it's not quite technically the first MMO, Origin did also coin the term MMORPG themselves in order to describe Ultima Online to the press.
omnibrain 9 hours ago [-]
EVE Online.
ectospheno 16 hours ago [-]
I played EverQuest on the PS2 using a modem in 2003. Performance was fine.
aidenn0 15 hours ago [-]
On PvP servers broadband was a huge advantage because you could switch zones much faster.
OsrsNeedsf2P 18 hours ago [-]
Is this article just an analysis of the Lost City[0] codebase without linking Lost City?
Hi, I'm the author - no it's not an analysis of the Lost City codebase (though I am a contributor to LC).
Most of the knowledge came from my refactor of the #317 RS2 client (https://github.com/Jameskmonger/317refactor) though I looked at some other decompiled versions while writing this blog post.
NeutralWanted 17 hours ago [-]
It is. Code snippets in the article are JavaScript as well, while only ever mentioning Java in the article
ZYbCRq22HbJ2y7 18 hours ago [-]
not to take away from the article, but some did with similar fidelity on 14.4k
It’s just a game brother, no investment necessary. But do as you wish :)
Cpoll 2 hours ago [-]
You won't really get much out of it playing 3hrs/week though.
reactordev 8 hours ago [-]
Every game is a time sink, and RPG's are a time investment. Do you not understand this?
grebc 4 hours ago [-]
It’s a game brother, don’t take it so seriously. Bit sad if your enjoyment/relaxation is measured in this exacting way.
YouGuysAreBorin 17 hours ago [-]
[flagged]
17 hours ago [-]
stackghost 16 hours ago [-]
The comment you're replying to links to a wiki article that explicitly mentions both Tibia and UO.
YouGuysAreBorin 16 hours ago [-]
[flagged]
tibiamuch 16 hours ago [-]
[dead]
NDlurker 16 hours ago [-]
Phantasy Star Online on the Sega Dreamcast worked great on dial up
stux 17 hours ago [-]
> Before any networking occurs, the client runs a breadth-first search using the local collision map to build a path from where you are to where you clicked, and then writes the packet for the server to read. [...] The packet contains the absolute position of the first waypoint in the path, followed by the delta of each waypoint in the path against the first one
How come the client sends waypoints rather than just the destination? Naively it seems like sending less data would be better. Is the pathfinding so expensive that you'd want to avoid doing it on the server? I suppose it works out as long as it's cheap to validate/correct the client's path?
fufi2022 16 hours ago [-]
The algorithm is very cheap to run for a client (linear first, then diagonal to target, stitch together as many of these as it takes in the fewest number of hops), as they have full map data downloaded. For 2k concurrent players on mid range 2004 hardware (you have to remember they had kind of old school tech even for the time, though I'd love to be proven wrong on this), and with all the other interactions that needed to run before the next game cycle, I think they probably decided it was better to be clientside.
It's also possible they could have made it work, and it would have been a technical win, but just didn't need to since they had an MVP.
petterroea 15 hours ago [-]
Good point. I wonder how many articles discuss old games and over-analyze choices that may actually be labelled as
//TODO: good enough, fix later
In the actual source code
megagpt3 12 hours ago [-]
I was wondering how tileman gimmick accounts seemed to be forcing their pathfinding to unlocked tiles. That would explain it.
fufi2022 4 hours ago [-]
As an ex tileman (100k tiles before the lag got to be too much), you pick this up pretty early!
connicpu 16 hours ago [-]
Validating that a path on a grid doesn't move through impassable objects is definitely much cheaper than running a pathfinding algorithm, especially on 2004 hardware. You'd have to make those checks as well in order to run the pathfinding.
jonathanlydall 13 hours ago [-]
Interesting, when I was a WoW GM our special “GM WoW Client” contained a lot of features that QA would use.
One of these was showing NPC pathing in the form of dots with lines in between. At any time the WoW client would know next 5 or so waypoints of a mob that was idle patrolling.
I guess it’s more efficient to send a batch of waypoints occasionally than one at a time more regularly.
It was a interesting watching boss fights where the pathing would update quite regularly, especially if the tank had just died and it was systematically clobbering everyone else.
Ekaros 11 hours ago [-]
There is also real world considerations. Like packet loss, latency and jitter. Some users might have less than perfect connections so sending more at time when it is known is for better user experience. I think we often forget just how good many modern internet connections are. Especially if you are sitting in office with very high bandwidth fibre connection.
dijit 10 hours ago [-]
You're putting the computation of waypoint finding on the all clients, or on your server.
People spam click, so it's cheaper to compute it once and pass it around.
hansvm 16 hours ago [-]
It's a trade-off, especially for longer paths, especially when you count the cost of server RAM cache misses.
aboardRat4 15 hours ago [-]
Lineage 2 was launched in 2003 with a stunning 3d graphics.
Sphera is even older.
MMORPGs are super old.
megagpt3 12 hours ago [-]
MUD1 is from 1978
Aeolun 7 hours ago [-]
If you actually build a binary protocol you'll quickly find that, unless you do very big worlds, 5 KB/s up/down goes a very long way.
dofm 13 hours ago [-]
Oh man. The gamer cult around RuneScape was so hardcore and evangelical in 2004 that it is when it acquired the nickname "Run! Escape!"
I never fell in with the cult and I am glad I didn't. The Dofus cult in the next few years was small and hilarious and luckily the economics of that game made it a bit less fun beyond a certain level, like the real world, so you could get out before you lost your mind.
percentcer 17 hours ago [-]
I don't understand how RuneScape managed to get the traction it did. 2004 was the same year World of Warcraft came out!
hansvm 16 hours ago [-]
The other comments hit the big ones (didn't have to download, had a free tier, didn't have significant irreversible character choices, had meaningful solo or quasi-social activities, etc), but I think a major contributing factor was it appearing on miniclip.
AlwaysRock 9 hours ago [-]
Others have said it but free to play option and it ran in browser. I had no money and knew WoW was more popular but my low end pc couldn’t run WoW very well and I couldn’t afford the $15 a month subscription.
I think I did end up paying for a RuneScape membership but even then it was only $5 a month.
VertanaNinjai 17 hours ago [-]
It was free to play when that wasn’t a popular financial model for games at the time. The memberships were also much cheaper than WoW and accepted different payment methods that would be more available to minors at the time.
junon 17 hours ago [-]
Also no need to install or commit to a guild or clan or whatever. You could just log in, screw around for an hour or ten, and log off. Then log in again from somewhere else. It was miraculous for a kid like me.
connicpu 16 hours ago [-]
Could even run on the computers at my middle school, nobody thought to block it
cyphar 16 hours ago [-]
As a kid, I didn't have a computer that could run WoW, nor would I have been able to convince my parents to pay for the subscription. I suspect most of the popularity was from kids in a similar situation, probably playing it on library computers when they should've been studying.
MapleStory was also quite popular back then for similar reasons.
pton_xd 17 hours ago [-]
It's free and you could play it in the school library, for one. Also it came out a few years before WoW.
opan 11 hours ago [-]
RuneScape was very popular at my local public library, and as a kid I only played the F2P content. I knew maybe one or two people around that time that played WoW. The paid subscription made it not a realistic option for me at the time. Though one of those WoW players did once bring his discs over for me to install the game and play on a private server with him. I don't think I kept playing WoW long for whatever reason. I was more into MapleStory, Graal Online, and RuneScape.
robrtsql 5 hours ago [-]
I think WoW was PC-only with an Intel Mac release coming later. Runescape was one of the few MMOs I could run on my parent's PowerPC Mac.
terribleperson 16 hours ago [-]
Besides what everyone else said, it was a pre-WoW style sandbox MMO with a lot of freedom at the time. Those have their own appeal.
thothless 16 hours ago [-]
in addition to what others said...
2004 runescape, now "old school runescape", which is actually successor 2001 Runescape "Classic", were both playable in a browser.
and my (parent's) PC couldn't even install, let alone run WoW. despite me trying with all my might.
so I'm sure I wasn't alone.
it was absolutely magical to me.
terribleperson 16 hours ago [-]
Yep. You could play it almost anywhere. School, friends house, parents work laptop. It required little hardware and, as you said, ran in a browser.
Meanwhile, WoW had to be installed, took a fairly large amount of space (I remember 14gb on my 28gb HDD), and Ironforge ran like garbage on my PC.
rcxdude 9 hours ago [-]
Yeah, it predated WoW by some years, and was accessible pretty much anywhere (even if school IT often tried to block it).
16 hours ago [-]
snovymgodym 16 hours ago [-]
They were two very different games and target audiences, with the incidental commonality that both are MMOs.
tibiamuch 16 hours ago [-]
[dead]
andrepd 14 hours ago [-]
WoW needed a purchase, an expensive subscription, and a good PC. Runescape ran on a potato, was F2P, the P2P was 5$ a month, and you could get started in 2 minutes from Miniclip.
s5300 14 hours ago [-]
[dead]
sph 15 hours ago [-]
I love how when Runescape gets posted on here, there’s always a few proud stories of how people cheated. Today one is even admitting to RWT (real world trading) for tens of thousands of $, when elsewhere one shuts up about it because cheaters in multiplayer gaming are regarded as the antisocial scum that make the game worse for everybody else. It’s not really something to brag about.
I guess one thing antisocial people lack is self-awareness.
t-writescode 14 hours ago [-]
I was going to say a comment about “back in my day”; but your account is from 2011, so you should know what video gaming was like in ye olden era. Did you mod in a Mew, or 256 Masterballs in Pokemon Red with a Game Genie? Why not? How about doing some weird stuff with Missing No?
What about loading in some rare items in Diablo 1 on your local save and them importing them into Battlnet? especially before Diablo 2, 1.10?
How about Early Minecraft - we’re talking Beta days. Did you test out those X-Ray block packs that helped you see diamonds?
Cheating literally only matters when there’s a PvP or leaderboard or whatever glory-theft that comes from it. It’s only really shamed on when it hurts other people’s gameplay experience - like screwing with a leaderboard at the “low pain” end and ruining a multiplayer experience in the middle end. For everything else, it’s an experience modifier or a difficulty slider for your own private game experience. Lots of games nowadays add in those difficulty sliders directly or add sandbox modes where there used to be “cheating” that stuff in.
Byhird 13 hours ago [-]
I think the argument here is that cheating in runescape DOES meet the first requirement
MMOs, especially runescape are inherently multiplayer experiences and cheating in them hurts the game community. Your examples are all from games that are single player (though with multiplayer options, Diablo and Minecraft in particular)
serf 6 hours ago [-]
What I find interesting is the selectivity of the moral outrage.
On HN, people will casually discuss careers in defense, surveillance, ad-tech, exploitative finance, or fairly predatory forms of Silicon Valley capitalism without immediately being reduced to “antisocial scum.” The conversation is usually allowed to remain about incentives, systems, technical work, or professional history.
But game cheating seems to trigger a much more personal kind of condemnation.
My suspicion is that games occupy an unusually intimate place in people’s lives: they’re leisure, status, competition, nostalgia, and identity all at once. So violating the rules of a game feels less abstract than participating in an industry whose real-world externalities may be vastly larger.
That doesn’t make cheating harmless. It just makes the asymmetry interesting. Somehow writing a RuneScape cheat is treated as evidence of defective character, while doing technically impressive work for institutions or businesses with much more consequential externalities often gets discussed with detached professional curiosity.
Maybe the lack of self-awareness isn’t entirely on the side you think it is.
p.s. i've written a lot about my experiences in grey-market software on HN and I never once did so to brag : I did so because this is a place to share and develop technically interesting anecdotes.
p.s.s. I don't find your opinion on who scum is to be technically interesting.
megagpt3 12 hours ago [-]
Why would they care about maintaining a reputation on a pseudonymous Hacker News account? They have tens of thousands of $, that's way better than not being known as a RWTer.
brailsafe 15 hours ago [-]
I think this is both a fair cultural observation and one that's a bit excessive. I think people regard it as a point of pride because it didn't necessarily harm anyone, and because that experience was one of their pivotal early programming challenges that has a tangible return and that they had relatively high agency over. I look back on my time as a player of WoW during the Glider days as one where I was largely pissed that botters were ruining the economy for actual players, but I look back on my time in RuneScape as one where I was completely fixated on running my little factory and not wanting to actually play what was kind of a boring tedious game. I'm not proud today of having scammed people when I did, but I was proud of having a modicum of ingenuity and figured out how to exploit various things in the system. Real world trading, like many rules, isn't inherently immoral, but deliberately stealing money or items from people is.
I highly doubt I'd have ever given a damn about programming if I hadn't tried my hand at Scar scripting as a kid for both RuneScape and Neopets. Simultaneously, I also scammed people and ripped off friends in various games, but that the two activities were mutually exclusive and I was just an asshole. I'm glad I got to explore the worst part of myself in a sandboxed environment rather than taking it to any serious level.
Find call to `SetWindowsHookEx` -> Find dword (`HHOOK`) it returns -> Inject module that calls `UnhookWindowsHookEx((HHOOK)(module_base + hhook_rva));` -> profit.
Jagex has done some interesting things, but without fail, there is a blunder accompanying each.
booting is so quick today that its hardly a friction point as it used to be.
I don't have any regret for profiting from a game being bled dry by bankers. When that stopped, so did I.
I feel that's fair.
"oh no, it's okay -- you see I was selling the hack; I wouldn't have wasted time in that game."
From a regular player's perspective, if they want to kill a boss for 3 hours, they must use X amount of Y resource. If the cost of Y resource is very high, or worse, the market has not enough supply, the game becomes less fun for them.
This is addressed by bots, but is better addressed by a design solution from the developer.
All of that being said, if bots exist, the reward for going and farming that boss is going to be far less than if bots didn't exist. So still, negative.
In reality since the new CEO, they have been much more strict with antibotting and they have virtually disappeared from the game. It’s been an incredible 6 months without major botfarms in the game. Botting subreddits have been on suicide watch since.
Sadly, the anti-cheat is not something I'm too knowledgeable in. Half of the story is visible in the client: which data is tracked, and when (as well as some visual adjustments to defeat older colour-recognition bots such as SCAR) - as well as the data scrambling I mention in the article, though this was more likely meant to break all third-party clients and packet sniffers.
Knowing how Jagex used this data once they'd tracked it isn't something I have much of an idea about, though.
On the wink: I wrote this article by hand over a couple of weeks back in May; I used AI to provide wording review on some of the more technical sections, and to create the SVG diagrams from my specs.
Which was added because people were already doing that on the normal crabs, but fighting over the spots. So they made a crab that any number of people can fight at the same time (combat is ordinarily one to one), and it always lives for ten minutes no matter how many people are fighting it or how hard.
Obviously we only get the details JMods are willing to give away but some of their techniques can be seen in various reddit Smackdown posts like this one from six days ago - https://preview.redd.it/prx0s0qp2hlh1.png?width=355&format=p...
I also would argue it was a more complex game.
I used to operate one of the more popular player run shards, after the peak of the mainstream game, and even that feels like a distant memory.
Edit: latest notes https://uo.com/wiki/ultima-online-wiki/publish-notes/publish...
[0] https://github.com/LostCityRS
Most of the knowledge came from my refactor of the #317 RS2 client (https://github.com/Jameskmonger/317refactor) though I looked at some other decompiled versions while writing this blog post.
https://en.wikipedia.org/wiki/History_of_massively_multiplay...
i think the author would find ultima online emulators interesting
How come the client sends waypoints rather than just the destination? Naively it seems like sending less data would be better. Is the pathfinding so expensive that you'd want to avoid doing it on the server? I suppose it works out as long as it's cheap to validate/correct the client's path?
It's also possible they could have made it work, and it would have been a technical win, but just didn't need to since they had an MVP.
//TODO: good enough, fix later
In the actual source code
One of these was showing NPC pathing in the form of dots with lines in between. At any time the WoW client would know next 5 or so waypoints of a mob that was idle patrolling.
I guess it’s more efficient to send a batch of waypoints occasionally than one at a time more regularly.
It was a interesting watching boss fights where the pathing would update quite regularly, especially if the tank had just died and it was systematically clobbering everyone else.
People spam click, so it's cheaper to compute it once and pass it around.
Sphera is even older.
MMORPGs are super old.
I never fell in with the cult and I am glad I didn't. The Dofus cult in the next few years was small and hilarious and luckily the economics of that game made it a bit less fun beyond a certain level, like the real world, so you could get out before you lost your mind.
I think I did end up paying for a RuneScape membership but even then it was only $5 a month.
MapleStory was also quite popular back then for similar reasons.
2004 runescape, now "old school runescape", which is actually successor 2001 Runescape "Classic", were both playable in a browser.
and my (parent's) PC couldn't even install, let alone run WoW. despite me trying with all my might.
so I'm sure I wasn't alone.
it was absolutely magical to me.
Meanwhile, WoW had to be installed, took a fairly large amount of space (I remember 14gb on my 28gb HDD), and Ironforge ran like garbage on my PC.
I guess one thing antisocial people lack is self-awareness.
What about loading in some rare items in Diablo 1 on your local save and them importing them into Battlnet? especially before Diablo 2, 1.10?
How about Early Minecraft - we’re talking Beta days. Did you test out those X-Ray block packs that helped you see diamonds?
Cheating literally only matters when there’s a PvP or leaderboard or whatever glory-theft that comes from it. It’s only really shamed on when it hurts other people’s gameplay experience - like screwing with a leaderboard at the “low pain” end and ruining a multiplayer experience in the middle end. For everything else, it’s an experience modifier or a difficulty slider for your own private game experience. Lots of games nowadays add in those difficulty sliders directly or add sandbox modes where there used to be “cheating” that stuff in.
MMOs, especially runescape are inherently multiplayer experiences and cheating in them hurts the game community. Your examples are all from games that are single player (though with multiplayer options, Diablo and Minecraft in particular)
On HN, people will casually discuss careers in defense, surveillance, ad-tech, exploitative finance, or fairly predatory forms of Silicon Valley capitalism without immediately being reduced to “antisocial scum.” The conversation is usually allowed to remain about incentives, systems, technical work, or professional history.
But game cheating seems to trigger a much more personal kind of condemnation.
My suspicion is that games occupy an unusually intimate place in people’s lives: they’re leisure, status, competition, nostalgia, and identity all at once. So violating the rules of a game feels less abstract than participating in an industry whose real-world externalities may be vastly larger.
That doesn’t make cheating harmless. It just makes the asymmetry interesting. Somehow writing a RuneScape cheat is treated as evidence of defective character, while doing technically impressive work for institutions or businesses with much more consequential externalities often gets discussed with detached professional curiosity.
Maybe the lack of self-awareness isn’t entirely on the side you think it is.
p.s. i've written a lot about my experiences in grey-market software on HN and I never once did so to brag : I did so because this is a place to share and develop technically interesting anecdotes.
p.s.s. I don't find your opinion on who scum is to be technically interesting.
I highly doubt I'd have ever given a damn about programming if I hadn't tried my hand at Scar scripting as a kid for both RuneScape and Neopets. Simultaneously, I also scammed people and ripped off friends in various games, but that the two activities were mutually exclusive and I was just an asshole. I'm glad I got to explore the worst part of myself in a sandboxed environment rather than taking it to any serious level.