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 - "dice"
-
One day, someone at Google decided that what their search engine was really missing was a dice rolling tool, complete with text that says 'Rolling...'
Stocks are up 600% since then.10 -
I just got my first set of D&D dice! I know it’s just some metal polyhedra but I’m really happy to have them!15
-
(Interview for sde-3 position)
(continuation of https://devrant.com/rants/2132431/... )
Interviewer - *opens laptop. Gives a question.* solve this.
Me - *a bit surprised that such questions were being asked on a sde-3 level*
this is the 4th or 5th question from geeksforgeeks, isn't it? I know the answer to this. Do u still want me to solve it?
Interviewer - *not believing me* Yes
Me - okay. Well this *writing down the original solution mentioned on the site* is the verbatim code mentioned on the website, with complexity O(n^2).
However I feel this is not the optimal solution. Let me write a better solution.
*I provide a better solution*
This has a complexity of O(n log n) . What do you think?
Interviewer - Nope. This could be a lot better.
Me - okay. Let me see. Did some minor changes, added some caching (obviously this will have no effect on the base algorithm) etc
How about now?
Interviewer - nope. Still not good.
Me - okay. Can you tell me how to improve it?
Interviewer - no we are not allowed to solve problems for you. It is not our interview, it is yours.
Me - that makes no sense. Interviews are a two way street. I'd very much like to know the optimal answer to this.
Interviewer - okay
*copies down the answer from geeksforgeeks*
This is good
Me - *at first I thought this was a prank or something. *
I just mentioned this answer here.
Then I spent the next 10 minutes providing a BETTER solution.
May I know how yours is better?
Interviewer - this solution has 2-3 loops. Yours has a function calling itself.
Me - that's called divide and conquer using recursion mf!
Anyways let's take an example and do a dry run.
Interviewer - okay
*we do dry run*
Interviewer - oh yes. Yours ran faster. But it will run fast only sometimes.
Me - yes. Each time the algorithm rolls a dice to decide if it should run fast or slow. You have one goddamn awesome weed dealer man.
I got to go. Thank you for meeting me.14 -
Juniors are a fun bunch to work with.
Over confident, hero complex of that fresh graduate high, and then thrown in to the real world! Where there hopes and dreams are crushed in minutes when they see what monolithic applications really look like!!
But don't let that overwhelm you, your not going to be changing all of it any time soon, hell some of this code hasn't been touched in 5+ years and still works without fail.
Don't stress about the work load, you can only write 1 line of code at a time anyway, and hell, even seniors make mistakes.
The key about being able to manage this beast is simple, break it! Because the more you break it, the more you'll understand how a project is put together, for better or worse. Learn from the examples in front of you, and learn what not to do in the future 😎
But more importantly, plan your changes, whiteboard the high level logic of what it is you want to add, then whiteboard in the current codebase and determine where to slice this bitch up, then when it all looks well and good, take out your scalpel and slice and dice time.
Don't worry, your changes aren't going to production anytime soon, hell, you'll be lucky to get past the first pull request with this working 100% the first time, and that's a good thing, learn from tour short comings and improve your own knowledge for the next time!2 -
So, some time ago, I was working for a complete puckered anus of a cosmetics company on their ecommerce product. Won't name names, but they're shitty and known for MLM. If you're clever, go you ;)
Anyways, over the course of years they brought in a competent firm to implement their service layer. I'd even worked with them in the past and it was designed to handle a frankly ridiculous-scale load. After they got the 1.0 released, the manager was replaced with some absolutely talentless, chauvinist cuntrag from a phone company that is well known for having 99% indian devs and not being able to heard now. He of course brought in his number two, worked on making life miserable and running everyone on the team off; inside of a year the entire team was ex-said-phone-company.
Watching the decay of this product was a sheer joy. They cratered the database numerous times during peak-load periods, caused $20M in redis-cluster cost overrun, ended up submitting hundreds of erroneous and duplicate orders, and mailed almost $40K worth of product to a random guy in outer mongolia who is , we can only hope, now enjoying his new life as an instagram influencer. They even terminally broke the automatic metadata, and hired THIRTY PEOPLE to sit there and do nothing but edit swagger. And it was still both wrong and unusable.
Over the course of two years, I ended up rewriting large portions of their infra surrounding the centralized service cancer to do things like, "implement security," as well as cut memory usage and runtimes down by quite literally 100x in the worst cases.
It was during this time I discovered a rather critical flaw. This is the story of what, how and how can you fucking even be that stupid. The issue relates to users and their reports and their ability to order.
I first found this issue looking at some erroneous data for a low value order and went, "There's no fucking way, they're fucking stupid, but this is borderline criminal." It was easy to miss, but someone in a top down reporting chain had submitted an order for someone else in a different org. Shouldn't be possible, but here was that order staring me in the face.
So I set to work seeing if we'd pwned ourselves as an org. I spend a few hours poring over logs from the log service and dynatrace trying to recreate what happened. I first tested to see if I could get a user, not something that was usually done because auth identity was pervasive. I discover the users are INCREMENTAL int values they used for ids in the database when requesting from the API, so naturally I have a full list of users and their title and relative position, as well as reports and descendants in about 10 minutes.
I try the happy path of setting values for random, known payment methods and org structures similar to the impossible order, and submitting as a normal user, no dice. Several more tries and I'm confident this isn't the vector.
Exhausting that option, I look at the protocol for a type of order in the system that allowed higher level people to impersonate people below them and use their own payment info for descendant report orders. I see that all of the data for this transaction is stored in a cookie. Few tests later, I discover the UI has no forgery checks, hashing, etc, and just fucking trusts whatever is present in that cookie.
An hour of tweaking later, I'm impersonating a director as a bottom rung employee. Score. So I fill a cart with a bunch of test items and proceed to checkout. There, in all its glory are the director's payment options. I select one and am presented with:
"please reenter card number to validate."
Bupkiss. Dead end.
OR SO YOU WOULD THINK.
One unimportant detail I noticed during my log investigations that the shit slinging GUI monkeys who butchered the system didn't was, on a failed attempt to submit payment in the DB, the logs were filled with messages like:
"Failed to submit order for [userid] with credit card id [id], number [FULL CREDIT CARD NUMBER]"
One submit click later and the user's credit card number drops into lnav like a gatcha prize. I dutifully rerun the checkout and got an email send notification in the logs for successful transfer to fulfillment. Order placed. Some continued experimentation later and the truth is evident:
With an authenticated user or any privilege, you could place any order, as anyone, using anyon's payment methods and have it sent anywhere.
So naturally, I pack the crucifixion-worthy body of evidence up and walk it into the IT director's office. I show him the defect, and he turns sheet fucking white. He knows there's no recovering from it, and there's no way his shitstick service team can handle fixing it. Somewhere in his tiny little grinchly manager's heart he knew they'd caused it, and he was to blame for being a shit captain to the SS Failboat. He replies quietly, "You will never speak of this to anyone, fix this discretely." Straight up hitler's bunker meme rage.13 -
TL;DR: Fuck you Apple.
10:30 PM, parent needs iPhone update to update Messenger. How hard can this be?
Need to update iPhone from 9.x to latest, which is so outdated it still required iTunes. Fk.
Boot iTunes on Windows 10 pc that is at least 10 years old.
Completely unresponsive
Crash in task manager
Launch and is completely unresponsive. (Also starts playing unrequested music.. Oh joy..)
Fuck this, go to apple.com to download iTunes exe
Gives me some Microsoft store link. Fuck that shit, just give me the executable
Google “iTunes download”. click around on shitty Apple website. Success.
Control panel. Uninstall iTunes. (Takes forever, but it works)
Restart required (of fucking course).
2 eternities later. Run iTunes exe. Restart required. Fk.
Only 1 eternity later. Run iTunes, connect iPhone.
Actually detects the device. (holy shit, a miracle)
Starts syncing an empty library to the phone. Ya, fuck that.
Google. Disable option. Connect phone. Find option to update.
Update started. Going nowhere fast. Time for a walk at 1:00 AM punching the air.
Come back. Generic error message: Update failed (-1). Phone is stuck installing update. (O shit)
1x hard reset
2x hard reset
Google. Find Apple forum with exact question. Absolutely useless replies. (I expected no less)
Google recovery mode. Get into recovery mode.
Receive message: “You can update, but if it fails, you will have to reset to factory settings”. Fuck it, here we go.
Update runs (faster this time). Fails again. Same bullshit error message. (Goddammit, fuck. This might actually be bad.)
Disconnect phone.
… It boots latest iOS version. (holy shit, there is a god)
Immediately kill iTunes. Fuck that shit.
Parents share Apple account
Sign in, 2FA required.
Fat finger the code.
Restart “welcome” process.
Will not send code. What. The. Fuck.
Requests access code on other parent’s iPhone.
No code present. What???
Try restarting welcome process again. No dice. (Of course)
Set code on other parent’s iPhone.
Get message “Code is easy to guess”. Ya. IDGAF
Use code on newly updated iPhone. Some success.
Requires reset of password.
Password cannot be the same as old password (Goddammit)
Change password.
Welcome process done.
Sign in again on same phone after welcome process done in settings. (Nice.)
Sign in again on other phone with updated password
Update Messenger.
Update hangs. Needs more space.
Delete shit.
Update frozen in App Store (Really??)
Restart iPhone.
Update Messenger.
Update complete past 2. Well that was easy.
Apple, fuck you.
Some call Android unintuitive, but I look at the settings app on iPhone and realize you aren’t any better.
This company hasn’t been innovative since 2007. Over 1000 USD for a phone? Are you fucking kidding me?
Updating an iPhone from iOS 9.x is probably uncommon anymore. But this is a fucking joke. Fix your shit.
Shit like this is why I’ll never again own an Apple product. I have HAD IT with the joke of a business.
Thanks for reading.17 -
Holy shit balls it works (so far)
-
So I’ve been working on a project... well feature for the past year (yes 12 whole fucking months - anti agile I know)
And today I got to merge that bitch of a pull request into the current working branch and deploy it to UAT - no conflicts 😵I think I need to put the lottery on tonight!
And some how, by some stupid lucky roll of the dice it just works.
I have never felt so afraid and delighted in my life!6 -
!!oracle
I'm trying to install a minecraft modpack to play with a friend, and I'm super psyced about it. According to the modpack instructions, the first step is to download the java8 jre. Not sure if I actually need it or not, but it can download while I'm doing everything else, so I dutifully go to the download page and find the appropriate version. The download link does point to the file, but redirects to a login page instead. Apparently I need an oracle account to download anything on their site. stupid.
So I make an account. It requires my life story, or at least full name and address and phone number. stupid. So my name is now "fuck off" and I live in Hell, Michigan. My email is also "gofuckyourself" because I'm feeling spiteful. Also, for some reason every character takes about 3/4ths of a second to type, so it's very slow going. Passwords also cannot contain spaces, which makes me think they're doing some stupid "security" shenanigans like custom reversible encryption with some 5th grade math. or they're just stupid. Whatever, I make the stupid account.
Afterwards, I try to log in, but apparently my browser-saved credentials are wrong? I try a few more times, try enabling all of the javascripts, etc. No beans. Okay, maybe I can't use it until I verify the email? That actually makes some sense. Fine, I go check the throwaway inbox. No verification email. It's been like five minutes, but it's oracle so they probably just failed at it like everything else, so I try to have them resend the email. I find the resend link, and try it. Every time I enter my email address, though, it either gives me a validation error or a server error. I try a few mores times, and give up. I try to log in again; no dice. Giving up, I go do something else for awhile.
On a whim later, I check for the verification email again. Apparently it just takes bloody forever, but it did show up. Except instead of the first name "Fuck" I entered, I'm now "Andrew", apparently. okay.... whatever. I click the verify button anyway, and to my surprise it actually works, and says that I'm now allowed to use my account. Yay!
So, I go back to the login page (from the download link) and enter my credentials. A new error appears! I cannot use redirects, apparently, and "must type in the page address I want to visit manually." huh? okay, i go to the page directly, and see the same bloody error because of course i do because oracle fucking sucks. So I close the page, go back to the download list, click the link, wait for the login page redirect (which is so totally not allowed, apparently, except it works and manual navigation does not. yay backwards!), and try to log in.
Instead of being presented with an error because of the redirect, it lets me (try to) log in. But despite using prefilled creds (and also copy/pasting), it tells me they're invalid. I open a new tab container, clear the cache (just to be thorough), and repeat the above steps. This time it redirects me to a single signon server page (their concept of oauth), and presents me with a system error telling me to contact "the Administrator." -.- Any second attempts, refreshes, etc. just display the same error.
Further attempts to log in from the download page fail with the same invalid credentials error as before.
Fucking oracle and their reverse Midas touch.10 -
Programming Languages are Like Cars:
Assembler: A formula I race car. Very fast but difficult to drive and maintain.
FORTRAN II: A Model T Ford. Once it was the king of the road.
FORTRAN IV: A Model A Ford.
FORTRAN 77: a six-cylinder Ford Fairlane with standard transmission and no seat belts.
COBOL: A delivery van. It's bulky and ugly but it does the work.
BASIC: A second-hand Rambler with a rebuilt engine and patched upholstery. Your dad bought it for you to learn to drive. You'll ditch it as soon as you can afford a new one.
PL/I: A Cadillac convertible with automatic transmission, a two-tone paint job, white-wall tires, chrome exhaust pipes, and fuzzy dice hanging in the windshield.
C++: A black Firebird, the all macho car. Comes with optional seatbelt (lint) and optional fuzz buster (escape to assembler).
ALGOL 60: An Austin Mini. Boy that's a small car.
ALGOL 68: An Aston Martin. An impressive car but not just anyone can drive it.
Pascal: A Volkswagon Beetle. It's small but sturdy. Was once popular with intellectual types.
liSP: An electric car. It's simple but slow. Seat belts are not available.
PROLOG/LUCID: Prototype concept cars.
FORTH: A go-cart.
LOGO: A kiddie's replica of a Rolls Royce. Comes with a real engine and a working horn.
APL: A double-decker bus. It takes rows and columns of passengers to the same place all at the same time but it drives only in reverse and is instrumented in Greek.
Ada: An army-green Mercedes-Benz staff car. Power steering, power brakes, and automatic transmission are standard. No other colors or options are available. If it's good enough for generals, it's good enough for you.
Java: All-terrain very slow vehicle.10 -
OH FOR HEAVENS SAKE!!!
*I* take care of my food in the department fridge, *NOT* you!
And start to fucking realize:
IT IS CALLED: "Best Before End"
and ABSOLUTELY FUCKING NOT: "Guaranteed To Be Deadly From"
Next time you throw away my perfectly fine food, I'll dig into the reflog, throw a dice and throw away 3 random commits of yours claiming that THEY EXPIRED!
YOU ARSE!5 -
Everyone seems to have a stress ball, I have a stress dice that says "Yes", "No", "Take a break", "Tomorrow" and "Maybe". It's good for whenever I don't know I should just quit or throw the PC through the window 😅9
-
Attempting to access my colleague's NFS directory on his VM, don't know the VM's IP address, hostname or password:
- 2 minutes with nmap to narrow the possible IPs down to ~30
- Ping each and look for the one with a Dell MAC prefix as the rest of us have been upgraded to Lenovo. Find 2 of these, one for the host and one for the virtual machine.
- Try to SSH to each, the one accepting a connection is the Linux VM
- Attempt login as root with the default password, no dice. Decide it's a lost cause.
- Go to get a cup of tea, walk past his desk.
- PostIt note with his root password 😶
FYI this was all allowed by my manager as he had unpushed critical changes that we needed for the release that day.6 -
A turret (white) from Portal 2
A silver RWBY logo
Two foam dice as memorabilia from my previous job
A plush 😈
Plus a collection of various things saved and hidden from the scary hands of destructive children monsters.
We used to have a portal gun (both full size and mini) and a gravity gun on the dresser. But with the advent of children, they’re safely back in their boxes. -
Gaddammit. My night was going great. Skimming a Dice article, my eyes caught the following: "...to be considered, a language must be Turning complete..."
It's like fingernails on a chalkboard.
Turing complete, motherfuckers, get it right.3 -
Always back up your data.
I came to my computer earlier today to find it on my Linux login screen. This could only mean one thing: something went horribly wrong.
Let me explain.
I have my BIOS set up to boot into Windows automatically. The exception is a reboot or something horrible happens and the computer crashes. Then, it boots me into Linux. Due to a hardware issue I never looked into, I have to be present to push F1 to allow the computer to start. The fact that it rebooted successfully, without me present, into *Linux*, could only mean one thing:
My primary hard drive died and was no longer bootable.
The warning was the BIOS telling me the drive was likely to fail ("Device Error" doesn't really tell me anything to be fair).
The massive wave of panic hit me.
I rebooted in hopes of reviving the drive. No dice.
I rebooted again. The drive appeared.
Let's see how much data I can recover from it before I can no longer mount it. Hopefully, I can come out of this relatively unscathed.
The drive in question is a 10 year old 1.5 TB Seagate drive that came with the computer. It served me well.
Press F to pay respects I guess.
On the bright side, I'll be getting an SSD as a replacement (probably a Samsung EVO).8 -
Ever since i was a little boy, i was fascinated by the stars in the sky and what made them shine. I used to wonder how our universe came in to being. What made it what it is today. What will happen to it long after we re gone. Will it die? Will it live forever? How big is it? Why is it big if it s big and why is it small if it s small. "God did it" was never a satisfying answer for me. God does not play dice as Albert Einstein said. So many questions went through my 10 12 year old mind. Until someone recommended to me the book, "A brief history of time". The book answered a lot of my questions and gave birth to more. Computer science is like my crush. I love it as a friend. But Astrophysics, its the true love of my life. It not only quenches my thirst, but it satisfies my curiosity, while making me more curious. Its an endless cycle. It teaches us that we came from the stars, we go back in the dirt, and only to be returned to the stars again.
Stephen Hawking, his work, his books, taught me so much. Inspired me. Made me more curious. And today the world has truly lost, one of its greatest people.
You will be missed Sir Hawking. RIP. -
Programme that simulates the rolling of the dice when playing the Risk board game.
No more dice that fall off the table. No more dice that throw the figures into disarray.12 -
1. Apply to as mant jobs as possible daily on dice/linkedin/indeed
using keyword resumes customized by scrapping
2. Filter out low-effort crap companies and filter out recruiters.
3. Post "dice/indeed/linkedin daily decrapified."
Tada! Fewer time-wasters during the job hunt.
4. Bonus: turn into a search engine.
5. Daily double round: turn crap listings and quality listings into AI training sets. Incorporate into search engine.
If industry can use bullshit hiring filters, we can use application filters!4 -
So I'm writing some multithreaded shit in C that is supposed to work cross-platform. MingW has Posix threads for Windows, so that saved already half of the platform dependency. The other half was that these threads need to run external programs.
Well, there's system(), right? Uhm yes, but it sucks. It's incredibly slow on Windows, and it looks like you can have only one system() call ongoing at the same time. Which kinda defeats the multithreaded driver. Ok, but there's CreateProcessA(), and that doesn't suck.
Fine, now for Linux. The fork/exec hack is quite ugly, but it works and is even fast. Just never use fork() without immediate exec(). First try under Cygwin... crap I fork bombed my system! What is this shit? Ah I fucked up the path names so that the external executable couldn't be run.
Lesson learnt: put an exit() right after the exec() in the path for child process. Should never be reached, but if it goes there, the exit() at least prevents a fork bomb.
Well yeah, sort of works under Cygwin, but only with up to 3 threads. Beyond that, it seems like fork() at some point gives two processes the same PID, and then shit hangs.
Even slapping a mutex around the fork and releasing it only in the parent process didn't help. Fork in Cygwin is like a fork in the ass. posix_spawn() should work better because it can be mapped more easily to the Windows model, but still no dice.
OK, testing under real Linux. Yeah, no issues with that one! But instead, I get some obscure "free(): invalid size" abort. What the fuck would that even mean?! Checking my free() calls: all fine.
Time to fire up GDB in the terminal! Put a catch on the abort signal, mh got just hex data. Shit I forgot to compile with -O0 and -g. Next try. Backtrace shows the full call trace, back to the originating line in my program - which is fclose() on a file.
Ahhh I remember! Under Linux, fclosing a file that is already closed makes the program crash. So probably I was closing it twice. Checking back.. yeah that's where it was.
Shit runs fast on several cores now!8 -
seen on hacker news:
"I have applied to 600 software dev jobs in 2/3 months and have had around 8 interviews but still no dice.
reply"
jesus i'm going to give up now. i'd rather be homeless than mindlessly wasting my time12 -
So, idiot me decided it would be a good idea to never get around to configuring my UPS to gracefully shutdown my server after a powercut lasting more than x duration...
Long story short, we had a powercut that lasted 4 minutes or so longer than the battery in the UPS could keep the server up for...
UPS died, server went pew, and after rebooting itself once the power came back on, my raid array wouldn’t mount anymore...
After Googling around, it seemed like running e2fsck would solve the problem.
Didn’t seem to do the trick... and tired me at 3am decided it would be a good idea to poke around.
Pretty sure I ran a command wrong, or two, because now I can’t even mount the fricken array in read only, and fsck complains with a shit ton errors...
Been researching for hours, and no dice...
Test Disk shows the ext4 partition, but fails to list any files...
I may have destroyed the tables or something... I’m a noob at this point.
I’m able to access files with the RStudio tool, however this doesn’t help with file names and directory structure 😭
Is it all over for my 5 years worth of photos and other bits and pieces that I don’t have any backups of ? 😂😭😭
If any of y’all are pros with data recovery and can help a fellow boi out, I’d be more than happy to pay for ya time !2 -
Fuck Java and its related build tools.
Decided to throw caution to the wind and actually try to build a Java project, from scratch.
Install intellij, except it keeps complaining about the missing JDK, openjdk is installed but it doesn't like it.
Ok, whatever, I read that it's supposed to come with its own and so I point at that, no dice.
Ultimately I stumbled upon a stackoverflow post saying to just download the tgz JDK and just use that, I knew I could do that, but I wanted to use the tools the P environment suggested, but gave up.
Ok, so now I've got intellij and JDK installed, and I want to start my automatically generated project.
Except I now need gradle, fine, whatever, and now gradle complains it can't find the JDK...
Fucks sake... I was happy using Lein and Clojure, I didn't realise how fucking complicated it is to set up a Java IDE these days...9 -
Front-end web development in 2018 is a fucking dumpster fire. 4 month old blog post guides are out of date, hipster toolchain APIs change monthly, npm can't find a module that is literally right there in its entirety in the fucking node_modules directory. JavaScript is love. JavaScript is life.5
-
When i was younger, lesser experienced and more naive than now; i got away with a lot of things. By lot of things i mean security flaws in my applications and overall architecture. I realise now i could've so easily been pawned.
Not that i claim to be totally secure even now, or would ever. It is a process, slow and painful one - Learning.
What i wish to point out is the role of favorable probability (non believers would call it luck). Security is so much about it. You get away with so many things for so long. And bang one day the roll of dice is unfavorable. On such rare occasions, just look back and wonder - damn i should've been breached long ago.rant hindsight security fail looking back security luck vulnerabilities food for thought musings naive probability2 -
Just started using the Dropbox API. Want to do a simple directory listing of my files. Sends HTTP GET request at https://api.dropboxapi.com/2/files/....
"Error in call to API function "files/list_folder": Your request's HTTP request method is "GET". This function only accepts the HTTP request method "POST"."
What. The. Fuck. Dropbox.
HTTP POST is for creating a new instance of a resource. HTTP GET is for reading. GET guarantees server state is not changed while POST does not. I want to fucking list a directory, not put stuff in it.1 -
!dev
i made some dice for displaying health, when playing Magic the Gathering.
They're not exactly fair, but you also don't roll them. I ordered the numbers in a way, so whenever you loose or gain health, you don't need to look for the next/previous number, since it's always nearby.
They're made using a resin printer and painted with oil based lacquer.8 -
! rant
Sorry but I'm really, really angry about this.
I'm an undergrad student in the United States at a small state college. My CS department is kinda small but most of the professors are very passionate about not only CS but education and being caring mentors. All except for one.
Dr. John (fake name, of course) did not study in the US. Most professors in my department didn't. But this man is a complete and utter a****le. His first semester teaching was my first semester at the school. I knew more about basic programming than he did. There were more than one occasion where I went "prof, I was taught that x was actually x because x. Is that wrong?" knowing that what I was posing was actually the right answer. Googled to verify first. He said that my old teachings were all wrong and that everything he said was the correct information. I called BS on that, waited until after class to be polite, and showed him that I was actually correct. Denied it.
His accent was also really problematic. I'm not one of those people who feel that a good teacher needs a native accent by any standard (literally only 1 prof in the whole department doesn't), but his English was *awful*. He couldn't lecture for his life and me, a straight A student in high school, was almost bored to sleep on more than one occasion. Several others actually did fall asleep. This... wasn't a good first impression.
It got worse. Much, much worse.
I got away with not having John for another semester before the bees were buzzing again. Operating systems was the second most poorly taught class I've ever been in. Dr John hadn't gotten any better. He'd gotten worse. In my first semester he was still receptive when you asked for help, was polite about explaining things, and was generally a decent guy. This didn't last. In operating systems, his replies to people asking for help became slightly more hostile. He wouldn't answer questions with much useful information and started saying "it's in chapter x of the textbook, go take a look". I mean, sure, I can read the textbook again and many of us did, but the textbook became a default answer to everything. Sometimes it wasn't worth asking. His homework assignments because more and more confusing, irrelavent to the course material, or just downright strange. We weren't allowed to use muxes. Only semaphores? It just didn't make much sense since we didn't need multiple threads in a critical zone at any time. Lastly for that class, the lectures were absolutely useless. I understood the material more if I didn't pay attention at all and taught myself what I needed to know. Usually the class was nothing more than doing other coursework, and I wasn't alone on this. It was the general consensus. I was so happy to be done with prof John.
Until AI was listed as taught by "staff", I rolled the dice, and it came up snake eyes.
AI was the worst course I've ever been in. Our first project was converting old python 2 code to 3 and replicating the solution the professor wanted. I, no matter how much debugging I did, could never get his answer. Thankfully, he had been lazy and just grabbed some code off stack overflow from an old commit, the output and test data from the repo, and said it was an assignment. Me, being the sneaky piece of garbage I am, knew that py2to3 was a thing, and used that for most of the conversion. Then the edits we needed to make came into play for the assignment, but it wasn't all that bad. Just some CSP and backtracking. Until I couldn't replicate the answer at all. I tried over and over and *over*, trying to figure out what I was doing wrong and could find Nothing. Eventually I smartened up, found the source on github, and copy pasted the solution. And... it matched mine? Now I was seriously confused, so I ran the test data on the official solution code from github. Well what do you know? My solution is right.
So now what? Well I went on a scavenger hunt to determine why. Turns out it was a shift in the way streaming happens for some data structures in py2 vs py3, and he never tested the code. He refused to accept my answer, so I made a lovely document proving I was right using the repo. Got a 100. lol.
Lectures were just plain useless. He asked us to solve multivar calculus problems that no one had seen and of course no one did it. He wasted 2 months on MDP. I'd continue but I'm running out of characters.
And now for the kicker. He becomes an a**hole, telling my friends doing research that they are terrible programmers, will never get anywhere doing this, etc. People were *crying* and the guy kept hammering the nail deeper for code that was honestly very good because "his was better". He treats women like delicate objects and its disgusting. YOU MADE MY FRIEND CRY, GAVE HER A BOX OF TISSUES, AND THEN JUST CONTINUED.
Want to know why we have issues with women in CS? People like this a****le. Don't be prof John. Encourage, inspire, and don't suck. I hope he's fired for discrimination.11 -
Can anyone recommend a nice set of DnD dice for a gift? It's for my boyfriend's younger sister. She's just getting into it and we're all playing on her birthday.
There's cheap sets everywhere and I'd like to get her something of nice quality.8 -
On your standard epitome of being a geek, I started to show my coworkers how to play Cardfight Vanguard, a TCG since we all love TCG's (we play Magic, Pokemon and a few others) and we had made Friday our official "TCG or Board Game" day.
List of games we have played:
Star Wars CCG (dear lord this game is BEAUTIFUL shame it is no longer being published)
Magic the Gathering, we have a love hate relationship with this game, mana plays a big reason as to why we do not fully love it, it sucks getting stuck with no possibility of drawing proper mana.
Pokemon - Easy to get into, easy to play, there is nt much more to say, by far, our favorite in terms of how much money we can make out of selling rare cards that we do not use.
Dice Masters - My Personal favorite, and I am also the undisputed champion of our group
Cardfight Vanguard is my current favorite, very tactical in a lot of ways, luck of the draw hits in a funny way, I feel it is properly balanced, not much bullshit ass rules or mana issues. Reminds me of Duel Masters, I used to LOVE that Game, but Wizards of the Coast and the anime fucked it up so well....
Anyone here likes playing card games?4 -
I HATE SURFACES SO FRICKING MUCH. OK, sure they're decent when they work. But the problem is that half the time our Surfaces here DON'T work. From not connecting to the network, to only one external screen working when docked, to shutting down due to overheating because Microsoft didn't put fans in them, to the battery getting too hot and bulging.... So. Many. Problems. It finally culminated this past weekend when I had to set up a Laptop 3. It already had a local AD profile set up, so I needed to reset it and let it autoprovision. Should be easy. Generally a half-hour or so job. I perform the reset, and it begins reinstalling Windows. Halfway through, it BSOD's with a NO_BOOT_MEDIA error. Great, now it's stuck in a boot loop. Tried several things to fix it. Nothing worked. Oh well, I may as well just do a clean install of Windows. I plug a flash drive into my PC, download the Media Creation Tool, and try to create an image. It goes through the lengthy process of downloading Windows, then begins creating the media. At 68% it just errors out with no explanation. Hmm. Strange. I try again. Same issue. Well, it's 5:15 on a Friday evening. I'm not staying at work. But the user needs this laptop Monday morning. Fine, I'll take it home and work on it over the weekend. At home, I use my personal PC to create a bootable USB drive. No hitches this time. I plug it into the laptop and boot from it. However, once I hit the Windows installation screen the keyboard stops working. The trackpad doesn't work. The touchscreen doesn't work. Weird, none of the other Surfaces had this issue. Fine, I'll use an external keyboard. Except Microsoft is brilliant and only put one USB-A port on the machine. BRILLIANT. Fortunately I have a USB hub so I plug that in. Now I can use a USB keyboard to proceed through Windows installation. However, when I get to the network connection stage no wireless networks come up. At this point I'm beginning to realize that the drivers which work fine when navigating the UEFI somehow don't work during Windows installation. Oh well. I proceed through setup and then install the drivers. But of course the machine hasn't autoprovisioned because it had no internet connection during setup. OK fine, I decide to reset it again. Surely that BSOD was just a fluke. Nope. Happens again. I again proceed through Windows installation and install the drivers. I decide to try a fresh installation *without* resetting first, thinking maybe whatever bug is causing the BSOD is also deleting the drivers. No dice. OK, I go Googling. Turns out this is a common issue. The Laptop 3 uses wonky drivers and the generic Windows installation drivers won't work right. This is ridiculous. Windows is made by Microsoft. Surface is made by Microsoft. And I'm supposed to believe that I can't even install Windows on the machine properly? Oh well, I'll try it. Apparently I need to extract the Laptop 3 drivers, convert the ESD install file to a WIM file, inject the drivers, then split the WIM file since it's now too big to fit on a FAT32 drive. I honestly didn't even expect this to work, but it did. I ran into quite a few more problems with autoprovisioning which required two more reinstallations, but I won't go into detail on that. All in all, I totaled up 9 hours on that laptop over the weekend. Suffice to say our organization is now looking very hard at DELL for our next machines.4
-
*sits at work*
Other dev has a problem, Visual Studio keeps crashing etc.
*Senior dev comes over*
asks what she's struggling with.
she explains it to him, saying it's possibly a port problem.
senior dev goes "ah, yeah that's just gonna take a second"
*senior dev sits down and rolls a new port with two actual dice*
I fucking died.2 -
Right.. I spent the hours leading up to the year change by adding a YouTube to MP3 downloader into my Telegram bot. After a bit of fiddling it turned out okay, and the commit for it was mentioned to the last for the year 2020.
I mentioned this in one of my chats, and users came in with more issues. Told them it's the last commit for the year and I'll keep myself to it. I did adjust the code a bit though to fix those issues, awaiting a commit after midnight.
Midnight passes and 2020 turns into 2021.
I commit the new features, and quickly implemented another one I already thought of as well, but needed its own commit.
Quickly afterwards it turns out that the /mp3 feature actually breaks the bot somewhat, especially on long tracks. Users add a slew of 10h songs into what essentially became a long queue of single-threaded bot action (or rather lack thereof).
I made the /mp3 command accessible to myself only like I did with some other administrative commands already. Still no dice, the bot rejected the commands but executed part of the /mp3 command anyway.
I look a bit further into the code and it turns out that while I was restructuring some functions, I forgot to make the admin() function exit the script after it sends the rejection onwards. This was a serious security issue and meant that all authentication was void. Fortunately the chat did not realize this - one of the commands that became available as a result was literally a terminal on the bot's system.
I fix the issue in 7 commits after midnight total, 3 of which were related to /mp3 and admin(). We're now 1 hour after midnight.
Happy New Year everyone... :')6 -
When you get the big enter button & can't stop slamming your fist on it.
So I'm a junior candidate & keep getting senior , way senior job reqs. There's no way you can put job preferences on Dice so I had to put "Jr/Entry Level only" at the end my name lol & still keep getting these.
I think they don't even look at your resume. Just blast out emails hoping they get something.
Its like shooting a rifle in the sky all over & hoping you've hit the target.1 -
So I have figured out that Microsoft loves Dungeons & Dragons.
Because there must be some mechanism in visual studio that uses some botched up version of the D&D rule set.
"user clicks a button, computer rolls dice, gets a 6, 6 means you are lucky".
"user clicks another button, Computer rolls dice again, gets a 10, now I crash".
Please remove this feature Microsoft, it is very hard for me to actually get anything done, not to mention getting it done before the deadline.4 -
Who of you play/like Tabletop RPGs more than computergames RPGs?
I personally hate it when i dont have the freedom to be the character I want to be in a digital RPG.
So I started looking into Dungeons and Dragons a few years back and finally decided to start playing Pathfinder because it was gaining more and more popularity.
So do you play tabletop RPGs, if so how did you get introduced to it?12 -
One of the constants in my live is that I cannot type in dreams, no touchpad or keyboard will ever output more than three coherent logically keys before it turns into gibberish. Other interaction works, but no input for computers or phones.
Today I dreamed of assisting a guy to shutdown the Linux Server I set up, via remote. The dream totally derailed and was a bit boring. My dream characters realized that something is up and used a different keyboard. No dice. Visually it looked like Thai or so without the appropriate fonts.
Sometimes I am really wondering what my dream director is thinking.5 -
Why can’t IE just die?!
I was sent home for almost 3 months due to the pandemic, when I came back on monday there was a major issue with page load speed on IE and some potential customer, had a test account and told us that the platform is taking forever too load and then came the hunt to fix what is asap, it was a very important customer that still uses IE
This happens last week, the only developer on the job last week, was 3 days trying to figure this out, no dice! then I come back on monday, then Im being reboarded and keep up to date what has been going on while away, then I am given that damn task on Wednesday and I’ve been tearing out my hair trying to fix this all week.
But today!
I fixed it!
The solution: npm update <package-name>
Great way to start up at work again *clap*6 -
With a recent HAProxy update on our reverse proxy VM I decided to enable http/2, disable TLS 1.0 and drop support for non forward-secrecy ciphers.
Tested our sites in Chrome and Firefox, all was well, went to bed.
Next morning a medium-critical havock went loose. Our ERP system couldn't create tickets in our ticket system anymore, the ticket systems Outlook AddIn refused to connect, the mobile app we use to access our anti-spam appliance wouldn't connect although our internal blackboard app still connected over the same load balancer without any issues.
So i declared a 10min maintenance window and disabled HTTP/2, thinking that this was the culprit.
Nope. No dice.
Okay, i thought, enable TLS 1.0 again.
Suddenly the ticket system related stuff starts to work again.
So since both the ERP system and the AddIn run on .NET i dug through the .NET documentation and found out that for some fucking reason even in the newest .NET framework version (4.7.2) you have to explicitly enable TLS 1.1 and 1.2 or else you just get a 'socket reset' error. Why the fuck?!
Okay, now that i had the ticket system out of the way i enabled HTTP/2 and verified that everything still works.
It did, nice.
The anti-spam appliance app still did not work however, so i enabled one non-pfs cipher in the OpenSSL config and tested the app.
Behold, it worked.
I'm currently creating a ticket with them asking politely why the fuck their app has pfs-ciphers disabled.
And I thought disabling DEPRECEATED tech wouldn't be an issue... Wrong... -
I'm delirious so here's your daily dose of fuck:
```fasm
; --- * --- * ---
; 64-bit byte-by-byte mash
macro clamp_u8 {
mov cl,$08;
mov rdx,rax;
rept 8 \{
rol rdx,cl;
xor al,dl;
\};
};
; --- * --- * ---
; give 8-bit random seed
macro prng_u8 {
rdtsc;
shl rdx,32;
or rax,rdx;
clamp_u8;
};
; --- * --- * ---
; roll dice
d20: prng_u8;
; x%20, according to gcc ;>
mov edi,eax;
mov eax,-51;
mul dil;
shr ax,12;
lea eax,[rax+rax*4];
lea edx,[0+rax*4];
mov eax,edi;
sub eax,edx;
; discard high and give
and rax,$FF;
ret;
```
I guess `d20` could be inlined too but I thought it'd be too much.
Is it faster than straight C? Probably not. But it's way lighter, so it loads faster. Below five hundred bytes mother fucker.
Now if you'll excuse me, I'll go sit in the darkness repeteadly typing roll 1d20 on the terminal. For reasons.9 -
This is a funny one:
So I’m in school and it’s time for midterms. Our assignment is spending 3 months building an application of our choice, what did I choose?
A social media application in Kotlin
(I’ve never used kotlin i just thought it’d be fun to learn)
I get to my first class/build review and everyone else smarter than me chose calculators, timers, dice rollers, and dnd glossaries why am I like this1 -
Discretion is advised
I had a bizarre nightmare where I wake up tied, my head inside the glass cube, my eyelids stitched to my eyebrows so I can’t close my eyes, and then @rutee07 pours drain cleaner into that cube, through immense pain I feel my eyes turning cloudy and skin on my face turning into soap, meanwhile drain cleaner goes down my throat
And then I woke up. This dream was the reason behind my dice game liquid PH rant I posted not much earlier.3 -
Look at this amazing chaos game fractal.
Three vertices of an equilateral triangle and a random point p between any two vertices are taken,then we generate a random integer between 1 and 6 (just like throwing a dice) .if 2 or 4 comes on the dice we draw a point between the random point p and the vertex v1.similarly if 3 or 4 comes on dice , we draw a point between the previously drawn point and vertex v2.for 5 or 6 the vertex is v3.after a few iterations we get to see this amazing pattern30 -
I'm studying Python at the moment and I'm looking for some easy projects to do in order to gain hands on experience. After having written the code of a dice simulator for Risk!, I'm now thinking of a Twitter bot as my next project. Has anybody done it? Would you reccomend doing it?
Since joining devRant I've felt much more motivated to progress in learning Python and if it felt really rewarding to play Risk! without rolling the dice, it also thanks to you all. Sorry for ths cheesy nuance and for this not being a rant.3 -
Dear recruiters just because I apply to a specific job online (dice) does not mean I want to be called about jobs in ducky places I would never relocate or in the town I would like to move from.1
-
game of dice becomes interesting when the number you score is the PH number of a liquid you have to drink afterwards13
-
Indigogo is to retail what ICOs are to he financial industry.
- some random people think of an idea (ICO = token, IGO = magical dick cream)
- they both rely on well made but completely horse-shit marketing material
- they both spam your sites with the same repetitive ads
- they both offer discounts for getting in early (aka give us money before we have designed or built anything)
- they both make outlandish and sometimes illegal product claims (ICO = Visa is a partner, IGO = magic dick cream does magic things)
- in the end most of both options ends up giving you nothing at all and just running away with your money
- best case scenario they both deliver a product that is utterly worthless and meaningless
- everyone is hunting for that one coin or product that is a not a total scam.
I don’t hate indigogo but they certainly are shady as fuck. I’ve rolled the dice on then 4 times and got scammed on 2 of them. It’s basically a crap shoot.1 -
Real, seriously honest feedback wanted.
What do you do when you are stuck at a place that has potential but it is being run by someone with the wrong idea?
For example: not to toot my own horn, but I shine at front end Development. Not just slicing up designs, but seriously creating amazing user experiences. And honestly, there is no shortage of work for that ... every client we have has an expectation that their site or application will look awesome. And we have some very big clients.
That said, the manager truly believes that we are all inter-changeable and should have no preference. As a result, John Doe over there who has zero ability in front end gets tasked with building the front end of what should be an amazing app... while I eventually get tasked with some sitecore bullshit that I have no interest in.
And it goes on and on and on.
It is no coincidence that anytime the dice land on me for front end, it wins an award and always ends with an awesome thank you from the customer.
I am not sure what to do, because it just makes no sense to me. And this is just one example of the mismanagement.
Any help?2 -
You haven't lived until you've experience the sheer power of a CRT monitor, hooked up to a 286/12, with a 2600 baud external zoom for m00fing the shit out of other users in chat, so your friends with leech accounts can help download the 38 pkzip files via ZMODEM.
Shit... gotta go! iCE just released the latest pack on Sanctuary, and my ANSI art is being featured as the welcome screen on Pair O' Dice.
305, bitches!!1one16 -
If I wanted to become a hacker here is what I would do to cover my steps: 1.) Buying a used Laptop with cash, and picking it up in person.
2.) Using random coffee shops to work by dice roll. Obviously at least a d20 and at least 20 coffee shops.
3.) Installing Linux, probably Manjaro. (Not Kali because I've heard that is watched)
What are your thoughts?28 -
We need to update the slang "script kiddie" to "prompt enginot" or something.
So my boss's boss or someone even higher up drank the generative AI kool-aid and hired a 40-something kid to generate images for the marketing teams (or something like it).
Naturally, things soon went to shit.
The bloke already left, having staid less than six months on the job.
Guess who got to handle all the shit-is-currently-on-fire the kiddie left behind?
First impression: apparently, muggles tried to slak him some very broad descriptions of what they needed, and at first he actually tried to summarize those bark-speech pseudo-words into an actual prompt.
It does not seem to have gone for too long, though.
After users requested changes to the AI outputs, he would update the prompts, all right. And the process seemed to go fast enough... until reaching near-to-completion status.
Then users would request the tiniest changes to the AI output...
And the bloke couldn't do it.
Seriously. Some things were as simple as "we need this slider to go all the way up to 180% instead of 100%" on a lame dashboard and *kid. could. not. do. it.*.
In many cases he literally just gave up and copied the slak history into the AI prompt. No dice.
Bloke couldn't code a print('hello world') into a jupyter notebook cell, that's what i'm saying.
Apparently, he was "self taught", too. And was hired to "speed up the process of generating visual aids for usage in meetings and presentations". But then "the budget for this position was considered excessive" (meaning: shit results from a raw idea some executive crapped some day) and "the position was expanded to include the development of Business Inteligence Dashboards and Data Apps".
So now it is up to me (and my CRIMINALLY UNDERPAID team) to clean up his mess and maintain/fix/deprecate DOZENS of SHODDILY DESIGNED and MOSTLY USELESS but QUITE ACTIVE "data vis" PIECES OF SHIT.
Fuck "AI prompters", fucking snake oil script kiddies.3 -
Meh. FFS. Thats how this shit starts.
Get a call to say 2018 Bank Holidays not showing on legacy web calendar.
/me looks for bank holiday code in PHP file ..... no dice.
/me finds a dBase table that holds all Bank Holiday info. Not ideal, but I can work with that.
Enter all Bank Holidaya into dBase. Sit back, relax, wait for page to reload to show me Banks .... no dice.
Huh??
Read code more closely ......
Included file (inline, half way through PROCEDURAL FILE FFS) and notice that the linked file has all Banks hand formatted into Calendar events, and minified.
If I ever meet the old dev in the street, so help me god. 🤬2 -
First time linux user feedback
Linux lovers are probably gonna eat me alive but I don't give a flying fuck
Maybe its a little lenghty or boring, tell me what you think
Backstory:
I work for game extension company. We work with WinAPI and such. I've been using Windows since forever and I'm happy with it. But I thought to myself "hey, if I wanna be a good dev, I should give Linux and OS X a try, too"
I downloaded Linux Mint couple of months ago to start with. I was unable to boot it from live CD no matter what I tried, even in recovery mode. Apparently, Mint 18.3 was based on Ubuntu 16.04 which doesnt support UEFI
Wait, what the fuck, all modern PCs have UEFI so what, do all Mint users have 10 y/o laptops and PCs???
Anyway, when I heard about Mint 19 being released I thought to give it another try and I did. What a surprise, it booted successfully from Live CD. I saw the Linux desktop for the first time in my life, yay! I then installed it, GRUB appeared, my Windows was still there and wasn't broken so I was happy SOMETHING was working. I configured timeshift and applied dvorak layout system-wide. Realised dvorak layout is fucked up big time and applied normal layout for just desktop environment. Everything was really nice until couple reboots later Cinnamon stopped launching (kept returning to login screen). Okay, lets use timeshift
First big what-the-fuck was when I found out system restore can only be done using GUI??? This is absolutely retarded and I couldn't believe it is true. Login screen has a reachable console but I can't login there since I can't type the password. Fuck, fuck, fucking drovak layout was there.
Recovery mode - I've spent 20 minutes trying to type "timeshift --restore" having to press all keyboard buttons just to progress with one button. I've had another what-the-fuck when I saw "error: can't restore timeshift - partition already mounted"
Okay, this is too much. Why the fuck would you bundle a recovery mode if you can't restore a snapshot from there.
I have spent 3 hours now googling and trying to remove this fucking keyboard layout. No dice. I am making another copy of the live CD now. I'm gonna reinstall the whole shit now. I have the desire to create a custom Mint version without this abomination of a keyboard layout.
It's okay. Windows has taught me to be patient.
Fuck Dvorak, I dont know who the guy is but his keyboard layout can eat my dick7 -
IOS keyboard is utter garbage. IOS as a whole is utter garbage, but the keyboard is the cream of the crop of garbage.
Wasting a user's time and destroying/changing the user's input against their wishes is malicious design of the highest order and this dumpster fire excels in it.
Type something completely valid and autocomplete changes it to something that doesn't makes sense. It not only gives you a terrible suggestion half the time, it will also change previous parts of the sentence that it somehow allowed you to keep. If you reject its suggestion, it deletes your current word and previous word(s), instead of restoring it to what it was before it made the terrible suggestion, like every other keyboard does.
Need to go back and adjust your sentence? If you tap it will hijack the cursor and highlight the nearest word it doesn't like instead of moving the cursor where you touch. If you accidentally hit a character on the cramped and unusable keyboard, congrats, you get to type the word again.
I know about hold space to drag the cursor.
I don't want Apple to decide for me that I actually wanted to go to the closest word it doesn't like, or the current word, or the next word based on a dice roll. I want the cursor to go where I tap. Like literally every other input device functions.
Want readily accessible numbers and punctuation? lol no
I know there's gboard, but compared to Android it's also almost unusable. This leads me to believe the keyboard is little more than a skin over the IOS keyboard engine, like Safari, another IOS dumpster fire. But, it is slightly better than the stock keyboard, which isn't saying much.
I yearn, minute by minute, for the time I can ditch this dumpster fire for a real phone.11 -
Day one of my first big project.
It felt weird but a little easy to grasp discord.py but I felt like I was just copying people as I read or watched tutorials on how to use things and how they work and while I was getting started In general. But I got the dice function working great. I had an error but I fixed it.
After I got it working I uploaded it to my friends server and they messed around with it and it felt so great because they were enjoying it and complimenting me and I’m not even done with it :)
I’m learning a lot but I’m also struggling with certain areas like finding good documentation or feeling like I’m just copying.. but I’m gonna keep doing these update things because I feel cool and official as I write these :^) -
So here's where I'm at:
I was just offered a position as employee #5 at a small startup in my area with stock options. I've never experienced this before and I'm unbelievably anxious. On the one hand I genuinely believe in their solution/product and can see it being successful. On the other hand I know there's a huge risk associated with joining the company at that stage. Heck, they're still only going for their seed round in Q2 of next year! Meanwhile I'm working comfortably in an intermediate full stack dev role with 150+ people where I feel that I can be as much/little seen as I want. In other words I could probably coast for several years (and maybe slowly move up) without any trouble.
Has anyone else gone through this before? The opportunity could be huge but it feels like I'm rolling the dice... ¯\_(ツ)_/¯3 -
Anyone else get LinkedIn messages like this on the reg?
“Well, I wanna work with US clients but most of them want to work with US only developers.
Also, I think US developers' hourly rate is much higher than others.
So i hope to collaborate with you.
Well, If I explain in detail:
- We will apply for jobs on several job platforms.
(Angel, Dice, Indeed, …)
- If the clients require video/voice interview, you will do that.
- I will do all the tasks.
In this case, you are the manager, and my role will be the coder and tester.”9 -
This *is* a question you silly wrong tagging mother fucker, how dare you doubt me?
Alright, no more disclaimer: I like dungeons and dragons, but it's too fucking much in terms of rules and systems and shit, as in just *making* a character can take a long ass while.
And if that's the highest level of all your ANAL preferences then OK, but I'm not you and things only come OUT of my ass, not inwards, I swear.
Anyhoo, I got fed up with it and wrote my own ruleset and setting as a last fuck you to everyone. It's very simple: if you want to be some kinky magical alien hermaphrodite royal prostitute half sewer dragon princess and three quarters bearded female incest child of demons and fairies then FINE, but you get no bonuses for that shit.
Get it? No complex racial level scaling bullshit, FUCK YOU, race and background is just for vibes, end of story.
You get no attribute or skills or shit to distribute on level one. All you get is a prompt: pick three actions, that's it. You wanna be sexy? Pick "seduce". You wanna set turds on fire? Pick "ignite". Are you an edge lord? Pick "summon". Would you be my wife? Pick "heal", "buff" and "smite".
The game is turn based, and each action you can take is effectively a spell. Everyone can cast a basic spell like walk, attack, talk, crouch, etcetera -- that costs no mana. Special crap like flying and firing fucking electricity costs mana, and you can only do those if you either picked the spell on level one or learnt it later from a book/tutor/demonic bargain/whatever.
Which spells are valid for taking at level one is up to the game master; I just tell people to pick three verbs or short sentences, and if they choose something that's too broken like "split the Red Sea" I'm like nah you're not Moses, try again.
Still with me? Good. You get eight points of health, four points of mana, and one point of stamina. They're all energy, and you can use it to power your magery, but spending all your health means you fucking die.
Stamina recharges fully every turn, and is used for the aforementioned basic actions. All of these cost one point of stamina each. If you run out of stamina, you can use mana. Or your BLOOD.
Level one spells cost one mana, level two cost two and so on. You get back one point of mana each turn, and you can fire all the spells you want during it, long as you have mana. Or BLOOD.
That's good and all, but if you spend anywhere over eleven combined points of energy in one go, you spontaneously combust and die, erasing all signs of life in a twenty-meter radius. This is called incineration, and it *will* leave behind a blackened crater from which the dark servants of the Horror Immemorial may or may not crawl out of.
In case you didn't guess by now, your blood doesn't fucking come back unless you eat, sleep or see a healer.
But anyway, the more points you spend into casting a spell -- and remember, basic attack counts as a spell -- the more powerful it is, so the bigger your diceroll can get. My rule is I add one dice for every fourth point of energy spent, so (1d4), (1d4 + 1d6), (1d4 + 1d6 + 1d8), incineration.
Additionally, for every three points of energy spent, your spell can hit one more target. That's right, you like AoE? Then spend more mana, bitch. Oh, and if you're using shit like poison it lasts one more turn for every two points of energy spent.
How do we calculate damage? Diceroll over two and fuck your mother. Armor class? Resistances? Out of my face with that shit. Damage reduction is called "tyranny" and is for dungeon bosses only.
If you live long enough to get to level two, you *do* get attributes. Pick:
- Grit: +2 health, +1 to fighter shit type rolls.
- Cunning: +2 mana, +1 to rogue shit type rolls.
- Allure: +1 stamina, +2 to wizard shit type rolls.
- Spirit: +1 to elemental shit type spells.
- Faith: +1 to benefactor paragon asshole shit type spells.
- Hatred: +1 to demonic murder hobo destructive shit type spells.
On second level, you can pick one of the spells you know to get +1 to it, specifically. Eh, "+1" just means you get a bonus to some diceroll, no time to explain I'm running out of characters what the fuck.
On level three, the cycle repeats. Pick attr, pick spell. DONE.
Oh right, and weapons. Mostly just vibes, pick your fancy and fuck off. Normally, you can hit things one tile away; if you have a BIG melee weapon you can hit from *two* tiles away, and if you have a ranged weapon you can shoot anyone in sight, but you need to spend one point of energy to reload.
And there, all bases covered in less that 5000 characters with some flair to spare, now suck my fucking cock Hasbro.
What was the question? Oh yeah right, I'm gonna GPL this shit and put it in browsers. I think I'm going to write it in Kotlin but I'm open to suggestions. Would you guys like to play it/contribute to it's development for shits and giggles?8 -
nothing interesting really I kinda like minimalism but I keep a rubik's cube, a wooden puzzle and a dice on my other desktop
-
I'm building a script parser to make mods for a game I like. The first step is to write an importer.
The documentation is nonexistent and I'm delving into byte manipulation, which I'm not familiar with - at all. I'm porting existing code from Java to C#, and everything is similar but different enough that I can't always just to a 1:1 transfer.
I get everything working, cleaned up and split into classes so I can write the exporter.
I do an import and the file won't parse. I try all previously know working files and still no good. I clean, rebuild, clean rebuild, run, debug, restart my computer, clear my cache, clean, rebuild. No good.
IT WAS WORKING 5 MINUTES AGO
Proceed to revert to every version from the last hour. No dice.
I was in the wrong folder the whole time.
Navigate to the proper folder, open the filename I know to be good and bingo, works like a charm.
The same project caused me headaches because I had a "== -1", when it should have been "== 1". Between my inexperience with byte manipulation and my untreated astigmatism, I was nearly sent to the shadow realm fixing that.3 -
Not a rant, but was wondering:
If I undervolt Ryzen 5 3600 using Ryzen Master from windows, do I get the changes when I boot into my Linux distro? 🤔9 -
A game of throwing dice is played between two players in which each player throws a dice unless his adds up to 20 . A player is declared "winner" with the minimum number of throws. write a java program to perform the task given below. USING STRING MANIPULATION9
-
I want to run a simulation like rolling a dice N times and find out what's the distribution/probability of getting certain SUMs after the rolls.
However the dice is more likely to land on a lower number, and/or depends on what the number it landed on previously.
Stats wise I think ideally I want to be able to just input the avg, standard deviation, and skewness into a Random class constructor, and then ask it for N "random" numbers.6 -
Uhhh, you know what? With bogosort, I can confidently declare that programming is totally like gambling now. I mean, you shuffle and shuffle, hoping for a sorted result, just like throwing the dice and crossing your fingers for a lucky outcome. Who knew coding could be this much of a gamble, right?7