Redis on a crappy VPS gore
-
Continuing the discussion from The simple status thread.:
TIL redis is pain in the ass in low memory conditions.
Here's the story in 3 screenshots. See if you can figure out what happened.
-
spmething went bezerk and spammed the living hell out of redis?
-
-
And I couldn't resist:
-
Surely you mean -h, not -H?
-
spmething went bezerk and spammed the living hell out of redis?
Redis packs everything into an append-only log (AOF), then occasionally rewrites the file, to reduce its size.
Eg, it converts
set A "value1" set A "value2" del A set A "value3"
into
set A "value3"
Except, on this (and other) crappy VPS-s, it sometimes fails to do so. So the AOF just keeps growing and growing and growing.
So now, I have to wait like 4-5 hours for redis to load the freaking file before it becomes operational. I ended up just deleting everything and starting from scratch.
-
I actually first tried
du -h
, but it was running so slow, I just gave up.Did I mention these servers are complete crap?
They are complete crap.
-
-H, --dereference-command-line
follow symbolic links listed on the command line
?
-
yes, I meant -h
The memegenerator rewrites everything in upper case.
I was using *nix when most of you were shtting your diapers.
-
I was using *nix when most of you were shtting your diapers.
So earlier this morning, then?
-
Hey speak for yourself! I wasn't born today! (I was born yesterday)
-
The over sharing thread is
Ha, the preview for
:arrows:
is super squashed
-
Hey speak for yourself! I wasn't born today! (I was born yesterday)
Ah, so you haven't heard of adult diapers yet then.
-
ckopalku
-
I have, I just choose to repress those kind of things from my memory...
-
xu do selmojvi'u ro lo ckopalu
-
-
-
-
xu do selmojvi'u ro lo ckopalu
-
-
Your GitHub page did not load. For some reason, that amuses me.
-
It's a text editor, not an image editor. You have to type things in the box.
-
It's a text editor, not an image editor. You have to type things in the box.
So...wait...the only indication that it is not just server lag is a tiny blinking cursor in the very upper left? No header? No footer? Not even a bit of text that says, "Type shit here"? Just...nothing but a cursor with no offsetting?
Wait until blakey sees that. His head will explode with the opensourceyness of it.
-
Wait until blakey sees that. His head will explode with the opensourceyness of it.
Status: still awaiting comment from @blakeyrat on the IDE I made for that.
-
What the fuck is this shit.
Hey Ben L, you want my opinion? Here's how you do that:
-
actually ask me at some point
-
fuck off.
A SIMPLE TWO STEP PROCESS.
-
-
-
-
Weird, I'm not getting that message in Chrome.
-
Same here in Firefox 39.0.3. I just get a blank page and that error.
-
I just get a blank page and that error.
Look at the upper-left corner. There is a tiny blinking cursor that any sane person would miss.
-
Try it now. You might have to refresh after it loads because appcache+Firefox is a bit weird.
-
It doesn't work.
-
Try it now.
Works for me now, having a play...
Look at the upper-left corner. There is a tiny blinking cursor that any sane person would miss.
It wasn't that, the page was totally blank on FF with no typing possible, and fine on Chrome (I did only know that because I saw your earlier post about the cursor ;))
-
CLOSED BUG_REPORT_IS_TOO_VERBOSE
BODY_IS_INVALID
-
ECMAScript 5 does not permit it, but does not explicitly forbid it. ECMAScript 6 explicitly forbids it, and Firefox enforces that in strict mode (since it turns on a bunch of other Harmony features for some reason).
-
since it turns on a bunch of other Harmony features for some reason)
encouraging people to adopt the technology?
someone's gotta be frist after all's said and done and it may as well be mozilla
-
Wouldn't it be a better idea to not break existing software?
-
you have to break backwards compatibility some time. Think of how annoying it would be if we still had to use NES cartridges for our XBOX and Playstation games.
hell, what about the NES controller?!
breaking backwards compatibility is a good thing, and given that you put your ES5 code into strict mode and then did a thing that was not permitted (even if it wasn't explicitly forbidden, thereby putting it in nasal daemon teritory) can you really be surprised it broke?
-
Yes, but you can still use an NES and also have an XBOX. You can't use Firefox-version-whatever and still have a working website.
-
sure you can!
just don't put your scripts into strict mode and do things that aren't allowed in strict mode.
if you want non-strict mode then you need to use non strict mode.
and if you want to mix strict and non strict you can do that too, just put the declaration as the first line in the functions you want strict or break it into separate files.
Once you're in nasal demon territory you have revoked your right to complain when your code stops working. because that's why it is called nasal demon territory.
-
I'd prefer if it gave an error message in every browser instead of strict mode meaning one browser gets an error message and every other browser gets a working piece of code.
-
then take that up with the browsers, or step out of nasal demon territory.
Making correct software is hard, making correct software of any level of complexity on the web is harder because you have to test at least 7 different browsers, and you'd better test across the 3 major platforms too, and that's just for desktop browsers. if you want mobile support you need even more testing.
and getting all those browsers to agree on standards has proven so far to be impossible. we went through this with the ES3 to ES5 migration, we'll go through it with the ES5 to ES6 as well.
in the end the upgrade to ES5 was worth it, and i feel the upgrade to es6 will be as well.
now if only we could figure out a better version of the DOM....
-
we went through this with the ES3 to ES5 migration,
Was ES4 only compatible with Windows 9?
-
zo'onai I think it was pretty much immediately deprecated for breaking every idea everyone had had about JavaScript up to that point.
-
you have to break backwards compatibility some time.
No.
Think of how annoying it would be if we still had to use NES cartridges for our XBOX and Playstation games.
Since Nintendo is a horrible devil company, they barely let game developers who wanted to write Nintendo carts to use their cartridge design. That's why Tengen existed.
hell, what about the NES controller?!
Before Nintendo came along, there was a standard game controller port. Atari 2600 had it, Intellivision had it, Commodore machines had it, I'm pretty sure early Apples had it.
Nintendo broke compatibility with the industry standard game controller port on purpose. Again: because they are a horrible devil company.
breaking backwards compatibility is a good thing,
No. Doing up-front design in the first place so you don't have to break backwards compatibility is a good thing. The open source model is a "fuck users! I HATE USERS!" thing.
-
Doing up-front design in the first place so you don't have to break backwards compatibility is a good thing.
And what happens when, twenty, thirty, forty years down the road your original design decisions are no longer tenable?
We went through this with mainframes to Microprocessors, and with 8bit to 16 bit, 16 bit to 32 bit and 32 bit to 64 bit.
Backwards compatibility is a good thing from one generation to the next, but when you are five, ten, or fifty generations forward backwards compatibility is no longer a good thing as it hampers your ability to improve architecture and because it absorbs inordinate amount of developer time such that cost/benefit analysis does not support maintaining backwards compatibility.
-
And what happens when, twenty, thirty, forty years down the road your original design decisions are no longer tenable?
Who cares? You're retired.
We went through this with mainframes to Microprocessors,
No we didn't. When did that happen? OS/400 still runs fine. IBM still sells servers to run it.
and with 8bit to 16 bit, 16 bit to 32 bit and 32 bit to 64 bit.
Except perhaps 8-bit, Microsoft managed to get through all of those without breaking backwards-compatibility for any software written for their systems that followed the API contract.
The only blip is how 64-bit OSes can't run 16-bit programs, but that's not Microsoft's fault and nothing in Microsoft's design prevents that from happening-- that's AMD's fault entirely.
Backwards compatibility is a good thing from one generation to the next,
Right.
but when you are five, ten, or fifty generations forward backwards compatibility is no longer a good thing as it hampers your ability to improve architecture
Bullshit.
Microsoft prioritizes backwards compatibility, and their products/OS are just as (or more) advanced as any competitor's.
Linux has absolutely no requirement, specified or percieved, for backwards-compatibility, and yet it's still running the same CLI languages that were designed in the 1960s. They are utterly unhampered, and yet somehow still shipping complete ass. Why?
"Improve architecture"-- Linux is just now, in systemd, adding basic features that all Linux competitors have had for decades. Why? What in your argument explains that? Shouldn't they have had those features back in 1999 when Windows NT had them? Why didn't they? Certainly nobody in Linux gives a flying fuck about backwards compatibility.
Your argue defies reality.
and because it absorbs inordinate amount of developer time such that cost/benefit analysis does not support maintaining backwards compatibility.
And you think Mozilla has hit that number? Or you think it's more likely that it's run by open source retards who have no idea how to make good software and just want to work on the latest shit because it's more "fun"?
-
Who cares? You're retired.
I got the impression that you cared. If you want ultimate backwards compatibility then you would care about backwards compatibility from the creation of the platform until the heat death of the universe, regardless of when your own carreer fits in that time frame.
Either breaking backwards compatibility is never a good thing, in which case you should care, or it can be a good thing at certain points of a product life cycle. You can't have cake and eat it too.
Microsoft prioritizes backwards compatibility
Agreed, and this has been achieved at great expense to Microsoft. Ineeed Microsoft has done many things indeed to ensure backwards compatibility with programs that violated Microsofts API even in the generation of OS that the software was originally released for."Improve architecture"-- Linux is just now, in systemd, adding basic features that all Linux competitors have had for decades.
Which features are you referring to? Please, elucidate me on this matter, for i fear i am standing in the dark. As far as i can tell all the features of systemd have been available in other programs and systems for well over a decade now.What new features are systemd bringing to the table that init.d was incapable of, or that the predecessor (and i still feel superior) upstart failed to bring?
Your argue defies reality.
I could say the same about yours, although perhaps that is merely perceived and could be rectified by a deeper investigation into your argument.
-
Nintendo broke compatibility with the industry standard game controller port on purpose. Again: because they are a horrible devil company.
One wonders how YOU would add several extra buttons to the Atari joystick without breaking compatibility.
Note: I'm not trying to argue with you here. I know how that joystick worked and I don't see OTTOMH how you would do it.