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 - "counting is hard"
-
Gave my two weeks, two weeks ago. Today was my last day. The designer finally asked to see how I go about doing my job, and was blown away at how "hard" it is. Smug satisfaction +1.
I leave the office at 5, go home, get packed, and start driving to my new city/state. An hour into the trip, my phone rings. My boss, on vacation out of the country acts surprised that I'm not going to be there Monday. I personally gave her my resignation. Exactly two weeks ago. "Are you going to be at the meeting Monday? We still have some stuff up in the air."
WHAT FUCKING PLANET DID I JUST LEAVE?17 -
Follow-up to my previous story: https://devrant.com/rants/1969484/...
If this seems to long to read, skip to the parts that interest you.
~ Background ~
Maybe you know TeamSpeak, it's basically a program to talk with other people on servers. In TeamSpeak you can generate identities, every identity has a security level. On your server you can set a minimum security level you need to connect. Upgrading the security level takes longer as the level goes up.
~ Technical background ~
The security level is computed by doing this:
SHA1(public_key + offset)
Where public_key is your public key in Base64 and offset is an 8 Byte unsigned long. Offset is incremented and the whole thing is hashed again. The security level comes from the amount of Zero-Bits at the beginning of the resulting hash.
My plan was to use my GPU to do this, because I heared GPUs are good at hashing. And now, I got it to work.
~ How I did it ~
I am using a start offset of 0, create 255 Threads on my GPU (apparently more are not possible) and let them compute those hashes. Then I increment the offset in every thread by 255. The GPU also does the job of counting the Zero-Bits, when there are more than 30 Zero-Bits I print the amount plus the offset to the console.
~ The speed ~
Well, speed was the reason I started this. It's faster than my CPU for sure. It takes about 2 minutes and 40 seconds to compute 2.55 Billion hashes which comes down to ~16 Million hashes per second.
Is this speed an expected result, is it slow or fast? I don't know, but for my needs, it is fucking fast!
~ What I learned from this ~
I come from a Java background and just recently started C/C++/C#. Which means this was a pretty hard challenge, since OpenCL uses C99 (I think?). CUDA sadly didn't work on my machine because I have an unsupported GPU (NVIDIA GeForce GTX 1050 Ti). I learned not to execute an endless loop on my GPU, and so much more about C in general. Though it was small, it was an amazing project.1 -
Fuck my country's universities, fucking greedy assholes that ruin lives, suck wallets and sucks life from the young.
I'm currently studying something completely non related to programming: History. And I really love it. I love reading 1000 pages for each test and essay and talking about the problem of naming the Cold War a war and cold and etc. The problem is that I won't make as much money as I would make even as a self taught developer.
After considering my possibilities, I thought I could enter the computer science carreer. I don't know how this works in other countries but here you would have to study 3 years of an engineering common plan and then specialise in some sort of industrial engineering while getting an specialisation also in computer science. After some counting, I got to the conclusion that I would be studying 6 years (or more), and wasting half of those years learning stuff that I would never use nor care about.
But that's not all. This semester I took the introductory class for programming. It's pretty basic stuff but at least they teach a little bit about algorithms and problem solving. It turns out that a friend of mine that's about to graduate from computer science applied as a helper for the prof. I was so excited I could finally talk with someone about code!
Since the start of the semester I have been passing a lot of time with him and talking about the future. Turns out he doesn't understand shit about code but somehow he learns everything by hard and has passed every computer science course without having any practical abilities. I don't blame him, he's studying hard and playing by the rules, and turns out that he has wasted precious time of his life also learning biology, chemistry, structural engineering, hidraulic engineering, transportation engineering and a ton of engineerings that he won't use.
If the university would instead take that time to teach better courses of practical programming or leave him some time to try out the stuff he learns by hard, he wouldn't have to hear me talking about stuff he doesn't comprehend but feels that should, and wouldn't be utterly depressed, he wouldn't take SIX years to learn less than what he could learn in less than THREE years. And this isn't just a random university, it is one of the 2 best universities we have here and was in 2014 the best of all Latin America.
And wait, here comes the best part. In my country, levels of education are heavily stratified. After school, superior studies give different titles according to the time you've been studying. Yes just the time. And these titles are what your employers will see to give you different work positions. So for studying a 2 year carreer you get a technic job which pays well but not too well, then at 4 years you get a license title which only proves that you know stuff, then at 5 or more (depending on what you are studying) you get a professional degree and will get payed as a full fledged professional. So here, even though in other countries it takes 6 years to have a masters in engineering, they give you just the engineering degree, and it would take 2 (or more) more years to have a master. Even though you can totally teach engineering in 4 years, here they take BY LAW 2 years more, while paying what a fucking full stack of pairs of kidneys would cost in the black market.
So fuck that shit, I won't be throwing my money at any university. I hope they get reformed soon becouse this is fucking dumb, really really dumb. Like 2 year old shit dumb. I'll just learn a bit more, make some projects until I have a decent portfolio and apply to some company that cares for real knowledge and not just a piece of paper with letters and a shitty logo on it.undefined student job revolución fuck university shitty universities student life education im just a bit pissed11 -
For the first time, after 4 years, i have installed tinder. I feel depressed for having to do vengeance. And i also feel depressed for not having to do it. I feel sad for being forced to find another girl. This is not how i imagined it to be
Right now its 1-0 for my blonde ex gf. I have to have a random hookup at least a 1 night stand to make this 1-1. This is what i did before but now after experiencing love for the first time, true love in the first 2 years with her, for the first time that somebody genuinely loved me other than my parents, is very hard for me to go back to random hookups
Hookups are meaningless to me now. But i am forced. I have been given a check mate
⚠️Why do i have to be forced to fuck another girl in order to prove my girlfriend that other girls still want me, so that my girlfriend will love and want me again as well?....⚠️
Please reread this paragraph above 3 more times. Let it sink in. That is saddening to me. The more she sees how no other girl wants me, the less interest she has in me....
Im literally sitting. Listening to sad depressing "music" which is more of nature and dark rain sounds. I also started working out aggressively. I couldnt eat for 5 days due to finding chats on my blonde ex gfs phone with the other guy...
Now 8 days later... I have lost 6 kg and counting. I am barely eating. I am using the screenshots of their chats as an overdosed injection of adrenaline every time pre workout and during workout
Today she didnt text me at all. I always start the conversation first. I have to move on and i am still in disbelief that i have to do it.
My birthday is next week and the last thing i need is to spend being depressed....
I feel lost
But i have a feeling all i need to do is get rich. All i need is to get my money up and that way find more easily a new better behaved normal gf.
God help me
Forgive me God for everything
Thank you God for everything
Guide me God on the right path, for i am lost
Please.
.23 -
Tales from University Tech Support:
Me: please send us 2 or 3 times you're available for us to troubleshoot that issue
Them: I'm available at 3:30
Obviously not a Math Major... -
Fuck you, you fucking fucks!
Brilliant idea #23 to deliver more features than can happen without a time machine.
Let's take the team, assume minimal support is required for the brand new thing you just built, split it into four teams with two of them run by Sr Devs who've never seen your app and work on four things in silos. That way, you'll deliver faster!
How did you even get you job?! You want to fucking wreck the team we worked so hard to build, convince the hot shots to leave, AND destroy the app the company is counting on because you're an incompetent fuck-tard!
Hey, fine! But you'll do it without me and I'll work daily to advertise what you did to the people above you that actually CARE about the fate of our company!4 -
I worked at my previous job about 8 years (hired out of school) and wasn't actively looking for a new one; I had a lot of freedom and liked my boss and colleagues, but the pay was mediocre and I was under a lot of pressure because I was the sole architect, engineer, and programmer for a good number of important applications.
Anyway, my brother-in-law told me that his employer was looking for a developer and that previous candidates fell through, and that the pay was a lot more and they're good about raises (which was like pulling teeth at my then-current job) so I applied and went for an interview.
They basically gave me an offer on the spot and wanted me to start in 2 weeks. I told them that it would be hard since I'd basically be cutting my boss's Achilles by leaving so soon and suddenly (just hiring someone would take at least a month, not counting getting applicants), but they were adamant, as the position had been vacant for a few months at that point. I got them to agree to 3 weeks and pulled the trigger, but offered to help out in my old position for a few months cause we had a big project in progress I was leading.
So the new job is great: it's a much younger office and I'm having more fun and there's a lot less pressure. Meanwhile, at the old job, the project I was leading got scrapped and the asked me to do other odds and ends until, after screwing something up I basically told them I'm done. They got a new guy quickly due to a lucky turn of events, but he couldn't pick up where I left off on a lot of projects: they're going to rewrite one because of it. My one colleague still likes to point out that I left without them having knowledge of my code (besides that I always said I'd answer questions, plus it's been 6 months now and my code is all on a TFS instance they all have access to).
I still feel a bit guilty even though I have no reason to. -
During my small tenure as the lead mobile developer for a logistics company I had to manage my stacks between native Android applications in Java and native apps in IOS.
Back then, swift was barely coming into version 3 and as such the transition was not trustworthy enough for me to discard Obj C. So I went with Obj C and kept my knowledge of Swift in the back. It was not difficult since I had always liked Obj C for some reason. The language was what made me click with pointers and understand them well enough to feel more comfortable with C as it was a strict superset from said language. It was enjoyable really and making apps for IOS made me appreciate the ecosystem that much better and realize the level of dedication that the engineering team at Apple used for their compilation protocols. It was my first exposure to ARC(Automatic Reference Counting) as a "form" of garbage collection per se. The tooling in particular was nice, normally with xcode you have a 50/50 chance of it being great or shit. For me it was a mixture of both really, but the number of crashes or unexpected behavior was FAR lesser than what I had in Android back when we still used eclipse and even when we started to use Android Studio.
Developing IOS apps was also what made me see why IOS apps have that distinctive shine and why their phones required less memory(RAM). It was a pleasant experience.
The whole ordeal also left me with a bad taste for Android development. Don't get me wrong, I love my Android phones. But I firmly believe that unless you pay top dollar for an android manufacturer such as Samsung, motorla or lg then you will have lag galore. And man.....everyone that would try to prove me wrong always had to make excuses later on(no, your $200_$300 dllr android device just didn't cut it my dude)
It really sucks sometimes for Android development. I want to know what Google got so wrong that they made the decisions they made in order to make people design other tools such as React Native, Cordova, Ionic, phonegapp, titanium, xamarin(which is shit imo) codename one and many others. With IOS i never considered going for something different than Native since the API just seemed so well designed and far superior to me from an architectural point of view.
Fast forward to 2018(almost 2019) adn Google had talks about flutter for a while and how they make it seem that they are fixing how they want people to design apps.
You see. I firmly believe that tech stacks work in 2 ways:
1 people love a stack so much they start to develop cool ADDITIONS to it(see the awesomeios repo) to expand on the standard libraries
2 people start to FIX a stack because the implementation is broken, lacking in functionality, hard to use by itself: see okhttp, legit all the Square libs, butterknife etc etc etc and etc
From this I can conclude 2 things: people love developing for IOS because the ecosystem is nice and dev friendly, and people like to develop for Android in spite of how Google manages their API. Seriously Android is a great OS and having apps that work awesomely in spite of how hard it is to create applications for said platform just shows a level of love and dedication that is unmatched.
This is why I find it hard, and even mean to call out on one product over the other. Despite the morals behind the 2 leading companies inferred from my post, the develpers are what makes the situation better or worse.
So just fuck it and develop and use for what you want.
Honorific mention to PHP and the php developer community which is a mixture of fixing and adding in spite of the ammount of hatred that such coolness gets from a lot of peeps :P
Oh and I got a couple of mobile contracts in the way, this is why I made this post.
And I still hate developing for Android even though I love Java.3 -
I literally cried to the Lord while reading the Rego language reference. Man, that thing is HARD to grasp.
After a while I just gave up and switched to Windows (wanted to play) but Windows needed to apply an update thus I decided to reboot and while GRUB was counting down I decided to turn back to Arch and give a try.
I was heard, now this damn policies works and the Go code do not panic anymore.1 -
In reply to this:
https://devrant.com/rants/260590/...
As a senior dev for over 13 years, I will break you point by point in the most realistic way, so you don't get in troubles for following internet boring paternal advices.
1) False. Being go-ahead, pro active and prone to learn is a good thing in most places.
This doesn't mean being an entitled asshole, but standing for yourself (don't get put down and used to do shit for others, or it will become the routine) and show good learning and exploration skills will definitely put you under a good light.
2)False. 2 things to check:
a) if the guy over you is an entitled asshole who thinkg you're going to steal his job and will try to sabotage you or not answer acting annoyed, or if it's a cool guy.
Choose wisely your questions and put them all togheter. Don't be that guy that fires questions in crumbles, one every 2 minutes.
Put them togheter and try to work out the obvious and what can be done through google or chatgpt by yourself. Then collect the hard ones for the experienced guy and ask them all at once. He's been put over you to help you.
3) Idiotic. NO.
Working code = good code. It's always been like this.
If you follow this idiotic advice you will annoy everyone.
The thing about renaming variables and crap it's called a standard. Most company will have a document with one if there is a need to follow it.
What remains are common programming conventions that everyone mostly follows.
Else you'll end up getting crazy at all the rules and small conventions and will start to do messy hot spaghetti code filled with syntactic sugar that no one likes, included yourself.
4)LMAO.
This mostly never happens (seniors send to juniors) in real life.
But it happens on the other side (junior code gets reviewed).
He must either be a crap programmer or stopped learning years ago(?)
5) This is absolutely true.
Programming is not a forgiving job if you're not honest.
Covering up mess in programming is mostly impossible, expecially when git and all that stuff with your name on it came out.
Be honest, admit your faults, ask if not sure.
Code is code, if it's wrong it won't work magically and sooner or later it will fire back.
6)Somewhat true, but it all depends on the deadline you're given and the complexity of the logic to be implemented.
If very complex you have to divide an conquer (usually)
7)LMAO, this one might be true for multi billionaire companies with thousand of employees.
Normal companies rarely do that because it's a waste of time. They pass knowledge by word or with concise documentation that later gets explained by seniors or TL's to the devs.
Try following this and as a junior:
1) you will have written shit docs and wasted time
2) you will come up to the devs at the deadline with half of the code done and them saying wtf who told you to do that
8) See? What an oxymoron ahahah
Look at point 3 of this guy than re-read this.
This alone should prove you that I'm right for everything else.
9) Half true.
Watch your ass. You need to understand what you're going to put yourself into.
If it's some unknown deep sea shit, with no documentations whatsoever you will end up with a sore ass and pulling your hair finding crumbles of code that make that unknown thing work.
Believe me and not him.
I have been there. To say one, I've been doing some high level project for using powerful RFID reading antennas for doing large warehouse inventory with high speed (instead of counting manually or scanning pieces, the put rfid tags inside the boxes and pass a scanner between shelves, reading all the inventory).
I had to deal with all the RFID protocol, the math behind radio waves (yes, knowing it will let you configure them more efficently and avoid conflicts), know a whole new SDK from them I've never used again (useless knowledge = time wasted and no resume worthy material for your next job) and so on.
It was a grueling, hair pulling, horrible experience that brought me nothing in return execpt the skill of accepting and embracing the pain of such experiences.
And I can go on with other stories. Horror Stories.
If it's something that is doable but it's complex, hard or just interesting, go for it. Expecially if the tech involved is something marketable.
10) Yes, and you can't stop learning, expecially now that AI will start to cover more and more of our work.4 -
how do you handle the salary question among friend circles/relatives/strangers?
i come from a lower middle class background, and my friend circle's family were in similar ranges(some had richer families).
my parents struggled hard to get me into tech and fortunately tech is hot right now, so currently the today's situation is that if counting the individual's income (not the family) then i maybe the highest warner among them (1 is a lawyer , another is a teacher, another is an amazon delivery manager, plus there are a few others).
my problem with this question is that its none of their business. firstly, i am all that my family has. these guys have richer brothers, fathers and sisters their total income is way more than mine. and even if i earn more, i don't earn to be the rich spender of the group. and i neither can be their sole source of hope in case anyone ever needs any money.
and more so fucked up shit is the fact that friends are ruthless and starts discussing this stuff anywhere. like we are among the strangers for fucks sake!! and knowing the state i live in , some of these guys could follow me and burst my guts in the name of money, which i fucking don't have!6 -
There needs to be a new (MOOC) class for people like me.
Hi, I'm William. I can't get my head around designing systems. I've read GoF and a few breakdowns of it as well. I find some patterns obvious for my field of interest (game dev, woot!) while I'm reading through the stuff, but have a pretty hard time retaining much of it. I'm aware of the danger of over using patterns, so I don't worry that much about it. I'll look something up when I'm sure I need it.
Still, I'm tired of the tutorial blues. I can watch a few different people write entire games, usually not in the language of choice, but that only helps me so much.
How do I fight scope creep? In the meantime, how can I make things extensible? Scope does need to creep some, after all.
People joke about starting with (visual) BASIC ruining you forever. I don't believe in that crap, but is this just denial? Am I too dumb for this? Not that I'd ever seriously blame a language for that.
I've been a hobbyist for well over 10 years, please don't make me count exactly how long I've been unsuccessful.
I'm baffled by Löve. I think it's the coolest shit I've seen, maybe ever (unless we're counting IPFS).
I think what really prompted this rant, apart from the obvious degradation of my mental health, was my search for an entity component system for Löve/Lua. Hold your replies. I know there's a few of them, and I'm positive that they're fantastic. I'd roll my own, but that requires actual Lua specific knowledge that I just haven't dug all that deep into yet. I can't wrap my head around the ones that exist, even though I can tell their complexity is next to none really.
I have severe tool anxiety, I'm shocked that I've stuck with ZeroBrane Studio as long as I have. It feels good though.
Sorry to use this as "Devs Anonymous", but I think that's how this community helps (me) best.
I feel like I should stop now and just say: Advice? before this gets much deeper/less readable.