Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
Search - "cassandra"
Leaning Tower of Pisa being a wonder of the world is basically "It's not a bug, it's a feature" example.1
So, you start with a PHP website.
Nah, no hating on PHP here, this is not about language design or performance or strict type systems...
This is about architecture.
No backend web framework, just "plain PHP".
That sounds like fucking paradise to me right now. 😍
But no, of course it was updated to PHP7, using Laravel, and a main.js file was created. GREAT.... right? Yes. Sure. Totally cool. Gotta stay with the times. But there's still remnants of that ancient framework-less website underneath. So we enter an era of Laravel + Blade templates, with a little sprinkle of raw imported PHP files here and there.
Fine. Ancient PHP + Laravel + Blade + main.js + bootstrap.css. Whatever. I can still handle this. 🤨
But then the Frontend hipsters swoosh back their shawls, sip from their caramel lattes, and start whining: "We want React! We want SPA! No more BootstrapCSS, we're going to launch our own suite of SASS styles! IT'S BETTER".
OK, so we create REST endpoints, and the little monkeys who spend their time animating spinners to cover up all the XHR fuckups are satisfied. But they only care about the top most visited pages, so we ALSO need to keep our Blade templated HTML. We now have about 200 SPA/REST routes, and about 350 classic PHP/Blade pages.
So we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA 😑
Now the Backend grizzlies wake from their hibernation, growling: We have nearly 25 million lines of PHP! Monoliths are evil! Did you know Netflix uses microservices? If we break everything into tiny chunks of code, all our problems will be solved! Let's use DDD! Let's use messaging pipelines! Let's use caching! Let's use big data! Let's use search indexes!... Good right? Sure. Whatever.
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + React + SPA + Redis + RabbitMQ + Cassandra + Elastic 😫
Our monolith starts pooping out little microservices. Some polished pieces turn into pretty little gems... but the obese monolith keeps swelling as well, while simultaneously pooping out more and more little ugly turds at an ever faster rate.
Management rushes in: "Forget about frontend and microservices! We need a desktop app! We need mobile apps! I read in a magazine that the era of the web is over!"
OK, so we enter the Era of Ancient PHP + Laravel + Blade + main.js + bootstrap.css + hipster.sass + REST + GraphQL + React + SPA + Redis + RabbitMQ + Google pub/sub + Neo4J + Cassandra + Elastic + UWP + Android + iOS 😠
"Do you have a monolith or microservices" -- "Yes"
"Which database do you use" -- "Yes"
"Which API standard do you follow" -- "Yes"
"Do you use a CI/building service?" -- "Yes, 3"
"Which Laravel version do you use?" -- "Nine" -- "What, Laravel 9, that isn't even out yet?" -- "No, nine different versions, depends on the services"
"Besides PHP, do you use any Python, Ruby, NodeJS, C#, Golang, or Java?" -- "Not OR, AND. So that's a yes. And bash. Oh and Perl. Oh... and a bit of LUA I think?"
2% of pages are still served by raw, framework-less PHP.34
EDIT: devRant April Fools joke (2021)
@trogus and I are happy to make an exciting announcement. With the rapidly increasing success of NFTs, we've decided the devRant community shouldn't miss out on this compelling new paradigm for user-generated content. So, we will soon be offering all rants as NFTs at auction.
To kick things off, we're going to first be offering the first ever rant posted to devRant (https://devrant.com/rants/489/...) at auction for a starting price equivelent to $100,000 USD. We think this is a fair starting price for such a significant piece of devRant history, and we anticipate the final sale price to be significantly higher.
We look forward to hearing everyone's thoughts on this new direction for the devRant community, and we can't wait to see the Rant NFT market take off!
@dfox & @trogus33
Best part of being a dev :
You get to live the stereotype. "She doesn't talk much, she is always on her laptop - coding, always has headphones on. Too much of a geek. Let's not invite her to a party. "
No awkward "Uh , I cant come. " Yay! B-)2
Sorry, we need someone who knows AWS8
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 captured28
All I wanted to do was read up on cassandra and the first two paragraphs gave me existential crisis.1
Fun day, lots of relief and catharsis!
Client I was wanting to fire has apparently decided that the long term support contract I knew was bullshit from go will instead be handled by IBM India and it's my job to train them in the "application." Having worked with this team (the majority of whom have been out of university for less than a year), I can say categorically that the best of them can barely manage to copy and paste jQuery examples from SO, so best of fucking luck.
I said, "great!," since I'd been planning on quitting anyways. I even handed them an SOW stating I would train them for 2 days on the application's design and structure, and included a rider they dutifully signed that stated, "design and structure will cover what is needed to maintain the application long term in terms of its basic routing, layout and any 'pages' that we have written for this application. The client acknowledges that 3rd party (non-[us]) documentation is available for the technologies used, but not written by [us], effective support of those platforms will devolve to their respective vendors on expiry of the current support contract."
Contract in hand, and client being too dumb to realize that their severing of the maintenance agreement voids their support contract, I can safely share what's not contractually covered:
- Stream based programming
- Angular 9
- Any of the APIs
- Dotnet core
- pretty much anything not in a commit
I'm a little giddy just thinking about the massive world of hurt they've created for themselves. Couldn't have happened to nicer assholes.6
Spent the last month creating a really scalable chat application, with fast front end, all kinds of neat functions such as polls, and a really efficient database structure in Apache Cassandra.. Everything is built to use NoSQL, and even the front-end is using all kinds of features to speed up itself... Now, guess what... The company I'm doing an internship decided that everything needs to be done in MariaDB, and I can basically remove 1/3 of my program, event the front end will get a huge purge of code, and as much as I explained that MariaDB IS NOT FUCKING USABLE FOR A CHAT APPLICATION, and when there are many messages, the access times will get realllllyyy sloow, and that the whole structure there currently is based on NoSQL... Now I can remove all the clustering, custom data types, and bucketing of messages... And store FUCKING JSON IN 'TEXT' FIELDS IN A STUPID SQL DATABASE. FUCK ME6
☹️Anyone who fights with his GirlFriend start to make a new DATABASE7
Got a small college assignment based on Java and Cassandra(database). The database shell was running fine. Spent 5 days removing the random java exceptions and working on the basic connectivity, searched everywhere on Stack overflow and other forums for solutions and still no help.
So, I decided to write a program that would print only the output as I knew what would be the output when it will run. Took a screenshot of it and made up a cover story to tell my professor that I did it on a friend's computer.
But while I was taking a screenshot of the Eclipse with code window and output window, some random syntax errors popped up.(but they weren't syntax error).
So I created a new project and copied the pom.xml file and the code into the new one(I tried this one before and it didn't work). And there were no errors. So I took a screenshot of it with output of different file and opened a different file.
But then, don't know what came across my mind and I clicked on run just to see if this works, and it worked fine. And now I'm like.. WTF JUST HAPPENED!!
Marketing department sometimes are so Fucking annoying in the context of they " just found out certain technology" and try to enforce us to implement.
For example recently this guys just found out firebase(Firestore thingy ) and keep asking us to implement into the app (E wallet app) which our software architect refuse to use firebase( I agree with him) because in the long run , the project will definitely get surprising prices in the invoice.
Also, our DBA had started to implement Apache Cassandra .....
So dear marketing department, why don't you guys shut up and let us do our job and let our software architect do his job? Fuck off!14
Sister dev team shifts to another floor. Manager doesn't shift our places. Says since QA and testers are in this floor itself, stay closer to them -_-2
Worst part of being dev :
Open plan offices and people pulling you out of the "Zone" - Manager, PMs, QA , other devs. There is such thing as ' momentum ' ! :/
Cassandra vm had a crash yesterday...
2 nodes with rep factor 1. (FML)
One node wouldnt start... Eventually found out one of the commit replays had an exception (the one at the time of the crash).
Boss trying to push me towards a fix all this time which was:
"Let's delete the vm and have Cassandra running on one vm"
There are not we enough curses in the world.
P.S. there are no backups.
PHP: Laravel, Phalcon, Composer
Python: Django, Flask, Requests, pip, SQLAlchemy
Java: Spring, Dropwizard, Hibernate
DB: MySQL, MariaDB, PostgreSQL, Cassandra1
Change of technology. There's one time that the team can't decide what tech to use. So after 2 years of production suddenly we moved from Nodejs to Elixir for server side and MySql to Cassandra for database ... It is crazy that time...
So learning a new language it was so difficult as elixir is functional ... (And I was sucks back then) , and Cassandra is something new to me , which is difficult.
(Hey bit now it is ok )
A friend of a coworker of a... let's just call it 3rd or 4th degree, says this place is hiring devs. Supposedly, # of headaches per week is less than average, they don't call people ninjas (deal-breaker, right?), Salespeople who know 2 cents about computers aren't called Sales "Engineers". (Woo!)
Not bad for a place in San Francisco. LMAO. My bad. Cynic in me can't promote for ssh-it
I want mucho Kudos if you get selected. Actually, Snickers.1
We were on track to provision Cassandra for logging and elasticsearch for business data store.
Now we are on track to provision mongodb and elasticsearch. That's right, two document stores.
Things go to hell when management think they are capable of taking engineering decisions.
Have patience. Learning is slow at first. But once you get a hang of things, it feels like painting on a canvas ^_^
Thoughts on Apache Cassandra? Seems awesome, but are there any gotchas we should know about before diving in? Currently we use Postgresql for most things.3
Was asked to look at another teams repo to see how they use Cassandra. In that repo, I found a function that creates a map[int]bool populated with a handful of numbers all with true as the value. The function then checks the existence of an int in that map and return a true if it exists.