Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "redis"
I absolutely HATE "web developers" who call you in to fix their FooBar'd mess, yet can't stop themselves from dictating what you should and shouldn't do, especially when they have no idea what they're doing.
So I get called in to a job improving the performance of a Magento site (and let's just say I have no love for Magento for a number of reasons) because this "developer" enabled Redis and expected everything to be lightning fast. Maybe he thought "Redis" was the name of a magical sorcerer living in the server. A master conjurer capable of weaving mystical time-altering spells to inexplicably improve the performance. Who knows?
This guy claims he spent "months" trying to figure out why the website couldn't load faster than 7 seconds at best, and his employer is demanding a resolution so he stops losing conversions. I usually try to avoid Magento because of all the headaches that come with it, but I figured "sure, why not?" I mean, he built the website less than a year ago, so how bad can it really be? Well...let's see how fast you all can facepalm:
1.) The website was built brand new on Magento 22.214.171.124...what? I mean, if this were built a few years back, that would be a different story, but building a fresh Magento website in 2017 in 1.x? I asked him why he did that...his answer absolutely floored me: "because PHP 5.5 was the best choice at the time for speed and performance..." What?!
2.) The ONLY optimization done on the website was Redis cache being enabled. No merged CSS/JS, no use of a CDN, no image optimization, no gzip, no expires rules. Just Redis...
3.) Now to say the website was poorly coded was an understatement. This wasn't the worst coding I've seen, but it was far from acceptable. There was no organization whatsoever. Templates and skin assets are being called from across 12 different locations on the server, making tracking down and finding a snippet to fix downright annoying.
But not only that, the home page itself had 83 custom database queries to load the products on the page. He said this was so he could load products from several different categories and custom tables to show on the page. I asked him why he didn't just call a few join queries, and he had no idea what I was talking about.
4.) Almost every image on the website was a .PNG file, 2000x2000 px and lossless. The home page alone was 22MB just from images.
There were several other issues, but those 4 should be enough to paint a good picture. The client wanted this all done in a week for less than $500. We laughed. But we agreed on the price only because of a long relationship and because they have some referrals they got us in the door with. But we told them it would get done on our time, not theirs. So I copied the website to our server as a test bed and got to work.
So I show their developer the changes and he's stunned. He says he'll tell the hosting provider create a new server set up to migrate the optimized site over and cut over to, because taking the live website down for maintenance for even an hour or two in the middle of the night is "unacceptable".
So trying to be cool about it, I tell him I'd be happy to configure the server to the exact specifications needed. He says "we can't do that". I look at him confused. "What do you mean we 'can't'?" He tells me that even though this is a dedicated server, the provider doesn't allow any access other than a jailed shell account and cPanel access. What?! This is a company averaging 3 million+ per year in revenue. Why don't they have an IT manager overseeing everything? Apparently for them, they're too cheap for that, so they went with a "managed dedicated server", "managed" apparently meaning "you only get to use it like a shared host".
So after countless phone calls arguing with the hosting provider, they agree to make our changes. Then the client's developer starts getting nasty out of nowhere. He says my optimizations are not acceptable because I'm not using Redis cache, and now the client is threatening to walk away without paying us.
So I guess the overall message from this rant is not so much about the situation, but the developer and countless others like him that are clueless, but try to speak from a position of authority.
If we as developers don't stop challenging each other in a measuring contest and learn to let go when we need help, we can get a lot more done and prevent losing clients. </rant>14
The guard at our school thinks I'm hacking
My parents thinks I'm hacking
My teacher thinks I'm hacking
But all I did was only build Redis from source...
FAC : Fucking annoying colleague
FAC: Hey how did you set up your microservices?
M: I used docke...
FAC: But docker is hard to setup, i want an easier option
FAC: Which services do you have?
M: I have one service for the api, one with redi..
FAC: Redis is not a service
FAC: Do you use AWS API gateway?
M: No, in set up my ow..
FAC: why would you set up your own? I just use the one from AWS.
FAC: How many instances are you have running
M: I have 5 replic...
FAC: 5 replicas? That's why i hate microservices,they are costly
FAC: How did you divide up your app?
M: Since I am starting, its better to run the monolithic and then break it up lat...
FAC: I knew it,you don't actually use microservices
M:(thinking)* Fucker, if you know it well why are you fucking disturbing me?? *3
Have been working on a frontend with actual stats for the DNS server I'm building. This is the result so far (real stats, red blocked domains are marked by me (in redis) as surveillance domains), thoughts?menu18
I just spent an hour debugging my company's web app. More specifically, I was trying to fix a bug that made a label on a comment I just made say "Posted 3 days ago".
After confirming timestamps on the server are correct with a calculator, fiddling around with the js debugger, and ruling out weird timezone-related shenanigans, I came to a conclusion.
The bug was in fact sitting, quite comfortably, between the chair and the keyboard.
Yesterday I had moved the date on my computer roughly 3 days into the future, because I was testing out some unrelated code that was dealing with Redis, and I wanted to expire all of the keys stored inside of it.
Don't blame me, my parents told me I had fallen onto my head as a child.5
I applied for a job and they sent me a test to build a simple web app using the MERN stack (mongo, express,react, node), I passed the test, after a few days they call me for interviews, I passed the interviews and got accepted to work as a full stack developer.
Day one they send me the code base with thousands of lines of code and no documentation, I look through the codebase it uses Angular fucking JS, they tested me in React yet they give me Angular WTF?, I don't know Angular!. I look through the code again the app uses 4 different kinds of databases, MongoDB, MySQL, Redis & Dynamodb, I'm like WTF is this?
I ask the CTO why there is no documentation, why all these databases & why the fuck it is in Angular, he tells me to talk to the devs that previously worked on the codebase who live in India, I talk to them on skype, I get some information still not enough to get started, no proper documentation no database diagrams or any kind of diagrams.
So with no angular experience, I decided to just man up and learn Angular 7 first then sort out everything later, learning Angular 7 goes well. So I try to look at the code again, WTF? this does not look like the Angular I'm learning!, I check again and, lo and behold the fucking codebase uses the oldest version of Angular version 1.6 which is completely different from version 7! I'm like fuck this shit.18
Someone asked for an RSS feed for the security/privacy blog, I thought?
Well, hereby! There are three feeds:
https://much-security.nl/main.xml - a feed which is updated with both blog posts and external links relating to privacy/security I find interesting/useful.
https://much-security.nl/own.xml - a feed only containing the blogs posts themselves. For people who are only interested in that part.
https://much-security.nl/external.x... - a feed only containing external links. For people who'd like to stay updated on recent cyber security/privacy thingies.
Tracking: every time a feed is visited, a redis value for that feed get's incremented. No time, ip addresses, user agent or whatsoever is saved. Just one variable getting increased once.
New domain name will also be revealed soon (probs tomorrow, going to bed soon as I've just been sick) :D.
Oh and just a warning, the main/external feed are the only ones populated with exactly one item right now :P30
This tiny project is awesome. Thanks to @JoshBent (who partly got it from another repo as well) for providing a basic DNS server with hardcoded blacklisting functionality and thanks to @PerfectAsshole for correcting my mysql syntax I was stuck on for way too long.
I've now got this fucker to read blacklisted words from a redis list into an array which checks every requested domain to see if it matches. If yes, it proxies it through to another DNS server and if not, it'll log the requested domain to a mysql database and prints is as blocked onto the terminal.
If the domain matches any host from a service known to be integrated within a mass surveillance network, it also prints this out to thy terminal.
It's working yay! Gonna keep working on it today.13
Management eats shit for breakfast
I am the sole Dev on a project.
Stack: Postgresql, redis, nginx,Java with Spring Boot, Neo4j.
I am the only one nearly familiar with : Redis, Neo4j and anything Java.
I'm gonna be on vacation for the next 15 days since they have told me that we where gonna be on a "testing/feedback" period.
My vacation was approved.
Today's meeting: we have a URGENT deadline to meet some criteria that might be the difference between have further investment or not.
Urgent deadline: last day of my vacation.
My face: poker
My thoughts: attached image4
I think I will ship a free open-source messenger with end-to-end encryption soon.
With zero maintenance cost, it’ll be awesome to watch it grow and become popular or remain unknown and become an everlasting portfolio project.
So I created Heroku account with free NodeJS dyno ($0/mo), set up UptimeRobot for it to not fall asleep ($0/mo), plugged in MongoDB (around 700mb for free) and Redis for api rate limiting (30 mb of ram for free, enough if I’m going to purge the whole database each three seconds, and there’ll be only api hit counters), set up GitHub auto deployment.
So, backend will be in nodejs, cryptico will manage private/public keys stuff, express will be responsible for api, I also decided to plug in Helmet and Sqreen, just to be sure.
Actual data will be stored in mongo, rate limit counters – in redis.
Frontend will probably be implemented in React, hosted for free at GitHub pages. I also can attach a custom domain there, let’s see if I can attach it to Freenom garbage.
So, here we go, starting up modern nosql-nodejs-react application completely for free.
If it blasts off, I’m moving to Clojure + Cassandra for backend.
And the last thing. It’ll be end-to-end encrypted. That means if it blasts off, it will probably attract evil russian government. They’ll want me to give him keys. It’ll be impossible, you know. But they doesn’t accept that answer. So if I accidentally stop posting there, please tell my girl that I love her and I’m probably dead or captured32
So I am running this crypto project that has dynamically generated private keys for a wallet stored in a Redis database. Nowhere else. The keys are generated on the fly.
At the moment of the happening the wallet had over 3.000 USD on it. I am testing new code locally, supposedly on a local Redis DB. Of a sudden, my code wipes the crypto keys and it turns out that I was connected to the live instance. 😱 Better don't ask me how.
Shock of my life. You know, when you turn pale and dark in your eyes, blood stops in your veins and you just want to die? Worst-case scenario that could have happened. All that money lost in crypto space.
Turns out, my good Redis hosting company kept backups for the past 7 days. Keys restored. Happiest moment of my life.3
Arrived today, hyped!
I have real-world experience with MongoDB, MySQL, Firebase, and caching with Redis.
A colleague in ops recommended this book a while back and I thought I'd give it a whirl to better understand what other options I have available.7
Him: Relation databases are stupid; SQL injections, complex relationships, redundant syntax and so much more!
Me: so what should we use instead? Mongo, redis, some other fancy new db?
Him: no, I have this class in Java, it loads all the data into memory and handles transfers with http.
Me: ...... Bye!5
There's so many cool technologies too look into now a days, but so little time.
Where do i download more hours to add to my days?16
I replaced a python/mysql daily process that takes 25 minutes to run with a perl/redis process that takes 1 minute to run, so it runs multiple times a day. Mgmt asks me to convert it to python/mysql, "...but keep the run time at one minute. That's great!"
I quit my job at a startup because the business guys did not respect my advices in business strategy.
just saw the job post for my position where they write:
"experience with MySQL databases (for example redis and git)"
Now I know that I was wrong. These guys seems to have informations that I do not have 😎2
So I was browsing through some Redis docs and I find this. HOW THE HELL CAN YOU NOT KNOW HOW TO SPELL KOREA!!!!6
<just got out of this meeting>
Mgr: “Can we log the messages coming from the services?”
Me: “Absolutely, but it could be a lot of network traffic and create a lot of noise. I’m not sure if our current logging infrastructure is the right fit for this.”
Senior Dev: “We could use Log4Net. That will take care of the logging.”
Mgr: “Log4Net?…Yea…I’ve heard of it…Great, make it happen.”
Me: “Um…Log4Net is just the client library, I’m talking about the back-end, where the data is logged. For this issue, we want to make sure the data we’re logging is as concise as possible. We don’t want to cause a bottleneck inside the service logging informational messages.”
Mgr: “Oh, no, absolutely not, but I don’t know the right answer, which is why I’ll let you two figure it out.”
Senior Dev: “Log4Net will take care of any threading issues we have with logging. It’ll work.”
Me: “Um..I’m sure…but we need to figure out what we need to log before we decide how we’re logging it.”
Senior Dev: “Yea, but if we log to SQL database, it will scale just fine.”
Mgr: “A SQL database? For logging? That seems excessive.”
Senior Dev: “No, not really. Log4Net takes care of all the details.”
Me: “That’s not going to happen. We’re not going to set up an entire sql database infrastructure to log data.”
Senior Dev: “Yea…probably right. We could use ElasticSearch or even Redis. Those are lightweight.”
Mgr: “Oh..yea…I’ve heard good things about Redis.”
Senior Dev: “Yea, and it runs on Linux and Linux is free.”
Mgr: “I like free, but I’m late for another meeting…you guys figure it out and let me know.”
Me: “So..Linux…um…know anything about administrating Redis on Linux?”
Senior Dev: ”Oh no…not a clue.”
It was all I could do from doing physical harm to another human being.
I really hate people playing buzzword bingo with projects I’m responsible for.
Only good piece is he’s not changing any of the code.3
I don't know why, but each time I have the chance to create a caching system with redis to e.g. cache requests to APIs I get all excited about it.5
Me: "You could try using Redis, cache that baby and try and squeeze some speed"
Dev: "Hun?! Should I use it on the front end or the back end?"
Well... Webdev is not his thing to be fair!4
It's been a crazy month. Python, redis, Linux. But this one should be a bit closer to home.
Telltale games, a US game development studio is winding up and let go all their staff without severance and were told they had 30 minutes to leave the premises.
Most of the devs were living paycheck to paycheck because of the high cost of living. Some were hired a week earlier and uprooted their families to work there.
That situation is bad enough. But what's worse is the sheer lack of empathy by the customers for the staff. They just want their product cone hell or high water. One even insisted that the devs should work for free until they deliver...
Pleasing the customer should never come at the expense of your staff. We still have a long way to go as an industry
Have been using redis for my new system and wanted to try some gui, so I stumbled on "redis desktop manager", it supports ssh tunnels, privatekeys and more, great isn't it?
BUT IT SAVES YOUR FUCKING PLAINTEXT PASSWORD AND PATH TO YOUR PRIVATE KEY IN %USER%\.rdm\connections.json
WHAT THE FUCK, fucking ask that password during connection, don't fucking save it in plaintext and give an attacker literally the path to my key, wanted to PR it, but fuck c++, probably thats why he doesnt have it, because hes just using some library, so he doesn't have to fuck with the actual implementation of it.2
FYI. Copied from my FB stalked list.
Web developer roadmap 2018
Common: Git, HTTP, SSH, Data structures & Algorithms, Encoding
Back-end: PHP, Composer, Laravel > Nginx, REST, JWT, OAuth2, Docker > MariaDB, MemCached, Redis > Design Patterns, PSRs
DevOps: Linux, AWS, Travis-CI, Puppet/Chef, New Relic > Docker, Kubernetes > Apache, Nginx > CLI, Vim > Proxy, Firewall, LoadBalancer
So this morning something wonderful happened. One of my teams deployed some cache for our API using Redis and they didn't config it!!!
So it's TROLL-time!!! And we have some really cool troll rules if you DOS the QA stack!! So if they resolve it in less than an hour they will only have to use a funny cap all day long (even for lunch) but if it takes more than 1 hour it will be a full cyclist outfit for the whole day (over their own cloth).
PS: if you ever use Redis don't mysql it (why config it? it'll work!!!), because Redis will murder your server!!!4
In love with Laravel events, listeners and mailables. What a beautiful way of doing this. Can't say how much I love this framework. <3
Can't wait to implement redis and queues. Am excited to try this for the first time. Share exp. if you have, pls.6
I've implemented an in memory caching system for database queries with Redis in one of the blogs I manage.
Will it work well? Or do you think it will produce issues? I have no experience with Redis yet.14
Got appraises on first day of my job by reducing the calls to redis by half.
All I did was replace SET and EXPIRE with SETEX.1
Just got in a discussion at a Facebook thread when the guy laughed at me because my application server stack uses 20 servers for redundancy and also because I like to make each service (mysql, redis, php) on its own box. He says that he'll teach me how to be awesome because a much larger app that he maintains uses only one server.3
We recently started using a Redis cache for our application, and our boss has now taken to blaming Redis for every single incident we have - all because he doesn't understand how it works, and doesn't want to >.>
And i mean with all the full stack services and all the shit we need to know by heart
node + redis + rails + django + scss + grunt + npm + postgres + mongodb + npm + angular + react + all that shit and moreeeee
And then make comments like "heh thats html it what i was doing when i was 12"
I've never really had a project "blow up", however one that I'm quite proud of is fairly popular (almost 500 monthly downloads if NPM's (limited) stats are to be believed.
It's a connector for Redis for Node, which uses ES6 Proxys in order to make basic interactions with objects in the db easier.
It's actually based off of an existing project that does the same sort of thing, but I noticed a couple of things that it did that I found a bit annoying.
1. When creating new nested objects, it didnt create a tree, meaning you had to do that manually.
2. It stored everything in a single hash, which does makes it easier to interface with, but it's a bit weird for people who didn't expect it to work that way.
3. It supports array methods with getting objects, but they don't mutate the array in the database, which was one of the main reasons I decided to make my own thing.
It took a while to get it working properly, mostly due to getting some weird ass errors, but in the end I finally got it working as I wanted.
I never really expected a lot of attention for it, but it makes itnjust that little bit sweeter to know that other people use it. And even if no one else uses it, it makes life just a bit easier for myself.
It sometimes really sucks to see how many developers, mostly even much better than me, are too lazy to implement a function to its full UX finish.
Like how can you not implement pagination if you know there's going to be fuck ton of content, how can you not allow deleting entries, how can there be no proper search of content, but instead some google custom search, how can you not implement infinite loading everywhere, but only in parts of your application, how can you not caching a rendered version or improve the page, that loads EVERY SINGLE ENTRY in your database with 11k entries, by just adding a filter and loading only chunks of it.
I know sometimes you need to cut corners, but there's rarely any excuse with modern toolsets to just write 3 lines more and have it ready for such basic things.
I sometimes just wake up during the night or before falling asleep and think "oh, what if in the future he might want to manage that, it's just another view and another function handling a resource, laravel makes that very easy anyway", write in on my list and do it in a blink the next day, if there's nothing else like a major bug.
I have such high standard of delivery for myself, that it feels so weird, how somebody can just deliver such a shitty codebase (e.g. filled with "quick/temporary implementations"), not think of the future of the application or the complete user and or admin experience.
Especially it almost hurts seeing somebody so much more versatile in so many areas than me do it, like you perfectly fine know how to cache it in redis, you probably know a fuck ton of other ways I don't even know of yet to do it, yet you decide to make it such a fucking piece of shit and call it finished.5
$ ~ Hey devranters,
I'm currently a Full Stack Developer. And I'm sadly low paid and in search for pieces of advice i can gather from anyone who wants to share some knowledge to me (because, well, knowledge and data is power nowadays)
First of all, I'm a huge fan of PHP, Laravel and NodeJS. I know, NodeJS is not a programming language, it's a development environment, but i have a lot of experience with it. Laravel isn't either a programming language, but you get the idea.
Let me introduce myself.
I have a lot of experience with PHP, Laravel and NodeJS, but also with HTML/CSS/jQuery and i have worked to a very-high level with technologies and cloud services, such as AWS, GCP, Redis, ElasticSearch, SQLs (MariaDB/MySQL) and REST APIs (either it's implementing a REST API or building one from scratch). I believe I'm a great web engineer, and I'm saying this with a humble tone.
In fact, i am great when it comes to REST APIs and Backend, rather than front-end. But I'm a full stack developer and I'm not afraid to work with front end either.
Let's not forget about Linux. I have worked only with Linux so far. :) A lot.
I don't wanna look arrogant. I'm not. I'm humble and i love to learn new stuff. I can't be the best developer. I'm doing my best, I'm trying and i believe i can do a lot.
Sadly, the current job is pushing me to the edge. On the financial plan. And I don't know what direction to choose.
I have trouble about getting results for my portfolio. About building a CV/Resumé that can be eye catching and emphasize what i do the best.
1. What are your best pieces of advice about building a good Resumé? (excluding honesty, I'm not lacking that, neither in real life)
2. I currently get €300 monthly for being the main developer and as i said, i feel I'm doing too much for this low income. What i can do to ask for more? How should i approach the subject to get a higher income?
3. Currently, my employer doesn't wanna hire new people to make the workload less intense. He expects i can do Backend, front-end and marketing, all at once. Should i run away or ask for more? :)
I'm kinda tired. And i might have spell problems, or, as I always do, i explain things a bit different, and i might not explain them correctly. Feel free to ask for some info, I'm not intending to be arrogant or just promote myself. :)
I'm just asking for some help from people that encountered this kind of stuff.
$ ~ make install13
There's very little good use cases for mongo, change my mind.
Prototyping maybe? Rails can prototype, create/update/destroy db schemas really quickly anyways.
If you're doing a web app, there's tons of libs that let you have a store in your app, even a fake mongo on the browser.
Are the reads fast? When I need that, use with redis.
Can it be an actual replacement for an app's db? No. Safety mechanisms that relational dbs have are pretty much must haves for a production level app.
Data type checks, null checks, foreign key checks, query checks.
All this robustness, this safety is something critical to maintain the data of an app sane.
Screw ups in the app layer affecting the data are a lot less visible and don't get noticed immediately (things like this can happen with relational dbs but are a lot less likely)
Let's not even get into mutating structures. Once you pick a structure with mongo, you're pretty much set.
Redoing a structure is manual, and you better have checks afterwards.
But at the same time, this is kind of a pro for mongo, since if there's variable data, as in some fields that are not always present, you don't need to create column for them, they just go into the data.
But you can have json columns in postgres too!
Is it easier to migrate than relational dbs? yes, but docker makes everything easy also.12
Most exited I've been about some code? Probably for some random "build a twitter clone with Rails" tutorial I found online.
I've been working on my CS degree for a while (theoretical CS) but I really wanted to mess with something a bit more practical. I had almost none web dev experience, since I've been programming mostly OS-related stuff till then (C). I started looking around, trying to find a stack that's easy to learn since my time was limited- I still had to finish with my degree.
I played around with many languages and frameworks for a week or two. Decided to go with Ruby/Rails and built a small twitter clone blindly following a tutorial I found online and WAS I FUCKING EXITED for my small but handmade twitter clone had come to life. Coming from a C background, Ruby was weird and felt like a toy language but I fell in love.
The next few months were spent studying and working on my project. It was hard. I had no experience on any web dev technology so I had learn so many new things all at once. Picked up React, ditched it and rewrote the front end with Vue. Read about TDD, worked with PostgreSQL, Redis and a dozen third party APIs, bought a vps and deployed everything from scratch. Played it with node and some machine learning with python.
Long story short, one year and about 30 books later, my project is up and running, has about 4k active monthly users, is making a profit and is steadily growing. If everything goes well, next week I'll close a deal with a pretty big client and I CANT BE FKING HAPPIER AND MORE EXCITED :D Towards the end of the month I'll also be interviewed for a web dev position.
That stupid twitter clone tutorial made me excited enough to start messing with web technologies. Thank you stupid twitter clone tutorial, a part of my heart will be yours forever.2
In Django code, looking at a class for caching REST calls. The cache is using Redis via Django's cache layer. In order to store different sets of parameters, each endpoint gets a "master" cache, that lists the other Redis keys, so they can be deleted when evicting the cache. Something isn't right, though. The cache has steadily increased in size and slowed down since 2014 even though many events clear the whole thing!
... And then it hit me. Nothing empties the list of cache keys. Nothing. So it has been growing endlessly since 2014. And everytime it grows, cache eviction gets a little more expensive, network traffic increases a little more, and cache evictions get a little slower.
Fixing this bug took things that were taking routinely an entire minute to complete and made them take a couple seconds.
I'm in the first semester at my third college, working on my B.S. degree. I get a job in the finance and operations IT department doing web development. I get to use lots of tech I've never used before, like Python Flask, Docker, Redis, Azure, Slack, Microsoft VSTS, Portainer, MongoDB, Oracle database (weeeeeeeeeeee), and who knows what else awaits me. It took a week to get me access permissions to various systems but that's fine. I expected that.
* It's the first time I've ever touched Docker. I manage to break it so badly (somehow) that I BSOD my Win10 machine. Everyone in the office congratulates me on such a feat.
* I get assigned to an internal app management site to not only patch because it's currently broken but also improve. Coming from a PHP background, I've seen some nasty code. What I didn't expect was the same exact same anti-patterns and coding "practices" (examples: everything in a single file, all forms on a page POSTing back to itself for submission, sloppy, mostly uncommented, densely packed code) in a Python Flask project. I was told it was thrown together quickly by a previous employee who made this as his first Flask app, but this was not what I envisioned.
It's as if everything I do in my career is to prepare me to untangle the next monster code base I come across. I feel like the universe is mocking me.
That's cool. Bring it on. I'm ready. I'm enjoying this job anyway. 😎3
So a few days ago I sat down to write a redis adaptor to transfer data back and forth between redis and elasticsearch. I download the go-redis package and start writing a simple client.
I run the client and it gives me an error. So I'm stuck at it for about 30 mins and then I say to myself, "You dumb fuck you haven't started the redis-server". So I open up another terminal and type in `redis-server` and then I realise I don't even have redis installed on my machine.
I do such dumb things every weekend. If you have any dumb mistakes you made while writing code please share them in the comments. :-)
const topic = 'Laravel'
const subtopic = 'Queues'
Have you used Redis? Have you used it as your Queue driver? Is it cool? Are there better alternatives?5
I know I'm pretty late to the party, but I've been playing with Redis a lot lately and it's pretty awesome. Sorted sets and the various Z functions seem very powerful. I'm hoping to get to use it in a prod environment soon.2
Ugh, I feel like fucking crying every time I have to explain to the other developers and network sysadmins that we can't have the same Redis server for both session and caching data in the current project we're working on. I wrote all this down in the specifications which NO ONE reads!!
There are times like these I wish I just had access to the AWS account so I can do all of this myself.3
New startup - our backend stack is php, js, mysql, mongo & redis
Can you guys recommend nice-to-have internal tools that could make out lifes easier? We’ve been using confluence so far and thinking on grabbing a jira license.
Any advice is helpful 🤪11
In the past, apps I've written have used a flat file backend. It's very fast, but obviously clunky to have a big structure of flat files for an app. It ran circles around framework-based RDBMS backends, as performance is concerned, but again, it was clunky. Managing backups and permissions on tens or hundreds of thousands of small files was no fun. Optimizing code for scaling was fun- generating indexes, making shortcuts -but something was still missing. Early in 2017 I discovered redis. A nosql backend that just stores variables and lives almost entirely in memory. Excellent modules and frameworks for every language. It was EXACTLY what I'd needed, even though I didn't know I did. I spent a good deal of time in 2017 converting apps from flat files to redis, and cackled with glee as they became the apps I wanted them to be. Earlier this week, I started building my first app that started with redis, instead of flat files, and I can't stop gushing to anyone who will listen. Redis for president!
Fuck you Redis
Goes in a docker container, calls bgrewriteaof, get success, checks info - no pending writes, last write success.
Tries to scp to remote, fails - Unexpected AOF
Decides to shut down the local redis to be able to port, in case it's blocking it
Calls redis-cli shudown (expect to just shut redis down rigth)
It fucking deleted all my data, now I see the docs
"Flush the Append Only File if AOF is enabled."
Why the fuck? Fuck you redis, fuck you1
I usually hate Microsoft but they've gotten me positively surprised several times lately. I can run an SSH server and Redis just like that!
Trying to clear the redis cache for like half an hour, wondering why the redis server isn't even being filled with keys...
Then suddenly, FUCK wrong port
2:30 AM is too late for me apparently :(
All those mine WTF moments are somehow related with caching which i keep on forgetting... the most fresh one was last week, i had some GIGANTIC mySQL query, and for the sake of response time I immediately made a cache function that kept Redis cache for a day or so... so last week i had to change something (good ol' client and his visions for app). So there i was with the query that returned same god damned results every time, i copy the query in some mySQL manager and it goes fine, but in the app it doesn't... what the actual FUCK!!! i was questioning my career until i figured it out, i was planning to buy some sheeps and a fife and to hell with this, a loud facepalm was echoed through the office that day...3
Would you suggest MacBook Air Core i5 8th gen model for a hardcore Android Developer?
Current usage on regular basis -
- Android Studio
- 2 Android VM (MeMu, Genymotion etc)
- node.js MongoDB, Redis for server
- VS Code, Chrome, Mongodb compass
My old dell worked pretty well so far it has a core i3 with 8 gigs of RAM and 256GB SSD but processing always seemed slow but managed some how.
Suggest me if MacBook would make better choice than other windows laptop which are much more high end than MacBook on same price?13
Damn, I'm conducting some benchmarks on go and php...
A php page that simply returns "hi" with no framework is a lot slower than 1000 calls with 200 concurrency to a go function that queries redis and returns a json.3
Hey, Do you think it's common to get an interview take-home test like this...
Write a Python script that:- Downloads the Equity bhavcopy zip from the above page- Extracts and parses the CSV file in it- Writes the records into Redis into appropriate data structures(Fields: code, name, open, high, low, close)
Write a simple CherryPy python web application that:- Renders an HTML5 + CSS3 page that lists the top 10 stock entries from the Redis DB in a table- Has a searchbox that lets you search the entries by the 'name' field in Redis and renders it in a table- Make the page look nice!
Commit the code to Github. Host the application on AWS or Heroku or a similar provider and share both the links.14
This week I am finishing my brand new and probably buggy cluster manager for vert.x based on redis.
Can't wait to start battle testing.2
I was determined PHP advocate, always ready for debate with PHP criticizers. I am stacking with dozen other languages so I used to think I have all right to do just that. My code is fully OO, I used to scale FPM horizontally, eventually, with help of pthreds even vertically. With help of redis and chaching, I thought I was sorcerer, as I always find a way (or way around) to make things work, things that no one used to beleive it's possible. One day I started to work for language engineering company, when I suddenly realized how PHP often fails with it's come to localizations, translation, exotic charsets and over all multibyte operations. :( Whole this thing collapses. Wholes everywhere...3
!rant, so I'm trying to decide on what caching system I should use. It's for a PHP app, using Symfony as framework, tlgether with Doctrine for DB. The caches in Question are memcached, APCu or redis.
The goal: speed shit up.
The app currently uses Symfony 2.8 and is hosted on a single server (so no distributed system is needed). I'd currently opt for APCu, but more since it's not distributed, there won't be an overhead from that. A nice thing about memcached would be the abillity to store user seeions, even if we would decide to have multiple servers in the future.
What would you reccomend and why?3
Which is best package to be used as a PHP Session handler (https://cloudways.com/blog/... )?
Redis or Memcached?
Any one thoughts/opinions about Azure Service Bus? I'm using it a few months now in combination with a redis cache, cloud storage and the service bus.. works pretty nice so far..
I'm pretty impressed about the upgrade mechanism..
What do you guys think about deploying elastic search on App Engine Custom Runtime?
(Basically, an empty folder with an elastic search Dockerfile.)
I think it's a good idea: you can now deploy your code and storage application (Elastic search, Redis, etc) as services on your cluster.
You can use GCP magic to auto scale those services, you have so many good stuff that come with it.
And it's inside the same network as your services running in the same AppEngine project.1
I finally published my first medium article, It's on Sticky sessions for microservices.
It took so much of my time to piece everything together that I wrote a small how-to, so that my fellow devs should not suffer like I have.
To all Full Stack js employed devs here,
How much frontend vs how much backend you do?
It's just that I'm going to be in a job with a Full Stack node/vue/ember/AWS/Redis dev role and I don't know how much frontend I'll do compared to the backend stuff, I'm alot more of a backend guy...1
"[Elasticache isn't a managed service because] You are still choosing instance size, setting up replication and clustering more or less without their help"
From their website:
"Amazon offers a fully managed Redis service, Amazon ElastiCache for Redis"
Just because it's configurable doesn't mean it's not managed.
Anyone else pissed at the trend towards massive, clunky OO libraries in PHP (and other languages)?
I needed to clear Redis and the amount of code to use the library was more than the amount of code to open a socket and write the command.1
How (generally) do offer different persistence layers for an app?
So, I have used lots of apps (sorry, I'm talking a proper software system such as a Web based service (e.g. The Open Source XMPP server 'Openfire') in which you can choose what persistence back end you want (MySql or inbuilt H2/SQL light for example).
Within your code, how do you go about achieving this? Would you delegate the persistence to a separate class, and within that class figure out what the systems settings are and use the right connection string?
I'm currently using Java, Hibernate and would like to offer back ends of MySql, H2 and Redis, but the question is more conceptual than specific.