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 - "a bit random"
-
New devRant feature! Filtering by post type! This took a bit longer to get out than we had planned, but now that extra click to label a post type will be put to good use! Hate memes but love rants? Want to only see questions? Don't want to see random off-topic posts? Filter away!
We're pushing to Android now, iOS shortly, and web will be coming soon.41 -
I found out recently that Facebook is embedding tracking data in the form of IPTC metadata in images that you upload. This way the images can be tracked even after you download them.
Because I'm an anarchist and just want to watch the world burn a little, I made a tiny server to replace the id hash that they embed with a random one, just to see if I can't fuck with their algorithm a little bit.
You can check out the project here https://github.com/watzon/fbmdob15 -
Boss: make this thing
Me: yeah no worries. Where is the spec?
Boss: We don't have enough one but we outsourced the design so call him
Designer: haven't started yet
Me: excellent
Boss: I'm going on holiday. I'll leave this to you.
Me: erm ok. I'm having a few problems getting stuff out of the designer though.
*2 weeks later and still no designs*
Boss: I'm back. Where is the progress?!
Me: indeed.
*1 week later i get half designs that sort of make sense*
Boss: hurry up!
*1 week later*
Me: designer you're busting my balls here
Designer: yeah lol
Me to boss: still having problems. No idea what I'm doing.
Boss: deal with it
*2 days later*
PM: we are demoing it to clients tomorrow
Me: brilliant. I'll become a magician then.
* Meeting goes well and no one notices the thing is a bit buggy*
*2 days later*
Me to boss and pm: you already know whats going on but I'll keep trying.
Boss: ok it's just a proof of concept anyway.
Designer: yeah here's the rest of the designs lol
*1 week later, the designs made no sense, no idea what they wanted but hey it's a proof of concept so I'll just do my best...*
*suddenly again, hey you have 1 week before we sell it. Lol. smashes a product together as fast as humanly possible, due to half designs and no time to do it right even html classes and CSS aren't right - didn't know things would be repeated at the time. No time to fix entire thing. Luckily just a proof of concept*
New senior developer: hey boss just said this is being sold tomorrow.
Me: wtf..It's a proof of concept and i was given longer...
New senior developer: no
Me: :(
Senior developer and all colleagues: it's full of bugs and doesn't work
Me: yes that will happen without specs, random tight deadlines, no designs that made sense and a total of about a week and a half to make an entire system for multiple user types to make applications, send messages, post jobs, handle all paperwork and move paperwork among different user types as they go through applications. I told everyone what was going on but i get no support...
*Silence*
Boss: wtf i gave you so long! All i know is my entire staff is working on a product that should be done ages ago
Me: ok, however i have said almost every day i need-
Boss: I'm not interested
*I finish my placement year and never get any promised work or the job offer*
Seems legit?16 -
Arghhh, rant time :|
So yesterday I completed a database migration of 167,000 products from an old ecommerce system to a new one. Everything was brought over, orders, customer addresses, everything, really chuffed :)
The only thing the client picked up on was the lack of his spammy "meta keywords" data that I intentionally did not import. I mean the tag isn't used and a list of 40 comma separated random words you'd like to rank for isn;t going to help the sites SEO on bit.
Anyway, the client is now moaning a lot and insisting I add them in. Even after I explained that the meta keywords is gone for good reasons he insists on keeping the data.
Soooo, pointless :|
(note the tags for the sake of satire :) )undefined meta keyword meta-key-words key-words keywords best meta keyw word meta keyword seo m-e-t-a words k-e-ywords meta key4 -
Just sharing my experience of my spontaneous interview with Facebook. I'm not good at writing these but here you go :)
- I was working as an Android dev and didn't have much knowledge in algorithms nor competitive programming, never ever interviewed with big companies.
- a random day on LinkedIn, a recruiter from Facebook contacted me
- I ignored it for few week because I thought it's so out of my league, then somehow, out of blue, I had a thought of giving it a try, so I did
- passed first round
- start studying algorithms a little for phone interview in 3 weeks
- recklessly took the phone interview
- passed
- start studying intensively (while working fulltime) for the on-site interview in 2 months
- almost got the job, they gave me one more chance by a followed up interview
- messed up the last chance real bad
- failed!!!
- Initially I just wanted to give it a try, but the fact that I failed at very very last chance, frankly, bothers me a bit. Maybe I will interview with FB or big companies if I have chance later, but I know for sure that the studying had made me a much better dev. All the code I write now is much more efficient (I think), I can and not anymore afraid of reading complicated code.
- Overall, it does takes a lot of time (~4 months studying while working fulltime), but also benefits myself a lot though I didn't get the job, so basically, good experience, but better if I got the job 😁
Oops, wanted to write a few lines and it's a long post already.. I should stop here :D9 -
HE:"Hey I improved my code"
ME:
*opens the file*
*Sees random static allocations*
*Code is as verbose as before*
*Down to 2600 lines from 2800ish*
*Still doesn't do shit properly*
"Uuuh what exactly did you do?"
*Starts noticing the lack of namespaces*
HE: "I used this using namespace std to write a bit less"
ME: "Can I pay you yoga lessons so you can taste your own cock and show your parents how good you are at it?"3 -
My boss pissed me off so much yesterday I totally ditched work today. I had some spiced rum for breakfast (and dinner) and spent the day playing minecraft and browsing Black Friday specials.
I did a little bit of work that (oversimplified) involved paying a Clover contractor for doing basically nothing. Totes cool with that as the guy is really nice and a decent dev. Annoyingly, though, he started hitting on me and asked me out on a date at the end of the call. He's like 65 and has a daughter (grand daughter?) my age, so that's like totally creepy. Ugh.
Getting hit on by random old men is still better than talking to Mr. Asshole the Sales Fetishizer, though.11 -
So, I was participating in a competition, but little did I know that you could only participate in pairs. Seeing that a lot of famous indie devs were participating I was extremely hyped. But since it seemed like I was the only idiot who didn't have a partner I felt like kicking myself. Then a guy about whom I had never heard of before, probably a newbie, comes out of the blue and asks me to be his partner. Since I had no choice, I reluctantly agreed to pair up with him. The rules of the competition were to create a game based on a particular theme in a period of 1 week. To get started, I asked him about his skills as it would be better to know what our strengths and weaknesses were. He said that he was good at art and proceeded to show me some of his "previous works". I was genuinely impressed. Honestly speaking his drawing seemed a bit off but was but for a newbie, it was good. So we decided that he would take care of the art and I would code, create some basic music (nothing too fancy because of the lack of time) and if time permits, refine his art(correcting ratios, colour combinations, shading, etc.). On the first day, he would like to work in privacy and would show only the finished products to me. It seemed a bit fishy, but hey, I am all up for respecting the wishes of fellow team members.
So all was going well, or so I thought, till on the fifth day the guy confesses that he didn't get shit done. Apparently, his "previous works" were random stuff taken from the great land of internet and that he had to leave town the next day. He just wanted to "experience the life of a game developer" and "meant no harm". I flipped out, half lectured half screamed at him then asked him to get the fuck out which happened to be the only fucking thing that he was able to do correctly. I thought for an hour or so, then contacted the staff and informed them about my situation. They said that if I was okay with the handicap, I may continue. I then pulled three all nighters with about 3 hours of sleep (that too in parts of about 1 hour) everyday and was barely able to submit my game on time.
I secured the fifth place, which was pretty good if I may say so myself, but it an important lesson in my life that taught me to never trust anyone blindly.4 -
So as quite some people know on here, I am strongly against closed source software and have a very strong distrust in it as well.
So next to some principles (and believes etc etc etc) there is one specifc 'event' which triggered the distrust in CSS (No not Cascading Style sheet, I mean Closed Source Software :P). So hereby the story about what happened.
I think it was about 5 years ago when a guy joined my programming class (I wasn't in uni although I studied but for the sake of clarity, lets just call it uni for now (also, that makes me feel smarter so why the fuck not!)) in uni. He knew a shitload about programming for his age but he was convinced that he was always right. (that aside)
Anyways, at some point we had to work in groups on this project (groups for specific tasks) and he chose (he loved it, we hated it, he had the final say) Trello for 'project management'. He gave everyone (I was running Windows for a little bit at that moment because the project was in C# and the Snowden leaks had not arrived yet so I was not extremely uncomfortable with using Windows, just a lot) this addon program thingy he created for Trello which would make usage easier. I asked if it was open source, he replied with 'No, because this is my project.' and although I did understand that entirely, I didn't feel comfy using it because of it's closed source nature. Everyone declared me paranoid and he was annoyed as hell but I just kept refusing to use it and just used the web interface.
*skips to 2 years later*
I met that guy again at the train station at a random day! Had the usual 'how are you and what's up after a few years' talk with him and then he told me something that changed my view on closed source software for most probably the rest of my life.
"Hey by the way, do you remember that project of a few years back where you didn't want to use my software because of your 'closed-sourceness paranoia'? I just wanted to say that I actually had some kind of backdooring feature build in which (I am not going to say what) allowed me to (although I didn't use it) look at/do certain things with the 'infected' computers. I really wanted to say that I find it funny how you, the only one who didn't give in to my/the peer pressure, were the only one who wasn't affected by my 'backdoor' at that moment! Also your standards towards the use of closed source software probably played a big part probably. I find that pretty cool actually!"
Although I cannot confirm what he said, he was exactly the type of guy who would do this IMO (and not only IMO I think).
So yeah, that's one of the reasons AND the story behind a big part of why I don't trust closed source software :).5 -
!Story
The day I became the 400 pound Chinese hacker 4chan.
I built this front-end solution for a client (but behind a back end login), and we get on the line with some fancy European team who will handle penetration testing for the client as we are nearing dev completion.
They seem... pretty confident in themselves, and pretty disrespectful to the LAMP environment, and make the client worry even though it's behind a login the project is still vulnerable. No idea why the client hired an uppity .NET house to test a LAMP app. I don't even bother asking these questions anymore...
And worse, they insist we allow them to scrape for vulnerabilities BEHIND the server side login. As though a user was already compromised.
So, I know I want to fuck with them. and I sit around and smoke some weed and just let this issue marinate around in my crazy ass brain for a bit. Trying to think of a way I can obfuscate all this localStorage and what it's doing... And then, inspiration strikes.
I know this library for compressing JSON. I only use it when localStorage space gets tight, and this project was only storing a few k to localStorage... so compression was unnecessary, but what the hell. Problem: it would be obvious from exposed source that it was being called.
After a little more thought, I decide to override the addslashes and stripslashes functions and to do the compression/decompression from within those overrides.
I then minify the whole thing and stash it in the minified jquery file.
So, what LOOKS from exposed client side code to be a simple addslashes ends up compressing the JSON before putting it in localStorage. And what LOOKS like a stripslashes decompresses.
Now, the compression does some bit math that frankly is over my head, but the practical result is if you output the data compressed, it looks like mandarin and random characters. As a result, everything that can be seen in dev tools looks like the image.
So we GIVE the penetration team login credentials... they log in and start trying to crack it.
I sit and wait. Grinning as fuck.
Not even an hour goes by and they call an emergency meeting. I can barely contain laughter.
We get my PM and me and then several guys from their team on the line. They share screen and show the dev tools.
"We think you may have been compromised by a Chinese hacker!"
I mute and then die my ass off. Holy shit this is maybe the best thing I've ever done.
My PM, who has seen me use the JSON compression technique before and knows exactly whats up starts telling them about it so they don't freak out. And finally I unmute and manage a, "Guys... I'm standing right here." between gasped laughter.
If only it was more common to use video in these calls because I WISH I could have seen their faces.
Anyway, they calmed their attitude down, we told them how to decompress the localStorage, and then they still didn't find jack shit because i'm a fucking badass and even after we gave them keys to the login and gave them keys to my secret localStorage it only led to AWS Cognito protected async calls.
Anyway, that's the story of how I became a "Chinese hacker" and made a room full of penetration testers look like morons with a (reasonably) simple JS trick.9 -
> Root struggles with her ticket
> Boss struggles too
> Also: random thoughts about this job
I've been sick lately, and it's the kind of sick where I'm exhausted all day, every day (infuriatingly, except at night). While tired, I can't think, so I can't really work, but I'm during my probationary period at work, so I've still been doing my best -- which, honestly, is pretty shit right now.
My current project involves legal agreements, and changing agent authorization methods (written, telephone recording, or letting the user click a link). Each of these, and depending on the type of transaction, requires a different legal agreement. And the logic and structure surrounding these is intricate and confusing to follow. I've been struggling through this and the project's ever-expanding scope for weeks, and specifically the agreements logic for the past few days. I've felt embarrassed and guilty for making so little progress, and that (and a bunch of other things) are making me depressed.
Today, I finally gave up and asked my boss for help. We had an hour and a half call where we worked through it together (at 6pm...). Despite having written quite a bit of the code and tests, he was often saying things like "How is this not working? This doesn't make any sense." So I don't feel quite so bad now.
I knew the code was complex and sprawling and unintuitive, but seeing one of its authors struggling too was really cathartic.
On an unrelated note, I asked the most senior dev (a Macintosh Lisa dev) why everything was using strings instead of symbols (in Rails) since symbols are much faster. That got him looking into the benchmarks, and he found that symbols are about twice as fast (for his minimal test, anyway), and he suggested we switch to those. His word is gold; mine is ignorable. kind of annoying. but anyway, he further went into optimizing the lookup of a giant array of strings, and discovered bsearch. (it's a divide-and-conquer lookup). and here I am wondering why they didn't implement it that way to begin with. 🙄
I don't think I'm learning much here, except how to work with a "mature" codebase. To take a page from @Rutee07, I think "mature" here means the same as in porn: not something you ever want ot see or think about.
I mean, I'm learning other things, too, like how to delegate methods from one model to another, but I have yet to see why you would want to. Every use of it I've explored thus far has just complicated things, like delegating methods on a child of a 1:n relation to the parent. Which child? How does that work? No bloody clue! but it does, somehow, after I copy/pasted a bunch of esoteric legacy bs and fussed with it enough.
I feel like once I get a good grasp of the various payment wrappers, verification/anti-fraud integration, and per-business fraud rules I'll have learned most of what they can offer. Specifically those because I had written a baby version of them at a previous job (Hell), and was trying to architect exactly what this company already has built.
I like a few things about this company. I like my boss. I like the remote work. I like the code reviews. I like the pay. I like the office and some socializing twice a year.
But I don't like the codebase. at all. and I don't have any friends here. My boss is friendly, but he's not a friend. I feel like my last boss (both bosses) were, or could have been if I was more social. But here? I feel alone. I'm assigned work, and my boss is friendly when talking about work, but that's all he's there for. Out of the two female devs I work with, one basically just ignores me, and the other only ever talks about work in ways I can barely understand, and she's a little pushy, and just... really irritating. The "senior" devs (in quotes because they're honestly not amazing) just don't have time, which i understand. but at the same time... i don't have *anyone* to talk to. It really sucks.
I'm not happy here.
I miss my last job.
But the reason I left that one is because this job allows me to move and work remotely. I got a counter-offer from them exactly matching my current job, sans the code reviews. but we haven't moved yet. and if I leave and go back there without having moved, it'll look like i just abandoned them. and that's the last thing I want them to think.
So, I'm stuck here for awhile.
not that it's a bad thing, but i'm feeling overwhelmed and stressed. and it's just not a good fit. but maybe I'll actually start learning things. and I suppose that's also why I took the job.
So, ever onward, I guess.
It would just be nice if I could take some of the happy along with me.7 -
Most hated language features?
PL/SQL:
• it exists
XSLT:
• it also exists
PHP:
• it still exists.
VB:
• Significant parentheses: `subName` calls the subroutine, and `subName()` calls the subroutine and gets a return value. If you use the wrong invocation, it yells at you. Why!?
• For reasons unknown, you can only have `sleep` appear once per codebase. (So put it in a function!)
Ruby:
• It’s bloody easy to write code with absolute shit performance, and it kind of feels encouraged because of just how easy Ruby makes everything. Less critical thinking means worse performance, and Ruby’s blissful elegance encourages mental laziness.
• Minor: You cannot pass a hash as the first method parameter without enclosing it in parentheses, ex:`method({key: value})`. This is due to the ambiguous case between passing a hash argument and a (curly) block/proc (`method {|args| code}`). This could be remedied pretty easily with a little bit of look ahead.
• Minor: There is no `elsif` for `unless` (a negated if). Why? No reason given.
Python:
• no block endings, so nested code can be extremely difficult to follow.
Bash:
• The freaking syntax oh god why.
All languages:
• rand vs rand() vs Rand vs Rand() vs rnd vs RND vs random() vs random vs randInt() vs Math.random() vs Math.randInt() vs ...18 -
A few interview tips from the other side of the table:
1. Bring a laptop
I mean come up man! Bring a laptop. Especially if there was some kind of project or challenge to present. I have seen so many people do a big UI design presentation and then come in like “can I use your laptop???”. Of course you can, but your looking very unprepared.
2. Ask for clarification
Communication problems happen in business every day. Different cultures and accents can cause issues. The important part isn’t wether you understand everything said but that you ask enough questions to make sure you eventually understand. Most people just wrongly assume things and start rambling.
3. Know what kind of company you and talking to
In my case, this is a startup. We aren’t IBM or Amazon or Google. We work hard and we play hard. Work life balance is important in life but if your very first question is “work/life balance???” then you played yourself. Wait a bit, pepper it in on the sly. Just don’t ask it right away, it shows us that you aren’t ready to work harder than usual if needed. Maybe try “so how do you like working here? How are the people, hours etc?” Or something besides the first question being a bad signal.
Just some random tips for an interviewer.
From me to you, don’t make me have to tell you like DJ Khalid would ...
Congratulations, you played yourself.23 -
Very long story ahead!
Yesterday in the evening a friend of mine (calling him F from now on) became the target of something new to me...
Apparently one can fake his phone number through some fishy ways and call people with that number. Someone (we think we might know who it was, the why is at the end) did this yesterday to F.
Here's the whole story:
We were just talking together on a TeamSpeak Server (a program to talk to others on the internet) when suddenly another friend said: "F, why did you just call me three times in a row?" That was the first thing that was a bit suspicious. After that, F got calls from random numbers (even Afghanistan, we are German), and they said something like "Have fun with the police coming to your house". Then there was silence. 10 minutes later his phone rang and there were a ton of pizza delivery services in his town that apparently got pizza orders from him. Then there was silence, again. Suddenly someone with a hidden number called him, a woman's voice said they were the police and if F doesn't stop calling the police there will be consequences. F then told her what was going on but I think she didn't really care. She then wanted to know where F lives, but I told him not to say that, because if it is the police they can find it out by themself and if it's not, they don't need to know that.
Now, a short break: There is some fake information going around about where F lives. I can't remember when we found out but the attacker thought he would actually live there. No idea what happened at that location...
Now back to the story:
Time went by, nothing really happened. Suddenly F shouted: "There are blue lights outside! The police is here!" He muted his microphone and (the following is what he told us what happened) went down to the door (remember, he is 16) and there were two police men. They were asking about why he called the police. F explained what we knew until then, about number spoofing and stuff... They sent a more technical person to him, he understood what F was trying to explain. The police men drove away and he came back to tell us what happened. (Now we get back to what I heared myself.) The mom came in, screamed something that I couldn't understand, and F went offline. We searched who the attacker could have been. And we are pretty sure we found him. That guy connected to our Minecraft server (that's where I know F from) with his real IP, and his main account, which made it easy to search. He also got a static IP which means it doesn't change. We also got some information that in the recent days this guy was talking about VoIP spoofing and such stuff. Another friend of mine, a bit older, found some proofs and I think he will go to the police.
That's it. Thanks for reading.7 -
There is a god forsaken Project Manager in my company that I got to work with since I started there. She has been there way longer than I am and she asks the most ridiculous questions. A couple days ago she wanted to know when a specific scenario occurred in an app (it was a feature she asked for, mind you). I told her "When the status is ACTIVE and the distributor is {{random distributor}}"
She stopped for a few seconds. Nodded and asked "And when does the scenario NOT occur?"
I couldn't hold it it and I barked an "are you serious right now?"
It may have come across as a bit rude and she called her superior who was passing by. Ranted a bit about my reaction and when he tried to understand the question he said to her "Isn't it obvious?"
I do believe I glowed in bright tones of green and purple for a minute or two4 -
Special Awards: In a previous life, I employed a South African gentleman by the name of Jack Howell. He had a thing about finding other South African ex-pats, and could often be heard asking people on the phone “Are you by any chance from South Africa?”.
Jack Howell would also do very stupid things. Like forget to come to work. When asked, he’d come up with random excuses - “It was my wife Gwyneth’s fault”, or “I was confused, I took wrong turnings”. Generally, he was a bit of a twat, and had a weird kind of smile he’d give you.
After he left the company, we came up with the idea of having an award for whoever acted the most like Jack Howell on a given day, or week. It was known as The Jack Howell Award. The award itself was whatever shitty thing we could find at the time - a construction made of folded paper and paper clips, or a weird 3 inch statue from a charity shop, or whatever really naff-beyond-belief item we could find at the time.
Where I work now, we have a shitty 12 inch statue of a woman with a dog that turned up in our office, courtesy of our Maintenance Manager. This is the new Jack Howell award. Currently awarded to a senior dev colleague who spent a day chasing a missing variable.3 -
Long rant ahead.. so feel free to refill your cup of coffee and have a seat 🙂
It's completely useless. At least in the school I went to, the teachers were worse than useless. It's a bit of an old story that I've told quite a few times already, but I had a dispute with said teachers at some point after which I wasn't able nor willing to fully do the classes anymore.
So, just to set the stage.. le me, die-hard Linux user, and reasonably initiated in networking and security already, to the point that I really only needed half an ear to follow along with the classes, while most of the time I was just working on my own servers to pass the time instead. I noticed that the Moodle website that the school was using to do a big chunk of the course material with, wasn't TLS-secured. So whenever the class begins and everyone logs in to the Moodle website..? Yeah.. it wouldn't be hard for anyone in that class to steal everyone else's credentials, including the teacher's (as they were using the same network).
So I brought it up a few times in the first year, teacher was like "yeah yeah we'll do it at some point". Shortly before summer break I took the security teacher aside after class and mentioned it another time - please please take the opportunity to do it during summer break.
Coming back in September.. nothing happened. Maybe I needed to bring in more evidence that this is a serious issue, so I asked the security teacher: can I make a proper PoC using my machines in my home network to steal the credentials of my own Moodle account and mail a screencast to you as a private disclosure? She said "yeah sure, that's fine".
Pro tip: make the people involved sign a written contract for this!!! It'll cover your ass when they decide to be dicks.. which spoiler alert, these teachers decided they wanted to be.
So I made the PoC, mailed it to them, yada yada yada... Soon after, next class, and I noticed that my VPN server was blocked. Now I used my personal VPN server at the time mostly to access a file server at home to securely fetch documents I needed in class, without having to carry an external hard drive with me all the time. However it was also used for gateway redirection (i.e. the main purpose of commercial VPN's, le new IP for "le onenumity"). I mean for example, if some douche in that class would've decided to ARP poison the network and steal credentials, my VPN connection would've prevented that.. it was a decent workaround. But now it's for some reason causing Moodle to throw some type of 403.
Asked the teacher for routers and switches I had a class from at the time.. why is my VPN server blocked? He replied with the statement that "yeah we blocked it because you can bypass the firewall with that and watch porn in class".
Alright, fair enough. I can indeed bypass the firewall with that. But watch porn.. in class? I mean I'm a bit of an exhibitionist too, but in a fucking class!? And why right after that PoC, while I've been using that VPN connection for over a year?
Not too long after that, I prematurely left that class out of sheer frustration (I remember browsing devRant with the intent to write about it while the teacher was watching 😂), and left while looking that teacher dead in the eyes.. and never have I been that cold to someone while calling them a fucking idiot.
Shortly after I've also received an email from them in which they stated that they wanted compensation for "the disruption of good service". They actually thought that I had hacked into their servers. Security teachers, ostensibly technical people, if I may add. Never seen anyone more incompetent than those 3 motherfuckers that plotted against me to save their own asses for making such a shitty infrastructure. Regarding that mail, I not so friendly replied to them that they could settle it in court if they wanted to.. but that I already knew who would win that case. Haven't heard of them since.
So yeah. That's why I regard those expensive shitty pieces of paper as such. The only thing they prove is that someone somewhere with some unknown degree of competence confirms that you know something. I think there's far too many unknowns in there.
Nowadays I'm putting my bets on a certification from the Linux Professional Institute - a renowned and well-regarded certification body in sysadmin. Last February at FOSDEM I did half of the LPIC-1 certification exam, next year I'll do the other half. With the amount of reputation the LPI has behind it, I believe that's a far better route to go with than some random school somewhere.25 -
#include <rant>
So, in my class I have this one dude who also code, "Awesome" I thought when I first saw that he codes, he codes in c# and claims to know JavaScript.
So I hung out with him a bit on recess/break time, and I eventually found out that he is a d*ckhead
First of all, he claims that he can code ANYTHING, I mean triple A games, the machine that can find pi in 10 seconds. And I know that this isn't true, because he "can't bother" with showing me it.. whatever I think.
I also mentioned that he is a d*ck, why am i saying that? Because if you make an error he would just go, "there is supposed to be *insert random bullshit here* instead of *a typo that I made*, retard. You are honestly fucking stupid" Listen, I love when people point errors out, it really helps. But when you say it like that, it honestly makes me sad. One day, I was messing around with classes in python and he went "hey idiot! That's wrong! There is supposed to be a *random word* instead of *working code*". The funny thing is, HE DOESNT KNOW WHAT PYTHON IS. So I comment out the working code and puts in his c# bs there instead. And he just says, "it isn't working because there's a private class instead of a public class. Ehmm, excuse me? This is python, ok.
Oh and he told me I was a retard because I can't develop triple a games using pure JavaScript.
Any tips on dealing with the guy?23 -
"There is a problem with A, could you check it out? It's urgent for the client"
Me: Okay, just open a ticket for it too.
*Working on A"
After about ten minutes:
"Hey, there is a small problem B and it's also urgent for the client, we need you to check it out"
Me: I'm working on A and you are yet to open a tick... (Interrupted)
"But it's urgent and it's a small fix, we can fix it and push it to prod, A can wait for a bit"
(Since when is it a "we"?)
Me: *sigh* fine, lets see what's B is all about...
*After going over problems C to Z*
"Why isn't A ready yet? The client's mad and it was to be ready as of today"
Me: Because you had problems from B to Z and they were all urgent according to you so after each request you asked of me I had to postpone A with you knowing about it.
"But A is for today!"
FUCK YOU, YOU WORTHLESS WASTE OF JIZZ! YOU RAN TO ME FOR EVERY GOD DAMN URGENT PROBLEM YOU HAD FROM OUR SHIT OF A CLIENT AND INSTEAD OF TELLING ME THE PRIORITY YOU JUST THROWN IT ALL IN A RANDOM ORDER!
FUCK YOU! I WISH YOUR FATHER WOULD'VE SHOT YOU OUT THE WINDOW INSTEAD OF INSIDE YOUR MOTHERS CUNT!5 -
When will people understand that you can't get quality software made for $5 by some random from Fiverr? Just as I'm about to confirm a quick Freelance job they tell me they've found someone on Fiverr that will do it for a fraction of the amount. It's happening more and more. Don't get me wrong, I'm still getting plenty of work but I see it as a bit of an insult. Comparing the quality of work I do with someone who pumps out 5 programs an hour.
And yes, I do realise there are people on Fiverr that do care about their work, there just doesn't seem to be many of them.9 -
Im going to fucking murder the QA team if they don't stop sender bullshit issues!
QA: hey dev, there is an error with attached files.
Me: okay what's the issue?
QA: it's just a random file that gets attached. Can you fix it by the end of the sprint(tomorrow)?
Me: I need to investigate it a bit before I can tell you how long it will take, how can I reproduce it?
QA: idk, it was just there.
*several hours of testing later*
Me: I've tried to cause the 'issue' on my local server, the test server and the live server. But I haven't seen it and I have no clue what could cause it.
*30min. before I go home*
QA: dev you have to fix it before you go home! Because we have some other important issues you have to fix tomorrow!
FUCK YOU AND YOUR IMAGINARY ISSUES I'M GOING HOME1 -
Wow my job sucks right now. Un fuckin believable.
I got hired a month ago as a programmer. Everything went fine at first, then my Boss asked if I could do 3D modeling, and I could, I used Maya for 4 years, but I told him I only can do simple low poly models. A partner company of ours needed some help in their 3D department and I had to help.
Well, I thought, a small 3D project from time to time would be nice and refreshing, especially since it was very easy geometry, my Boss even showed me some previous projects and That was totally doable even for me.
So i started out making the first few models in blender, because we dont have anything else. After a day of getting used to blender i sent off the first models and it all began.
They wanted detailed, high poly models of some mechanical parts, my Boss originally told me it was just an abstract visualisation... fuck me...
Well I agreed to it so had to do it. The partnering Company started to change things, seemingly at random. Had a model completely modelled, textured and animated, now they want to change the model so I have to redo the UVs, the texture and the Animation god fucking damnit.
But still I thought ok, its only for a bit. Now my boss accepted even more work. Because of endless reworks I couldnt finish even one model and have to already make the new ones.
Now my boss is pissed because that company is pissed that i cant know what they want.
Big pile of misscommunication.
I hope this is over soon but I overheard that more is coming...6 -
For fucks sake if I send you a clearly described 5 step install instructions do not start on step 3! Yes you fucking moron instructions labeled 1,2,3,4,5 should be carried out one after the other! Not in random order.
Seriously, how deranged are you that you have never ever encountered a step-by-step instruction before?!
Don't give me that "oh, should I have started with step 1 first? You weren't very clear about that. I think it is a bit too complicated."
Here are some more instructions:
1. Close your PC
2. Donate it to someone with detectable IQ level
3. Go fuck yourself
4. Please die
5. Yes, start with step 15 -
I've been away, lurking at the shadows (aka too lazy to actually log in) but a post from a new member intrigued me; this is dedicated to @devAstated . It is erratic, and VERY boring.
When I resigned from the Navy, I got a flood of questions from EVERY direction, from the lower rank personnel and the higher ups (for some reason, the higher-ups were very interested on what the resignation procedure was...). A very common question was, of course, why I resigned. This requires a bit of explaining (I'll be quick, I promise):
In my country, being in the Navy (or any public sector) means you have a VERY stable job position; you can't be fired unless you do a colossal fuck-up. Reduced to non-existent productivity? No problem. This was one of the reasons for my resignation, actually.
However, this is also used as a deterrent to keep you in, this fear of lack of stability and certainty. And this is the reason why so many asked me why I left, and what was I going to do, how was I going to be sure about my job security.
I have a simple system. It can be abused, but if you are careful, it may do you and your sanity good.
It all begins with your worth, as an employee (I assume you want to go this way, for now). Your worth is determined by the supply of your produced work, versus the demand for it. I work as a network and security engineer. While network engineers are somewhat more common, security engineers are kind of a rarity, and the "network AND security engineer" thing combined those two paths. This makes the supply of my work (network and security work from the same employee) quite limited, but the demand, to my surprise, is actually high.
Of course, this is not something easy to achieve, to be in the superior bargaining position - usually it requires great effort and many, many sleepless nights. Anyway....
Finding a field that has more demand than there is supply is just one part of the equation. You must also keep up with everything (especially with the tech industry, that changes with every second). The same rules apply when deciding on how to develop your skills: develop skills that are in short supply, but high demand. Usually, such skills tend to be very difficult to learn and master, hence the short supply.
You probably got asleep by now.... WAKE UP THIS IS IMPORTANT!
Now, to job security: if you produce, say, 1000$ of work, then know this:
YOU WILL BE PAID LESS THAN THAT. That is how the company makes profit. However, to maximize YOUR profit, and to have a measure of job security, you have to make sure that the value of your produced work is high. This is done by:
- Producing more work by working harder (hard method)
- Producing more work by working smarter (smart method)
- Making your work more valuable by acquiring high demand - low supply skills (economics method)
The hard method is the simplest, but also the most precarious - I'd advise the other two. Now, if you manage to produce, say, 3000$ worth of work, you can demand for 2000$ (numbers are random).
And here is the thing: any serious company wants employees that produce much more than they cost. The company will strive to pay them with as low a salary as it can get away with - after all, a company seeks to maximize its profit. However, if you have high demand - low supply skills, which means that you are more expensive to be replaced than you are to be paid, then guess what? You have unlocked god mode: the company needs you more than you need the company. Don't get me wrong: this is not an excuse to be unprofessional or unreasonable. However, you can look your boss in the eye. Believe me, most people out there can't.
Even if your company fails, an employee with valuable skills that brings profit tends to be snatched very quickly. If a company fires profitable employees, unless it hires more profitable employees to replace them, it has entered the spiral of death and will go bankrupt with mathematical certainty. Also, said fired employees tend to be absorbed quickly; after all, they bring profit, and companies are all about making the most profit.
It was a long post, and somewhat incoherent - the coffee buzz is almost gone, and the coffee crash is almost upon me. I'd like to hear the insight of the veterans; I estimate that it will be beneficial for the people that start out in this industry.2 -
I think Suicide Linux is a little heavy handed. Really? One mistake erases your hard drive? Please, let's make things interesting.
I would rather use Casino Linux.... try your luck. Any mistake sets a random single bit on your computer to 0. You could be lucky and it would set unused memory to 0, doing nothing. You could be an unlucky bastard and corrupt everything. You could be a super unlucky bastard and corrupt something important and only find out much, much too late.
I'm asking for $90,000 to start my business for 2% share of my company9 -
I am much too tired to go into details, probably because I left the office at 11:15pm, but I finally finished a feature. It doesn't even sound like a particularly large or complicated feature. It sounds like a simple, 1-2 day feature until you look at it closely.
It took me an entire fucking week. and all the while I was coaching a junior dev who had just picked up Rails and was building something very similar.
It's the model, controller, and UI for creating a parent object along with 0-n child objects, with default children suggestions, a fancy ui including the ability to dynamically add/remove children via buttons. and have the entire happy family save nicely and atomically on the backend. Plus a detailed-but-simple listing for non-technicals including some absolutely nontrivial css acrobatics.
After getting about 90% of everything built and working and beautiful, I learned that Rails does quite a bit of this for you, through `accepts_nested_params_for :collection`. But that requires very specific form input namespacing, and building that out correctly is flipping difficult. It's not like I could find good examples anywhere, either. I looked for hours. I finally found a rails tutorial vide linked from a comment on a SO answer from five years ago, and mashed its oversimplified and dated examples with the newer documentation, and worked around the issues that of course arose from that disasterous paring.
like.
I needed to store a template of the child object markup somewhere, yeah? The video had me trying to store all of the markup in a `data-fields=" "` attrib. wth? I tried storing it as a string and injecting it into javascript, but that didn't work either. parsing errors! yay! good job, you two.
So I ended up storing the markup (rendered from a rails partial) in an html comment of all things, and pulling the markup out of the comment and gsubbing its IDs on document load. This has the annoying effect of preventing me from using html comments in that partial (not that i really use them anyway, but.)
Just.
Every step of the way on building this was another mountain climb.
* singular vs plural naming and routing, and named routes. and dealing with issues arising from existing incorrect pluralization.
* reverse polymorphic relation (child -> x parent)
* The testing suite is incompatible with the new rails6. There is no fix. None. I checked. Nope. Not happening.
* Rails6 randomly and constantly crashes and/or caches random things (including arbitrary code changes) in development mode (and only development mode) when working with multiple databases.
* nested form builders
* styling a fucking checkbox
* Making that checkbox (rather, its label and container div) into a sexy animated slider
* passing data and locals to and between partials
* misleading documentation
* building the partials to be self-contained and reusable
* coercing form builders into namespacing nested html inputs the way Rails expects
* input namespacing redux, now with nested form builders too!
* Figuring out how to generate markup for an empty child when I'm no longer rendering the children myself
* Figuring out where the fuck to put the blank child template markup so it's accessible, has the right namespacing, and is not submitted with everything else
* Figuring out how the fuck to read an html comment with JS
* nested strong params
* nested strong params
* nested fucking strong params
* caching parsed children's data on parent when the whole thing is bloody atomic.
* Converting datetimes from/to milliseconds on save/load
* CSS and bootstrap collisions
* CSS and bootstrap stupidity
* Reinventing the entire multi-child / nested params / atomic creating/updating/deleting feature on my own before discovering Rails can do that for you.
Just.
I am so glad it's working.
I don't even feel relieved. I just feel exhausted.
But it's done.
finally.
and it's done well. It's all self-contained and reusable, it's easy to read, has separate styling and reusable partials, etc. It's a two line copy/paste drop-in for any other model that needs it. Two lines and it just works, and even tells you if you screwed up.
I'm incredibly proud of everything that went into this.
But mostly I'm just incredibly tired.
Time for some well-deserved sleep.7 -
So I have seen this quite a few times now and posted the text below already, but I'd like to shed some light on this:
If you hit up your dev tools and check the network tab, you might see some repeated API calls. Those calls include a GET parameter named "token". The request looks something like this: "https://domain.tld/api/somecall/..."
You can think of this token as a temporary password, or a key that holds information about your user and other information in the backend. If one would steal a token that belongs to another user, you would have control over his account. Now many complained that this key is visible in the URL and not "encrypted". I'll try to explain why this is, well "wrong" or doesn't impose a bigger security risk than normal:
There is no such thing as an "unencrypted query", well besides really transmitting encrypted data. This fields are being protected by the transport layer (HTTPS) or not (HTTP) and while it might not be common to transmit these fields in a GET query parameter, it's standard to send those tokens as cookies, which are as exposed as query parameters. Hit up some random site. The chance that you'll see a PHP session id being transmitted as a cookie is high. Cookies are as exposed as any HTTP GET or POST Form data and can be viewed as easily. Look for a "details" or "http header" section in your dev tools.
Stolen tokens can be used to "log in" into the website, although it might be made harder by only allowing one IP per token or similar. However the use of such a that token is absolut standard and nothing special devRant does. Every site that offers you a "keep me logged in" or "remember me" option uses something like this, one way or the other. Because a token could have been stolen you sometimes need to additionally enter your current password when doings something security risky, like changing your password. In that case your password is being used as a second factor. The idea is, that an attacker could have stolen your token, but still doesn't know your password. It's not enough to grab a token, you need that second (or maybe thrid) factor. As an example - that's how githubs "sudo" mode works. You have got your token, that grants you more permissions than a non-logged in user has, but to do the critical stuff you need an additional token that's only valid for that session, because asking for your password before every action would be inconvenient when setting up a repo
I hope this helps understanding a bit more of this topic :)
Keep safe and keep asking questions if you fell that your data is in danger
Reeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee5 -
Wow, I'm going to have a hard time remembering this one.
IT have changed after so many years the password criteria for our machines, to the point it's a bit ridiculous.
Like I'm all for securing your accounts and using random passwords but, this is rough.
Minimum of 14 chars
Not the past 6 passwords
Must contain several %}*]=[^{
Must contains numbers
Must contain upper case letters
Must contain Lower case letters
Must not end in a number
Must sacrifice a virgin on every login
Must be changed every 30 daysrant security vs usability kill me - kill me now password managers go hard or go home - oh wait i am home22 -
The worst part of hackathons are schedules which leaves no time for actual coding!
I was once at 2 day event. Day 1 contained an intro lecture, 'getting to know your team' exercise, idea generation phase, idea feedback from industry people, mandatory coffee breaks, and a little bit of coding at the end.
Day 2 consisted of 'adding thet final touches to your hack', a random lecture from the company hosting the event, info from the judges on how to pitch, a trial run of the pitch and then the final pitches...
I barely think we got to code for 3 hours.4 -
I have this project I've inherited, yea I seem to do that a lot, but this damn thing, has to run in php5.4, has deprecated functions for php7 everywhere and a lot of them and there's no classes anywhere beyond some libraries.
Everything is procedural with random scripts being injected left right and center.
I kid you not,
$thisThing = true;
If(x==y)
require "path/to/some/script.php";
else
require "path/to/a/slightly/different/script.php";
If($thisThing === false){
// well it was modified in that small block about 10 different times
}
Those injected scripts then accept data from the parent scope so, looking at file X, you need to have open file A,B, E, and M to understand where variables have been initialised and what there current state could potentially be.
Basically this thing was bandaid after bandaid for feature requests with 0 refactoring.
Here I am trying to implement some basic functionality (should only take an hour or so + a bit of manual testing) but no, I'm literally at the point of hitting the delete button on the entire project and starting again.rant why you no work what did i do to deserve this alcohol is your friend commented out blocks everywhere even with git there was no deleted code kill me now where the hell did that thing come from cocaine may help is this v2 file the right one don't do drugs18 -
!Dev
A bit random but I'm just really anrgy
Why the fuck. Why do mosquitoes have to exist. Fucking go outside in certain places for 5 minutes and these spawns of Satan suck me dry.
I swear these things have all come through a portal straight from hell.
And then its gotta itch like fucking mad for the next days, driving me straight up insane.
I'll be glad when I get back to my place. Climate might be cold and raining a large part of the year but fuck that's so much better than fucking getting poked by these fuckers this much again.14 -
A classmate's earphones once stopped working, I went to go look at it. After a bit of tinkering, I said, "The speakers on these are toast, you'll need a new pair." Then, some random kid grabbed the tablet mind you, and not the earphones, played in the settings, and said "Fixed." I then told them, "This is a hardware issue, not a software issue." What's worse? Some people said "So, software and hardware are the same thing."
Mississippi is just full of computer Illiterates.19 -
The feeling when random dudes downvote a question, because a guy who finally earned some points on SO dared to format the code with `<code>`<br> He pasted code, log, even explained a little bit and ~500 point guy even flags it like _unclear_ although there's clearly visible import error.
I mean... as an answerer or moderator, I'd be damn ashamed for such behavior! I have absolutely no problem kick a person with words + explanation in my answer or comment, so that (s)he remembers to ask better questions and feels bad about that, because nooby questions are already answered so many times there.
But to downvote because of formatting even if you have a permission to edit and a flag for low quality or because you can't read ~40 lines of log makes you just a retard and hurt the whole remaining community of guys like me who find time to sit there and answer questions to help another people.7 -
It is time... to rant about macs!
No, seriously - I had such a different experience about which not many talk in real life or pretend that it never happens....
Model: 2015 mid MBP 15" with second to highest specs (don't have dedicated gpu).
Rattling fucking toy.... Yea, it rattles! If you shake/move ir sit in trait/bus - it non-stop rattles as a fucking toy. Worst part? It's confirmed issue by apple and it manifacturing issue that they are not keen on fixing!!!! WTF? We have 4 macs in our office - all of them fucking rattles... God help me how annoying that is. (Lose LCD control panel that unsticks from glue. Replacing it solves the issue for 1 month if you carry it anywhere).
Constant fucking crashing/updates.... Every morning I wake up and don't have an app that requires confirmation for restart - it's restarted. YAY, turning on all apps once again.... Why you may ask? Well, because if you tinker with software in any way - it fails to update it and hell breaks lose. It's been a long time since High-Sierra came around and the issue is still there (not running Mojave as it conflicts with soft I have... Woo!). Tried few times - updates fail. Resolution? Reinstall OS!
OS conflicts with applications - damn... People told me it works out of the box.... Yeah, as long as you don't upgrade the OS - then it breaks. Why? Well, because.
Piece of shit power supply. With 4 of our office power supplies - 2 of them failed twice withing warranty and once afterwards... Really? Not to mention that all 4 are starting to shear the sleeve or already did (mine is just wrapped with white electrical tape to give it a support... lol).
Bluetooth - who the hell needs that in mac, right? Well, people do. To start with - it conflicts with 2.4GHz wireless network - you might have one of those and not both at the same time. Next thing is using a device that needs constant connection (mouse, headphones, keyboard - non apple branded) - shit... They can't stay connected for more than an hour without any issues... Constant battle to re-connect it, to re-pair the device and all due to smart apple bluetooth settings. Hell, my mouse (logitech MX master) was even printing random symbols in some applications if moved. All of the issues went away after using a bluetooth dongle... WOO!!!!
Xcode... Ahh, you may never prepare your mac if you don't download 17GB of fucking xCode libraries that enables some tools to be installed/runned as you can NOT get them in any other way and you have to install full xCode software in order to get them... YAY! 17GB wasted on my 256GB SSD that I can't upgrade. GREAT!
OsX applications - ah, don't get offended but if you are using them and you are fine with them - you are probably a monkey that loves being told what to do. You can't customise any actions, you can't configure it the way you like - either you accept their default workflow or go kill yourself. Yep... Had issues with calendar, mail, iMessages, safari... None of them fit my needs :)
Resolution scaling... Fucking hell, the display is 2880 x 1800 but all you let me to use is 1440x900 without scaling? Am I blind to you? Scaling the resolution means that you are fucked if some applications don't support scaling very well. Looking at you Jetbrains - your IDES suck at scaling and slows down the pc to a potato....
Now the pros - keyboard is way better than the new ones, trackpad is GREAT - no need for mouse (using it on external 4k displays only), the battery life is great - getting around 6h of continues development time, 8 if using sublime instead of phpStorm and well, that's about it...
To clarify:
I've bought this device due to the fact that at that time mac and windows pc's with similiar specs costed the same while windows pc sucked with their quality of the device and trackpad... Now the situation is better and when time comes for a next upgrade - it's going to be one of these:
Razer Blade 15, Dell XPS 15, Lenovo Carbon X1 series.
And of course - LINUX. I've had enough issues with windows, and had enough of retardness of apple ecosystem, so switching it is a must for me.
Disclaimer: I might be an unhappy customer, a bit picky but I'd like my device to be setted up as I like and continue to have that until I don't like, not until the company decides to break it. Not to mention that paying almost a yearly salary in my country for one device - I'd expect it to be at least reliable and work without issues....
Rant over.
ps. You can disagree with me, this is my personal experience with MBP over the last 3 years :)8 -
Let me just open by saying, I do enjoy a random post on the internet giving PHP a bit of appreciation.
But then I'm reminded why some people shouldn't be allowed to write articles for developers or junior developers when they them selves are oblivious to the content they are writing.
So... here I am scrolling down LinkedIn and spot this headline "why php is the best choice for 2020"
Well that caught my attention (you know, as a php dev spotting a positive php article and all), so I went and had a look and by god I was ready to rip my eyes out at the mis-information being written in this article.
I shall let you all enjoy the punishment I endured rather then bring spoilers
https://dev.to/brewer1_jane/...16 -
There is this thing called the Pulfrich effect (https://youtu.be/Q-v4LsbFc5c a Tom Scott video about this).
Since I have 3 monitors, I decided to write a small C++ program which copies the image from the first monitor to the second and, with 5ms delay, also to the third.
That way I can sit down like 5 meters away and squint a bit to make both copies overlap. This creates a 3D effect for about half of the time of any moving video.
If you watched the video at the top you should know why, if the right image comes later the background has to move as in the video, and vice-versa.
Just some random thing that came to my mind and it's actually awesome! -
Fresh internship story (Part 2)
I just realized how dumb my temporary boss really is and how much he loves to command everyone.
I told him that I am going earlier a few days ago and he got pissed lol.
He is someone who thinks he knows everything, but he does not.
He blames everything on everyone else.
He is never wrong, we are always wrong. That is probably what he is always thinking.
Clients who enter the store are precious (makes sense-you have to handle clients well, to get more bucks), but the thing is that he even screams near the clients at us. Besides of that I am new there. Be a little bit more patient, fucking prick.
Imho he is too old for the tech industry.
He loves to use the workers as slaves.
Do you work on a laptop rn? Well... fuck that. He has a new task waiting for you.
He keeps interrupting me every 5 to 10 minutes while I am focused.
Random dialogue from today:
me:"the client did a win10 upgrade and not a regular windows update"
boss:"nope. that is a windows update."
me (internally): should I show him the folder called "Windows10.Upgrade" and the "windows.old" folder both with the same creation date in "c:"? nah, fuck that. he is gonna put himself up again. do not want to have a stronger headache than this one I am having rn. (btw. I usually do not have headaches. I get headaches like once in 5 years, but since 4 days I have it every day.)
I am sick of this.
Today I had the urge to fucking grab his fucking "fuck me please" eyes out and eat them while he hears the explosive sounds his seperated eyes do. I still want to enjoy the rest of my life without going into a prison tho.12 -
Katie, we get it, you know and like Scala. You mention this often.
It doesn't make you superior to everyone else. And it certainly doesn't mean you have to pretend every language is Scala, ignore any language-specific paradigms and conventions, and bastardise every bit of code you write until it's done in the most weirdly Scala-ish functional way possible even when it makes zero sense to do so.
Stick with the conventions of the existing language & codebase you muppet. Yeah, it's boring and won't turn you on, but it's a hell of a lot more readable than a random bastardised mixin in the middle of another existing inheritance hierarchy.8 -
Good question, what wasn't bad about 2020?
As far as good things go.. well, COVID-19 actually. Back in February the lockdown began in Belgium, and while many people got bored out of their minds, I actually became a lot more productive. So many projects started back then, and I got a lot better at programming because of it. Now I can confidently write most bash stuff without ever looking anything up. And the code is maintainable, on account of putting everything into functions. You can literally navigate the code just by looking at it. On older code I always had issues with that.
I'm very glad that essential travel even back then wasn't really restricted. Because my bank is retarded about online banking, I have to go to the bank every so often to check my balance. At the time I tended to do that late in the evening, when nobody else was outside and I had the entire town to myself. That was one of the travels considered essential. So I kept doing it and made that my biweekly walk. I really enjoyed that. Gets your mind off things.
Bad things would be the utter stupidity that the general public had shown me during that pandemic. Burning down 5G antennas and not even getting the right ones, toilet paper, 5G death beams in street lamps?! They even sent death threats to telco workers over sensationalist bullshit from what IIRC was just a random Twitch streamer. Those people should just fucking kill themselves, choke yourselves in that pile of toilet paper you got yourself and then called yourself financially challenged. You braindead fucking retards!
Another dev-related thing is the normalization of SJW terminology. Now even "blind playthrough" gets your ass banned on Twitch. I saw a tweet about a Twitch employee (I think) proudly saying that they implemented it. Most upvoted comment on it was from a blind person, asking why they did this and not made the Twitch app more friendly to use for blind users. They too thought this was bullshit. Yet it still got added in, and more and more people are starting to think that "this is fine". Hell even that "this is necessary".
What annoys me the most is that this mostly comes from the US, where around that time they laid their knee on George Floyd, and didn't fix their legal system at all. As a European it baffles me since we have many immigrants here (the Drumpf even called Belgium a hellhole over it) and we just don't give a shit about whether or not they are "truly Belgian". We just let them live their daily lives like everyone else. Imagine just not giving a shit. Imagine not bothering them, not with racism, not with reverse racism, not with anything. Just let them do their thing and that's it. Yet despite Belgium being one of the most inclusive countries in the fucking world, I still got called a racist many times for asking.. why did you implement this? Why this, and not tackling the problem at its actual and pretty fucking obvious core?
So all in all I can only hope that 2021 will get a little bit better. But that's the same thing I said in 2019, and it didn't quite come true.11 -
I know Google isn't the worst company in the world. But some of their data tracking just seems a bit odd. Such as keeping audio logs each time you use Google on your phone. Or when it picks up random bits of conversation. Along with them keeping track of where your going, and where you have been. Even if Google maps isn't running.
And one of my all time favorites is when Google Allo was a thing, it used to have access to my camera randomly without actually opening the app. My phone will tell me different logs each time Allo opened the camera without my permission.
I know they need to collect data in order to advance some of their fields of tech. But it just seems a bit intrusive when companies like Google do this.11 -
I once agreed to maintain and develop an application used in a different section of the school to keep inventory and make sure everything is where it is supposed to be.
At first there was enthusiasm, together with 2 of my classmates we agreed and git clone-d the .NET application that now graduated students built and maintained for the past few years. What could go wrong right?!
It became clear that the original students that worked on it followed an older curriculum, meaning they still got taught .NET instead of the core variant that we get now, not only that but it also seemed that they either did not fully grasp the Clean/Onion architecture or didn't get it in class since there were infrastructure components in the 'Domain' project of the solution. Think of 2 DBContexts in the domain model, yep.
One of us bailed in the first week, the other one and I felt bad for the people using the app so we went on and tried to work on the first bugs that were described in a document. One of these bugs was 'whenever I filter on something in the list, everybody gets to see that filter on their screen instead of only me'. Woah that's weird! Let's see how they put that together!
Oh god, they are using a _static_ variable to store filters, no wonder that it doesn't work properly. Ever heard of sessions?!
Second bug: Sometimes people can't create an account when we sign them up from the admin panel. Alright that is weird, let's figure that one out! Wait a second it seems to work in development? What's this about.
Oh wait I can't create an account on production either? Oh that's weird, wait a second... Why do I have to put my e-mail in a form that was sent to me through e-mail? Why is my address not filled in already? OOH, if someone types in the wrong e-mail address (which is easy since our school has 4 variants of the same f*cking e-mail address) it won't work since it can't recognize the user! Brilliant! Remove e-mail input box and make a token/queryparam determine the user account.
Ah that seems good, it's a mess but it seems a tiny bit better now, great! We're making progress and some sweet buck.
Next bug, trillions of 50x errors on random pages, that's a weird one.
Hm everything works in development, that's odd. Is the production data corrupted?
DID I MENTION that in order to get into the system in development we have to load in a f*cking production database backup ON OUR DEVELOPMENT MACHINE and then ask one of the users' password to login to it and create an account for ourselves? Seeding? What's that, right?!
Anyway, back to bug fixing. I e-mail the the people responsible for the app and get a production admin account, oh I also can't ssh into it because of policies so I have to do everything over e-mail and figure out what's causing the errors. I somehow also wonder if they have any kind of virtualization in place, giving students a VM to do that stuff in doesn't seem so weird does it ? Even with school policies?
Oh btw, 'deploying' means sending a .zip file to a guy in another building and telling him how to configure it, apparently this resulted in a missing folder that the application needed to work and couldn't make on its own. This after 2 weeks of e-mailing back and forth.
After 3 months i quit out of despair and sadness, and due to the fact that I just couldn't do it anymore. I separated everything into logical subprojects and let the last guy handle it, he was OK with that and understood why I left.
Luckily, around that time I already had an actual job at a software development company :)3 -
I’m fairly new to maintaining my own webservers. For the past week the servers (two of them) kept crashing constantly.
After some investigation I figured it was due to someone running a script trying to get ssh access.
I learned about fail2ban, DOS and DDOS attacks and had quite a fight configuring it all since I had 20 seconds on average between the server shutdowns and had to use those 20 second windows to configure fail2ban bit by bit.
Finally after a few hours it was up and running on both servers and recognized 380 individual IPs spamming random e-mail / password combos.
I fet relieved seeing that it all stopped right after fail2ban installation and thought I was safe now and went to sleep.
I wake up this morning to another e-mail stating that pinging my server failed once again.
I go back to the logs, worried that the attack became more sophisticated or whatever only to see that the 06:25 cronjob is causing another fucking crash. I can’t figure out why.
Fuck this shit. I’m setting another cronjob to restart this son of a bitch at 06:30.
I’m done.3 -
Most succesful project was around this time last year.
A scary club of privacy haters made a 'webapp' to advise people what to vote for in the national elections.
The tool was really bad in multiple ways. For instance, if two parties would score the same amount of points, one would, at random take second place without conveying this to the user.
Oh and it also collected all the data people entered "for scientific purposes". A very sketchy practice, a non profit, funded by the government and George Soros (I kid you not, illuminatie confirmed ;) ).
The tool had this disclaimer on the bottom, saying this webapp needs cookies to function. So that triggered me to make a copy of the tool that works better and ... offline, and without cookies. You could download a html file and turn of your wifi (for the paranoid ppl among us), use the tool, delete the file. No trace.
It was a little bit of tung and cheek project, a gimick, the original was called stemwijzer, mine was called offline stemwijzer.
It was a one day build and a day after launching I got a call of the original stemwijzer project leader. Demanding to take the thing offline for infringing copyright (yeah sort of was). I tried to explain him why I made this and why privacy for such things should be held in high regard. He basicly told me I was talking shit and did not want to discuss, I told him I don't take stuff offline because of phone calls. I told him to email me a seist and desist.
So that guy prolly had a stressful day (because of the launch of his tool), had a few glasses of wine, and wrote an email. He wrote me I was a pathtic kid and I should do more useful stuff. He wrote that anyone could program a tool like that. And he wrote me I should do him a favour not share this email with my measly amount of twitter followers. Super professional email.
So I did him that favour, I did not share it with my twitter followers, I shared it with one of the largest political blogs in the country.
My tool sort of took of after that. To stop infringing copy right I changed the name and I removed their content from the script and wrote instructions on how to copy and paste in the json content yourself and "make your own tool".
The response was great, people actually emailed me job offers and I think that the current job I have is due to the succes of said project. So be balsy, challenge giants, start riots, it will get you places.2 -
Sorry, long since my last post...
I have quit my job recently at DERP & CO.. The level of anxiety was already somewhat of medical severity.
For months I had been in a project that not only did not progress, but that it was getting worst day by day.
A bit of Context
November: "Dev, junior anon needs you to help him on the SHIT project because they are running out of time, it is mainly doing unit tests."
Well, the code was a mess, there was a LOT of copy paste and it was all bad quality (we talk about methods with complexities between 80 and 120 according to SONAR QUBE).
Dev: "Anon, you know this is wrong, right?"
Anon: "Why? it works"
Dev: after long explanation.
Anon: "Oh well, yes, from now on I will take it into account." And he did it / try his best.
Dev does the unit tests and do extra work outside of the reach of the sprint (y than i mean work after hours, classic) and alerts the boss of the mess.
December: After a project of approximately 6 or 8 months of development, the boss discovers that the junior anon have been doing everything wrong and/or with poor quality (indicating that throughout the whole development the quality of the code was NEVER checked nor the functionality).
Boss: "This is a shit. Dev, you have to correct all the errors and warnings marked on sonar", which are around 1200 between smelling code, high risk errors, etc.
Dev fixes something like 900 bugs... lots of hours...
Boss: "This still is all wrong, we have to redo it. We will correct the errors leaving something stable and we will make a new repository with everything programmed as it should be, with quality and all"
- 900 corrections later, now are irrelevant -
Boss: "Dev, you will start to redo it, anon is out on other project. First you must leave the existing one working properly"
Dev: "ok ..."
January: How can I correct the mess if the client asks for more things. I am just fixing the mess, doing new functionalities, and when I have free time (outside the work) I try to advance the new repository, poorly I must say because burntout.
Boss: "Everything should be arranged at the end of January, so that you can redo everything well in February."
I can't handle everything, it starts to fall further behind. Junior Anon quits the job.
February: Big Bad Bugs in the code appear and practically monopolize the month (the code is very coupled with itself and touching in one place sometimes meant breaking other stuff).
Boss: "It can't be, you've been with this since January and you haven't even started correcting this mess in the new repo"
Dev: "It is that between the new things that are requested and the bugs I cannot put myself with that"
Boss: "Do not worry, you will be helped by random dev if you needed. SPOILER ALERT: random dev is allways bussy. Not made up bussy, He had a lot of work by itself, but it can't help me the way I need it.
High anxiety levels, using free time to try to reduce the work left and gradually losing the taste for develop.
March: So far, not only do they add new things day and day, but now they want to modify things that were already "ok", add new ones and refactor everything in a new repo. I just did not see an end of this nonsense.
Dev breaks, the doctor says it's anxiety, so I just know what I have to do.
Dev: "I quit my job"
Cool Manager: "Damn, why?"
Explain everithig
Cool Manager: "Do you want to try if I can change you to other project or anotjer scope on the same project?"
Dev: "Thanks, but no Thanks. I need to stop for a while".
End. sry for long sad post and maybe poor use of English (?) Not my native language.10 -
"Did you manage to reproduce this issue in-house?"
Yes, off course we managed to reproduce your fucking random reboot issue that happen to two in thousand customers and might happend just after boot of after several hours or days or not at all when you, as you said yourself, were doing nothing. While at it we also turned lead to gold, water to wine and resurected Elvis (although he is a little bit grumpy and mumbles something about brains). -
dev, ~boring
This is either a shower thought or a sober weed thought, not really sure which, but I've given some serious consideration to "team composition" and "working condition" as a facet of employment, particularly in regard to how they translate into hiring decisions and team composition.
I've put together a number of teams over the years, and in almost every case I've had to abide by an assemblage of pre-defined contexts that dictated the terms of the team working arrangement:
1. a team structure dictated to me
2. a working temporality scheme dictated to me
3. a geographic region in which I was allowed to hire
4. a headcount, position tuple I was required to abide by
I've come to regard these structures as weaknesses. It's a bit like the project management triangle in which you choose 1-2 from a list of inadequate options. Sometimes this is grounded in business reality, but more often than not it's because the people surrounding the decisions thrive on risk mitigation frameworks that become trickle down failure as they impose themselves on all aspects of the business regardless of compatibility.
At the moment, I'm in another startup that I have significantly more control over and again have found my partners discussing the imposition of structure and framework around how, where, why, who and what work people do before contact with any action. My mind is screaming at me to pull the cord, as much as I hate the expression. This stems from a single thought:
"Hierarchy and structure should arise from an understanding of a problem domain"
As engineers we develop processes based on logic; it's our job, it's what we do. Logic operates on data derived from from experiments, so in the absence of the real we perform thought experiments that attempt to reveal some fundamental fact we can use to make a determination.
In this instance we can ask ourselves the question, "what works?" The question can have a number contexts: people, effort required, time, pay, need, skills, regulation, schedule. These things in isolation all have a relative importance ( a weight ), and they can relatively expose limits of mutual exclusivity (pay > budget, skills < need, schedule < (people * time/effort)). The pre-imposed frameworks in that light are just generic attempts to abstract away those concerns based on pre-existing knowledge. There's a chance they're fine, and just generally misunderstood or misapplied; there's also a chance they're insufficient in the face of change.
Fictional entities like the "A Team," comprise a group of humans whose skills are mutually compatible, and achieve synergy by random chance. Since real life doesn't work on movie/comic book logic, it's easy to dismiss the seed of possibility there, that an organic structure can naturally evolve to function beyond its basic parts due to a natural compatibility that wasn't necessarily statistically quantifiable (par-entropic).
I'm definitely not proposing that, nor do I subscribe to the 10x ninja founders are ideal theory. Moreso, this line of reasoning leads me to the thought that team composition can be grown organically based on an acceptance of a few observed truths about shipping products:
1. demand is constant
2. skills can either be bought or developed
3. the requirement for skills grows linearly
4. hierarchy limits the potential for flexibility
5. a team's technically proficiency over time should lead to a non-linear relationship relationship between headcount and growth
Given that, I can devise a heuristic, organic framework for growing a team:
- Don't impose reporting structure before it has value (you don't have to flatten a hierarchy that doesn't exist)
- crush silos before they arise
- Identify needed skills based on objectives
- base salary projections on need, not available capital
- Hire to fill skills gap, be open to training since you have to pay for it either way
- Timelines should always account for skills gap and training efforts
- Assume churn will happen based on team dynamics
- Where someone is doesn't matter so long as it's legal. Time zones are only a problem if you make them one.
- Understand that the needs of a team are relative to a given project, so cookie cutter team composition and project management won't work in software
- Accept that failure is always a risk
- operate with the assumption that teams that are skilled, empowered and motivated are more likely to succeed.
- Culture fit is a per team thing, if the team hates each other they won't work well no matter how much time and money you throw at it
Last thing isn't derived from the train of thought, just things I feel are true:
- Training and headcount is an investment that grows linearly over time, but can have exponential value. Retain people, not services.
- "you build it, you run it" will result in happier customers, faster pivoting. Don't adopt an application maintenance strategy
/rant2 -
my friend was bragging how he could program a game on his TI-84 calculator
it was just a (buggy) random number game
I told him good job, I program a bit, too
he said "yeah? what do u do?"
I said "I made two apps"
he walked away
I thanked god -
So we got a new developer
And his first task's PR is a pure copy paste off a random website that I managed to find in less than 1 minute of searching for the feature on Google
And I mean that's cool and all, because we all do that sometimes
But my oh my, he didn't even bother changing it one bit, hell it didn't even fit the purpose and it was weirdly imported as a separate class instead of it being added as an extension on the existing base class
Like wtf man, at least put some effort into the 5 minutes it took you to find, copy and paste that in3 -
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 -
Just go to GPT and get me the code today!!!
Like wtf why does every non-tech guy thinks GPT is the solution for each problem.
So, a workmate wanted a fullstack system ready in 2 days and argues that its too easy with GPT. I mean yeah GPT helps, sometimes, on frequent rare occasions. But, that can't be the solution to everything, like ask it to setup the whole backend frontend integration, will it? ask it to manage assets will it? ask it to write complex code, it fails, miserably, okay like me but that's the point. Just because random transformers pop up each week containing some random shitty weights (not always agreed) that can't replace a full stack developer. These 'attention' seeking models are as good as another tool, a bit efficient, but at the end of the day its just a tool, all it does is lessen the typing time but gives more errors too. The average time remains the same. And my non-tech manager can't understand he can't do it himself earlier using GPT. Succkkkkkkssss!5 -
Cocktail Development #1 - Codename: Devjito
Hello fellow developers! I was enjoing some sweet selfmade cocktails lately. One of the commentators shouted out for me to "don't stop the cocktail rants!".
But, because I didn't wanted to just "Post random cocktails", I tried to develope my own cocktails. Afterwards I will share my experiences while creating these with you, and of course, the recipe!
So first we got my Experiment: Devjito - A Cocktail for all of you fellow programmers!
What we need:
- 4cl Tequila
- 4cl Wodka
- 4cl Dry Gin
- 4cl White Rum
- 2cl "Grenadine" Syrup
- 2 teaspoons of white sugar
- 8cl of Orangejuice
- Sodawater
- Icecubes
- Mintleaves(?dunno if right? Me German don't hate)
- Orange for decorational purposes
Recipe:
First get a tall glass, pour the sugar in it, wash the mint and stick it in there.
Get your favourite cocktail shaker, pour all the liquor in it (the Tequile, Wodka, Gin and Rum) + the orangejuice and icecubes. Shake 20 seconds and dance while shaking, also don't forget to try out eating your devRant Stressball (Leave note in comments who gets this reference).
After shaking pure the "semi cocktail" into the glass with the mint and sugar. Get your masher (I guess this is the right word?) and mash your mintleaves with the sugar and the cocktail. Afterwards, fill the glass mostly up with sodawater.
Now the trickey part: to make it look cool, get your Barspoon and the Grenadine Syrup. Stick the spoon in the glass and let syrup slowly flow in the cocktail, this will make the "red shine" shown in the image attached to this rant.
Finally, stick an orange slice on the glass and enjoy!
My Impression: It's a bit stronger than a normal Tequila Sunrise, but better for the people which don't like sour or "liquor only cocktails".
Thanks to @cafecortado and @CoffeeNcode but also the other commentators!
(An image of the ingredients will be attached as comment)
EDIT: @oudalally mentioned it correctly JES it tastes very sweet!8 -
So today, me, the pacifistic "linux is not THAT great"-guy, was like well let's try ubuntu 17.10 (cus in the end i want a reliable os with no to less maintenance).
So i installed it next to my loved windows.
Clicking a link seems to have an hard coded delay of about 3-5 seconds until the pages actually start loading in ff on linux, so i was like maybe it's because there is a wall between me and my router..
Went into the other room.
I have one bar WLAN strength. I stand next to my router. What the fuck.
Hmm, could be sth else, let's don't be an asshole and blame linux, let's check windows. Full wlan, full speed, all good.
So my point is proven: you want to fiddle around a bit, do some coding with serial-connected devices, want a shell that actually is usable and you like to procrastinate by doing some random maintenance? choose linux.
If you need to be productive with other things, use windows.4 -
Very random, I’d normally post this on twitter but my girlfriend is there and it’s about her. A bit long and very personal...
to;dr My girlfriend and soon to be fiancé officially who is certain we are going to marry, doesn’t want to invite people to our wedding anymore because she doesn’t have close friends like I do and I’m quite disappointed.
My girlfriend and I have been planning to get married for a while now at least 18 months. I haven’t asked her to marry me yet officially but I know she’ll say yes because we’ve discussed it. We’ve spoken about a small wedding with a few friends not much family but the more we spoke about it the more she’s reduced how many people we should invite. Today she basically said she doesn’t want to invite anyone because she doesn’t have any friends she’s that close to or trusts like that.
By comparison I have about 5 best friends I can count on any day of the week and at least 5 other friends I’d want to be there. We’re both introverts but I’m close to some of these guys because we have similar mental illnesses and trauma from our youth and we gravitated to each other like magic. She kinda gets jealous of that sometimes or sad that she isn’t close to anyone like that besides me. But not like a toxic jealousy or anything. I’m pretty disappointed that at this point it really may just be us at our wedding.
I’m a romantic and the day will be great regardless, after all it’s her I’m marrying not them. On the flip side I’ve always seen my wedding day as something I’d get to share with my close friends I wanted to get married in the past in fact this would be the second time I’d propose to someone. She’s the one that made me feel like I’d marry again after the first engagement went terribly.
I’m disappointed and if I bring it up too much it’s just gonna make her feel awkward and cave for me but I don’t want that. Gonna marry her regardless though.13 -
We had a Christmas party at work. We did a traditional white elephant gift game. I stole some larping swords from one guy, somebody else stole them from me, and another guy named Bilbo stole them and ended up with them.
After the party I am at my desk. Bilbo comes over with the swords and gives them to me. He said, "You looked like you really wanted these." I said thank you. I was really touched by that gesture.
Bilbo had tried to get golf balls during the game and lost them. So I went to the store at lunch today and got him a 12 pack of Titleists for $25. I don't golf, but people I work with say they are good. I left these on his desk. He comes to me later and says, "I cannot accept these. It is just too much money." I said its not too much and explained I was touched by his gesture. He tells me to take them back and get something nice for myself. Which is another nice gesture. Bilbo said when we get back from Christmas break we can do lunch.
So I am a bit baffled. Did I cross a line I shouldn't cross? Is Bilbo just too nice? I was really hoping he would enjoy this. I get it. We are coworkers and not family. I truly respect and like the guy.
Anyway, I am unsure what to do with them. I didn't really want to take them back. I tried to give them to another guy I work with and he wouldn't take them either. One talked about paying for them then decided he didn't want them. I have more shopping to do so I can take them back then. It kind of weirds me out to say $25 is too much money. I can hardly go a day without spending that much on a couple of random small things.9 -
So a few days ago windows decides to update. No alerts, nothing. Just a random update. 4 HOURS LATER it's still going "hi, we have a new update for you". By hour 5 it's finally done. My wonderful new desktop is a black screen with broken keyboard drivers (mouse still works somehow) and the other user accounts are also broken (but explorer somehow still loads). Then these motherfuckers have the nerve to send a dialog saying "congratulations on updating Windows to the latest version" ...... ;-;
reinstalled windows and everything works again. just need to download ~500Gb of programs on a >1mb/s connection.
fml
ps. this is my first rant, sorry if it's a bit incoherent.1 -
A bit random, but I decided to put a perpetual clock inside my illusion mirror with a bunch of LED's while it was slow at work today xD1
-
Storytime!
(I just posted this in a shorter form as a comment but wanted to write it as a post too)
TL;DR, smarts are important, but so is how you work.
My first 'real' job was a lucky break in the .com era working tech support. This was pretty high end / professional / well respected and really well paid work.
I've never been a super fast learner, I was HORRIBLE in school. I was not a good student until I was ~40 (and then I loved it, but no longer have the time :( )
At work I really felt like so many folks around me did a better job / knew more than me. And straight up I know that was true. I was competent, but I was not the best by far.
However .... when things got ugly, I got assigned to the big cases. Particularly when I transferred to a group that dealt with some fancy smancy networking equipment.
The reason I was assigned? Engineering (another department) asked I be assigned. Even when it would take me a while to pickup the case and catch up on what was going on, they wanted the super smart tech support guys off the case, and me on it.
At first this was a bit perplexing as this engineering team were some ultra smart guys, custom chip designers, great education, and guys you could almost see were running a mental simulation of the chip as you described what you observed on the network...
What was also amusing was how ego-less these guys seemed to be (I don't pretend to know if they really were). I knew for a fact that recruiting teams tried to recruit some of these guys for years from other companies before they'd jump ship from one company to the next ... and yet when I met them in person it was like some random meeting on the street (there's a whole other story there that I wish I understood more about Indian Americans (many of them) and American engineers treat status / behave).
I eventually figured out that the reason I was assigned / requested was simple:
1. Support management couldn't refuse, in fact several valley managers very much didn't like me / did not want to give me those cases .... but nobody could refuse the almighty ASIC engineers. No joke, ASIC engineers requests were all but handed down on stone tablets and smote any idols you might have.
2. The engineers trusted me. It was that simple.
They liked to read my notes before going into a meeting / high pressure conference call. I could tell from talking to them on the phone (I was remote) if their mental model was seizing up, or if they just wanted more data, and we could have quick and effective conversations before meetings ;)
I always qualified my answers. If I didn't know I said so (this was HUGE) and I would go find out. In fact my notes often included a list of unknowns (I knew they'd ask), and a list of questions I had sent to / pending for the customer.
The super smart tech support guys, they had egos, didn't want to say they didn't know, and they'd send eng down the rabbit hole. Truth be told most of what the smarter than me tech support guy's knew was memorization. I don't want to sound like I'm knocking that because for the most part memorization would quickly solve a good chunk of tech support calls for sure... no question those guys solved problems. I wish I was able to memorize like those guys.
But memorization did NOT help anyone solve off the wall bugs, sort of emergent behavior, recognize patterns (network traffic and bugs all have patterns / smells). Memorization also wouldn't lead you to the right path to finding ANYTHING new / new methods to find things that you don't anticipate.
In fact relying on memorization like some support folks did meant that they often assumed that if bit 1 was on... they couldn't imagine what would happen if that didn't work, even if they saw a problem where ... bro obviously bit 1 is on but that thing ain't happening, that means A, B, C.
Being careful, asking questions, making lists of what you know / don't know, iterating LOGICALLY (for the love of god change one thing at a time). That's how you solved big problems I found.
Sometimes your skills aren't super smarts, super flashy code, sometimes, knowing every method off the top of your head, sometimes you can excel just being more careful, thinking different.4 -
Not really a rant and not very random. More like a very short story.
So I didn't write any rant regarding the whole Microsoft GitHub topic. I don't like to judge stuff quickly. I participated in few threads though.
Another thing is I also don't use GitHub very much apart from giving 🌟 to repos as a bookmark. Have one hobby project there. That's all. So I don't worry that much. I'm that selfish and self concerned. :3
I was first introduced to version control system by learning how to use tortoisesvn around 2008. We had a group project and one of the guys was an experienced and amazing programmer unlike the rest of us. He was doing commercial projects while we were at our 1st and 2nd year. Uni had svn repo server. He taught us about tortoisesvn. He also had Basecamp and taught us how to use it as well. So that's how I learned the benefits of using versioning tools and project management tools. On side note, our uni didn't teach any of those in detail :3
After that project, I was hooked to use versioning tools. So until school kicked me out, I was able to use their svn server. When I was on my own, I had to ask Google for help. I found a new world. There are still free svn services that I can use with certain limited functions. That's not the new world; I found people saying how git is better than svn in various ways. It was around 2010,2011.
At first I was a bit reluctant to touch git because of all the commands in terminal approach. But then I found that there is tortoisegit. I still thank tortoisesvn creator for that. I'm a sucker for GUI tools. So then I also have to pick which git servers to use. Hell yeah, self hosted gitlab is the way to go man. Well that's what the internet said. So I listened. I got it up and running after numerous trial and error. I used it briefly. Then I came back to my country on 2012-2013; the land of kilobytes per minute (yes not second, minute).
My country's internet was improved only after 2016. So from 2013 to 2016, I did my best not to rely on internet. I wasn't able to afford a server at my less than 10 people, 12ft*50ft office. So I had to find alternative to gitlab which preferably run on windows. Found bonobo and it was alright. It worked. Well had crazy moments here and there when the PC running Bonobo got virus and stuff. But we managed. We survived. Then finally multi national Telecom corporates came to our country.
We got cheaper and faster mobile data, broadband and fiber plans. Finally I can visit pornhub ... sorry github. Github is good. I like it. But that doesn't mean I should share my ugly mutated projects to the rest of the world. I could keep using Bonobo but it has risks. So I had to think for an alternative. I remembered that gitlab didn't have cloud hosting service when I checked them out in the past. So I just looked into Bitbucket and happy with their free plans of 5 users and unlimited private repos. I am very very cheap and broke.
That's why I said I don't really care that much about the whole M$GitHub topic at the beginning. However due to that topic, I have visited GitLab website again and found out they have cloud hosting now and their free plan is unlimited users and unlimited repos. So hell yeah. Sorry BB. I am gonna move to cheaper and wider land.
TL;DR : I am gonna move to GitLab because of their free plan.4 -
I have a 24 hours hackathon tomorrow (25 hours actually because of the time change).
I want to learn and create an app and I opted for xamarin as a development platform. Problem was: I didn't have enough space in my windows partition (it's a ~40Gb partition in a 128Gb ssd) so, as I am not using Ubuntu that much I simply deleted its partitions from Windows and installed visual studio with xamarin. I played a bit with it, everything was working fine, I switched it off and I was feeling great for my wonderful problem solving abilities and I was ready to go to bed to have a nice 10 hours sleep before the big event. I was about to sleep when I realised it was my cousin's birthday and I hadn't said "happy birthday" so I switch my computer back on and there I realised how much I had fucked up.
The grub wasn't working anymore and I couldn't boot.
I've just spent the last 3 or 4 hours trying to figure out how to make my computer boot normally using my housemates' laptops to create bootable USBs for Windows and Ubuntu
Thanks to some random commands in the trial version of Ubuntu I managed to disinstall the grub and make windows start but thanks to my experimentations while trying to fix the problem I am now waiting for visual studio + xamarin (~35Gb) to download and install again.
Tomorrow's gonna be great7 -
!!!rant
Most exited I've been about some code? Probably for some random "build a twitter clone with Rails" tutorial I found online.
I've been working on my CS degree for a while (theoretical CS) but I really wanted to mess with something a bit more practical. I had almost none web dev experience, since I've been programming mostly OS-related stuff till then (C). I started looking around, trying to find a stack that's easy to learn since my time was limited- I still had to finish with my degree.
I played around with many languages and frameworks for a week or two. Decided to go with Ruby/Rails and built a small twitter clone blindly following a tutorial I found online and WAS I FUCKING EXITED for my small but handmade twitter clone had come to life. Coming from a C background, Ruby was weird and felt like a toy language but I fell in love.
My excitement didn't fade. I bought some books, studied hard for about a month, learned Ruby, Rails, JavaScript, SQL (w/ pg) and some HTML/CSS. Only playing with todo apps wasn't fun. I had a project idea I believed might be somewhat successful so I started working on it.
The next few months were spent studying and working on my project. It was hard. I had no experience on any web dev technology so I had learn so many new things all at once. Picked up React, ditched it and rewrote the front end with Vue. Read about TDD, worked with PostgreSQL, Redis and a dozen third party APIs, bought a vps and deployed everything from scratch. Played it with node and some machine learning with python.
Long story short, one year and about 30 books later, my project is up and running, has about 4k active monthly users, is making a profit and is steadily growing. If everything goes well, next week I'll close a deal with a pretty big client and I CANT BE FKING HAPPIER AND MORE EXCITED :D Towards the end of the month I'll also be interviewed for a web dev position.
That stupid twitter clone tutorial made me excited enough to start messing with web technologies. Thank you stupid twitter clone tutorial, a part of my heart will be yours forever.2 -
TLDR;
I remissness about Yahoo site builder and talk about finding the record of the Google search that changed my life a long time ago and I think it's fucking great.
Earlier I re-installed google chrome but unlike every other time, this time I forgot to turn off the auto-sync feature. I only realized this when I opened gmail and it pre-populated my login info with the info of my very first, long forgotten gmail account.
So naturally I went exploring... after going through the mails I decided to check out the actual Google account to see if there was anything of interest there and lo and behold I found around 7 years of browsing history that I had no idea Google stored at the time.
As scary as it was to see I'm kinda glad about it now because aside from finding out that I was going through an Asian porn phase in 2008 I also found the one Google search record that changed my life.
It was a search to download Yahoo site builder followed by a bunch more on how to use it.
I had stumbled across a random article about it and it caught my eye because I needed a website for the grocery store I was a manager of back then.
Thankfully it was a fucking horrible WYSIWYG editor. I recall it acting almost identical to Word at the time - I would save and back up my site constantly because moving something 1px would fuck the layout up and burn everything to the ground, cntrl+z would try and do something, reversing only my last action while leaving the rest of the site in tatters and I didn't have the skills to understand or fix it...
Ultimately my frustration led me learn a bit of html & css and a week or so later It became apparent it would be easier to scratch code the damn thing so I uninstalled Yahoo site builder and started all over again.
Learning & building that site in notepad ignited my passion for coding and less than a year later I left my shitty dead end job to join a brand new tech company created with the help of a like minded investor officially employed as a developer. Let help you understand just how big this achievement was for me - I had been trying to find a job, ANY job in I.T even at a call center level without success for 6 years because I dropped out of school.
In 6 years as an active job seeker I only received one phone call about a job opportunity which ended very quickly once they realised they had misread my CV. In all those years I never even got a single job interview.
After that I spent the next 3 years rolling out and improving the cloud based loyalty card system I had written for my store out on a national scale and the rest is history. Since then I have never been judged by a crappy piece of paper, hated my job or struggled to find a new one.
What a beautiful search result that was to find.
I dedicate this rant to Yahoo, with my sincere gratitude for making a shitty WYSIWYG editor that was so bad it pissed me off enough to make me actually learn something.2 -
Devrant freezes when switching to different app then back again. A bit random though, has happened a couple of times but can't reproduce it.3
-
In an IT management class, the professor wanted us to estimate the operation costs for a small IT company, breaking them down by service offered. I remember creating a markdown file, multiple times executing the line `echo $RANDOM >> estimations.md`. We rounded the numbers slightly, pimped the document a bit and submitted a nice PDF. When we had to present our work, the professor asked us how we had proceeded to calculate those results. We told him a story about an Excel file we worked on, but did not submit, because we thought he'd be interested in the end result and not care about those details. He asked us to submit that Excel calculation, because he wanted to comprehend our method. So we got together, created an Excel sheet, copied our "estimations" into column C and called it "service cost". For column B, we used the same "cost per man hour" value (scientifically estimated using the RAND() function) for every row. Finally, we divided the "service cost" by the "cost per man hour" for every row, put the result in column A and called it "effort (in man hours)". The professor, being able to "reproduce" our estimation, accepted our solution.2
-
Somebody, anybody, tell me what I'm missing here that makes this get mass-produced.
I've always been a bit if a pyro, and ive certainly made random, pointless texh for no valid reason beyond "why not?'. I also have dealt in international OEM sourcing and manufacturing. I even missed the selfie stick boom back before anyone knew they existed... muktille faxriries I've done signing business with were selling them(dead stock) below cost due to lack... silly me thought they were too ridiculous; one of my hudiness cards literally says ".Really cool stuff you almost alwats want... but never need". Most nonsense novelty is the majority of one if my businesses
...but seriously... who thinks a rechargeable battery, compact soeakers, and lit gas canister is a good idea??
I think I may need to re-rank my mental list of most asinine things I've encountered this week... wsl GUI capability built-in with default images and the reminder of pointoess features like passwords for groups, seem less worthy now.27 -
When I was a kid I wanted to be a carpenter like my dad, my parents reaction was always "just keep studying and you can do whatever you want, if you wanna study then do it and don't care about anything else we will help you".
Growing up I became a bit of a geek by hanging out with my uncles (they were the pc gurus in the old days, not anymore hehe). When choosing a college major I knew I wanted it in some kind of engineering, but had no idea besides that, I ended up choosing CS somewhat random and loved the thrill of solving problems so I stuck with it. During it all my parents only really said "as long as you study so you can have what we couldn't give you and do something you like, we will support you!"
I love my parents! 😄
Side note: I think my parents love to be able to brag about my accomplishments, kind of feels like they are entitled to though, since pretty much everything is thanks to them!4 -
I'm not sure if this should be a joke or random, but the SBB train info screen in St. Gallen on platform 5 just decided to interpret the data given a bit differently than intended.
It is not broken and no other screen has that problem. What could it be, I wonder. But I don't care enouht to post it as a question.
I guess random would have been more appropriate.13 -
So I got my compute shader rasterizer working pretty well now which is great. I now also have a fallback to hardware rasterization for triangles which are a bit sussy (mostly just too large) and getting that implemented without tanking performance (gazillion threads hitting the same atomic variable at the same time) involved some tricky workgroup/subgroup hackery but I'm happy with it
Only problem... I have like 90%+ SM occupancy (which is great) but I also have 90%+ SM occupancy which means the nvidia drivers think I'm mining cryptocurrency and start bottlenecking my compute performance at random. It slowly goes up to 3x, then it slowly goes down again, then it slowly goes up again... argh
Thanks, miners 😐8 -
Just found the most embarrassing security hole. Basically a skelleton key to millions of user data. Names, email addresses, zip codes, orders. If the email indicates a birthdate, even more shit if you chain another vector. Basically an order id / hash pair that should allow users to enter data AND SHOULD ONLY AUTHORIZE THEM TO THE SITE FOR ENTRING DATA. Well, what happend was that a non mathing hash/id pair will not provide an aith token bit it will create a session linked to that order.
Long story short, call url 1 enter the foreign ID, get an error, access order overview site, profit. Obviously a big fucking problem and I still had to run directly to our CEO to get it prioritized because product management thought a style update would be more important.
Oh, and of course the IDs are counted upwards. Making them random would be too unfair towards the poor black hats out there.1 -
I'm sure this has been ranted about before because I can hardly be the only one.
Android development and the upgrade dance.
Things were worse in the bad old days of eclipse but it's not like they're peachy now, either. Android is one of many platforms I'm developing for - c++ back-end, running on lots of different platforms through a thin bit of platform specific glue.
That's all I care about - that this thin bit of glue just works. I want to write this stuff, forget about it and get on with solving what I feel are real problems, for me, in my code.
The trouble is, I'm never finished writing this and android is one of the worst. With every revision change, google changes *something*. New build system? Why not, you indie developers have *loads* of time and resources to waste on that, don't you? Some weird thing just stops working for no apparent reason? You guys love to drop whatever it was you were working on to figure out what the hell ' android.app.Instrumentation' does and why it can't talk to my main class any more, or why I even need it but nothing in that error message about what I might do to fix this arcane random error.
Google have all the resources in the world, I do not. Yet I have to dance for them, every time I upgrade.
Can you guys please funnel some of your practically infinite resources in to making this stuff 'just work'? -
Yet another day at my company, Im rewriting some old code for client (rewriting old, php 4 system for vindications managment) and you know the moment when you are focused and someone comes to you to absolutely ruin your focus. Fine, whatever. Oh, for fuck sake. Again dev is doing as support becouse one moron with second can't login into zimbra admin panel and add fucking mailbox. I show them exacly how they login, remind them they are admins too, slowly show them, so you click "manage" than you click that gear icon and than you click "new", fill in email address and password. As simple as 1-2-3. Okay, fuck it, time to go for a cig. I just finish up few lines and stand, grab my vape and start walking towards door. In door I find my buddy with 2 random people. He told me that they are interns and that I should show them some basics and stuff around that. Oh god, fuck my life. If anything, Im definitely very bad teacher, mainly becouse I often have problems with saying what I mean in the way that somebody actually understans and knows what I am trying to say. Whatever. Fuck it all. I grab two of our old laptops that nobody used in like a year or so, and first thing I quickly figure out, is that one day for some what the fuck reason I dont even dont bothered to remember I installed Arch on both while I dont usually use Arch. I just needed it for some specific reason. Whatever. So I guess I will need to upgrade fucking system. Our network isn't really great so that was like... hour or so. In the meantime I figured what they know about coding in general etc, and holly shit. One of them (there was boy and girl), girl, apparently never ever in her life even touched code. Well... fuck. Why am I wasting my time? Becouse there was some programme or some shit like that... Someone could tell me before so I could mentally prepare.. fuck it. whatever. So while laptops are doing their pacman thing, I sit with them and slowly start to explain based on my machine some really basic concepts. Second guy actually had some expirience, he knew how to make some really really basic logic and stuff, so he had another world of problems, becouse it was PHP and, as we all know, everyone hates PHP, and... yeah.. You can probably imagine his approach. Yes, you get user input in super global array. I really wanted to say "Now shut the fuck up and write that fucking $_POST".
hour or so passed, I was close to giving up to not let my anger rise (im not really good teacher... I mentioned it. I suck at teaching others) but luckly machines upgraded. He wanted to use visual studio code, she didnt care too much, so I installed phpstorm in trial mode. whatever. Since that's linux and they were not comfortable with that, I walked them through installing LAMP stack, and when finally it started to look like LAMP stack, I requested them to google how to install xdebug, becouse xdebug is very usefull and googling skill is your best weapon on that field. I go for cig, come back and what I see boiled me a little bit. The girl was stuck looking at github page randomly looking through xdebug source code and idk... hoping for miracle (she admited she thought there will be instructions somewhere) and the guy was in good place, xdebug has a place to paste your phpinfo() for custom instructions. But it didn't work for him, he claims that wizzard told him it cant help him.. hmm intresting, you are sure you pasted in phpinfo? yes, he is sure. Okay, show me.
Again mindblown how someone can have problems with reading.
so his phpinfo() looked like that:
```<?php
phpinfo();```
I highlighted on the page the words "output of phpinfo". He somehow didn't see it or something. He didnt know, he thought that he needs to put in phpinfo so he did. OMG.
Finally, I figured out I can workaround my intern problem, and I just briefly shown them php.net, how documentation looks, said to allways google in english, if he uses tutorial to read whole fucking thing, not just some parts of it, and left them with simple task, that took them whole day and at which they ultimately failed.
To make 3 buttons labeled "1" "2" "3" and if someone presses one of them, remember in session that they pressed it and disallow pressing other ones.
Never fucking again interns. Especially those who randomly without apparent reason almost literally just spawn in front of you and here, its your fucking problem now.
Fuck it, I have some time to get back to my stuff. Time is running so lets not waste it.
After around 15 minutes my one of my superiors comes in and asks me if I can go on meeting with him and other superior. My buddy goes with us, and next 3 hours I was basically explaining that you cannot do some things (ie. know XYZ happened without any source of information) in code, and I can't listen for callbacks from ABC becouse it wont send anyc cuz in their fucking brilliant idea ABC can't even know that this script would even exist, not to mention it wants callbacks.
Sometimes I hate my job.4 -
This is something that I hadn't done or that directly impacted me, but that had an effect in my life several years after it happened.
It's one of those stories that you think "this only happens to others", and then someday you're the "others".
So when I was born, I was, naturally, registered on the health care system. My parents chose an uncommon name for me (uncommon in my country) so I think I wasn't registered by the time of my birth, but 4 months later when all the bureaucratic crap came to an end (long story short, the guy that was there when it started died and my parents had to wait 4 months for another person to be appointed). So, when my parents finally went to register me, apparently, for some reason, the computer took my name and assumed it was a male name. As I've said, my name is uncommon in my country, there're probably 3 or 4 people with the same name here in Portugal.
Why did the computer assume it was a male name AND why didn't nobody check that? Since my parents had to ask to government entities to let them name me that name, I'm assuming it wasn't in their db. So why did it assume male? Was it purposely programmed that, by default, all "newly-registered" names were to be male? Was it random? Who the hell knows.
And how did nobody check that, every time I went to take vaccines? I don't think anyone told my mom that everytime we went there that the data was wrong, otherwise the situation wouldn't have lasted for 14 years.
We only knew about that mishap when it was time I had to take vaccines specifically for women and that I wasn't being noticed of it even though a friend 1y younger than me had already taken hers.
I find this story amusing but now that I started thinking about how it came to life (no pun intended) I'm actually a bit pissed off about how they didn't think of uncommon names and that how that could affect their registry in the system. They could have - IDK - placed "undefined" in that field so that it would caught the register's attention.
Moral of the story: don't assume stuff :v1 -
Since the end of my extended internship is slowly coming forth, I thought I'd (happily) ramble in the Random section for a bit:
*TL,DR: Internship went well, I learnt a lot*
The company I worked at made my experience with Frontend make huge leaps. I used both Vue and React, neither of which I had used before. I also learnt that you could mock things in unit tests instead of simulating full use. Finally, I also improved my experience with Kotlin again.
Both teams I have been in (since there was a switch due to a lot of people taking off days for holidays) told me that I am quite fast at grasping concepts I hadn't even heard of before, which is quite nice :)
Anyway, I wonder what the transition to school is going to be like.3 -
I managed to remember some old Bitwarden (password manager service, I remember that linuxxx recommended me this one a looong time ago) credentials, so I logged in. I found an old devRant account - not my first though (I deleted it).
I've been a random lurker all this time (this is the first dev community I've been and I'm not planning to leave it until it dies), and it's good to login just to give my 2 cents.
I love you all. Seriously. I love you all with every single bit of my heart (get it?), impartially. Thanks for existing.
Here's an interrupted "caramelCase posted a new rant!"; it's actually longer but a wild guy ++'d my comment.
p.s: seeing my avatar, I don't use c++ anymore. I've just grew with Python haha10 -
We had one group project where we made game. We had like 3 developers, one guy to do some artwork and one to do most of the project management. And at that point in the project I had done most of the work so far (but not because the others didnt do anything, I just had fun coding).
One day said artwork guy managed to accidentily revert 100 of my commits without even opening a single code file. He didn't know git and issued random commands. I wouldn't know how to fuck up a repository like that even if I wanted to. Usually I am rather calm but at that point I was a little bit pissed.4 -
Continuation from last rant
Yay I got my first internship as a software-engineer!
Now the story how I got it.
For my bachelor’s degree I need to get a internship, after searching companies in and around my area I found a company that focusses on app development. I’ve got some experience in that, And really enjoyed it. Well I figured why not apply there right. After not hearing anything about it for a week I gave up hope until I got called by an unknown caller.
They saw my e-mail and wanted to talk with me. So Super excited we made an appointment for today. Not knowing what to expect I came there about 10 minutes early searching for a receptionist or something. But they didn’t have one… then I just asked a random employee. He offered me a coffee and I waited a while. Until one of the senior developers brought me to the big boss of the company and the interview begun.
First they asked my about myself and what I do besides my study, once they had a good idea who I am they explained a bit about their products and how they developed them. Then the scary part started… They wanted to see my skills, And I hadn’t done anything with apps in a year. I showed them some code I wrote a year ago hoping it wasn’t as bad as I thought. So while feeling super uneasy about that they asked me on what skill level I thought I was. I told them I’d manage myself after a summer focusing on app development and they accepted me as a future intern.
Next week I get shown around the code base. And I start after the summer break.
Updates come when something interesting happens :D3 -
About skyRant. I really like what you're doing for establishing it as a third party app with the verify login thing. Technically there is no way for me to verify if the app I'm using is using that source code unless I built it myself, but still nice.
I do feel a bit odd about having additional data such as reactions on the skyRant platform. It's cool and all, but it degrades the experience for anyone not using skyRant. If I like someone's post with a ❤️ there is no guarantee that user will see it. Idk just some random thoughts, but very cool app! :)7 -
So I promised a post after work last night, discussing the new factorization technique.
As before, I use a method called decon() that takes any number, like 697 for example, and first breaks it down into the respective digits and magnitudes.
697 becomes -> 600, 90, and 7.
It then factors *those* to give a decomposition matrix that looks something like the following when printed out:
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
Each entry is a pair of numbers representing a prime base and an exponent.
Now the idea was that, in theory, at each magnitude of a product, we could actually search through the *range* of the product of these exponents.
So for offset three (600) here, we're looking at
2^3 * 3 ^ 1 * 5 ^ 2.
But actually we're searching
2^3 * 3 ^ 1 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
2^3 * 3 ^ 1 * 5 ^ 0
2^3 * 3 ^ 0 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
etc..
On the basis that whatever it generates may be the digits of another magnitude in one of our target product's factors.
And the first optimization or filter we can apply is to notice that assuming our factors pq=n,
and where p <= q, it will always be more efficient to search for the digits of p (because its under n^0.5 or the square root), than the larger factor q.
So by implication we can filter out any product of this exponent search that is greater than the square root of n.
Writing this code was a bit of a headache because I had to deal with potentially very large lists of bases and exponents, so I couldn't just use loops within loops.
Instead I resorted to writing a three state state machine that 'counted down' across these exponents, and it just works.
And now, in practice this doesn't immediately give us anything useful. And I had hoped this would at least give us *upperbounds* to start our search from, for any particular digit of a product's factors at a given magnitude. So the 12 digit (or pick a magnitude out of a hat) of an example product might give us an upperbound on the 2's exponent for that same digit in our lowest factor q of n.
It didn't work out that way. Sometimes there would be 'inversions', where the exponent of a factor on a magnitude of n, would be *lower* than the exponent of that factor on the same digit of q.
But when I started tearing into examples and generating test data I started to see certain patterns emerge, and immediately I found a way to not just pin down these inversions, but get *tight* bounds on the 2's exponents in the corresponding digit for our product's factor itself. It was like the complications I initially saw actually became a means to *tighten* the bounds.
For example, for one particular semiprime n=pq, this was some of the data:
n - offset: 6, exp: [[Decimal('2'), Decimal('5')], [Decimal('5'), Decimal('5')]]
q - offset: 6, exp: [[Decimal('2'), Decimal('6')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('5')]]
It's almost like the base 3 exponent in [n:7] gives away the presence of 3^1 in [q:6], even
though theres no subsequent presence of 3^n in [n:6] itself.
And I found this rule held each time I tested it.
Other rules, not so much, and other rules still would fail in the presence of yet other rules, almost like a giant switchboard.
I immediately realized the implications: rules had precedence, acted predictable when in isolated instances, and changed in specific instances in combination with other rules.
This was ripe for a decision tree generated through random search.
Another product n=pq, with mroe data
q(4)
offset: 4, exp: [[Decimal('2'), Decimal('4')], [Decimal('5'), Decimal('3')]]
n(4)
offset: 4, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('3')]]
Suggesting that a nontrivial base 3 exponent (**2 rather than **1) suggests the exponent on the 2 in the relevant
digit of [n], is one less than the same base 2 digital exponent at the same digit on [q]
And so it was clear from the get go that this approach held promise.
From there I discovered a bunch more rules and made some observations.
The bulk of the patterns, regardless of how large the product grows, should be present in the smaller bases (some bound of primes, say the first dozen), because the bulk of exponents for the factorization of any magnitude of a number, overwhelming lean heavily in the lower prime bases.
It was if the entire vulnerability was hiding in plain sight for four+ years, and we'd been approaching factorization all wrong from the beginning, by trying to factor a number, and all its digits at all its magnitudes, all at once, when like addition or multiplication, factorization could be done piecemeal if we knew the patterns to look for.7 -
by simply making the bias random on the second input for a two bit binary input during activation calculation, it's possible to train a neural net to calculate the XOR function in one layer.
I know for a fact. I just did it.16 -
Writing simple driver for AT24C256 eeprom on pico (RP2040)
It turned out it was FT24C256A, which should follow same protocol.
After literally over month of coming back to it, getting stuck again, rewriting things (including some functions of pico-sdk), i almost gave up a d started just yolo trying random shit.
Afterall the documentation on addressing the chip fucking missled me -_- (1st bit is r/w flag and 2-7 bits are address, counted from MSB->LSB)
I made it work yesterday.
In meantime Ive rewritten Wire library, Ive modified someone's else rewrite, extended sdk to allow getting i2c registers, tried to use tiny go just to learn it doesnt support i2c slave mode, resoldered entire thing few times, measured connections few too many times etc.
Frustrated I doubted I will ever manage to finish putting this project together because it looked like Im just too noob.1 -
There was a time in class, I was sitting next to my friend while fixing a couple mistakes in my HTML, at some point he looked at my screen and said "there's a random nine right here"...
I looked at it, I stopped whatever I was doing and yelled "nein" after he said that, then proceeded to take out the number he was talking about.
I'm actually part German, so I have a /pretty/ good angry German voice... (and Scottish actually, if I'm just a bit annoyed, haha)3 -
That might seem a bit random, but I started off this year with a nightmare (a literal dream) where I've fallen victim to remote code execution, because I cloned someone's git repo.
Is such a thing even possible? The closest thing I've found was this blog
https://blog.blazeinfosec.com/attac...
(and the info on it was already worrying enough), but that shouldn't have affected my dream computer.
Some details I more or less remember:
* The execution happened right after git clone
* The uri to the repo was a custom domain (no github, gitlab or anything)
* no submodules
* GNU/Linux3 -
Today i chartered new realms for me.
I created a new hyper-v vm on the company windows servers and added a 5th instance to it, but instead of running another windows server i installed an ubuntu 18.04 (cause i am a bit familiar with debian from my raspberry pi)
we have two servers, one which runs the 4 vms and a replica. I first had the new vm on the main server but it occured me to move it instead to the unusued replica machine. That kinda worked..i did a planned failover but the main server isnt configured to be the replica..and even when activating that it didnt work. This is weird.
For the moment i ignored that and proceeded to install nginx, mariadb and php 7.2..basically the lemp stack. I managed to setup nginx and a static ip adress for the machine (which was different from how i remembered it to do (in 18.04 its not done with the network conf but a yaml file).
in the end i added two different virtual servers, one for actual use and one for dev stuff (with phpmyadmin running for instance), listening on port 80 and some random other port.
as a test i brought a mediawiki onto the Port 80 server and it worked.
on monday i have to figure out how to implement the wildcard certificate i have for our company domain (internal dns simply routes intranet.company.com to the local server vm)
i am mighty proud cause all my experience with linux was with a raspberry pi so far and i am fairly certain i did it right and without shortcuts this time. (unlike my raspberry experience)
just wanted to share
(i also sweated a lot of blood when editing the hyper v settings as i did not set up the server in the first place)
((i also installed xrdp and a mate desktop, but i am less proud of that, but sometimes seeing folders graphically helps me)) -
So this just happened and I am mystified as to how. When I talk on the phone with my cell phone in my left pant pocket I get a sensation of being poked with a hot pin in my leg about 1 to 2 inches above the phone. It almost feels like the sensation of a bee sting. It happened the other day as well. I did not have this sensation with my 4G phone I just retired. My new phone is 5G. Its the most random thing and I would not have believed it. So I search a bit and some dude has been experiencing some weird phone related pain for like 20 years. Of course, none of the replies are constructive. Just assholes poking fun at someone who is trying to understand what they are experiencing.
I checked all of my clothing and there is nothing like a pin or anything stuck in my clothes. The temperature outside is about 32 degrees. So nothing actually stung me. I am going to be pissed if its actually my phone. Going to try putting it in another pocket to see what happens. My hope is its my clothing pulling on a damn hair or something. But it didn't do this at all when walking around the building without my phone. Just when I walked outside.
I can still feel the pain lingering in my leg with my phone on the desk. I checked and the spot where I scratched at it is red. Just another weird thing to deal with I guess.
I always thought electrosensitives were nutjobs. Now I am not so sure.9 -
I feel a bit confused rigt now.
Did i misunderstand something with this random little excercise?
" Write a Java program to find the index of a value in a sorted array. If the value does not find return the index where it would be if it were inserted in order. Example:
[1, 2, 4, 5, 6] 5(target) -> 3(index)
[1, 2, 4, 5, 6] 0(target) -> 0(index)
[1, 2, 4, 5, 6] 7(target) -> 5(index) "
Here is what i did lol:
https://gist.github.com/laim2003/...
And here is the official solution:
https://gist.github.com/laim2003/...
Their solution seems a bit unnecessary complicated lol or am i wrong1 -
I hate DRM. Not all of it, but most of it for sure. I ended up sending an email to support of some random DRM crap ware to tell them how much I despise them. I get nothing out of it, but they wasted my time so I might as well waste a bit of theirs with some useless email.3
-
Crypto. I've seen some horrible RC4 thrown around and heard of 3DES also being used, but luckily didn't lay my eyes upon it.
Now to my current crypto adventure.
Rule no.1: Never roll your own crypto.
They said.
So let's encrypt a file for upload. OK, there doesn't seem to be a clear standard, but ya'know combine asymmetric cipher to crypt the key with a symmetric. Should be easy. Take RSA and whatnot from some libraries. But let's obfuscate it a bit so nobody can reuse it. - Until today I thought the crypto was alright, but then there was something off. On two layers there were added hashes, timestamps or length fields, which enlarges the data to encrypt. Now it doesn't add up any more: Through padding and hash verification RSA from OpenSSL throws an error, because the data is too long (about 240 bytes possible, but 264 pumped in). Probably the lib used just didn't notify, silently truncating stuff or resorting to other means. Still investigation needed. - but apart from that: why the fuck add own hash verification, with weak non-cryptographic hashes(!) if the chosen RSA variant already has that with SHA-256. Why this sick generation of key material with some md5 artistic stunts - is there no cryptographically safe random source on Windows? Why directly pump some structs (with no padding and magic numbers) into the file? Just so it's a bit more fucked up?
Thanks, that worked.3 -
So, today I was very happy with my new chromecast. I can hold a button on remote and tell him what to search on youtube. But it's impossible to let it search forward tsoding. It just doesn't understand. So, very confident I spelled tsoding and expected it to understand correctly. No! From all freaking miles we made to AI, it can't fucking understand spelling? How hard could that be. So now, I still often have to use my phone. Big downer.
Also: you never know if it will answer a question you made or if it'll search for videos. Seems very random.
I should be able to add things to Callender by just speaking to it but it says that it doesn't have permissions and can't find them nowhere.
Besides that, this new one is usable as network drive of 4Gb. Good source file backup network drive. I already try to contribute to the webdav server on it. The implementation is a bit sad and I already wrote a whole full featured webdav server myself. Also offered Dutch translation.3 -
So I have a question to anyone familiar with the General Transit Feed Specification...
Why is the data provided in text files? Is there not a way to format the data to allow for random access to it?
Like I'm currently writing a transit app for a school project, and as far as I can tell, the only way to get all specific stops for a route, is to first look up all trips in a route, then look up all the stopids that are associated with a trip in stoptimes.txt (while also filtering out duplicates since the goal is to get stop ids, not specifically stop times) and then look up those stop ids in the stops.txt file.
The stoptimes file alone is over 500000 lines long, unless there is a way better way to be parsing the data that I'm not aware of? Currently I'm just loading the entire stoptimes file into a data structure in memory because the extra bit of ram used seems negligible compared to the load times I'm saving...
Would it be faster if I just parsed all the data once and threw it into a database? (And then updated the database once a month when the new data comes in?)3 -
*rewrites rust mpsc*
you did it wroooong
I thought my threads were locking if I had thousands of jobs spawning thousands of more jobs. turns out it's fine. actually if I organize my data locks in the way everyone wants to do them my CPU fans go off but my original way you don't feel jack shit and processes faster
turns out it's because 320k jobs is a bit much for mpsc. because my jobs can spawn more jobs the whole thing just grinds to a halt. and there's sync-mpsc which allows you to have a maximum number of data you send through it, therefore I can just have 245 sent jobs instead of 320k but then this locks all the threads because for a thread to finish it needs to finish sending jobs, but a sync mpsc won't let you send a job if current jobs are over the specified limit. so all the threads get stuck sending jobs. smart. not. what's even the point of that?!
and evidently there's no built-in way to prioritize certain jobs. the AI thinks you should just send jobs in and each thread should have a priority queue. I don't know sounds dumb to me. then you could by random luck have threads with lots of jobs that need to be prioritized to be done and other threads stuck hanging waiting for previous jobs / the other threads. no thanks
so clearly the solution is to rewrite mpsc but allow prioritization when a thread goes in to ask for a job to do
since my jobs are intended to start other jobs, it makes sense to have no actual upper bound limit to the number of jobs in the queue but to favour doing jobs that won't start new jobs to lower the RAM and compute necessary to juggle all this
hope this is the actual problem. cuz the code works for like 200 jobs spawning 500 jobs each, which is 100k jobs total
but it stalls to a halt doing 8300 jobs spawning 500 jobs each (which if I do the math -- in my tests it stalls at 320k jobs and seems the number should be 4,150,00 jobs -- yeah I think this is probably the damned problem)8 -
!dev
Hello there..
I always wanted to have my first post here be something that pisses the sh!t out of me.
tl;dr: Memes are for braindeads and kids are fucktards
Backstory:
So basicaly I am now having a summerjob before my next semester starts so I can make some cash to buy some overpriced stuff I dont probably need. I work at a factory, 3 shift work and today we had Night shift, so there was me and a bunch of Arab guys, kicking our asses by pure boredom and desperacy.
Act One:
I was bored, opened my phone and decided entertain myself by some funny sh!t I can find on Mark Sugarhills webpage. I was just passing by some random a bit funny stuff and then I found some random ass meme, which doesnt give a single, even distant sence to me.. So since my german is as good as my coding skills (read: complete shit) I couldnt ask for opinion of my fellow coworkers and since its fuck1ng 4am theres noone to ask on messenger or whatever. So I did it... I asked in a goddamn comments, what the fck is that supposed to mean and Aw dear Lawd... I did a mistake.
Act 2:
Like 4 seconds after my question I had a response and I was like 0.o It has to be some Alice of Facebook so I guess someone cool. Oh boy I was never so wrong. The answer... the... FUCKING answer was.... "normie."
What the actual fuck?
Like man statisticaly speaking, there is 200,000 people on this wannabe funny site and since everyone is apparently laughing their asses off, I am the motherfucking original snowflake.
But I wanted to play it cool... was like Uhm sorry, I really tried but cant figure it out.
His fuck-me-sideways-with-rusty-crowbar answer was:
a) The joke is hidden in some random thing we created yesterday and decided to call it a culture
b) "u dumb"
Act 3:
I hope that most of you finally guessed it! Its the second fucking answer and oh sweet mother of pain, please find him, BUT thats where I flipped and fucking lost it.
The fucking nerve to speak to me like that u dissrespectful piece of shit. Go watch some Twitch, while I SSH into ur ass and hit u harder than ur mom her forehead everynight when she realises that she could have swallow you dickhead.
Afterthoughts:
I was always worries that my child would like to be a Rapper, or Youtuber...
But today Im adding being some dumb ass meme creator.8 -
!dev !tech
it's 2 am, nd just out of curiosity i put on earphones and tried to dance on a romantic couple song . interestingly, my life has been so single and restrictive that I can't even imagine holding hands of someone , nd that feels a bit sad.
after being burdened with the family ethics, relgions, family fights and financial crisis for so long, i feel i have lost a personality that i should have had.
1. i have lost the sense of random naughtiness and unnecessary bravery/arrogance. from what i know, the best way to reach your path is to remain focused on it. unnecessary acts of curiousity or nuisance leads to fights, frauds or worse.
however, people enjoy life by doing unnecessary banter, gossips, nuisance and having fun with unknown things, people and surroundings.
i guess this makes people a likeable/interesting character in social scenarios as me being an alert dog trying to focus on resching the party place, have a safe party and come home at time becomes a less interesting character than the guy entertaining everyone by his stupid talks in the car.
2. i have lost sense of compassion or showing love , expressing love or doing things out of love and not just for transaction.
From what i heard, people in relationship are clumsy to the max level. messages every 5 seconds, random acts of flirting, teasing, playing hard to get, what not.
i ... am simple. if i like someone, they are gonna know in 5 seconds (which is followed by a lifetime of awkwardness, so i have stopped even letting this thing to be known). physically nd financially i have enough resources and plans to be a good person to be with : i can be helpful in situations, am always up for doing anything interesting and have reputable personna. but expressing via those sugary baby talks is not my ☕
3. I haven't gained any passion for anything. i see people having deep thoughts on their passions for poetry, music, dance , guitar, travel, political alignment, causes, or whatnot.
i am not that much passionate towards anything because life doesn't give everyone the chance to choose passions.
i sat with my father in a flea market selling stuff. that wasn't passion, that was a necessity. for me, money>>study>>>anything
i am only passionate about having food on my plate and a roof over my head
-------
so all these things makes jack a boring person. i jave been chasing money so much that i question everyday of its worth it, as it's currently just being used to battle with the financial crisis while having a little bit in savjngs to enjoy life. but am so much worn out by this pressure of earning money that I don't even know how to enjoy life or have someone to enjoy life with , so its even more pointless to increase that limit.
i do try to explore the things i like : dance, singing, traveling, working out but not at the level that those attributes define me
#awkward_loney_life1 -
(a bit late for wk73 but I wanted to post this anyway)
Back in my first year of university, we had to write a relatively simple (though it looked super complicated back then) C++ console application. I don't know what it's called, but it's that game where the computer generates a random 4 digit code and you have to try to guess what it is. Every time you try, it will tell you which digits are correct, which would be correct if they were in a different position and which are outright wrong.
Anyway, the program had a main menu with a help option that would output a short guide on how to play the game. Instead of hard coding it into the source code, the "guide" had go be written in a separate text file and then read and dumped to the screen when necessary.
Here came my great idea on how to read files. Instead of looping through the file until I reached the end, I counted the number of lines my text file had and wrote some gem of a piece of code like this:
for (int i = 0; i<11; i++){
line = file.readline();
cout << line << endl;
}
My teacher obviously took points off for doing such a stupid thing, and I remember complaining A LOT about it. I argued that 11 was a constant because I didn't plan on changing the text file, and that the teacher had no right to take points off for only reading 11 lines because the file only had 11 lines, so it was read in full.
Goddammit, what an innocent little brat I was. I'm glad my first programming teachers were good enough to stay firm and teach me how to do things the right way, even if it's the hard way. -
Disclamer: I don't want to give out what app I am talking about, so all names will be random to just represent the nonsense and my frustration.
So I was working with that app's API....
To begin with, some retrieved Objects have collection (iterable structure) of "Thing" objects, called "Things". But... there can be max one element in that particular collection!
Ok... I get it... I might exaggerate a bit... fine, let it be.
I had to mention it for the further part, and also got to mention that "Thing" objects are globally available and predefined, and Objects can only choose one, unused "Thing".
To the point.
Someone thought it would be good to separate representation of one structure into two classes.
We have collection of "A" objects ("As"), which have "Name", "Things" and other, mostly GUI/config related attributes.
Collection "Bs", of "B" objects, they have "Name" and rather lower-level attrs.
The "As" and their attributes can be set in the GUI, but the list where you do it is named "List of Bs" and vice versa.
Interesting, huh?
I had to use both "A" and "B" definition for given name, so I tried to map it... and things gone South.
Collecions have "Get" method with name as an argument.
But it turns out that while the "A" use its GUI name all the time, "B" uses either name that can be found in "As" or, if not all "Thing" objects are used, the "Thing" names.
Example:
global "Things" = "t0", "t1"
"As" = "a0"("t0"), "a1"("t1") -> "Bs" == "a0", "a1"
"As" = "a0"("t0"), "a1"() -> "Bs" == "a0", "t1"
"As" = "a0"(), "a1"() -> "Bs" == "t0", "t1"
That means if at least one of "A" objects have empty "Things", then the mapping will fail.
Only solution is that the app works only partially when any of "A"'s "Things" is empty, so I might raise error too, but I have to provide solution that will work even in the cases when the app don't care... so... not gonna happen.1 -
Started messing around a bit with @LucaScorpion JavaRant API thinking I might make a command line app. Well I have about 50 lines of code later and it's working to get a random rant and all the comments. The trouble is now instead of working on it I'm just back to reading rants... No way I'll ever be able to work on this without getting distracted.2
-
I read. Alot. When I'm going to do something simple, even if I've done it before I google a bit on "how to do x" and see if there are better ways to do it. And I follow the rabbit hole a bit to see where it goes.
Example, I just learned about the unix command mktemp. I wasn't googling about making temporary files, but it was part of a solution to a different problem. Ive discussed how to make temporary files with colleagues before, and this builtin unix command has never come up. So many minutes wasted coming up with random filenames. -
I need some advice to avoid stressing myself out. I'm in a situation where I feel stuck between a rock and a hard place at work, and it feels like there's no one to turn to. This is a long one, because context is needed.
I've been working on a fairly big CMS based website for a few years that's turned into multiple solutions that I'm more or less responsible for. During that time I've been optimizing the code base with proper design patterns, setting up continuous delivery, updating packaging etc. because I care that the next developer can quickly grasp what's going on, should they take over the project in the future. During that time I've been accused of over-engineering, which to an extent is true. It's something I've gotten a lot better at over the years, but I'm only human and error prone, so sometimes that's just how it is.
Anyways, after a few years of working on the project I get a new colleague that's going to help me on my CMS projects. It doesn't take long for me to realize that their code style is a mess. Inconsistent line breaks and naming conventions, really god awful anti-pattern code. There's no attempt to mimic the code style I've been using throughout the project, it's just complete chaos. The code "works", although it's not something I'd call production code. But they're new and learning, so I just sort of deal with it and remain patient, pointing out where they could optimize their code, teaching them basic object oriented design patterns like... just using freaking objects once in a while.
Fast forward a few years until now. They've learned nothing. Every time I read their code it's the same mess it's always been.
Concrete example: a part of the project uses Vue to render some common components in the frontend. Looking through the code, there is currently *no* attempt to include any air between functions, or any part of the code for that matter. Everything gets transpiled and minified so there's absolutely NO REASON to "compress" the code like this. Furthermore, they have often directly manipulated the DOM from the JavaScript code rather than rendering the component based on the model state. Completely rendering the use of Vue pointless.
And this is just the frontend part of the code. The backend is often orders of magnitude worse. They will - COMPLETELY RANDOMLY - sometimes leave in 5-10 lines of whitespace for no discernable reason. It frustrates me to no end. I keep asking them to verify their staged changes before every commit, but nothing changes. They also blatantly copy/paste bits of my code to other components without thinking about what they do. So I'll have this random bit of backend code that injects 3-5 dependencies there's simply no reason for and aren't being used. When I ask why they put them there I simply get a “I don't know, I just did it like you did it”.
I simply cannot trust this person to write production code, and the more I let them take over things, the more the technical debt we accumulate. I have talked to my boss about this, and things have improved, but nowhere near where I need it to be.
On the other side of this are my project manager and my boss. They, of course, both want me to implement solutions with low estimates, and as fast and simply as possible. Which would be fine if I wasn't the only person fighting against this technical debt on my team. Add in the fact that specs are oftentimes VERY implicit, so I'm stuck guessing what we actually need and having to constantly ask if this or that feature should exist.
And then, out of nowhere, I get assigned a another project after some colleague quits, during a time I’m already overbooked. The project is very complex and I'm expected to give estimates on tasks that would take me several hours just to research.
I'm super stressed and have no one I can turn to for help, hence this post. I haven't put the people in this post in the best light, but they're honestly good people that I genuinely like. I just want to write good code, but it's like I have to fight for my right to do it.1 -
I've started to get more into the TOR idea over the last couple of weeks.
I know I'm way to "non protective" of my privacy but changing would mean I'd have to break many habits and stop using things I'm used to.
A couple years back (I guess it was in like 8th grade or so) I had a presentation in German (my first language) for an extra mark. It was about tor. In the process of researching all of it I learned quite a lot about it. All of this knowledge has stuck to me the whole time, unused.
Fast forward to today, I've finally decided to use the couple of bitcoins I have (like 15€ or so) from my home mining experiment to rent a vps for a tor relay. First, I was lucky enough to find a service provider that accepts bitcoin for a 3€. They advertised "Fair use Traffic", later found out, after committing for three months since I was like "yeah... will be fine", in the customer panel there is a graph that shows me that I have used x% of 1.5 TB... I guess the customer support will get an email from me asking what "Fair use" exactly means... But that's fine... Oh... And ipv6 wasn't a thing to be found...
To wrap it up... I've now got a 2 weeks old little tor relay <3
(I didn't wanted to put it on my main vps where I have 200mbit guaranteed at unlimited for 5€ a month since that's where I have my mail server running and a hidden service for my next cloud)1 -
Finally decided to work on my kernel update script a bit (basically I compile the mainline kernel and configure it to slim it down a ton for my laptop, and that gets annoying so I wrote a script to do it for me). As of right now it is functional, it MAY require some babysitting, cause sometimes shit goes wrong, but it hasn't given me any problems the last few times I've run it. But it's also written with Arch in mind (using linux-mainline AUR package), because I use Arch btw. At some point in the future I want to add support for other distros, but I also want to get everything functional on Arch first.
If anyone has any suggestions or anything:
https://gitlab.com/infernalempress/... -
So for my software engineering class we have to write a game in Java, and let me tell you, it has been a time.
The worst part so far has been the transition over to using a JLayeredPane, so that we actually have a background and a foreground. I offered to handle it, since I've done a bit with swing before now.
So I put together something that I thought should work, only to find that layered panes and layouts do NOT like to work together. So it was off to google...after sooo many hours of pouring over tutorials and javadocs I finally got the layers to draw...only to find that our Buttons had stopped working!
For some reason, putting the buttons inside a JPanel stopped them from actually informing their ActionListener (since the random test button I just added had actually still worked). So OF COURSE that meant I had to rework the buttons too, since their logic relied on that panel.
All in all, what should have been a relatively simple refactoring of our view was tranformed into almost a week's worth of frantic googling and pain through the magic of Java Swing.4 -
Dug up decrepit FSF code from 2001 from a random Apple FTP that was indexed online, throw into toolchain from 2004 that doesn't provide extensions, and it fucking worked.
This was last week.
I don't know how the fuck DOS programs are still made for the original machines, the only decent toolchain is DJGPP but it needs 32-bit DOS extenders and a Pentium 3 with 128MB RAM minimum to run anything compiled with it, which sure as shit doesn't target appropriate DOS hardware (which is, on average, prolly a 386 with 4MB of RAM or so, considering most hardware still running meets DOOM minimum spec?)2 -
Drawing might not be inherently software-related, but this particular sketch IS software-related. Additionally, the depicted character looks a bit pissed. As such, posting this thing to devRant SHOULD be all right.
Of course, "random" is a stupid term; this post is at best pseudorandom. Every man who is worth a highland midge's urine sample knows that KOOL KEITH is the one true source of entropy.
Actually managing to draw a decent-looking three-quarters pose demands a celebratory ginger ale!
This drawing or a relatively refined equivalent should eventually be used as an image on the 5XX error pages of VARIK's Web servers.
Detailed criticism is welcomed -- not knowing that stuff sucks sucks.
The lack of a standard APL logo is a damn shame. Luckily, the light bulb is handsome and recognisable for APL hackers. -
I asked my co-worker/classmate to integrate a react component into a project "we" worked for the (forced) practicum. I searched and setup the example with him (or rather for him) to check whether it's working as intended.
Note, that we were both not really familiar with react and or node. I had a bit more experience and would have helped him, if he had asked. IF
I asked him regularly how he's progressing and he said he did fine. 3 days later I finished my tasks and wanted to know how far he got.
Status? Non working example project because all he did was commenting out seemingly random lines all over the only file in the example project one had to copy paste from the Readme. -
!dev
I've finally been so agitated at G+ I need somewhere to just vent.
So for context. What I'm talking about is Google+, or more specifically, the Android app. The website is bad in its own way, but that's not here nor there. No opinions on the iOS version, as I simply REFUSE to touch iOS.
So anyways. The platform itself honestly is not bad. With competent developers behind it, and them actually listening to their dwindling fucking userbase, they could easily turn it into something successful, but the issue is that they just aren't
You see, it's almost like they change dev staff every 6 or so months. Why do I believe this? Because the GUI changes about that fucking often. They also have a history of forcing updates, but allowing you to use an older version, just horrifically slapping on a new and unwelcome skin. This isn't an isolated practice by any means, but it's by far the most prevalent here.
So, now a list of some of the issues the current version has:
-After about a week, the app becomes unstably slow, to the point of it taking about a minute to refresh your home feed, or an individual page.
-Searching is never good, always being slow and rarely giving you who you asked for.
-Transparency is non fucking existent. There isn't a development roadmap to speak of, and when something happens we get it second hand from staff in a "G+ help" community.
There is a solution for the first one, going and clearing the data/cache, but really, the end user shouldn't have to regularly do that. Not to mention the storage space Google apps IN GENERAL fucking take up. Why does Google Play Services regularly use 250MB? (For most people, this really isn't much. But when you only get to fucking use 4 GB of internal storage it's a giant fuck you.)
Bah, back to the topic at hand.
There isn't a good solution to searching, or for transparency at the moment.
The spam filter is awful as well. REGULARLY letting obvious spam pass, regularly blocking and filtering genuine users. It's real annoying that the Android app itself doesn't have support for seeing these flags outside of rooting through the settings a bit, but still. The web and iOS versions have this already.
Oh, it also completely lacks a dark mode like most Google apps for some fuckin reason.
That concludes my random 1:30 AM rant about something I have no ability to change, except hope in vain that someone who has the ability to change this forwards this to the developers of G+.
I need a better sleep schedule.3 -
A lot of you here rant about devs being arogant or expecting you to think for a little bit with own head and then write a proper string that will help dev answer straightforward without guessing what the author smoked or so for which there's even a tutorial made (wasn't there always). But I don't see any rants about the other side of the coin.
Let's say you are a random dude, not even that arogant type. You see a question, no answers, everyone piss on that question because it's just a mess. Yet you find yourself in a good mood, so let's help the poor soul with th trouble. Answer like from a book for kids, fully explained example and...
No points, no accepted answer, but not even any feedback! Was my answer wrong? Did I miss something? How can I improve it? Was the example too complicated?
This is exactly the type of idiot that deserves a kick in the ass. It's no site, for hanging spam! Why the hell does that kind of idiot think there's even an option for own answer? People will come back to the question eventually and what will they found? An answer, which probably isn't even correct!
(not really talking about a specific answer/question, so no need to search) -
Random hardware question if anyone knows: On the various types of hard drives (Spinner, SSD, M.2, etc.) does it require the same amount of energy to read and write a bit? Or do they take a different amount of power. Is this even effectively measurable? If they're the same, what about at the byte level?6
-
Russians Engineer a Brilliant Slot Machine Cheat
...But as the “pseudo” in the name suggests, the numbers aren’t truly random. Because human beings create them using coded instructions, PRNGs can’t help but be a bit deterministic. (A true random number generator must be rooted in a phenomenon that is not manmade, such as radioactive decay.) PRNGs take an initial number, known as a seed, and then mash it together with various hidden and shifting inputs—the time from a machine’s internal clock, for example—in order to produce a result that appears impossible to forecast. But if hackers can identify the various ingredients in that mathematical stew, they can potentially predict a PRNG’s output. That process of reverse engineering becomes much easier, of course, when a hacker has physical access to a slot machine’s innards...
https://wired.com/2017/02/...1 -
I've been studying a bit about business analytics and intelligence to diversify a bit from dev.
After a lot of looking around I've found it's all just glorified jargon which basically enables your decision to have backing of facts and logic. It sounds as if it's a great coverup tool but don't know if it actually helped decision-making.
Why does researching the market/competition need to have a thousand breakdowns/categories/focus areas.
I feel like an interpretation of business analytics is a very simple and intuitive solution but there is just too much random and wasteful metrics attached to it.
I believe it's just my nascent knowledge and experience speaking, but I never felt the same way about software development, financials, etc2 -
Random learnings/realisations/hypothesis:
i have found a sense of happiness in weird symbiotic environment : being rich in a poor environment and live with a poor-but-secretely-rich lifestyle.
i call it the "sheep-hoodie" lifestyle: being a wolf in a herd of sheeps but not with a sheep's skin glued to your body. rather a hoodie so you can be a friendly wolf , ferocious wolf and a friendly sheep whenever you want to.
my 1 group of friends are in a sheep phase : struggling in their life , crunched on money, not saving a lot or focused on savings and stuff. At least that's what shows up from their discussions. however when we are together, i see that we are always supporting each other, and sharing resources/helping each other while having fun
my another group of friends have a wolf lifestyle:
they are insanely rich, if you want to party/do something with them at 'their' level, you gotta have a lot of cash to burn . they are wolves because they know how to sell their stuff, whom to sell and how to retain the info for success. i don't enjoy much with them as their solutions to life problems end up with something that involves a lot of money than effort.
So my lifestyle is to earn like them, but live like my broke friends. they think that am earning 20% of what i earn now, and am also in lots of debts and family crisis. someday my lie is gonna burst when i buy expensive stuff lol
--------
#2
i have realised that i have an OCD for silence and psychotic reaction to noise . for me ,
Silent Environment >> sex >> any relationship.
I might react so aggressively to noise while trying to focus that i may end up breaking the closest of relations with anyone
--------------
#3
thinking of having 3 twitter accounts just to fix the problem of devrant not saving content of dormant accounts :
- professional : an id where i will share my professionally stupid questions, achievements, debates etc
- personal/partial-anon : an id where i will share my personal thoughts and stuff. it might also include devrant screenshots / embarrising content that i make here
- true-anon : a full anonymous account for my(some) extreme thoughts, trigger content and explicit researches
my current twitter feed is a mix of first 2, but making 2 seperate accounts might give me more freedom(the level of devrant) to express myself than what i do now (as my followers are also interesting people but mostly related to tech)
guess i should move my tech content there than my personal content.
------------------------------
#4
making an early opinion about something should only be done to research for truth/content/conversion/hype . final opinion should always be made after you trust something with a research. for eg, initial opinion of Elon Musk was he being a bad guy, but now after seeing his crazy ideas and approach towards twitter, he looks like someone who can truly make it a money minting machine.
------------------------------
#5
A simple perception towards making money as not being a bad thing does wonders at a management level and life .
liberal opinion of twitter layoff and later changes were emotional and blaming, but thinking from a business approach, his company partners(and whoever he likes) now have special golden badges to feel like VVIP and have an orgasm, while he gave a dummy melon to every person on earth to pay for feeling like a VIP and have an orgasm.
a brilliant tactic to make money without anyone calling the minting of money as BAD. genius
------------------------------
#6
was randomly checkin Insta, saw an ex-collegue share a random deep thought quote, and i realised that i might have known her for just a week or 2 in college, but she had a very nice nature.
However, she was the daughter of a very rich ass dad and had almost everything in life. she gave a bit spoilt(for me) look, like someone who did ciggs or drink, but her talks then and our chats later just on chat gave me a very nice hustler vibe (the type of people i like: hustling and professional)
I indirectly asked her on a date and she agreed. so, this is something very interesting for me, as i am hopelessly single and full of judgemental opinions/ strict rules. share your tips and notes on how to have a successful date, and stuff that one must NOT do . much grateful if you do not come under rule 29 of internet and share your POV -
tldr: I am looking for recommendations for a basic website for my parents. GOTO question;
Pre-Story:
My parents have a small (offline) business. They have a website to give some general information and list their weekly offers.
When I felt that what has come out of the website-building tool (you know, clicky clicky stuff) looked a bit too early 2000's and is a total ripoff for what you get (almost 20€ per month), I created something with Google Sites for them. Feel free to roast me, but web development is not my field and now it looks much more modern, is mobile friendly and does what it is supposed to do. Weekly offers are edited in a google sheets file, which is embedded in the website. Not great, but this way my mom doesn't have to deal with editing a tables on the page - trust me, it won't look good. This also meant they could downgrade the hosting package to discard the clicky-tool and just the domain (maybe 1€ per month). The website itself is hosted for free by Google.
Some time ago GDPR became a thing and then I was tasked to have a look at it. (side note: I don't want to rant about being responsible for it, that's fine. My parents don't really ask me to do a lot for them.) You can't enter any data on the website, it's just very basic stuff and data protection wise there's just the "usual" stuff (cookies, embedded tools, logs). I added another site with a halfway complete privacy policy. Regarding the whole cookie issue (do not enforce unnecessary cookies) I couldn't find an easy solution. It's not 100%, but what can you really expect from a small business like this? I've seen worse.
Now to the question:
Can you recommend a good alternative to the current solution (Google Sites)?
It should be cheap (<3€/month incl. domain) and my parents should be able to make some basic changes (just text in predefined locations). I am not afraid to get my hands dirty - I can deal with some HTML, CSS, JS - but I don't want to sink a lot of time into this. No need for analytics or the like. Maybe a newsletter would be cool (with the weekly offers), but that's just a random thought of mine and definitely not necessary.
Thanks for reading :)18 -
Honestly tired of those "let's put a bit of random AI here" talks. All it does is eat money for pointless features, and with the average trend duration in 2k23 it will not even have the slightest impact.3
-
Whilst procrastinating via semi-helpful browsing,(random blockchain news/info) I come across a new crypto that's really pushing for dev (advertising dev grants etc).
I click "why develop on *whatever*".
This is the start of the page it lead to:
"The Internet began with Web1, a read-only content delivery network. Users could only consume what was offered by site owners, which significantly limited their interaction with the web content."
I blink slowly a few times, figuratively scratch my head and leave.
Am I just too harsh on things like this? I mean, I get that internet history and knowing wtf web3 means is important and all...
Is it too high of a bar to expect a link, specifically trying to entice competent devs who are directly looking into a new web3/blockchain tech to dev with/on, lead to a page that starts with somewhat relative, to the originating link's stated topic, information?
Don't get me wrong, I definitely understand the frequent necessity to be pedantic... but starting with multiple paragraphs of internet history when the sole objective of the link is to inform/entice, specifically, competent devs, who are explicitly looking to leverage blockchain tech... just seems ridiculous.
Despite not actually super interested in changing or adding new blockchain tech to dev with in the near future (not dissatisfied with our relatively established groundwork/current approach), I was actually starting to consider branching out a bit to include initial functionality and/or tools/integrations with this protocol i wasnt aware of (not even just for grant $)... but if their idea of onboarding devs to build on their tech starts with an extremely pedantic intro as to Web1-3 basics... they must have a reeeeally low bar/very desperate for devs.
Seeing this makes me pretty certain it'd be easy/minimal effort to get a decent chunk of grant funding... but with a bar THAT low, I'm not wanting to be associated with them.8 -
I went to create an attributions page for my node.js app I am working on. I just had it parse the packages used. Ran out of memory trying to display them in a browser.
Man I included 1 (uno) package and the dependencies are crazy. First thing I did was install license-checker to make sure I wasn't shooting myself in the foot with some random GPL/LGPL package.
So, I guess I am learning about node.js a bit this week.