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 - "the rest is black"
-
Hey everyone,
First off, a Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
Tim and I are very happy with the year devRant has had, and thinking back, there are a lot of 2017 highlights to recap. Here are just a few of the ones that come to mind (this list is not exhaustive and I'm definitley forgetting stuff!):
- We introduced the devRant supporter program (devRant++)! (https://devrant.com/rants/638594/...). Thank you so much to everyone who has embraced devRant++! This program has helped us significantly and it's made it possible for us to mantain our current infrustructure and not have to cut down on servers/sacrifice app performance and stability.
- We added avatar pets (https://devrant.com/rants/455860/...)
- We finally got the domain devrant.com thanks to @wiardvanrij (https://devrant.com/rants/938509/...)
- The first international devRant meetup (Dutch) with organized by @linuxxx and was a huge success (https://devrant.com/rants/937319/... + https://devrant.com/rants/935713/...)
- We reached 50,000 downloads on Android (https://devrant.com/rants/728421/...)
- We introduced notif tabs (https://devrant.com/rants/1037456/...), which make it easy to filter your in-app notifications by type
- @AlexDeLarge became the first devRant user to hit 50,000++ (https://devrant.com/rants/885432/...), and @linuxxx became the first to hit 75,000++
- We made an April Fools joke that got a lot of people mad at us and hopefully got some laughs too (https://devrant.com/rants/506740/...)
- We launched devDucks!! (https://devducks.com)
- We got rid of the drawer menu in our mobile apps and switched to a tab layout
- We added the ability to subscribe to any user's rants (https://devrant.com/rants/538170/...)
- Introduced the post type selector (https://devrant.com/rants/850978/...) (which will be used for filtering - more details below)
- Started a bug/feature tracker GitHub repo (https://github.com/devRant/devRant)
- We did our first ever live stream (https://youtube.com/watch/...)
- Added an awesome all-black theme (devRant++) (https://devrant.com/rants/850978/...)
- We created an "active discussions" screen within the app so you can easily find rants with booming discussions!
- Thanks to the suggestion of many community members, we added "scroll to bottom" functionality to rants with long comment threads to make those rants more usable
- We improved our app stability and set our personal record for uptime, and we also cut request times in half with some database cluster upgrades
- Awesome new community projects: https://devrant.com/projects (more will be added to the list soon, sorry for the delay!)
- A new landing page for web (https://devrant.com), that was the first phase of our web overhaul coming soon (see below)
Even after all of this stuff, Tim and I both know there is a ton of work to do going forward and we want to continue to make devRant as good as it can be. We rely on your feedback to make that happen and we encourage everyone to keep submitting and discussing ideas in the bug/feature tracker (https://github.com/devRant/devRant).
We only have a little bit of the roadmap right now, but here's some things 2018 will bring:
- A brand new devRant web app: we've heard the feedback loud and clear. This is our top priority right now, and we're happy to say the completely redesigned/overhauled devRant web experience is almost done and will be released in early 2018. We think everyone will really like it.
- Functionality to filter rants by type: this feature was always planned since we introduced notif types, and it will soon be implemented. The notif type filter will allow you to select the types of rants you want to see for any of the sorting methods.
- App stability and usability: we want to dedicate a little time to making sure we don't forget to fix some long-standing bugs with our iOS/Android apps. This includes UI issues, push notification problems on Android, any many other small but annoying problems. We know the stability and usability of devRant is very important to the community, so it's important for us to give it the attention it deserves.
- Improved profiles/avatars: we can't reveal a ton here yet, but we've got some pretty cool ideas that we think everyone will enjoy.
- Private messaging: we think a PM system can add a lot to the app and make it much more intuitive to reach out to people privately. However, Tim and I believe in only launching carefully developed features, so rest assured that a lot of thought will be going into the system to maximize privacy, provide settings that make it easy to turn off, and provide security features that make it very difficult for abuse to take place. We're also open to any ideas here, so just let us know what you might be thinking.
There will be many more additions, but those are just a few we have in mind right now.
We've had a great year, and we really can't thank every member of the devRant community enough. We've always gotten amazingly positive feedback from the community, and we really do appreciate it. One of the most awesome things is when some compliments the kindness of the devRant community itself, which we hear a lot. It really is such a welcoming community and we love seeing devs of all kind and geographic locations welcomed with open arms.
2018 will be an important year for devRant as we continue to grow and we will need to continue the momentum. We think the ideas we have right now and the ones that will come from community feedback going forward will allow us to make this a big year and continue to improve the devRant community.
Thanks everyone, and thanks for your amazing contributions to the devRant community!
Looking forward to 2018,
- David and Tim50 -
Storytime
A story about an Android TVbox which decided to become an iPad
Several years ago we've bought an android tv-box.
It served me and my family well for several years.
Specs are not that important in this story, but there they are:
Android 4.4
1GB RAM
Amlogic quadcore 1.4HGz
8GB memory.
This device served us well - online TV, browsing, music, file sharing and so on. But recently cheap Chinese memory deciteed to take a break and damaged ROM. Because of that device won't boot. The only option was to take it apart and "short circuit" certain legs on memory chip and make it boot from SD card and install new firmware. After such operations tv-box worked well again.
Hoverer, memory glitched again and again and this algorithm was repeated for several months.
But that is not what is this story about.
One day memory went completely crazy and there was no way to install new firmware on it. It just hanged on install. (BTW, it was official firmware for this device)
But after countless attempts it finally worked! It installed the firmware and booted into launcher and connected to WiFi!
But now comes the most interesting part.
It was not android anymore.
It decided to became an iPad.
My dad logged in to his Google account via tv-box and got mail that someboby connected from our IP via iPad (we don't have an iPad) and using safari browser! Stock browser is not safari browser.....
"Ok, nvm, crazy glitch." - we thought.
But preinstalled play marked wont launch. Because he told us, that we're trying to connect from iPad.
And Google chrome page suggested to download chrome for iPad
And everything was acting like it is an iPad.
OK, downloaded iTunes, why not??? ._.
Tried to install elixir for android via apk from flash, but then memory glitched one more time, everything went black and tv-box had damaged ROM again...
After that we decided to not torment it anymore...
That's it. Poor Android TVbox that all his life dreamed to become an iPad. Rest in peace.2 -
Bezelless displays are a joke. Even the regular displays like this one from my laptop don't need nearly as much bezel as they're usually given.
The black indent at the top of the picture is hiding the display controller, which can easily be moved to the back. The rest of it.. a little bit of internal frame to keep the LCD intact during impacts on the outer case but that's about it.11 -
I've told the same story multiple times but the subject of "painfully incompetent co-worker" just comes up so often.
I have one coworker who never really grew out of the mindset of a college student who just took "Intro to Programming". If a problem couldn't be solved with a textbook solution, then he would waste several weeks struggling with it until eventually someone else would pick up the ticket and finish it in a couple days. And if he found a janky workaround for a problem, he'd consider that problem "solved" and never think about it again.
He lasted less than a year before he quit and went off to get a job somewhere else, leaving the rest of our team to comb through his messy code and fix it. Unfortunately, our team is mostly split across multiple projects and our processes were kind of a mess until recently, so his work was a black box of code that had never been reviewed.
I opened the box and found only despair and regret. He was using deprecated features from older versions of the language to work around language bugs that no longer existed. He overused constants to a ridiculous degree (hundreds of constants, all of which are used exactly once in the entire codebase, stored in a single mutable map variable named "values" because why not). He didn't really seem to understand DRY at all. His code threw warnings in the IDE and had weird errors that were difficult to reproduce because there was just a whole pile of race conditions.
I ended up having to take a figurative hacksaw to it, ripping out huge sections of unnecessary crap and modernizing it to use recent language features to get rid of the deprecation warnings and intermittent errors. And then I went through the same process again for every other project he'd touched.
Good riddance. -
This happened a few weeks ago at school.
The previous semester we had to work in a group to make a basic Android application. After handing it in to the teacher, we had to present it in front off the class.
During this project, one of the groups was having some problems with a member, mainly because of misunderstandings and miscommunication. He definitely has technical skills, but he really needs to work on his focus and communicational skills.
The member was removed from the group and had to do it on his own. He had 2 days to make the app, which we initially got 2 weeks for.
Skip forward to presentation day.
Every group presented their app and got feedback from the teacher and the rest of the students.
Lastly, the guy that was on his own was giving his presentation. He started his powerpoint and explained what happened during the project and what went wrong. Then he said: "This is a black page in my school career, everything that could have gone wrong, went wrong". Immediately after saying this, he proceeds to go to the next slide: His laptop crashed, Blue Screen Of Death.
This was one of the most painful moments I've ever witnessed during a presentation.
I couldn't believe the timing of Windows to fuck up.2 -
!dev
I have a couple of thoughts about social justice controversies from these last years.
I think it's hard to have a good opinion about these events for several reasons.
One reason is that finding good information in 2019 is very hard.
Revenue based sites (thus unneutral) dominate the search results. You search about something and you find thousands of sites basically saying the same thing (because they copy each other).
That's why the existence of a free and open search engine is so important, so it's easier to find neutral hence good information on which to base your opinions, but they are prohibitively big for small groups to build.
Another reason is that controversies generate shock and shock curtails rational thinking. Maybe that's how the primitive brain works?
I'm not much of a scholar to feel confident to say that, but it's so recurrent that it's not too much of a wild guess.
When a controversy happens, a natural reaction is to pick a side. This means that:
a) we assume that there are only 2 sides, and
b) we must pick one of them
So, maybe the human is a bad politician by nature?
Also, because of the shock controversies generate, peaceful dialogue is very rare.
I have yet to see peaceful dialogue online about what patriarchy means to feminists and a lot of other terms they use.
I don't care much about feminists that vandalize or interrupt talks (yelling over someone else is abuse in my opinion).
But for the rest of them, I think discussing their ideas would be good.
I say this because most feminist discourse I see online is not open. Or maybe there are such instances but the web is so big that it's hard to find such instances.
I think some part of the modern feminist doctrine is bullshit, and some part is true.
I for one hate when some men I know in life expect their wives to be their cooks+cleaners (unless they want to do that, willingly). Personally, I'd encourage my wife to get a job (rightfully so, not just to meet some minority quota in some company).
I don't mind either calling a trans person the pronoun she wants.
But other ideas are awful, like the idea that meritocracy is patriarchy, so you need to force minorities to meet a proportionate quota. That's terrible reasoning.
Or the excessive self appreciation culture, like saying to yourself "you are pretty, you are beautiful, you are perfect". I think that grows arrogance and black-or-white thinking.
And some other ideas as well.
I guess the same you can say about any doctrine with different degrees. Some part is bullshit, some part isn't.
Some right wing people hate everyone who isn't white by default, but some want to have more immigration control.
I sure don't like the experiment of separating children from families like the current us govt did, but I wouldn't be happy either to know that by '99 50% of gangs members in the us were hispanic.
With this, I'm not going to say "embrace everyone's ideas" like an idiot. I hate when people do that. It's a stupid and weak reaction to radicalism.
In fact I think the way you fight radicalism and bad doctrines is that you listen to them and maintain good dialogue and counterargue in a respectful but insightful manner.
Making snide remarks, insulting or trolling won't change anyone's mind. That is just throwing fire to the fire.
In fact, when someone gets harassed because of something they believe in, usually it results in even more adherence to their beliefs, because of the usual assumption that success or goodness is full of strife.
So by telling a "sjw" or kkk member that they are idiots over twitter, you are in fact making them stronger believers in their doctrine.
Think of Daryl Davis, a black guy that made 200 members leave the kkk. How? He didn't tell them they were assholes, he somehow made friends with them.
I feel bad now because I've been trolling new devrant users a lot because of how they worsen the quality of the site, but maybe I should tell them that they are ruining the site somehow in a nice way and maybe they'll listen? I dunno...23 -
I’M COMIC SANS, ASSHOLE
Listen up. I know the shit you’ve been saying behind my back. You think I’m stupid. You think I’m immature. You think I’m a malformed, pathetic excuse for a font. Well think again, nerdhole, because I’m Comic Sans, and I’m the best thing to happen to typography since Johannes fucking Gutenberg.
You don’t like that your coworker used me on that note about stealing her yogurt from the break room fridge? You don’t like that I’m all over your sister-in-law’s blog? You don’t like that I’m on the sign for that new Thai place? You think I’m pedestrian and tacky? Guess the fuck what, Picasso. We don’t all have seventy-three weights of stick-up-my-ass Helvetica sitting on our seventeen-inch MacBook Pros. Sorry the entire world can’t all be done in stark Eurotrash Swiss type. Sorry some people like to have fun. Sorry I’m standing in the way of your minimalist Bauhaus-esque fascist snoozefest. Maybe sometime you should take off your black turtleneck, stop compulsively adjusting your Tumblr theme, and lighten the fuck up for once.
People love me. Why? Because I’m fun. I’m the life of the party. I bring levity to any situation. Need to soften the blow of a harsh message about restroom etiquette? SLAM. There I am. Need to spice up the directions to your graduation party? WHAM. There again. Need to convey your fun-loving, approachable nature on your business’ website? SMACK. Like daffodils in motherfucking spring.
When people need to kick back, have fun, and party, I will be there, unlike your pathetic fonts. While Gotham is at the science fair, I’m banging the prom queen behind the woodshop. While Avenir is practicing the clarinet, I’m shredding “Reign In Blood” on my double-necked Stratocaster. While Univers is refilling his allergy prescriptions, I’m racing my tricked-out, nitrous-laden Honda Civic against Tokyo gangsters who’ll kill me if I don’t cross the finish line first. I am a sans serif Superman and my only kryptonite is pretentious buzzkills like you.
It doesn’t even matter what you think. You know why, jagoff? Cause I’m famous. I am on every major operating system since Microsoft fucking Bob. I’m in your signs. I’m in your browsers. I’m in your instant messengers. I’m not just a font. I am a force of motherfucking nature and I will not rest until every uptight armchair typographer cock-hat like you is surrounded by my lovable, comic-book inspired, sans-serif badassery.
Enough of this bullshit. I’m gonna go get hammered with Papyrus.
by Mike Lacher, https://mcsweeneys.net/articles/...3 -
FOR FUCK'S SAKE
My verdict on display ports? From 1 to 10 10 being horrible as fuck I'd say it's about the same amount of times my fucking monitor went black and I almost had a siezure.
This may have nothing to do with programming but honestly, it fucking sucks. I've read so much online about how DP is better but no. I've never had a problem with HDMI, but HERE COMES ALONG THE MAGICAL DP. I was playing a FPS game and my left monitor went black over and over and I almost had a siezure. So I umplug the DP cable and my game fucking switches to my right monitor which is portrait mode, AND IT WASN'T EVEN SIDEWAYS GAMING... IT WAS PORTRAIT ON ONE FUCKING MONITOR... PORTRAIT.
I HAD TO PLAY THE REST OF THE GAME LIKE THAT. IN PORTRAIT MODE. THE DOOR FRAMES IN THE GAME WERE SO SKINNY IT LOOKED LIKE PAPER COULDN'T FIT THROUGH IT.10 -
I have a project idea:
Web app that will automatically generate random like-a-facebook project ideas that will handle the buisness side and automatically post that offer on multiple forums, linkedin and send email with it. All using AI, Nural Networks, Big Data and VR.
Seriously, once fucking more some african or indian guy messages me to work for his awesome "its like a facebook but different" idea where he needs "just backend, frontend and mobile apps" and that he will just "handle the rest" and that "have no money now but after I sign a NDA he will give me some shares", I am gonna find him and shit on his head. Monday did not even ended yet and I already read 9 "offers" like this on my mail and facebook, only one guy white, rest indians or africans.
Why are then people suprised that we consider black and indian devs as a fucking joke 90% of the time. I have a indian dev friend and he could not find a dev job for 2 months, because everyone would rather work with less skilled asian / white guy than indian / black guy. This is not about racism, but about those retards that are acting like idiots. Hope I did not offend anyone (unless you do shit like this, then, please just smash your keyboard over your head).
Words like AI and neural networks are used just to lure the investors to our gofundme campain and steal their money after 2 years of silence.1 -
!dev
Nothing is a dream.
My very first step, as I left the staircase, was on a plate. A loud click made my instincts tick, pushing me to blindly roll forwards.
Before I even had the time to process, that I had just evaded being burnt alive by a wall of flames, the rumblings of another mechanism made my heart accelerate yet again.
Five iron spikes descended uppon me, scratching my cloak, but no more. Twice I was lucky...
But three doors: one behind me, two to my left and right. The ones at my sides spring open with a loud crack, and four terrors pour out, seeking to flay me alive and wear my skin.
I slash at them with my bloody falchion, walking backwards, seeking to escape through the remaining door. Primal fear runs through my spine as I realize: it's barred from the other side!
Burning through my mana, I manage to unlock the door, and quickly close it behind me... but the terrors do not abandon the chase. With inhuman strength, they pound on the door, while desperately crying out for my blood.
I try to escape to the next room... another locked door. There must be another way! There has to, or I'm as well as dead...
What's this, in the corner, among cobwebs? A handle... and a secret passageway, that I can close from the other side! Magnificent!
Another flight of stairs takes me deeper into the tomb. I find an oil lamp, suspiciously well-maintained. Someone has been here recently...
I marvel at the macabre carvings on the wall, depicting scenes from when immortal tyrants ruled the earth. Haven't I seen these before... ?
No matter, I must focus. I was instructed to find an artefact hidden within this acursed place, that I may use for the purification ritual -- there is only one way, so onwards.
An old wooden gate, with a broken bronze knob. Soon as I put my hand on it, it opens inwards...
Eyes black like diamonds, she awaited me inside.
I had never been, simultaneously, just as terrified as enraptured. Day and night, her voice still reverberates inside my mind. And even as I lay dead, her inescapable gaze still clutches the very bottom of my heart.
"Did you come for me?" she asked, smiling, opening up her arms, so that I may fall into her sweet, loving embrace.
"Yes" I whispered as I walked towards her, enthralled.
In a bout of deranged ecstasy, she drank every last drop of my blood. But then... she cried, cuddling my remains.
"No... no, no, NO!" her screams tore apart her very soul "I killed my son... I KILLED MY SON!"
Oh, mother...
Don't cry mother
it hurts no more.
Now I live again.
And I forgive you.
Because I loved you,
as ashamed as I am to admit,
the very moment I saw your eyes,
I loved you.
"I was imprisoned here, so that I may not harm anyone else" she muttered, tears in her eyes "I cannot stop myself -- I am cursed"
Do not ask of me, that I end your suffering.
How could I?
If there is no cure...
"Please, my love... " she begged "kill me... "
No... I can't...
I can't bear either weight
for the rest of this wretched eternity!
How could I take your life?
But how could I leave you to suffer?!
"Now we'll be together... " she smiled, as I raised the falchion.
"Forevermore" I wept, before bringing it down.
***
Nothing is a dream.
Somber, I returned to the Santuary, having fulfilled my mission.
But looking uppon the bone mask I donned, obscuring my eyes, the Matriarch knew that I had been... changed.
I felt no remorse as I slaughtered the witch that doomed my beloved, right on her own altar to heresy. She earned as much.
Her guards, however, I could not defeat.
But that doesn't matter;
deep inside, I was already dead.
And behind the mask,
the whole way through,
I had shed tears without pause.
"Now we'll be together... " I prayed to the nightsky, as silver blades punctured my thorax.
"Forevermore" her sweet voice replied.
*** -
!rant
Today I replaced my Logitech G610 that had a twitchy enter key by a Corsair K70 with MX Silent switches.
It's a whole lot of money, but man that thing is really beautiful. I'm in love with the aluminium top plate and the entire design with raised switches/keycaps.
The G610 is a good keyboard (only missing a palm rest), but the K70 is much more comfortable, and the silent switches are really a lot less clicky, nearly as quiet as a rubber dome keyboard. Really nice for office environment.
The only sad thing is, I would prefer brown switches for regular typing, because of the feedback. But MX Silents are only available as red and black.
So now I have red switches, but that's something I can live with.
I hope the K70 is made to last, I'm not planning to have another keyboard for the rest of my life.1 -
I had a pretty good year! I've gone from being a totally unknown passionate web dev to a respected full stack dev. This will be a bit lengthy rant...
Best:
- Got my first full time employment dev role at a company after being self-taught for 8+ years at the start of the year. Finally got someone to take the risk of hiring someone who's "untested" and only done small and odd jobs professionally. This kickstarted my career, super grateful for that!
- Started my own programming consulting company.
- Gained enough confidence to apply to other jobs, snatched a few consulting jobs, nailed the interviews even though I never practiced any leet code.
- Currently work as a 99% remote dev (only meet up in person during the initialization of some projects.) I never thought working remotely could actually work this well. I am able to stay productive and actually focus on the work instead of living up to the 9-5 standard. If I want to go for a walk to think I can do that, I can be as social and asocial as I want. I like to sleep in and work during the night with a cup of tea in the dark and it's not an issue! I really like the freedom and I feel like I've never been more productive.
- Ended up with very happy customers and now got a steady amount of jobs rolling in and contracts are being extended.
- I learned a lot, specialized in graph databases, no more db modelling hell. Loving it!
- Got a job where I can use my favorite tools and actually create something from scratch which includes a lot of different fields. I am really happy I can use all my skills and learn new things along the way, like data analysis, databricks, hadoop, data ingesting, centralised auth like promerium and centralised logging.
- I also learned how important softskills are, I've learned to understand my clients needs and how to both communicate both as a developer and an entrepeneur.
Worst:
- First job had a manager which just gave me the specifications solo project and didn't check in or meet me for 8 weeks with vague specifications. Turns out the manager was super biased on how to write code and wanted to micromanage every aspect while still being totally absent. They got mad that I had used AJAX for requests as that was a "waste of time".
- I learned the harsh reality of working as a contractor in the US from a foreign country. Worked on an "indefinite" contract, suddenly got a 2 day notification to sum up my work (not related to my performance) after being there for 7+ months.
- I really don't like the current industry standard when it comes to developing websites (I mostly work in node.js), I like working with static websites (with static website generators like what the Svelte.js driver) and use a REST API for dynamic content. When working on the backend there's a library for everything and I've wasted so many hours this year to fix bugs and create workarounds related to dependencies. You need to dive into a rabbit hole for every tool and do something which may work or break something later. I've had so many issues with CICD and deployment to the cloud. There's a library for everything but there's so many that it's impossible to learn about the edge cases of everything. Doesn't help that everything is abstracted away, which works 90% of the time but I use 15 times the time to debug things when a bug appears. I work against a black box which may or may not have an up to date documentation and it's so complex that it will require you to yell incantations from the F#$K
era and sacrifice a goat for it to work properly.
- Learned that a lot of companies call their complex services "microservices". Ah yes, the microservice with 20 endpoints which all do completely unrelated tasks? -
My DNS provider does not have an API. They do have one... That is wrong... But on the description page, they say we have to open a ticket to be given access. No requirements. Nothing...
And then I am told "they do no longer offer dns for private hosting". I don't even host with them, I only have a domain with them.
But the magical word is no longer. That means they did offer it. In the description of the API it still says "and for everyone who feels comfortable interacting with a REST API." Oh, and they asked anyone who works on it to be so nice and share any SDK's they might have coded up. Would have shared my SDK. Would have... If no Rust SDK was available yet.
So, what the fuck...
The problem with that is that I need a wildcard certificate for my homelab with DNS validation. So, I need to dynamically set a txt record. Now I wonder... Was this done on purpose? They are selling wild card certificates. Letsencrypt are giving them out for free. I bet they deactivated it, so they can sell more...
Anyway. Solution time.
Short term: I make my own API with black jack and hookers... And selenium.
Long term: I need to fucking move my domains to a different provider.
But what the fuck... What the fuck?7