AboutSuccessfully recovered from the rm -rf $account! Thank you so much everyone for helping me get back on track ♥️
SkillsSystem administration: 4 years Information security: 3 years Electronics (actively learning): 1.5 years Procrastination: 22 years Feel free to contact me at hello a.t nixmagic.com. Humans only, of course. Bots get redirected straight to /dev/null.
Joined devRant on 7/6/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
How do you stay sane while developing on top of other people's projects? After building a migration tool on top of LXC (2.x, because.. well, Debian 9 since every bloody option changed in LXC 3.x on Debian 10 and don't even get me started on the snap-crap that is LXD), I'm looking longingly at every intoxicant I have around... The "hmm, so they probably wrote this in response to that but didn't consider so and so..." only goes so far... :/1
Take note, this is the right way to deflect bots
Blocking IP ranges is one thing, but blocking all datacenter IP ranges altogether is something else entirely...4
!dev && rant
> be me
> headphones on
> hands packed with shopping bags
Some old bitch neighbor that I can't stand: oh hi!
WHAT THE FUCK ARE YOU MAKING ME TAKE OFF MY HEADPHONES FOR!?
Seriously. When someone has his hands stuffed with groceries and has headphones on, maybe they don't want to stop, put their bags down, take their headphones off and say no more than another hi. Like not even anything else, just hi and walk away! What's the fucking point!? Making me pause and waste time just for the hell of it? Thank you old bitch.13
I love software. Seriously, I love it. /s
Transmission is given a bad torrent (which, given that it's a torrent service, you'd expect it handles quite robustly) and completely fucks up. Like, really badly. It doesn't respond to RPC anymore, systemd has to resort to sending it a SIGKILL to get it off the process tree, and the web interface.. yeah. Nothing.
It doesn't log by default, so fine I'll add that to the systemd unit and restart it with debugging options enabled.
# systemctl daemon-reload && systemctl daemon-reexec
Turns out that /var/log/transmission.log can't be written to by my Transmission user. Well shit. Change that to /home/condor/transmission.log.
# systemctl daemon-reload && systemctl daemon-reexec
# systemctl restart transmission-daemon
*blood starts to reach its boiling point*
Still logs in the wrong fucking location. Systemd, I told you to log over there. I did everything I could to make you steaming pile of shit reload that fucking config. What's the fucking problem!?
*about 15 minutes of fighting systemd*
Finally! It spits out a log in the right location! Thank you Transmission and systemd for finally doing your fucking jobs. So a bad torrent it is, hmm...
*removes torrent from .config/transmission/torrents*
Transmission: *still fucking shits itself on that ostensibly removed torrent*
That's it. BEGONE!!!
Oh and don't get me started on the fact that apparently a service needs some 400MB of memory. Channeling your inner Chrome Transmission?10
Just added an RSS feed to my blog (https://nixmagic.com/rssfeed.xml/ if you're interested), and as I was testing it out in an RSS reader, I noticed that the reader basically just renders the webpage as if it were a web browser.
Heh.. I have only the Webkit engine on my computer, so I suppose it's just using that in the backend or something like that? How much RAM does that consume?
*looks at Task Manager*
67MB. I shit you not.. 67 megabytes. And that is rendering an entire website with no noticeable differences from a regular web browser.
I've just come to realize that in all the time I ran Netdata on my servers, it was nightly releases, automatically updated too.. that somehow never really broke. Not even minor issues.
I really like that... Moving fast doesn't always have to imply breaking things. I wonder how they're doing it.2
Necessary context for this rant if you haven't read it already: https://devrant.com/rants/2117209
I've just found my LUKS encrypted flash drive back. It was never stolen.. it somehow got buried in the depths of my pockets. No idea how I didn't look into my jacket for the entire time since that incident happened... But I finally found it back. None of my keys were ever compromised. And there's several backups that were stored there that have now been recovered too. Time to dd this flash drive onto a more permanent storage medium again for archival. Either way, it did get me thinking about the security of this drive. And I'll implement them on the next iteration of it.
For now though.. happy ending. So relieved to see that data back...
Full quality screenshot: https://nixmagic.com/pics/...14
It's finally happened. I've used my mail servers for about a year to give out different email addresses on my domain to things I sign up for online, and only used my "actual" email address that received all this email for the whole domain but the single one that I used outbound for private communications.
This worked well for a long time as I could see when spam comes in, where it came from by looking at the email address I designated it. Each company's email would be sent not only from an email address that they choose, but also to an email address that I choose. It allowed me to easily determine where there were problems. For example, on Freenode IRC my vhost happened to make my username@host there a valid email address. It eventually got blacklisted due to too much incoming spam as crawlers started detecting it. Another one was "nickname"@my.domain as I posted it a few times here. Got crawled as well. But it allowed me to easily blacklist each.
I'd never thought my actual outbound email address, my real one, to get crawled though. That would require the mail server of a company I explicitly communicated with to get hacked. But today that happened. I wonder whose it is, but I can't tell.
Time to make my outgoing email bound to a designated email address as well. I want to know which companies this happens to, even if they don't disclose it.7
Was just reading some of the OpenVPN scripts to renew a certificate where I forgot to source the vars file first (apparently OpenVPN stores those in a separate file that you always have to source first, and I tend to forget it sometimes).
Reading the revoke-full script that OpenVPN provides, it's just bash so I can read it no problem. But traversing through it and trying to understand it... Horrible! There's a test file in $RT named keys/revoke-test.pem. It's not used anywhere in OpenVPN for anything useful as far as I'm aware. The script however - the script that's running on a production server! - attempts to remove this file. It doesn't exist. Test files do (or at least should) not exist in production. They're not supposed to be there.
It exports empty variables. Some of them are set by the sourced vars file, some aren't. Not entirely sure why it's exporting variables as empty when they're uninitialized, or why it doesn't just unset the ones that are initialized.
And finally it goes ahead and revokes the key file that I'm actually concerned about through regular OpenSSL and verifies it.
Not to mention that the lack of the sourced vars file, which admittedly I should think about in the current status quo, if it *always* needs to be sourced anyway... Why doesn't the script do that itself then? One less thing to go wrong. But hey, proper design?
Gore. I don't have any other words for it.
And before anyone tells me that I should go and fix it if I'm so worried about it. Remember, I am not a developer. That's the job of the developers that made this in the first place.10
Just as I wait for my train, some advertisers from a utility company here approached me. Asking what my company is etc..
Me: "well I'm making my own company..."
*Looks at their pamphlet*
"Oh, utility company you mean. My apartment building has solar panels."
Them: "oh you know about electricity right... And F-16, the fighter jets that fly at 3000km/h"
(My neighbor is a former aerospace technician who mentioned that previously, should be about right)
Them: "they fly faster than electricity!"
Me: "but um.. electricity travels at the speed of light..."
Them: *avoid subject*
Them: "yeah it travels 7 times around the globe in 1 second"
Me: *recalls ping to my servers in Italy*
"Yeah to Italy my ping is about 300ms if memory serves me right... So that'd make sense"
(Turned out to be 40ms.. close enough though, right 🙃)
Them: "don't travel too much at light speed, alright!"
*They pack up and leave*
Meanwhile me, thinking: but guys.. all I wanted to do was smoke a cigarette before my train comes. Why did you waste my time with this? And uninformed time wastage at that.
Advertisers are the worst 😶12
ZNC shenanigans yesterday...
So, yesterday in the midst a massive heat wave I went ahead, booze in hand, to install myself an IRC bouncer called ZNC. All goes well, it gets its own little container, VPN connection, own user, yada yada yada.. a nice configuration system-wise.
But then comes ZNC. Installed it a few times actually, and failed a fair few times too. Apparently Chrome and Firefox block port 6697 for ZNC's web interface outright. Firefox allows you to override it manually, Chrome flat out refuses to do anything with it. Thank you for this amazing level of protection Google. I didn't notice a thing. Thank you so much for treating me like a goddamn user. You know Google, it felt a lot like those plastic nightmares in electronics, ultrasonic welding, gluing shit in (oh that reminds me of the Nexus 6P, but let's not go there).. Google, you are amazing. Best billion dollar company I've ever seen. Anyway.
So I installed ZNC, moved the client to bouncer connection to port 8080 eventually, and it somewhat worked. Though apparently ZNC in its infinite wisdom does both web interface and IRC itself on the same port. How they do it, no idea. But somehow they do.
And now comes the good part.. configuration of this complete and utter piece of shit, ZNC. So I added my Freenode username, password, yada yada yada.. turns out that ZNC in its infinite wisdom puts the password on the stdout. Reminded me a lot about my ISP sending me my password via postal mail. You know, it's one thing that your application knows the plaintext password, but it's something else entirely to openly share that you do. If anything it tells them that something is seriously wrong but fuck! You don't put passwords on the goddamn stdout!
But it doesn't end there. The default configuration it did for Freenode was a server password. Now, you can usually use 3 ways to authenticate, each with their advantages and disadvantages. These are server password, SASL and NickServ. SASL is widely regarded to be the best option and if it's supported by the IRC server, that's what everyone should use. Server password and NickServ are pretty much fallback.
So, plaintext password, default server password instead of SASL, what else.. oh, yeah. ZNC would be a server, right. Something that runs pretty much forever, 24/7. So you'd probably expect there to be a systemd unit for it... Except, nope, there isn't. The ZNC project recommends that you launch it from the crontab. Let that sink in for a moment.. the fucking crontab. For initializing services. My whole life as a sysadmin was a lie. Cron is now an init system.
Fortunately that's about all I recall to be wrong with this thing. But there's a few things that I really want to tell any greenhorn developers out there... Always look at best practices. Never take shortcuts. The right way is going to be the best way 99% of the time. That way you don't have to go back and fix it. Do your app modularly so that a fix can be done quickly and easily. Store passwords securely and if you can't, let the user know and offer alternatives. Don't put it on the stdout. Always assume that your users will go with default options when in doubt. I love tweaking but defaults should always be sane ones.
One more thing that's mostly a jab. The ZNC software is hosted on a .in domain, which would.. quite honestly.. explain a lot. Is India becoming the next Chinese manufacturers for software? Except that in India the internet access is not restricted despite their civilization perhaps not being fully ready for it yet. India, develop and develop properly. It will take a while but you'll get there. But please don't put atrocities like this into the world. Lastly, I know it's hard and I've been there with my own distribution project too. Accept feedback. It's rough, but it is valuable. Listen to the people that criticize your project.9
Me: *builds smol website for blogging purposes*
Hmm 🤔 so I need to be able to find a way to display properly to mobile clients as well, the desktop style is shite on my phones... How about going for all-screen and less than 1440px width? I mean there don't exist any phones with over 1440px width and I'm sure that everyone is now using 1920px width on their desktop panels (please keep the portrait desktop monitor setups out for now 😢)... Aight, looks nice now in both desktop and mobile. Awesome!
Few days later...
Le Telegram inbox: *ping*!
User: um yeah your font is way too large
Me: *looks at screenshot* (at least it was an actual screenshot, not a picture) well that's the mobile view.. why are you using that, what's your resolution?
Why are you doing this to yourself and why are you doing this to me 😭24
April 30, 2058
GNU? Linux? Ha! How ancient! Everyone uses systemd-coreutils and systemd-kernel. Nobody needs those useless old programs. In fact, systemd is so good that even Microsoft recently released their own systemd distro, and adopted the motto: “We Really Do Love Open Source This Time”. To show their love for open source, they’ve released the source for Snipping Tool under a BSD license.
systemd is super lightweight! My system uses around 600 gigs of RAM, whereas Windows uses upwards of a terabyte! I currently use the systemd-gnome desktop environment. I used to use KDE Plasma 18, but it didn’t integrate well with the rest of my operating system. systemd-braininterface doesn’t work very well with my Nvidia graphics card, so I use systemd-x11 like a hipster.
I’ve had no regrets switching to systemd. I feel bad for those BSD nerds. What a laughing stock, sticking to POSIX. Nobody writes POSIX programs anymore.
I wonder what lies in the future for systemd... I hope they fix systemd-oomd.8
Apparently my ISP does hosting.. and puts in their higher tier hosting package.. MySQL 5. And they actually market this. Version 5.0 got released in 2005 and after 2015, we're at version 8.
Anyone seen the machete? I've got some heads to take.20
Damn people are hostile today... I wonder why. Could it be the heat?
I suppose that this is one of the reasons why I like working at night, alone, at my desk though. No people to worry about.9
Just realized that my "cheapest that money can buy" printer reboots faster (and a lot too) than my fairly high-end but as proprietary and shitty as routers can be Fritz!Box router. German engineering no less.
Kill me 🙂🔫16
In my previous rant about IPv6 (https://devrant.com/rants/2184688 if you're interested) I got a lot of very valuable insights in the comments and I figured that I might as well summarize what I've learned from them.
So, there's 128 bits of IP space to go around in IPv6, where 64 bits are assigned to the internet, and 64 bits to the private network of end users. Private as in, behind a router of some kind, equivalent to the bogon address spaces in IPv4. Which is nice, it ensures that everyone has the same address space to play with.. but it should've been (in my opinion) differently assigned. The internet is orders of magnitude larger than private networks. Most SOHO networks only have a handful of devices in them that need addressing. The internet on the other hand has, well, billions of devices in it. As mentioned before I doubt that this total number will be more than a multiple of the total world population. Not many people or companies use more than a few public IP addresses (again, what's inside the SOHO networks is separate from that). Consider this the equivalent of the amount of public IP's you currently control. In my case that would be 4, one for my home network and 3 for the internet-facing servers I own.
There's various ways in which overall network complexity is reduced in IPv6. This includes IPSec which is now part of the protocol suite and thus no longer an extension. Standardizing this is a good thing, and honestly I'm surprised that this wasn't the case before.
Many people seem to oppose the way IPv6 is presented, hexadecimal is not something many people use every day. Personally I've grown quite fond of the decimal representation of IPv4. Then again, there is a binary conversion involved in classless IPv4. Hexadecimal makes this conversion easier.
There seems to be opposition to memorizing IPv6 addresses, for which DNS can be used. I agree, I use this for my IPv4 network already. Makes life easier when you can just address devices by a domain name. For any developers out there with no experience with administration that think that this is bullshit - imagine having to remember the IP address of Facebook, Google, Stack Overflow and every other website you visit. Add to the list however many devices you want to be present in the imaginary network. For me right now that's between 20 and 30 hosts, and gradually increasing. Scalability can be a bitch.
Any other things.. Oh yeah. The average amount of devices in a SOHO network is not quite 1 anymore - there are currently about half a dozen devices in a home network that need to be addressed. This number increases as more devices become smart devices. That said of course, it's nowhere close to needing 64 bits and will likely never need it. Again, for any devs that think that this is bullshit - prove me wrong. I happen to know in one particular instance that they have centralized all their resources into a single PC. This seems to be common with developers and I think it's normal. But it also reduces the chances to see what networks with many devices in it are like. Again, scalability can be a bitch.
Thanks a lot everyone for your comments on the matter, I've learned a lot and really appreciate it. Do check out the previous rant and particularly the comments on it if you're interested. See ya!26
Here are the reasons why I don't like IPv6.
Now I'll be honest, I hate IPv6 with all my heart. So I'm not supporting it until inevitably it becomes the de facto standard of the internet. In home networks on the other hand.. huehue...
The main reason why I hate it is because it looks in every way overengineered. Or rather, poorly engineered. IPv4 has 32 bits worth, which translates to about 4 billion addresses. IPv6 on the other hand has 128 bits worth of addresses.. which translates to.. some obscenely huge number that I don't even want to start translating.
That's the problem. It's too big. Anyone who's worked on the internet for any amount of time knows that the internet on this planet will likely not exceed an amount of machines equal to about 1 or 2 extra bits (8.5B and 17.1B respectively). Now of course 33 or 34 bits in total is unwieldy, it doesn't go well with electronics. From 32 you essentially have to go up to 64 straight away. That's why 64-bit processors are.. well, 64 bits. The memory grew larger than the 4GB that a 32-bit processor could support, so that's what happened.
The internet could've grown that way too. Heck it probably could've become 64 bits in total of which 34 are assigned to the internet and the remaining bits are for whatever purposes large IP consumers would like to use the remainder for.
Whoever designed IPv6 however.. nope! Let's give everyone a /64 range, and give them quite literally an IP pool far, FAR larger than the entire current internet. What's the fucking point!?
The IPv6 standard is far larger than it should've been. It should've been 64 bits instead of 128, and it should've been separated differently. What were they thinking? A bazillion colonized planets' internetworks that would join the main internet as well? Yeah that's clearly something that the internet will develop into. The internet which is effectively just a big network that everyone leases and controls a little bit of. Just like a home network but scaled up. Imagine or even just look at the engineering challenges that interplanetary communications present. That is not going to be feasible for connecting multiple planets' internets. You can engineer however you want but you can't engineer around the hard limit of light speed. Besides, are our satellites internet-connected? Well yes but try using one. And those whizz only a couple of km above sea level. The latency involved makes it barely usable. Imagine communicating to the ISS, the moon or Mars. That is not going to happen at an internet scale. Not even close. And those are only the closest celestial objects out there.
So why was IPv6 engineered with hundreds of years of development and likely at least a stage 4 civilization in mind? No idea. Future-proofing or poor engineering? I honestly don't know. But as a stage 0 or maybe stage 1 person, I don't think that I or civilization for that matter is ready for a 128-bit internet. And we aren't even close to needing so many bits.
Going back to 64-bit processors and memory. We've passed 32 bit address width about a decade ago. But even now, we're only at about twice that size on average. We're not even close to saturating 64-bit address width, and that will likely take at least a few hundred years as well. I'd say that's more than sufficient. The internet should've really become a 64-bit internet too.38
Cleaning lady: *wants some tunes during work*
Me: "Sure, I wanted to listen to some music as well.. not sure if our genres match though 🤔"
Cleaning lady (CL): "So what kind of music do you listen to?"
CL: "So um.. synthesizers?"
Me: "Well yes, but it kind of ties in with the dark side of technology.. the whole 1984 dystopian future etc. Privacy, lack of user freedom, etc."
CL: "So essentially cult music?"
TIL that the tech community is a cult for listening to synthwave. I bet she believes that tech peeps are lizards too.
*mentally slaps cleaning lady* - User!!20
Just had a Mac user in a Linux chat. Guy was trying to setup MySQL, yada yada yada... Turns out that the guy didn't know what a PATH is.
Let that sink in for a moment. A developer, with a hipster MacBook that probably cost him several grand.. but doesn't know what a PATH is.
Please kill me. 🙂🔫49
Software just destroyed half a year worth of work today. God bless developers. I'm getting myself a psychologist over a broken fucking server. Because software fucking killed it. And killed me with it. Do I really have to build everything from component to end product myself? Without even being a developer?22
I now understand why we have multi-core processors. So that a process that dun shit the bed doesn't hog the whole fucking CPU! Of course at the expense of "yeah our shitty software can hog the CPU no problem, there's now several cores anyway". Hardware solving the crap that software presents, yet again.8
Just went to a bar in a nearby town and miraculously got a contact of a fairly big investor by talking to the barman there. Apparently said investor is also technically inclined, and has a fair amount of financial resources to help make my plan to make my own distribution and compete with Canonical, Red Hat and SUSE a thing.
Talk to barmen people! They're the people that have contacts - in pretty much every industry. They're the people that know people.12
Man I fucking love debugging Windows applications... OpenVPN dun shit the bed because the management interface is locked (on the Windows client I presume?) - so poke that error message into the Gargler along with "openvpn windows"... First result, OpenVPN forums. Excellent. ... Some dickhead in the forums: "this is the wrong forum, this is for Access-Server users, and you the user MUST have terminated the process".
Come fucking on! If only I could replace this fucking device with a proper OS already (and no I can't). Windows itself being a clusterfuck is one thing but the goddamn support around it. Atrocious!5
Just now I was texting with my little sister, telling her how I'm doing, about that Foobar email etc... My sister replies: "Um.. foobar? Isn't that that place where you get your broken devices repaired?"
… It took me much longer than I'd like to admit to realize what bar she was referring to... Genius! XD10
I've recently received another invitation to Google's Foobar challenges.
A while ago someone here on devRant (which I believe works at Google, and whose support I deeply appreciate) sent me a couple of links to it too. Unfortunately back then I didn't take the time to learn the programming languages (Python or Java) that Google requires for these challenges. This time I'm putting everything on Python, as it's the easiest language to learn when coming from Bash.
But at the end of the day.. I am a sysadmin, not a developer. I don't know a single thing about either of these languages. Yet I can't take these challenges as the sysadmin I am. Instead, I have to learn a new language which chances are I'll never need again outside of some HR dickhead's interview with lateral thinking questions and whiteboard programming, probably prohibited from using Google search like every sane programmer and/or sysadmin would for practical challenges that actually occur in real life.
I don't want to do that. Google is a once in a lifetime opportunity, I get that. Many people would probably even steal that foobar link from me if they could. But I don't think that for me it's the right thing to do. Google has made a serious difference by actually challenging developers with practical scenarios, and that's vastly superior to whatever a HR person at any other company could cobble together for an interview. But there's one thing that they don't seem to realize. A company like Google consists of more than just developers. Not only that, it probably consists - even within their developer circles - of more than just Python and Java developers. If any company would know about languages that are more optimized such as C, it would be Google that has to leverage this performance in order to be able to deliver their services.
I'll be frank here. Foobar has its own issues that I don't like. But if Google were a nice company, I'd go for it all the way nonetheless - after all, they are arguably the single biggest tech company in the world, and the tech industry itself is one of the biggest ones in the world nowadays. It's safe to say that there's likely no opportunity like working at Google. But I don't think it's the right thing. Even if I did know Python or Java... Even if I did. I don't like Google's business decisions.
I've recently flashed my OnePlus 6T with LineageOS. It's now completely Google-free, except for a stock Yalp account (that I'm too afraid to replace with my actual Google account because oh dear, third-party app stores, oh dear that could damage our business and has to be made highly illegal!1!). My contacts on that phone are are all gone. They're all stored on a Google server somewhere (except for some like @linuxxx' that I consciously stored on device storage and thus lost a while back), waiting for me to log back in and sync them back. I've never asked for this. If Google explicitly told me that they'd sync all my contacts to my Google account and offer feasible alternatives, I'd probably given more priority to building a CalDAV and CardDAV server of my own. Because I do have the skills and desire to maintain that myself. I don't want Google to do this for me.
Move fast and break things. I've even got a special Termux script on my home screen, aptly named Unfuck-Google-Play. Every other day I have to use it. Google Search. When I open it on my Nexus 6P, which was Google's foray into hardware and in which they failed quite spectacularly - I've even almost bent and killed it tonight, after cursing at that piece of shit every goddamn day - the Google app opens, I type some text into it.. and then it just jumps back to the beginning of whatever I was typing. A preloader of sorts. The app is a fucking web page parser, or heck probably even just an API parser. How does that in any way justify such shitty preloaders? How does that in any way justify such crappy performance on anything but the most recent flagships? I could go on about this all day... I used to run modern Linux on a 15 year old laptop, smoothly. So don't you Google tell me that a - probably trillion dollar - company can't do that shit right. When there's (commercialized) community projects like DuckDuckGo that do things a million times better than you do - yet they can't compete with you due to your shit being preloaded on every phone and tablet and impossible to remove without rooting - that you Google can't do that and a lot more. You've got fucking Google Assistant for fucks sake! Yet you can't make a decent search app - the goddamn thing that your company started with in the first place!?
I'm sorry. I'd love to work at Google and taste the diversity that this company has to offer. But there's *a lot* wrong with it at the business end too. That is something that - in that state - I don't think I want to contribute to, despite it being pretty much a lottery ticket that I've been fortunate enough to draw twice.
Maybe I should just start my own company.6
Making electronics more difficult to repair with security fasteners and ultrasonically welded plastic nightmares and what have you.. what's the point? The argument from manufacturers is that "users don't want to get in there anyway". But, it's not like even if they could, they'd want to, right? Which type of person that doesn't know electronics very well and has an interest in repairing it would go and look at a board, and say "this is how it works, this and that is broken and this is how it should be repaired"? Not many users can repair their own devices regardless. So why? To preserve IP? Not like the Chinese bootleggers care about that. To preserve sales? Users can't repair their stuff anyway. To keep those who want to peek inside out, just for the hell of it? Anyone determined enough will be willing to break it in the process anyway.7
> be me
> spend 0.02 Ether (about €5) on one of those old-school MUD-style games
> send to the same Ethereum wallet from a previous purchase
> realize that the destination wallet changes for each purchase (probably to mitigate the fact that transaction history and contents in Ethereum wallets is entirely public)
> send an email to the game dev asking to return the transaction or pass it on to my player account
> *cricket noises*
About a week later, i.e. now:
*checks that Ethereum account that I accidentally sent that transaction to*
> $0 on it, transaction has been withdrawn
Now I couldn't care less about the €5 - it's only 2 beers worth - but what I do care about is honesty. Dear Chat Wars admin, that money wasn't yours. Also, I am one of those players that plays very few games but tends to commit to those I do play. The last one I played, I spent several hundreds of euros on over the couple of years I played it. I could've probably paid for your servers, spare time development and then some. But obviously not anymore. Choosing a quick grab of €5 over a relatively steady source of income from someone that tends to financially support what he likes... Re-evaluate your life choices.
Just like that incident with the stolen flash drive that was worth only €10... I couldn't care less about the raw value of them, but I do feel very disappointed in humanity when people go for a quick grab of such worthless things.5
I've just revived an old desktop computer today. Turns out that it was running Windows XP, Avast free antivirus, and had Bearshare as a default search engine (in other words, that thing is NOT going to be connected to my network).
But, it also had Chrome installed. So I thought to myself, with 1.25GB of RAM, there's no way that it could run Chrome smoothly. Opened it, and....
It consumed 80MB of RAM. 80 MEGABYTES. And that's not even a clean installation of it, it's a (likely) malware-infested one from a user! Compare that to the Chrome of today.23