Details
-
AboutI'm 37. My dad taught me BASIC when I was 8 and I've been coding ever since. My current project is developing an interpreted declarative language in C++.
-
SkillsC/C++, JavaScript, Swift, Objective-C, Unix, macOS, iOS
-
LocationKingston, ON, Canada
-
Github
Joined devRant on 6/14/2017
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
-
Manager (walking in in the morning): ey linuxxx, looking good today!
Me: w-what? I'm not wearing much special, what's so great about my outfit? But than....
Boss: April fools motherfucker!
Well, I had it coming .______.8 -
Banks be like
You don't have much money?
Here, let me keep taking some of that from you until you get more, k?
Oh, that was more than you had?
Now you owe me even more, nerd.
What, you can't pay that either?
Better ask me for a loan so you can pay off your debt to me. Loser.
What? You still can't pay?
I'm gonna take your everything!rant overdraft fees banks imposing debt on a whim basically stealing your lunch money service fees banks are not friends and this is why i love crypto gg30 -
There's a hole in the world like a great black pit
and the scum of the world inhabit it
and its morals aren't worth what a pig can spit
and it's filled with people who are filled with shit
and it goes by the name of EU...
At the top of the hole sit a privileged few
making mockery of the vermin in the lower zoo
turning beauty to filth and greed...
by passing shit like article 11, 13, and 17.
for the corruption of men is as wondrous as Perurant article 13 license: poetic probably illegal in the eu now joke/meme musicals are the best eu article 11 lyrics article 17 sweeny todd5 -
“No we don’t use the time zone info you send on each request. We get all the drivers for the store ID, choose one of them randomly and take their time zone. We have been assuming it will always be the same for all drivers for each store.”
This is my new favorite response to a Jira ticket in this company.
I may have to print it out and hang it on my desk3 -
I'm a C++/Obj-C programmer finding it ludicrously hard to switch to Swift.
I find that the constant ability (leading to very poor programmer code) to reduce syntax and add tokens reduces readability and nowhere is this more apparent that with closures.
I'm working through (to my shame) Ray Wenderlich's Swift course and the closure chapter has this:
PS I loathe K&R as much as I do Swift so it's all in Allman formatting for clarity.
let multiply: (Int, Int) -> Int =
{
(a: Int, b: Int) -> Int in
// do Something else
return a * b
}
Why oh why isn't this more simply and elegantly written as:
let multiply = (a: Int, b: Int) -> Int
{
// do Something else
return a * b
}
The equals sign shows clearly that it's a closure definition assignment, as does the starting 'let'. But this way all of the stupid excesses, like the 'in' keyword, the repetition of the params / return type only this time with useful labels and additional tokens are removed and it looks and reads much more like a regular function and certainly a lot more clearly.
Now I know that with the stupid ability of Swift you can reduce all this down to return $0 * $1, but the point I'm making is that a) that's not as clear and more importantly b) if this closure does something more than just one line of code, then all that complicated stuff - hinted to by the comment '// do Something else' means you can't reduce it to stupid tokens.
So, when you have a clousure that has a lot of stuff going on and you can't reduce it to stupid minimalism, then why isn't is formatted and syntactically better like the suggestion above?
I've mentioned this on the Swift.org (and got banned for criticising Swift) but the suggestions they came up with were 'use type inference' to remove the first set of params / return type and token.
But that still means the param list and return type are NOT on the same line as the declaration and you still need the stupid 'in' keyword!5 -
Ran into a girl who I had a crush on in high school at a bar last week. Hanged out for a bit, but then I had to run catch the last train home.
Today I get a message from her that reads: "Hey, it was nice to meet you last week. Can I call you some time, there's something I want to tell you. 😉"
I think to myself -- sweet and say that I have no meetings today, call me whenever you can.
A couple of minutes later she calls me, and the first thing she says: "I have this app idea..."
fuck, shouldn't have hyped myself up.29 -
You ever open some code that was committed a few years ago by an employee long gone and it's so shit you have to get up and go outside to take a deep breath of fresh air?6
-
Have a week off, no yelling over email, no sarcastic slack messages, no shouting to myself in the office ... honestly have no idea what to do with myself ... might try this “being happy” thing everyone is always going on about4
-
Me: *sends email 45 minutes before a meeting*.
Boss: *20 mins into meeting*, any updates about the issues found yesterday?
Me: Yep I sent an email with an update on everything.
Boss: ok great, *shares screen*, *opens email*.
Ok want to walk us through it?
Me: ...... walk through my email?
Boss: Yeah we have everyone here in the meeting.
Me: ...... yeah I included all of them on the email.
Boss: Right, but it would be good to go through it for everyone’s benefit.
Me: *Reads email word for word, from the screen share*
I will now refer to him from this day forth as “The Time Vampire”.20 -
My teams current process is:
1) Asked by product to create “T-Shirt size” estimates, also known as a WAG (wild ass guess). The process is the mental equivalent of throwing darts while blindfolded, after being spun around in a circle and pointed in the wrong direction.
2) Product make firm commitments to upper management based off these. Ensuring them that all these features will make it out in Q2.
3) 4 days before Q2 starts, product ask engineering to figure out the real estimates based off no concrete information what so ever.
4) 4 Weeks into Q2, product provide the missing information.
5) Engineering inform product that the estimates are out by a factor of 1.5 - 3 times the original estimates.
6) Product sends angry email to upper management that through not fault of product, engineering are unable to meet the deadlines.
7) Everyone shout and complain until 1 week before Q3, then see point 1.
Following this process, you and your team can be just as delightful as me.
That’s the practiseSafeHex guarantee!4 -
"Hi xxx, please stop asking me the same question. I've answered it 4 times already via email, slack and in person on our zoom calls, over the past 2 weeks. I do not own the ticket and have no idea of the status or the dates. Ask the owner."
- slack response I was forced to write this morning to the guy my company put in charge of the entire product (mobile, multiple backends, frontend etc.).7 -
HR: "We want to hire you, but we shouldn't until after we finish this migration and set up an onboarding process. That should take about two weeks; is this okay?"
Me: "Yes, of course."
... two and a half weeks later ...
Me: "Hey, it's been awhile since our last chat. How's the migration and onboarding process going?" etc.
HR:
------
Ugh.
This is the same company that had me sitting by the phone waiting for an interview an entire day, and let me know their schedule got booked for the day three minutes before they went home. gg.
I should tell them to get bent.22 -
What should you do when you find dfox ++ your rant?
Wrong - To take screenshot and post about it and say you are feeling like a celebrity.
Correct - Stay calm. Chill.
:)8 -
Alexa (in another room): ***ALARM***
Me: Hey Google, broadcast "Alexa, stop"
Alexa: ***stops***
Me:11 -
TL;DR :
"when i die i want my group project members to lower me into my grave so they can let me down one last time"
STORY TIME
Last year in College, I had two simultaneous projects. Both were semester long projects. One was for a database class an another was for a software engineering class.
As you can guess, the focus of the projects was very different. Databases we made some desktop networked chat application with a user login system and what not in Java. SE we made an app store with an approval system and admin panels and ratings and reviews and all that jazz in Meteor.js.
The DB project we had 4 total people and one of them was someone we'll call Frank. Frank was also in my SE project group. Frank disappeared for several weeks. Not in class, didn't contact us, and at one point the professors didn't know much either. As soon as we noticed it would be an issue, we talked to the professors. Just keeping them in the loop will save you a lot of trouble down the road. I'm assuming there was some medical or family emergency because the professors were very understanding with him once he started coming back to class and they had a chance to talk.
Lesson 1: If you have that guy that doesn't show up or communicate, don't be a jerk to them and communicate with your professor. Also, don't stop trying to contact the rogue partner. Maybe they'll come around sometime.
It sucked to lose 25% of our team for a project, but Frank appreciated that we didn't totally ignore him and throw him under the bus to the point that the last day of class he came up to me and said, "hey, open your book bag and bring it next to mine." He then threw a LARGE bottle of booze in there as a thank you.
Lesson 2: Treat humans as humans. Things go wrong and understanding that will get you a lot farther with people than trying to make them feel terrible about something that may have been out of their control.
Our DB project went really well. We got an A, we demoed, it worked, it was cool. The biggest problem is I was the only person that had taken a networking class so I ended up doing a large portion of the work. I wish I had taken other people's skills into account when we were deciding on a project. Especially because the only requirement was that it needed to have a minimum of 5 tables and we had to use some SQL language (aka, we couldn't use no-SQL).
The SE project had Frank and a music major who wanted to minor in CS (and then 3 other regular CS students aside from me). This assignment was make an app store using any technology you want. But, you had to use agile sprints. So we had weekly meetings with the "customer" (the TA), who would change requirements on us to keep us on our toes and tell us what they wanted done as a priority for the next meeting. Seriously, just like real life. It was so much fun trying to stay ahead of that.
So we met up and tried to decided what to use. One kid said Java because we all had it for school. The big issue is trying to make a Java web app is a pain in the ass. Seriously, there are so many better things to use. Other teams decided to use Django because they all wanted to learn Python. I suggested why not use something with a nice package system to minimize duplicating work that had already been done and tested by someone. Kid 1 didn't like that because he said in the real world you have to make your own software and not use packages. Little did he know that I had worked in SE for a few years already and knew damn well that every good project has code from somewhere else that has already solved a problem you're facing. We went with Java the first week. It failed miserably. Nobody could get the server set up on their computers. Using VCS with it required you to keep the repo outside of the where you wrote code and copy and paste changes in there. It was just a huge flop so everyone else voted to change.
Lesson 3: Be flexible. Be open to learning new things. Don't be afraid to try something new. It'll make you a better developer in the long run.
So we ended up using Meteor. Why? We all figured we could pick up javascript super easy.Two of us already knew it. And the real time thing would make for some cool effects when an app got a approved or a comment was made. We got to work and the one kid was still pissed. I just checked the repo and the only thing he committed was fixing the spelling of on word in the readme.
We sat down one day and worked for 4 straight hours. We finished the whole project in that time. While other teams were figuring out how to layout their homepage, we had a working user system and admin page and everything. Our TA was trying to throw us for loops by asking for crazy things and we still came through. We had tests that ran along side the application as you used it. It was friggin cool.
Lesson 4: If possible, pick the right tool for the job. Not the tool you know. Everything in CS has a purpose. If you use it for its purpose, you will save days off of a project.1