Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "gems"
-
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".
Well, I can deal with that. As long as there is some consistency, I wouldn't even mind maintaining a PHP4 site with Y2K-era HTML4 and zero Javascript.
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.32 -
"Your stupidity is so vast that its value can only be stored in a double, because a float has insufficient range" - John Byrd
This insult is from one of my personal favourites and must be one the best programmer insults ever since it is backed up with programmatic proof written in valid C code.
You should really read the post, it's only one of the many gems in there.
Source: https://quora.com/What-is-the-harde...3 -
This is the shit I have to deal with in school. Teacher told us to review each others code. This is one of the gems i found so far. Some people just wants to see the world burn...19
-
🎶 Fixing production issues 🎶
🎶 Fixing production issues 🎶
🎶 In other people’s code! 🎶
Seriously, how am I still in a good mood when I have to deal with this?14 -
Sales Advisor: "4GB is more on a mac.. they use different measurements.."... at that point I gave up trying to get some info out of him10
-
Ahh the gems you find in codebases where only one person each is in charge of the frontend and the backend.16
-
Let me preface this by saying I'm not a designer.
While I can make individual bits of a site look good, and I'm actually pretty skilled with CSS/Sass, overall design completely escapes me. I can't come up with good designs, nor do I really understand *why* good designs are good. It's just not something I can do, which feels really weird to say. but it's true.
So, when I made the Surfboard site (that's the project's internal name), I hacked everything together and focused on the functionality, and later did a branding and responsive pass. I managed to make the site look quite nice, and made it scale well across sizes/devices despite being completely new to responsiveness. (I'm proud, okay? deal.)
After lots of me asking (in response to people loudly complaining that the UI doesn't have X feature, scale properly on Y device, and doesn't look as good as Z site), the company finally reached out to its UI contractor who does their design work. After a week or two, he sent a few mockups.
The mockups consisted of my existing design with a darker background, much better buttons, several different header bars (a different color) with different logo/text placements, and several restyled steppers. He also removed a couple of drop shadows and made some very minor styling changes (bold text, some copy edits). Oh, he also changed the branding colors. Nothing else changed. It's basically the same exact site but a few things look a little better. and the branding is different.
My intermediary with the designer asked for "any feedback before finalizing the designs" -- which I thought odd because he sent mocks for two out of the ten pages (nine plus a 404 page). (Nevermind most of the mocks showed controls from the wrong page...).
So, I typed up a full page of feedback. Much of it was asking for specifics such as responsive sizing on the new header layout, how the new button layout would work for different button counts, asking for the multitude of missing pages/components, asking why the new colors don't match the rest of our branding, etc. I also added a personal nitpick about flat-looking controls because I fucking hate them. Everything I wrote was very friendly and professional.
... His response was full of gems. Let me share a few.
1. "Everything about the current onboarding site looks like a complete after-thought." (After submitting a design basically identical to mine! gg!)
2. "Yes [the colors match our current branding]." (No. They don't. I checked. The dark grey is different, the medium grey is different, the silver is different, the light blue is different. He even changed the goddamn color of the goddamn LOGO for fuck's sake! How the fuck is that "matching"?!)
3. "Appreciate the feedback [re: overlapping colored boxes, aka 'flat'], design is certainly subjective. However, this is the direction we are going." (yet it differs from the rest of our already-redesigned sites you're basing this off. and it's ugly as shit. gg again :/)
4. "Just looked at the 404 page. It looks pretty bad, and reflects very poorly on the [brand name] brand. Definitely will make a change here!" (Hey! I love that thing. It's a tilted, dotted outline of a missing [brand product] entirely drawn with CSS. It has a light gray "???" underlay and some 404 text inside. Everyone I showed it to, coworkers and otherwise, loved it. "Looks pretty bad". fuck you.)
I know I shouldn't judge someone so quickly, but what the fuck. This guy reminds me of one of those pompous artists/actors who's better than everyone and who can never be wrong, even while they're contradicting themselves.
just.
asfjasfk;ajsg;klsadfhas;kldfjsdl.undefined surfboard another rant about the same project long rant pompous designer apples and asteroids design8 -
Hey fellow selfish Millenials who want to be paid for their valuable work, how's the job hunting going?
I'm a few days into hunting for some interesting part time work and I'm already encountering some real gems... Pinnacle of irony with this one.
Anyone got some horrific tales to share? This is a safe space for your anguish to finally be released, I promise.15 -
The list would be quite long.
I think Google is still making good tools, but just like Apple the integrations get all so tight and constricting... And with their data, if it goes wrong, it will go wrong hard.
I feel like YouTube is gliding into a state where cheap clickbait floats to the top and finding quality gets more difficult as well, their algorithm is more and more tuned to choose recent popular stuff over good older gems.
Microsoft is all pretend lovey dovey cuddling open source, but I'm still suspicious it's all a hug of death. I was never a big fan, but they're seriously dropping balls when it comes to windows-as-a-service, taking away so much personal control from end users even though they can't be trusted to babysit either.
Amazon is creeping it's way through the internet, charging $10/m to join the vip club infesting houses with spytubes to sell more plastic crap. Bezos' only right to keep wasting oxygen is BlueOrigin, but he'll probably fuck that up as well turning spaceflight into a decadent prime consumer orgy instead of something inspiring.
Facebook... Well, that's self explanatory. Fuck it, everything it pretends to be, and everyone who still has an account with a rusty spike.
Uber and AirBnB, with their fake ass mission of a green shared economy, but they trample over employees, customers and neighbors to build their ivory towers of progressive illusions.
Then there's a million declining brands.
I liked Skype for example when it was first released, Just like how I started out liking (and then hating) Discord, Slack, etc... They're all tools which seem fast and easy, but then they get us further away from solid protocols, get us entrenched into limiting, bloated and sometimes even dangerous tools. As my dad used to say: "Companies are like women, if you go for cheap, fast and easy you'll end up with a burning dick and half your savings gone"
You know what, fuck all tech companies.
OK, devrant is still pretty nice... For now.8 -
Now, instead of shouting, I can just type "fuck"
The Fuck is a magnificent app that corrects errors in previous console commands.
inspired by a @liamosaur tweet
https://twitter.com/liamosaur/...
Some gems:
➜ apt-get install vim
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
➜ fuck
sudo apt-get install vim [enter/↑/↓/ctrl+c]
[sudo] password for nvbn:
Reading package lists... Done
...
➜ git push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin master
➜ fuck
git push --set-upstream origin master [enter/↑/↓/ctrl+c]
Counting objects: 9, done.
...
➜ puthon
No command 'puthon' found, did you mean:
Command 'python' from package 'python-minimal' (main)
Command 'python' from package 'python3' (main)
zsh: command not found: puthon
➜ fuck
python [enter/↑/↓/ctrl+c]
Python 3.4.2 (default, Oct 8 2014, 13:08:17)
...
➜ git brnch
git: 'brnch' is not a git command. See 'git --help'.
Did you mean this?
branch
➜ fuck
git branch [enter/↑/↓/ctrl+c]
* master
➜ lein rpl
'rpl' is not a task. See 'lein help'.
Did you mean this?
repl
➜ fuck
lein repl [enter/↑/↓/ctrl+c]
nREPL server started on port 54848 on host 127.0.0.1 - nrepl://127.0.0.1:54848
REPL-y 0.3.1
...
Get fuckked at
https://github.com/nvbn/thefuck10 -
So I just found this app, called LifeRPG. It lets you play your life as a game, compleating quests for exp and "gems"(which you can then trade for custom rewards.. I'm thinking.. Ice cream~ <3) I think this will help keep me motivated more to do actual things in my life. Maybe.. We'll have to see. I already set up a bunch of daily missions, and continous missions.28
-
ARGH. I wrote a long rant containing a bunch of gems from the codebase at @work, and lost it.
I'll summarize the few I remember.
First, the cliche:
if (x == true) { return true; } else { return false; };
Seriously written (more than once) by the "legendary" devs themselves.
Then, lots of typos in constants (and methods, and comments, and ...) like:
SMD_AGENT_SHCEDULE_XYZ = '5-year-old-typo'
and gems like:
def hot_garbage
magic = [nil, '']
magic = [0, nil] if something_something
success = other_method_that_returns_nothing(magic)
if success == true
return true # signal success
end
end
^ That one is from our glorious self-proclaimed leader / "engineering director" / the junior dev thundercunt on a power trip. Good stuff.
Next up are a few of my personal favorites:
Report.run_every 4.hours # Every 6 hours
Daemon.run_at_hour 6 # Daily at 8am
LANG_ENGLISH = :en
LANG_SPANISH = :sp # because fuck standards, right?
And for design decisions...
The code was supposed to support multiple currencies, but just disregards them and sets a hardcoded 'usd' instead -- and the system stores that string on literally hundreds of millions of records, often multiple times too (e.g. for payment, display fees, etc). and! AND! IT'S ALWAYS A FUCKING VARCHAR(255)! So a single payment record uses 768 bytes to store 'usd' 'usd' 'usd'
I'd mention the design decisions that led to the 35 second minimum pay API response time (often 55 sec), but i don't remember the details well enough.
Also:
The senior devs can get pretty much anything through code review. So can the dev accountants. and ... well, pretty much everyone else. Seriously, i have absolutely no idea how all of this shit managed to get published.
But speaking of code reviews: Some security holes are allowed through because (and i quote) "they already exist elsewhere in the codebase." You can't make this up.
Oh, and another!
In a feature that merges two user objects and all their data, there's a method to generate a unique ID. It concatenates 12 random numbers (one at a time, ofc) then checks the database to see if that id already exists. It tries this 20 times, and uses the first unique one... or falls through and uses its last attempt. This ofc leads to collisions, and those collisions are messy and require a db rollback to fix. gg. This was written by the "legendary" dev himself, replete with his signature single-letter variable names. I brought it up and he laughed it off, saying the collisions have been rare enough it doesn't really matter so he won't fix it.
Yep, it's garbage all the way down.16 -
Today's highlights include:
The offshore team has put code gems in production featuring the example code generated on project startup that you're supposed to delete or overwrite, an API endpoint that just returns the value 5, and various debugging console.logs. it's a delight reading their code.
My boss also forgot the meeting he called me in for so I've been sitting here waiting for 20 minutes when I could have gone home. I'm glad it's friday17 -
"C Vectors, Python Lists and Java Arrays are all the same things!" - my IT professor.
He's really talented... :D Don't you guys think? And the fun part is that these "gems" are quite common lately...
I hope I'll graduate soon ;_;17 -
Hello again, everyone. I've been busy with all the paperwork at my ship (will make a post about it later) but for now, I'll bore you with another story (not navy one, fortunately) to justify my slacking off.
And this story... is the story on how I got into ITSec. And it is pretty damn embarrassing. It all began when I was 16. I was hooked on battleknight.gameforge.com, a browser game. My father had just had ADSL installed at our home, and the new opportunities before me were endless. Well...
After I've had my fill with the porn torrents and them opportunities dwindled to just a few dozens, I began searching for free games, and I stumbled on that game. I played a lot, but as a free-to-play game, it was also pay-to-win. I didn't have a credit card, so I paid for a few gems with SMS messages. Fast forward a couple of years, I got into the Naval Academy. A guy came in to advertise something (I think it was an encyclopaedia or something - yes, wikipedia wasn't a thing back then) and to pay for it, we could apply for a credit card. So I applied. And I resisted the temptation for a year.
Note: prepaid wasn't that known where I live, so using credit cards was the only way for online transactions.
So I made 1 transaction. Just one. After a couple of months my monthly report from the bank came, showing a 2.5$ (I think) transaction on Paypal. I paid no mind, thinking that it was some hidden fee. Oh boy, I shit you not, I was THAT much of an idiot. Six months later, BOOM!
600$ transaction to ebay via paypal. You can imagine all those nice things that came to my mind. In any case, the bank accepted my protest that I filed at their central offices and cancelled the transaction. I promptly cancelled my card, destroyed it right there for good measure, and got to thinking... what the fuck just happened?
As many people here, I am afflicted with a deadly virus, called curiosity. I started researching the matter, trying to figure out how. And, because I didn't like black boxes and "it is just like it is" explanations, I tumbled down the rabbit hole of ITSec. I soon found out that, not only it was possible, but also it was sometimes EXTREMELY easy to steal credit card info. There are sites, to this very day, that store user info (along with credit cards info) IN FUCKING CLEARTEXT. Sometimes your personal, financial and even medical info are just an SQLi away.
So, I got very disillusioned on many things. But I never regretted it. It may cause me to age prematurely and will kill me of stroke or heart attack one day, but as I still tumble down the ITSec rabbit hole, I can say with confidence that
I REGRET NOTHING
Plus, my 600$ were returned, so look on the bright side :)1 -
🍰
Today I navigate the devRant oceans for the 157,680,000 second.
Who knew this place would be still pumping some of the greatest devs I've come to appreciate so many years later, it's not the vibrant place it once was, but it's still full of hidden gems.1 -
Found this in a class that has not been touched for 2 years:
// TODO do we need this check? Clarify on Monday.3 -
!rant
!!pride
I tried finding a gem that would give me a nice, simple diff between two hashes, and also report any missing keys between them. (In an effort to reduce the ridiculous number of update api calls sent out at work.)
I found a few gems that give way too complicated diffs, and they're all several hundred lines long. One of them even writes the diff out in freaking html with colors and everything. it's crazy. Several of the simpler ones don't even support nesting, and another only diffs strings. I found a few possibly-okay choices, but their output is crazy long, and they are none too short, either.
Also, only a few of them support missing keys (since hashes in Ruby return `nil` by default for non-defined keys), which would lead to false negatives.
So... I wrote my own.
It supports diffing anything with anything else, and recurses into anything enumerable. It also supports missing keys/indexes, mixed n-level nesting, missing branches, nil vs "nil" with obvious output, comparing mixed types, empty objects, etc. Returns a simple [a,b] diff array for simple objects, or for nested objects: a flat hash with full paths (like "[key][subkey][12][sub-subkey]") as top-level keys and the diff arrays as values. Tiny output. Took 36 lines and a little over an hour.
I'm pretty happy with myself. 😁6 -
So I'm back from vacation! It's my first day back, and I'm feeling refreshed and chipper, and motivated to get a bunch of things done quickly so I can slack off a bit later. It's a great plan.
First up: I need to finish up tiny thing from my previous ticket -- I had overlooked it in the description before. (I couldn't test this feature [push notifications] locally so I left it to QA to test while I was gone.)
It amounted to changing how we pull a due date out of the DB; some merchants use X, a couple use Y. Instead of hardcoding them, it would use a setting that admins can update on the fly.
Several methods deep, the current due date gets pulled indirectly from another class, so it's non-trivial to update; I start working through it.
But wait, if we're displaying a due date that differs from the date we're actually using internally, that's legit bad. So I investigate if I need to update the internals, too.
After awhile, I start to make lunch. I ask my boss if it's display-only (best case) and... no response. More investigating.
I start to make a late lunch. A wild sickness appears! Rush to bathroom; lose two turns.
I come back and get distracted by more investigating. I start to make an early dinner... and end up making dinner for my monster instead.
Boss responds, tells me it's just for display (yay!) and that we should use <macro resource feature> instead.
I talk to Mr. Product about which macros I should add; he doesn't respond.
I go back to making lunch-turn-dinner for myself; monster comes back and he's still hungry (as he never asks for more), so I make him dinner.
I check Slack again; Mr. Product still hasn't responded. I go back to making dinner.
Most of the way through cooking, I get a notification! Product says he's talking it through with my boss, who will update me on it. Okay fine. I finish making dinner and go eat.
No response from boss; I start looking through my next ticket.
No response from boss. I ping him and ask for an update, and he says "What are you talking about?" Apparently product never talked to bossmang =/ I ask him about the resources, and he says there's no need to create any more as the one I need already exists! Yay!
So my feature went from a large, complex refactor all the way down to a -1+2 diff. That's freaking amazing, and it only took the entire day!
I run the related specs, which take forever, then commit and push.
Push rejected; pull first! Fair, I have been gone for two weeks. I pull, and git complains about my .gitignore and some local changes. fine, whatever. Except I forgot I had my .gitignore ignored (skipped worktree). Finally figure that out, clean up my tree, and merge.
Time to run the specs again! Gems are out of date. Okay, I go run `bundle install` and ... Ruby is no longer installed? Turns out one of the changes was an upgrade to Ruby 2.5.8.
Alright, I run `rvm use ruby-2.5.8` and.... rvm: command not found. What. I inspect the errors from before and... ah! Someone's brain fell out and they installed rbenv instead of the expected rvm on my mac. Fine, time to figure it out. `rbenv which ruby`; error. `rbenv install --list`; skyscraper-long list that contains bloody everything EXCEPT 2.5.8! Literally 2.5 through 2.5.7 and then 2.6.0-dev. asjdfklasdjf
Then I remember before I left people on Slack made a big deal about upgrading Ruby, so I go looking. Dummy me forgot about the search feature for a painful ten minutes. :( Search found the upgrade instructions right away, ofc. I follow them, and... each step takes freaking forever. Meanwhile my children are having a yelling duet in the immediate background, punctuated with screams and banging toys on furniture.
Eventually (seriously like twenty-five minutes later) I make it through the list. I cd into my project directory and... I get an error message and I'm not in the project directory? what. Oh, it's a zsh thing. k, I work around that, and try to run my specs. Fail.
I need to update my gems; k. `bundle install` and... twenty minutes later... all done.
I go to run my specs and... RubyMine reports I'm using 2.5.4 instead of 2.5.8? That can't be right. `ruby --version` reports 2.5.8; `rbenv version` reports 2.5.8? Fuck it, I've fought with this long enough. Restarting fixes everything, right? So I restart. when my mac comes back to life, I try again; same issue. After fighting for another ten minutes, I find a version toggle in RubyMine's settings, and update it to 2.5.8. It indexes for five minutes. ugh.
Also! After the restart, this company-installed surveillance "security" runs and lags my computer to hell. Highest spec MacBook Pro and it takes 2-5 seconds just to switch between desktops!
I run specs again. Hey look! Missing dependency: no execjs. I can't run the specs.
Fuck. This. I'll just push and let the CI run specs for me.
I just don't care anymore. It's now 8pm and I've spent the past 11 hours on a -1+2 diff!
What a great first day back! Everything is just the way I left it.rant just like always eep; 1 character left! first day back from vacation miscommunication is the norm endless problems ruby6 -
I got fucking scammed.
Too bad that I just realized it.
As most of you know, I am in Cappadocia atm. We had a balloon flight. Yada yada yada.
Then I took a green tour that was provided from an travel agency that was a Partner of the hotel I am in.
[Skip]
The guide brought us to a stone seller. At the jewellry store, we were told that they have a special kind of gem. It gets mined in Mugla(Turkey).
Thus we thought that the stones they sell are mined natural gems called Zultanit.
Oh boy were we fucking wrong.
The zultanit gems are able to change their color depending on the light it receives. We were all fascinated at the demonstration. They told us that it is the second Turkish gem. First comes Turquoise.
I bough a zultanit bracelet for myself. And a zultanit ring for my mum.
It took me about 635 Lira which is about 95 Euro.
I was like damn. They are so damn valuable. It maked sense to me, because it was changing its colors at differentt areas.
Now guess what...
I went onto the internet and checked reviews about that shop. They were mostly saying that these are not real, but lab created gems. I was deeply shocked.
I checked the "certificate" that I got from them. It matched. My gems are lab created and not mined as they told to us tourists ffs.
I am crying internally.
How could I be that dumb to believe that?
Guys, never buy anything they tell you. Check everything to its detail.
The "zultanite" is a real gem. They even have their own trademark, but we were sold a "zultanit (lbrt)".
They did not show the certificate before buying it.10 -
!rant
Two years ago, I started to learn Ruby on Rails so I would at last know a server language even though it wasn't the almighty PHP. Two years ago minus a few months, I decided to put my first website online with Apache and Passenger. It took me a whole six hours with stress and cries for help until I finally saw my website's homepage displayed on my screen
Today, after a few more websites (and currently 3 more projects but still not released, dang it), I tried to update mySQL to 5.7 since I need it to be able to save arrays for a future project, but everything went full shitstorm with broken packages and lame-ass-shit tutorials that make you doubt your sanity.
So I decided to backup my database and my online websites and to reinstall the whole server and take advantage of it to update the current used gems (Rails 4.2 -> 5.1, not bad)
Not only it took me just a bit more than 2 hours to redeploy the websites, but I didn't felt at the edge of panicking once, and now everything works like a charm.
I feel fucking alpha now.2 -
I briefly worked for a fucked up company that had been bought by a coupon company that had outsourced a project to India
The code contained such gems as
If (Booleanvar ==true)
Among many other little things and some really big ones and was a web project written in vb9 -
Bought webshitlist.io
Wanted to make a blog where I could vent about shit on the internet like 'influencers', Facebook etc
Got bored waiting for Gems to install and played Need for Speed instead5 -
Oh boi.
Once she asked me "Why don't we just upgrade the HTML version?" as in "upgrade our system".
There were more such gems from her, but I think this one was the ultimate.
Background Info: We make emails and to support as much clients as possible you gotta go with the real oldschool html 4.1.😒 -
Working as a software engineer but: co-workers randomly walk into my office to ask me <<insert random IT problem (i.e. mouse not working etc.)>> while I'm deeply focused programming. Trying to close my office door results in co-workers backbiting...
Why can't they just go to the IT administrator who's work it is to handle their fucking problems?3 -
I’ve been trying to use Debian without a graphical UI, at least for the most part. I use X window to run firefox since I feel that is the best way to browse. But simply using the terminal for almost everything feels so refreshing somehow.
I start to find these gems such as a music player for the terminal that works really well, my HOME area feels so clutter free and I feel like I finally can finely control and tune my system to a much larger extent. I’m coming from an extensively cluttered windows system so just seeing a few things makes me feel like I can finally focus.
For me it feels like I’ll have an easier time managing my projects by setting up github in a good way in HOME. I’ve been putting more time into my vimrc to make it better for my different workflows and general productivity (and for the sake of minimalism trying to keep it mostly to hand written stuff). I’ve also been looking into Lutris to be able to fire up games or use wine for other necessary tools that I might need during cowork with others.
Generally I believe that if this test works out I’ll truly consider to make this my main OS. The clutterlessness keeps me much more distraction free. The terminal environment make me read about and learn of new ways to do things. And most of the tools I use can either be used from command line, multiple ones with a multiplexer and in the case I truly need to use GUI or want to play a game I can just fire it up on demand.
*happy*
Do you guys have any distraction free OS or setups that you want to share? Anyone with a similar experience of revelation?9 -
applying for a job at a company whose website is broken is kinda ironic
Todays gems are
- the menu item jobs isn't clickable. I have to find a link elsewhere
- the application form has a second page a "this is what you entered" page. It switches month and day of my birthday. I returned to first page to check. Here it's still fine. Now I needed to reupload my attachments because the "field is empty" - lets see if they get my CV twice
- the jobs page doesn't even load. firefox eventually prompts "This site is slowing down the browser ... [stop]"6 -
Rails gems are like heroine. Addicting as fuck and dangerous when you stop using them.
Just the other day I was explaining user accounts explanations to a coworker when he asked me "what if for some reason you cannot use that package"
My brain froze for a minute trying to remember how would one go about doing that without devise.
Dangerous man.2 -
Look what I found! I love these kinds of gems popping up occassionally. This was Netflix. Btw, quality show there1
-
I hate fucking people that commit into repository all libraries and modules under node_modules or vendor/gems making impossible to search examples on github.11
-
For me there are two kinds of bugs. The ones where you lean backward and the ones where you lean forward.
If you found a bug and you lean backwards in your chair resting your hands behind your head you feel proud and relieved that you found that sneaky bastard. Good for your dev soul.
If you lean forward, resting your forehead on your fists or on the desk then it was a very stupid bug. Not sneaky at all. Something plain obvious. It makes you doubting all your career and life choices you made so far. Like needing one hour to find out that you named the "MANIFEST.in" accidentally "MAINFEST.in"...
Want to share any embarrassing bugs to make me smile again?5 -
More like a sub company/department inside a company: Android.
I still use it as my main driver, but every time I try to get back into development with it(did it professionally for 2 years nearing on 3 and was a lead Android dev, mind you not necessarily by merit....) I end up hating everything about it.
The tooling is meh, the API is hideous and even with the addition of Kotlin, which I do find a nicer language over Java I still dislike it. The ammount of shit needed to make something as simple as store data, manage fragments, integrate with the NDK, make JSON API calls or even shake motions is just ludicrous and counter intuitive. I can see why people would hate Java based on Android, a language that I generally love and defend.
I firmly believe that people extend frameworks or tooling for 2 reasons only:
1 the stack is so awesome that you just want to create packages and libraries to extend the functionality of a powerful environment, like gems for Ruby, python packages, Node packages, php composer, nuget etc
2 the stack is so fucking hideous that people need to fix shit: the entire android square utility framework, butterknife, flutter, react native, codenameone, etc etc
The case with Android is the second. I have not met a professional Android developer that completely likes everything about Android, but will seldom find people that HATE other frameworks or environments.
Android it is for me. Still my daily driver and I love every Android phone I have ever owned. It just makes me feel lots of more compassion for fellow Android devs.4 -
Dear game developers of mobile games,
Please stop making EVERY FUCKING GAME dependent on having coins AND gems that you have to pay REAL MONEY for to oftentimes even keep playing! Or worse still you are kept at a basic level if you refuse to spend!
It’s boring, annoying, and your game is not worth spending like $100 on before getting bored and moving on.
And don’t get me started on ads!!
FUCK RIGHT OFF!!!16 -
Oh gee whiz fellas. I lived through my nightmare. Recently too.
(Multiple rants over last few months are merged in this one. Couldn't rant earlier because my login didn't work.)
I joined a new shithole recently.
It was a huge change because my whole tech stack changed, and on top of that the application domain was new too.
Boss: ho hey newbie, here take this task which is a core service redesign and implementation and finish it in two weeks because it has to be in production for a client.
Normally I'd be able to provide a reasonable analysis and estimate. But being new and unaware of how things work here, I just said 'cool, I'll try my best.' (I was aware that it was a big undertaking but didn't realize the scope and the alarming lack of support I'd get and the bullshit egos I'd have to deal with)
Like a mad man I worked 17+ hours a day with barely a day off every week and changed and produced a lot of code, most of it of decent quality.
Deadline came and went by. Got extended because it was impossible (and fake).
All the time my manager is continuously building pressure on me. When I asked questions I never got any direct/clear answers. On asking for help, I'd get an elaborate word vomit of what was already known/visible. Yet I finally managed to have an implementation ready.
Reviewer: You haven't added parameter comments on your functions and there aren't enough comments in code. We follow standards. Clean code and whatnot. Care for the craft verbal diarrhea.
Boss: Ho hey anux, do you think we'll be able to push the code to production?
Me: Nope. We care for the craft and have standards. We need to add redundant comments to self documented code first, because that is of utmost importance as Nuthead reviewer explained.
(what I wish I had said)
What I actually said: No, code is not reviewed yet.
And despite examples of functions which were not documented (which were written by the reviewer nut), I added 6-7 lines of comments for my single line functions describing how e.g. Sum takes two input integers and returns their sum and asked for a review again.
Reviewer: See this comment is better written as this same-meaning-but-slightly-longer way. Can we please add full stops everywhere even though they were not there to begin with? Can we please not follow this pattern and instead promote our anti-pattern? Thanks.
Me: Changed the comments. Added full stops. Here's a link for why this anti-pattern is bad.
Reviewer: you have written such beautiful code with such little gems. Brilliant. It's great to see how my mentoring has honed your skills.
.
.
.
I swear I would have broken a CRT on his stupid face if we weren't working remotely (and if I had a CRT).
It infuriates me how the solution to every problem with this guy is 'add a comment'.
What enrages me more is that I actually thought I could learn from this guy (in the beginning). My self doubt just made me burnout for little in return.
Thankfully this living nightmare will soon be over.rant fuck you shitty reviewer micromanagement by micrococks wk279 living nightmare fml glassdoor reviews don't lie9 -
You realize that the ERP software you use at your company is shit when:
- there is no service-side ERP backend handling requests
- the whole permission system is client-side (!)
- every client directly connects to the MSSQL database with a supervisor user (stored in plain text in a local config file)
- the MSSQL database contains tables with:
- typos
- names like "contract" but then also "contracts"
- mixed german and english words
- the multiple-business-unit implementation uses 4 columns named "Layer 1, Layer 2, Layer 3, Layer 4" in EACH table
- you find out that the ERP software is created with a fucking "software creation tool"
- there is no API, so you have to program one yourself to use for services
Yet, they charge us shit ton of money for their broken ass software.1 -
Udemy is full of crap.
I got some course that had been "discounted" from $200 (I already mentioned it is an ugly trick) and it was over in like 20 minutes. The fuck?!
All the info they gave was either common sense or something you could find on the first paragraph of the Wikipedia article on the given topic (it was a soft skills course, not a technical one).
Just junk.
Maybe there are some gems out there, but I'm not sure I would risk it again.
Udemy feels like the Booking.com of courses in terms of deceitful UX, but it's not nearly as useful.
Maybe you guys have found something good there that you could say is a bargain? If so, please let me know.10 -
F--- you Ruby, Gems and all this frustrating to install crap. Come on, it is 2018 and this is still one of the biggest issues on all projects depending on Ruby for some damn reason.10
-
youtube's autoplay algorithm has made me discover some interesting gems on the internet.
but fucking damn it if it doesn't like to replay the same 15 songs you like. every fucking time.
like you know I like this band. SHOW ME OTHER SONGS OF THIS BAND GOD FUCKING DAMMIT. I KNOW I LIKE THESE 5 SONGS ALREADY.4 -
Anyone else ever had to install Jekyll on Windows?
Man, what a displeasure the last four hours were. SSL errors everywhere because Ruby versions have differing SSL certificates for downloading gems or something, having to install the devkit three times, messing with Linux Subsystem and finding out the Ubuntu repos do not have a new enough Ruby version to support what you're doing.
All this to have some fun with GH pages. It's physically exhausting.2 -
Thinking about including a file that is named: pleasedontdelete.cpp into the codebase. Don't include it in the project and put vague references to things in the code. Put variables that could be misconstrued as being related to bitcoin or some other cryptocoin. Put lots of comments saying: experimental.
Got a weird growth on my finger. Tried cutting if off with a razor blade. Now it is a stinging bleeding growth. Is not getting bigger. Just seems like a weird callous.
Found out gdscript has threading. Now I understand why Godot went away from Python. They actually wanting to do shit like threading. Every time I look into the gdscript library I find new gems. I mean it has a xml stuff in there. Found that today too.
Probably going to make a simple custom editor for a game I have been playing. I built a prototype a few years back on a weekend. Played the game again and now want it. I originally used Qt and C++. I think I will now try to make it in Godot.
I have been moved around the building as they move offices around. Now back upstairs instead of downstairs. Currently alone in a huge room that had cubicles. I am the only cube left. It feels like Davy Crocket at the Alamo. YOU WILL NEVER TAKE ME ALIVE!3 -
When the fire alarm at your company goes off and instead of saving your life or thinking about your family your first thought is
git commit
git push
...7 -
!rant
Had to build an app using Cordova because... well, I am a web dev and know a shitload of PHP and a good part of JS, but no Swift or Java or whatever.
So there is a deadline set to like half a year after we had the initial talk with the customer. 6 months to build a relatively easy and small app.
So yeah, I procrastinated like one would do when he's got that kind of time left and not much else to do.
And yeah, I did work, but also procrastinated some more. The development was as expected, and I was well in the anticipated time frame.
Then I got a really bad disc prolapse and was sick at home and the hospital for (all together) 5 weeks.
After that, I came back to work for a week, then leaving for a (previously planned) vacation with my little family.
On my first day back at work after the vacation, I quit my job with a 6 weeks notice, of which I have to work 3 weeks.
I know it sounds like I'm a real prick, but it was never planned this way. I never searched for a new job. It just came to me.
I am still finishing the app, though :)
Why am I telling you this?
Well, I do that to show that there still are great bosses out there. My boss has NEVER spoken a bad word to me, even after I quit my job. He's always been kind, fair and understanding.
I just wanted to show that between all these rants about bad bosses and colleagues (which I have had my fair share of in the past), there still are some real gems out there.
Gotta my my boss - he's been one of the best I have had so far.
Peace out folks. Good night... -
Every problem I ever had with a game development engine, only made me hope for something better.
After all, we’re independent developers, not activision! What the hell is an “indie” anyway? I’d even grown a sort of disgust at the term, as if saying it, without having published anything, was being fake. The word felt vapid. Like calling yourself an e-celebrity, or apple putting an i in front of everything.
(Don’t you know its year 20xx, we attach coin to brands now! Dogecoin, ecoin, walmartcoin, hospitalCoin for when you really really just want an appendectomy).
This is my newsletter, Y Intercept, and the story of my many embarrassing failures, and what I have learned from them.
Indie Game Development Tools
https://yintercept.substack.com/p/...
Stay tuned for more, like "how I once redesigned the same interface over two thousand times."
and gems like
"I wish it was more like Minecraft, But With Guns - and the awful ads that FLOODED the internet from that one little, terrible, god awful suggestion."3 -
What book/video/resource do you know that explains complex stuff in a simple and fun way?
I recently found "Carfting Interpreters" by Bob Nystrom. It explains how to create a new scripting langauge from scratch, It teaches you a lot about interpreters and compilers and virtual machines. And it's free!
http://craftinginterpreters.com//1 -
GitHub Packages Sucks. Like, it REALLY sucks.
It sounds like the best thing in the world - being able to host your project packages alongside your code! It has full support for Maven, Gradle, Ruby Gems, Node packages, Docker images and even dotnet CLI applications. It even lets you view statistics on how many developers have downloaded a given package! For public repositories, the packages are free to host as well!
So, I decide to use it for my Maven project since it's "so great". I've never used a public Maven repository before, so this was all very new to me. I follow the documentation - simply run "mvn deploy ...." and use a generated GitHub personal access token. No problems there. Deployment is a success and I feel a wave of happiness seeing my packages online. I follow through the various links and it even adds automatically generated usage information for other Maven users - fantastic!
That was, until I decide to try and download one of the files from this package repository. In order to download a file, you must have a GitHub access token. Okay, makes sense I guess? What if another developer wants to use my library? To do so, they have to generate their own GitHub access token, store it in their local ~/.m2/settings.xml file and only THEN can they use my library. So clearly, this is significantly inferior to other public Maven repositories where you don't have to get an access token to simply USE a library.
Upon discovering this, I decide to simply delete all of the packages and continue using whatever previous system I was using. Except of course, they forbid the deletion of public packages because "other projects could depend on it". The only way to delete public packages is to either:
[0] Make the repository private (losing all stargazers and watchers), delete the packages and then make the repository public again
[1] Contact support and ask them to delete the public packages. They say that they'll only do this for "special cases", such as legal issues or GDPR breaches.
I've sent a contact form and I'm currently hoping that they see things in my favor. I mean seriously - a public package repository where in order to use it you have to have a GitHub account and then generate an authentication token - it's absurd!3 -
FFS how is a guy supposed to do any work with a PC as slow as this?? how many anti-virus can you install on a single machine??!!3
-
!rant
Buy some colored pens. The more colors the better.
I did it out of curiosity. Ended up being a life saver when taking notes and planning work on paper. It probably cut my work in half. I spend more time writing stuff on paper and planning stuff, but when I do write 10 lines of code, they turn out to be pure gems fitting perfectly in the entire structure. I write them with tons of confidence, knowing that I had thought of everything and I didn't forget anything, because everything is right there, in color, on the diagrams that I drew.2 -
Why are there so many "curated list of X" on Github? I really liked browsing the trending page because I found several gems of OSS in it. But nowadays it seems chinese course materials, "curated lists" and so-called "H4Xx0r-Res0urces" share the space on the trending page. Has Facebook arrived on Github?2
-
> be me
> " It's Sunday, time for some battlestation housekeeping"
> " Oh easy, every git repo should do 'git clean -dfx'"
> Goes to ~/.rbenv
> Executes 'git clean -dfx'
> A whole 15 minutes long my drives go in overdrive...
> Removed 37 ruby versions and their gems, 104GB space freed up
I should do this more often
And I should now pull in all new versions and other things...3 -
More glorious gems from stupid hipster API dev:
HTTP GET api.redacted.com/referral/$id
{
"referral_id" : null // yes it was actually null
"referral_is_inactive": true,
"referral_deactivated": false,
} -
Best part about being a dev? - Finding little gems of humour in comments and docs.
Why convert HTML to Markdown?
-You have an existing HTML document that needs to be edited by people with good taste.
-You want to store new content in HTML format but edit it as Markdown.
-You want to convert HTML email to plain text email.
-You know a guy who's been converting HTML to Markdown for years, and now he can speak Elvish. You'd quite like to be able to speak Elvish.
-You just really like Markdown.
from https://github.com/thephpleague/... -
One of my very first PR's didn't even get a comment and I worked hard on it...
Feels bad man, all I need is some kind of yes, thanks for this, or no, this doesn't fit the project goals.
After patiently waiting, went ahead and created my own gem! No response sucks.
Why does this happen?1 -
Amazon S3 down: Cant pull any docker images >:/ ....but I wanted to update my GitLab instance. So good that I deleted the old container and image. FML
-
So I've received a link to Figma for the new mobile app from our designer. It looks great and all but...
Each fucking piece of text is styled independently. Half of the cards in the layout are simple rounded rectangles, the other half are some components with a gradient. Icons are a mix of vector graphics and line elements. Even buttons aren't components. Consistence anyone? Please?
And now comes the best part. How am I even supposed to reach half of the screens? There are four variants of a screen with very similar functionality, but only a single button in the main screen which would at least remotely correspond to one of them. The guy who invented the wirescreens just kept adding things which would be nice to have in the final app, without revising it and making clear use case flows out of it?
After a few days of implementing this clusterfuck of a design, I have finally settled on a consistent set of font and element themes. Just please use components in Figma. You are paid to work in this tool which can make it super easy for the developer AND for you as well to make the design come to life, so why don't you learn to use it?
At least the designer is a nice guy, but god, could he learn to use his single tool?3 -
just found this
// ...A shed load of voodoo is then executed...
// .. removing the need for this would have involved messing around with the existing code which is such a rat's nest that I would rather avoid it -
Never opened a long forgotten program you wrote to be astonished how it was well implemented?
Usually looking at old code the reaction is "WTF!did i wrote this crap?" but in some cases you can find hidden gems. -
Is anyone familiar with Bitwig? It's a pretty good DAW and you can write your own controller scripts in JS. I bought two controllers (Launchpad Mini and Launch Control), one of which has a really outdated factory script and the other one doesn't have anything, so I decided to update the existing one and port it over to the other controller. They do similar stuff.
I started going through the code and I think it gave me cancer. It has many gems, but so far this is my favourite. The second is a function that takes two parameters and returns false. -
So tired of app developers localizing app information with Google Translate. Use a real person that can READ AND WRITE IN THE FUCKING FOREIGN LANGUAGE or scrap the entire translation and do marketing in English. And Google? Why the fuck do you allow people to embarrass themselves by providing machine translated SHIT in the Store Listing options?
Some gems found on Google Play Store, translated from Norwegian to English the way I as Norwegian interpret them.
Reddit: Reddit is a collection of bank interest rate society: cats, piks, politics and more.
eBay: Offer, to buy, to sell. Turn pages offering and save on clothes Sjoeping, used cars and more
Huuuge Casino: New social castls and casino a sensation! Now play FREE!
And finally, devRant 😂: Social networks to get a contact with other developers than funny qalz about tekk.1 -
My 11k LOC frontend codebase with webpack compiles into a 1.2 MB minified bundle file...RIP mobile users1
-
I've been doing Android Development for almost an year now. I feel bad that I only found these gems within the last week.4
-
I have an army of skeletons following me around. So why can't I hold all these fucking chipped gems.
Let me tell you, I have never been so glad to get the Horadric Cube. My stash was full of the shit, had to offload to a fucking mule. ATMA for life bitch.
And Duriel, I'm coming for that ass.3 -
Having to debug a program on a batch of 5000 punched cards and needing days to get them to the data center per mail.
Then you wait days to get the result just to see that it threw an error so you begin to debug what basically means that you change something in your 5000 cards, send them back, wait days, get an error again, make a change... send them back and so on...2 -
I need advice:
I'm a developer, I have lots of experience with Java and Python (More on Java than Python). But I'm not a game-dev.
I've been thinking about dedicate serious time to develop a game, like a long term plan, using my free time.
Top down adventure / puzzle game; you know typical go here, get key there, put three gems here, unlock that and so on.
I have two options: Go with Java as I can move easily with it OR use an engine like Godot even though I've never used it before.
So game-devs, any advice on what should be the best approach here?8 -
There is a fine line between chic corporate speak and not cool corporate neologisms.
Then there are these gems from the client:
- major blocker: "showstopper"
- the situation is becoming high pressure: "things are getting hot and heavy"23 -
Didn’t think I would run into issue because I was using Apple Silicon macs - something borked my ruby gems installation, and reinstalling made matter worse by Bundler installing gems that apparently linked to whatever arch they liked. Now if I run bundle exec there was that one f*<king gem that died of mismatching arch until I intervened.
-
How much of a fucking faff is it trying to deploy a rails app to ElasticBeanstalk?!
Brand new instance and it's got no fucking clue what Bundler is, installing gems (looking at you, Nokogiri,) is about as difficult as pissing stones and don't get me fucking started on Webpacker and asset pre-compilation.
DEPLOYMENT SHOULD NOT BE DIFFICULT.2 -
I wondered what they were doing.. after a while they called me over.. they were trying to inner join 3 tables and struggling.. FFS.
-
Anybody read the Game Programming Gems series? Are they any good? Are there better alternatives? I'm thinking of getting one or two but have no idea if they're actually worth it or whether they're outdated or were never very good to begin with.8
-
Duck whoever thought using jruby was a good idea! fuck this codebase, outdated dependencies hell and fuck most of the ruby gems documentation
-
How do the mobile offers in games like "get 1000 Gems if you ... in some other app" able to verify that you actually did that?9
-
Mongodb CEO and the developer who build this shit for brains interface should be tarred and feathered. Almost 90minutes in and I cannot connect to anything other than error codes. What in the actual fuck is your job other than to make it difficult for a "free tier" user to connect?
"connect ECONNREFUSED 127.0.0.1:27017"
Oh ok another 20 minutes of work and you give me a bland beige error code like "```TLS/SSL is disabled. If possible, enable TLS/SSL to avoid security vulnerabilities.```"... um ok how do I enable it for your site, your database or on my computer... oh wait you don't say shit do you?
So now I'm fully 81 minutes into this shit show and all I get for error codes are these really descriptive gems 'getaddrinfo ENOTFOUND cluster0.hudbd.mongodb 'dot' net` comes up if I choose `mongo` with "connection string scheme" above it or `bad auth : Authentication failed'7