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 - "yet so simple"
-
/*
* First anniversary of devRant unofficial for Windows 10 (UWP)!
*
* Let's celebrate by giving me 500 ++'s 😁
*/
Exactly 1 year ago, on 18 May 2016, I released the first public version (v0.9.2.0 BETA) of my client for Windows 10 users.
I found this wonderful community a few days before, on 12 May 2016, thanks to an article on TNW.
The only flaw was the missing Windows 10 Mobile client for my Lumia 950, so I decided to create a simple one on my own that initially allowed you only to see the list of rants, without the ability interact with them.
A few days later, after spamming the app on twitter, I was reached by @dfox, a very kind person, who gave me all necessary tools and help to bring all official features to Windows 10 users.
A project that I created initially just for fun and necessity became the main project I'm working at in a very short time.
I received a lot of positive reviews from users that motivated me to improve and continue it.
It's true, Windows 10/Windows 10 Mobile users are few, but they appreciate your work as no other and with a lot of feedbacks and suggestions help you to improve it making it very satisfying.
I would like to thank @dfox who made this possible, my friend @thmnmlst who helped me a lot with precious advices and created the presentation below, and of course the whole Windows 10 community! 😉
Good Ranting!
P.S.
If you haven't tried it yet: https://microsoft.com/store/apps/...
For all updates follow me on twitter: https://twitter.com/JakubSOfficial
The v2 is coming... sorry for the delay, below a little preview (alpha) to be forgiven. 😋35 -
A: So are you the programmers of this software?
B: Yeah, I did the front end
A: Oh it looks so fantastic! It is simple, yet beautiful and responsive. Truly great design, you are so talented!
C: I did the back end...
A: Oh, you mean the server stuff?
C: Yeah
A: Niceeee11 -
So I got the job. Here's a story, never let anyone stop you from accomplishing your dreams!
It all started in 2010. Windows just crashed unrecoverably for the 3rd time in two years. Back then I wasn't good with computers yet so we got our tech guy to look at it and he said: "either pay for a windows license again (we nearly spend 1K on licenses already) or try another operating system which is free: Ubuntu. If you don't like it anyways, we can always switch back to Windows!"
Oh well, fair enough, not much to lose, right! So we went with Ubuntu. Within about 2 hours I could find everything. From the software installer to OpenOffice, browsers, email things and so on. Also I already got the basics of the Linux terminal (bash in this case) like ls, cd, mkdir and a few more.
My parents found it very easy to work with as well so we decided to stick with it.
I already started to experiment with some html/css code because the thought of being able to write my own websites was awesome! Within about a week or so I figured out a simple html site.
Then I started to experiment more and more.
After about a year of trial and error (repeat about 1000+ times) I finally got my first Apache server setup on a VirtualBox running Ubuntu server. Damn, it felt awesome to see my own shit working!
From that moment on I continued to try everything I could with Linux because I found the principle that I basically could do everything I wanted (possible with software solutions) without any limitations (like with Windows/Mac) very fucking awesome. I owned the fucking system.
Then, after some years, I got my first shared hosting plan! It was awesome to see my own (with subdomain) website online, functioning very well!
I started to learn stuff like FTP, SSH and so on.
Went on with trial and error for a while and then the thought occured to me: what if I'd have a little server ONLINE which I could use myself to experiment around?
First rented VPS was there! Couldn't get enough of it and kept experimenting with server thingies, linux in general aaand so on.
Started learning about rsa key based login, firewalls (iptables), brute force prevention (fail2ban), vhosts (apache2 still), SSL (damn this was an interesting one, how the fuck do you do this yourself?!), PHP and many other things.
Then, after a while, the thought came to mind: what if I'd have a dedicated server!?!?!?!
I ordered my first fucking dedicated server. Damn, this was awesome! Already knew some stuff about defending myself from brute force bots and so on so it went pretty well.
Finally made the jump to NginX and CentOS!
Made multiple VPS's for shitloads of purposes and just to learn. Started working with reverse proxies (nginx), proxy servers, SSL for everything (because fuck basic http WITHOUT SSL), vhosts and so on.
Started with simple, one screen linux setup with ubuntu 10.04.
Running a five monitor setup now with many distro's, running about 20 servers with proxies/nginx/apache2/multiple db engines, as much security as I can integrate and this fucking passion just got me my first Linux job!
It's not just an operating system for me, it's a way of life. And with that I don't just mean the operating system, but also the idea behind it :).20 -
Welcome back to practiseSafeHex's most incompetent co-worker!
*sitcom audience cheers*
Thank you, thank you. Ok so far we've had a developer from hell and a CEO who shot to fame for being the first rectum to receive a passport and be given a job.
2 pretty strong entrants if you ask me. But its time to slow it down and make sure everyone gets a fair chance. Its not all just about the psychopaths and assholes, what about the general weirdo's and the stoners who just made life awkward?
So here we go, Most incompetent co-worker, candidate 3, "A".
"A" was a bit of an unusual developer, despite having a few years experience in his home country, he applied for an unpaid internship to come work with us ... probably should have rang alarm bells but hey we were all young and dumb back then.
I had to say I felt very bad for A, as he suffered from 2 very serious, and job crippling personal conditions / problems
- Email induced panic attacks
- Extreme multifaceted attachment disorder (also known in layman terms as "get the fuck away from me, and do your job" syndrome)
While he never openly discussed these conditions, it was clear from working with him, that he had gone undiagnosed for years. Every time an email would come in no matter how simple ... even the services team asking to confirm his staff ID, would send him into a panic causing him to drop everything he was doing and like a homing missile find me anywhere in the building and ask me what to do.
Actually "A" also suffered from a debilitating literacy issue too, leaving him completely unable to read our internal wiki's himself. Every week we had to follow a set of steps to upgrade something and every week to mask his issue, he'd ask me what to do instead ... no matter how many times I sat with him previously ... must have been truly embarrassing for him.
But "A"'s finest moment in the company, by far, was the day where out of the blue, at the top of his voice (as if wearing headphones ... without wearing headphones) he asked
"DO YOU KNOW ANYONE WHO SELLS POT?"
... why no, manager of the entire department standing behind you, I do not
... why no, tech lead talking to manager, I do not
... why hello 50% of my team staring at me ... no "A", I do not!
Needless to say all our team meetings were a little awkward for the next few weeks after that but hey who doesn't like being thought of as a stoner / drug dealer by their team mates huh?
Will A make it to the top of the list of most incompetent? Well he has some truly logic defining competition yet to be announced.
Tune in later for more practiceSafeHex's most incompetent co-worker!!!15 -
Rant
Why do shithead clients think they can walk away without paying us once we deliver the project !!!
So, here goes nothing..
Got an online gig to create a dashboard.
Since i had to deal with a lot of shitheads in the past, I told them my rules were simple, 20% advance, 40% on 50% completion and 40% after i complete and send them proof of completion. Once i receive the payment in full, only then i will hand over the code.
They said it was fine and paid 20%.
I got the next 40% also without any effort but they said they also needed me to deploy the code on their AWS account, and they were ready to pay extra for it, so i agreed.
I complete the whole project and sent them the screenshots, asking for the remaining 40% payment. They rejected the request saying my work was not complete as i had not deployed on AWS yet. After a couple of more such exchanges, i agreed to setup their account before the payment. But i could sense something fishy, so i did everything on their AWS account, except registered the domain from my account and set up everything. Once i inform them that its done and ask for the remaining payment.
The reply i got was LOL.
I tried to login to the AWS account, only to find password had been changed.
Database access revoked.
Even my admin account on the app had been removed. Thinking that they have been successful, they even published ads about thier NEW dashboard to their customers.
I sent them a final mail with warning ending with a middle finger emoji. 24 hours later,
I created a github page with the text " This website has been siezed by the government as the owner is found accused in fraud" and redirected the domain to it. Got an apology mail from them 2 hours later begging me to restore the website. i asked for an extra 10% penalty apart from the remaining payment. After i got paid, set an auto-reply of LOL to thier emails and chilled for a week before restoring the domain back to normal.
Dev : 1
Shithead Client: 024 -
You know who sucks at developing APIs?
Facebook.
I mean, how are so high paid guys with so great ideas manage to come up with apis THAT shitty?
Let's have a look. They took MVC and invented flux. It was so complicated that there were so many overhyped articles that stated "Flux is just X", "Flux is just Y", and exactly when Redux comes to the stage, flux is forgotten. Nobody uses it anymore.
They took declarative cursors and created Relay, but again, Apollo GraphQL comes and relay just goes away. When i tried just to get started with relay, it seemed so complicated that i just closed the tab. I mean, i get the idea, it's simple yet brilliant, but the api...
Immutable.js. Shitload of fuck. Explain WHY should i mess with shit like getIn(path: Iterable<string | number>): any and class List<T> { push(value: T): this }? Clojurescript offers Om, the React wrapper that works about three times faster! How is it even possible? Clojure's immutable data structures! They're even opensourced as standalone library, Mori js, and api is great! Just use it! Why reinvent the wheel?
It seems like when i just need to develop a simple react app, i should configure webpack (huge fuckload of work by itself) to get hot reload, modern es and jsx to work, then add redux, redux-saga, redux-thunk, react-redux and immutable.js, and if i just want my simple component to communicate with state, i need to define a component, a container, fucking mapStateToProps and mapDispatchToProps, and that's all just for "hello world" to pop out. And make sure you didn't forget to type that this.handler = this.handler.bind(this) for every handler function. Or use ev closure fucked up hack that requires just a bit more webpack tweaks. We haven't even started to communicate to the server! Fuck!
I bet there is savage ass overengineer sitting there at facebook, and he of course knows everything about how good api should look, and he also has huge ass ego and he just allowed to ban everything that he doesn't like. And he just bans everything with good simple api because it "isn't flexible enough".
"React is heavier than preact because we offer isomorphic multiple rendering targets", oh, how hard want i to slap your face, you fuckface. You know what i offered your mom and she agreed?
They even created create-react-app, but state management is still up to you. And react-boierplate is just too complicated.
When i need web app, i type "lein new re-frame", then "lein dev", and boom, live reload server started. No config. Every action is just (dispatch) away, works from any component. State subscription? (subscribe). Isolated side-effects? (reg-fx). Organize files as you want. File size? Around 30k, maybe 60 if you use some clojure libs.
If you don't care about massive market support, just use hyperapp. It's way simpler.
Dear developers, PLEASE, don't forget about api. Take it serious, it's very important. You may even design api first, and only then implement the actual logic. That's even better.
And facebook, sincerelly,
Fuck you.17 -
Please don't make junior developers feel they're a burden.
Have you ever googled "how to mentor junior developers"? It's quite mind-blowing how many articles, talks and panels are on this topic. And yet still junior developers are not feeling welcomed in their companies.
Yup, you guessed it, we also have something to add (based on our own experience):
1. Asking for help is not easy. Please don't blow juniors off by telling them to read docs when they ask a question. Always assume they've read it and did a sprint to solve the problem. They ask you, because they see you as a mentor and really need your help. If you can, spend more time with them and guide through the entire problem solving process.
2. Please don't think "I learnt it this way so you should too". If you're in charge of teaching a junior developer, don't expect them to be a carbon copy of yourself. Because even though in your opinion your approach is more "pro", they might not be there yet to use it properly. And last, but not least:
3. Of course, juniors will compare themselves with seniors on their team. And there'll be moments they feel so guilty and so afraid that they cost the company too much, that they need training, and supervision, or are between projects and are not bringing in any money, and they'll fear that their company regrets hiring them. Make sure they don't feel like a burden. As juniors, we often
have this misconception what is expected from us.
Dear tech companies, please set very clear expectations and tell your juniors you're happy. Don't get us wrong here. We don't expect unicorns, roses and pats on the back from companies. We do understand- this is business, and at the end of the day we all are here to make money. To do so, companies need to make smart investments. Junior dev with a great assistance, planned support, and a clear training program will become a great asset. It really is as simple as that.12 -
Biggest scaling challenge I've faced?
Around 2006~2007 the business was in double-digit growth thanks to the eCommerce boom and we were struggling to keep up with the demand.
Upper IT management being more hardware focused and always threw more hardware at the problem. At its worst, we had over 25 web servers (back then, those physical tall-rectangle boxes..no rack system yet) and corresponding SQL server for each (replicated from our main sql server)
Then business boomed again and projected the need for 40 servers (20 web servers, 20 sql servers) over the next 5 years. Hardware+software costs (they were going to have to tear down a wall in order to expand the server room) were going to be in the $$ millions.
Even though we were making money, the folks spending it didn't seem to care, but I knew this trajectory was not sustainable, so I started utilizing (this was 2007) WCF services and Microsoft's caching framework Velocity. Started out small, product lookup data (description, price, the simple stuff) and within a month, I was able to demonstrate the web site could scale with less than half of our current hardware infrastructure.
After many political battles (I've ranted about a few of those), the $$ won and even with the current load, we were able to scale back to 5 web servers and 2 sql servers. When the business increased in the double-digits again, and again...we were still the same hardware for almost 5 years. We only had to add another service server when the international side of the business started taking off.
Challenge wasn't the scaling issue, the challenge was dealing with individuals who resisted change.3 -
Working with different nationalities is interesting, and sometimes kind of bewildering. And tiring.
I've been working with an Indian dev for a little while, and while she's a decent dev, interactions with her sometimes leave me a little puzzled. She glazes over serious topics, totally over-sensationalizes unimportant oddities, has yet to say the word "no," and she refers to the senior devs as (quote) "the legends." Also, when asked a question by her boss, like "Are you familiar with this?" Instead of a simple yes/no answer, she shows off a little. Fair, I do this sometimes too, but it's a regular thing with her. Also, like most Indians I've known and/or worked with, she has a very strict class-and-caste view of the world. It honestly makes me a little uncomfortable with how she views people, like certain people belong in certain boxes, how some boxes (and therefore their contents) are inherently better than others, and how it's difficult or simply impossible to move between boxes. My obviously westerner view of things is that you can pick where you want to be and what you want to do, and all it takes to get there is acquiring the proper skills and putting in the required effort. I see no boxes at all, just a sprawling web of trades/specialities. And those legends she talks about? They're good devs with more knowledge than me, but only one, maybe two of them are better devs. I see them as coworkers and leads, not legends. Legends would be the likes of Ada Lovelace, Dennis Ritchie, Yukihuro Matsumoto, and Satoshi Nakamoto. (Among others, obv.). To call a lead dev a legend is just strange to me, unless they're actually deserving, but we don't work with anyone like Wozniak or Carmack.
Since I'm apparently ranting about her a little, let me continue. She's also extremely difficult to understand. Not because of her words or her accent, but I can't ever figure out what she's trying to get across. The words fit together and make valid sentences, but the sentences don't often make sense with one another, and all put together... I'm just totally lost. To be a math nerd, like the two conversations are skew lines: very similar, but can never intersect. What's more, if I say I don't understand and ask for clarification, she refuses and says she doesn't want to confuse me further, and to just do what I think is best. It's incredibly frustrating.
Specifically, we're trying to split up functionality on a ticket -- she's part of a different dev team (accounting), and really should own the accounting portion since she will be responsible for it, but there's no clear boundary in the codebase. Trying to discuss this has been... difficult.
Anyway.
Sometimes other cultures' world views are just puzzling, or even kind of alien. This Irish/Chinese guy stayed at my parents' house for a week. He had red hair, and his facial features were about 3/4 Chinese. He looked strange and really interesting. I can't really explain it, but interacting with him felt like talking to basically any other guy I've known, except sometimes his mannerisms and behavior were just shockingly strange and unexpected, and he occasionally made so little sense to me that I was really taken aback.
This Chinese manager I had valued appearances and percieved honors more than anything else. He cared about punctuality and attire more than productivity. Instead of giving raises for good work or promotions, he would give fancy new titles and maybe allow you to move your desk somewhere with a better view of your coworkers. Not somewhere nicer; somewhere more prominent. How he made connections between concepts was also very strange, like the Chinese/Irish guy earlier. The site templating system was a "bridge?" Idk? He also talked luck with his investors (who were also Chinese), and they would often take the investment money to the casino to see if luck was in the company's favor. Not even kidding.
Also! the Iranian people I've known. They've shown very little emotion, except occasionally anger. If I tried to appease them, they would spurn and insult me, but if I met their anger, they would immediately return to being calm, and always seemed to respect me more afterward. Again, it's a little puzzling. By contrast, meeting an American's anger often makes them dislike you, and exceeding it tends to begin a rivalry.
It's neat seeing how people of different nationalities have different perspectives and world views and think so very differently. but it can also be a little tiring always having to translate and to switch behavior styles, sometimes even between sentences.
It's also frustrating when we simply cannot communicate despite having a language in common.random difficult communication too tired for anger or frustration nationalities tiring diversity root observes people23 -
I worked in the same building as another division in my organization, and they found out I had created a website for my group. They said, “We have this database that was never finished. Do you think you could fix it?”
I asked, “What was it developed in?”
He replied, “Well what do you know?”
I said, “LAMP stack: PHP, MySQL, etc.” [this was over a decade ago]
He excitedly exclaimed, “Yeah, that’s it! It’s that S-Q-L stuff.”
I’m a little nervous at this point but I was younger than 20 with no degree, entirely self-taught from a book, and figured I’d check it out - no actual job offer here yet or anything.
They logged me on to a Windows 2000 Server and I become aware it’s a web application written in VB / ASP.NET 2.0 with a SQL Server backend. But most of the fixes they wanted were aesthetic (spelling errors in aspx pages, etc.) so I proceeded to fix those. They hired me on the spot and asked when I could start. I was a wizard to them and most of what they needed was quite simple (at first). I kept my mouth shut and immediately went to a bookstore after work that day and bought an ASP.NET book.
I worked there several years and ended up rewriting that app in C# and upgrading the server and ASP.NET framework, etc. It stored passwords in plaintext when I started and much more horrific stuff. It was in much better shape when I left.
That job was pivotal in my career and set the stage for me to be where I am today. I got the job because I used the word “SQL” in a sentence.3 -
I honestly have no energy to even type this out because this is so draining, but here goes.
I am usually very calm and can keep my composure well, but boy do you push my limits. Do you think my work is so easy that it’s just “a bunch of queries and simple logic”? Well, fine. YOU FUCKING DO IT.. right before I grab you by your fucking neck and shove your face repeatedly into the keyboard. You even have the audacity to give us a project and come the very next fucking day and repeatedly keep asking us “iS iT FiNisHeD yEt?” so much and annoy even the calmest in our team even when we clearly stated that it was going to take us 30 work days to fucking finish it. Do you not know what a working day is? 30 work days is not the same as 30 days you dumbfuck. You have no idea how any of these work and yet you preach your bullshit and waste our fucking time when we could have used that time better to finish our work. THIS IS WHY EVERY SINGLE EMPLOYEE KEEPS LEAVING AND WHY THIS COMPANY HAS A VERY LOW EMPLOYEE RETENTION RATE. You won’t even let me finish my fucking lunch in peace. We have 45 minutes for lunch and since I’ve been eating out for almost the past year (I live alone and don’t usually have time to make food at home because of my hour and a half long commute), a close friend of mine’s mom reached out to and said “Hey, since you’ve been usually getting food from outside, why not join us for lunch?”, so I did and it was the most amazing food ever. Mind you, this was the first time I’ve ever left work myself to have lunch since I joined. I did get 10 minutes late because lunchtime tends to fall around the time where the schools close for the day (no shit) and school traffic is usually insane, and you unsurprisingly decided to make an issue out of a non-issue especially since I’M THE ONLY FUCKING PERSON WORKING IN THE COMPANY and also dock my pay for that. Let me also include the time where our one of the others in the management gave us a quick project that was to be quickly finished while we working on an existing project so we put aside a day just to complete and ship the app and the features and as usual, you decided to make an issue out of a non-issue and decided to shame us publicly and even made (my now former) colleague cry. You’re just a spoiled, selfish, ignorant nit-witted fucking imbecile who has no idea how to even properly run a business. Get fucked in the arse with a cactus. I'm done. I've held on for so long but this is the last straw. I'll be handing my letter of resignation soon. Good luck with running a company without any employees.20 -
Yesterday's (scheduled and adhoc) meetings:
10:30-11:00
11:00-11:30
12:30-1:30 (adhoc)
1:30-2:30
4:30-5:00
6:00-6:20 (adhoc)
Today's (scheduled) meetings:
9:30-10:00
11:00-12:00
12:30-1:15
1:30-2:30
Tomorrow's meetings include a 1:1 with my boss who will invariably ask why I'm not done on this "should take a week" project that I've had for a week, despite that he just unblocked me on yesterday morning, and I've had nothing but meetings since...
Fucking hell.
They fill my day with shit spaced out just enough to waste practically my entire freaking day so I can't get anything done, conveniently forget this, and then have the audacity to yell at me for not finishing my tickets. Of course I didn't finish! You all were too busy blabbing at me every day for the past fucking week! (Oh, and do they listen if I have something to say? Of course they fucking don't.)
Also, as a secondary rant, the product douchebag files tickets (usually complex as hell tickets worded to appear trivial) with enough missing information to make missing large sections of them easy. If I ask him for clarification, he tells me to read the ticket, and if I insist, he gets all exasperated and quickly zooms through the site faster than I can follow, shows maybe half of what's in the ticket, and asks why I don't know how to do any of this yet. After I finish his shit ticket (and true to his douchebag nature) he blames me for missing several of those pieces he never outlined or showed, and insists that I obviously don't test anything. And because that's clearly not douchey enough, the fucking sack of shit also goes behind my back and trashtalks me to my coworkers, tells them he can't trust me to do a simple fucking thing, and that he's given up on me.
What the FUCK is wrong with these people?28 -
Ladies and gentlemen, prepare yourselves for a rant with a capital R, this is gonna be a long one.
Our story begins well over a year ago while I was still in university and things such as "professionalism" and "doing your job" are suggestions and not something you do to not get fired. We had multiple courses with large group projects that semester and the amount of reliable people I knew that weren't behind a year and in different courses was getting dangerously low. There were three of us who are friends (the other two henceforth known as Ms Reliable and the Enabler) and these projects were for five people minimum. The Enabler knew a couple of people who we could include, so we trusted her and we let them onto the multiple projects we had.
Oh boy, what a mistake that was. They were friends, a guy and a girl. The girl was a good dev, not someone I'd want to interact with out of work but she was fine, and a literal angel compared to the guy. Holy shit this guy. This guy, henceforth referred to as Mr DDTW, is a motherfucking embarrassment to devs everywhere. Lazy. Arrogant. Standards so low they're six feet under. Just to show you the sheer depth of this man's lack of fucks given, he would later reveal that he picked his thesis topic "because it's easy and I don't want to work too hard". I haven't even gotten into the meat of the rant yet and this dude is already raising my blood pressure.
I'll be focusing on one project in particular, a flying vehicle simulator, as this was the one that I was the most involved in and also the one where shit hit the fan hardest. It was a relatively simple-in-concept development project, but the workload was far too much for one person, meaning that we had to apply some rudimentary project management and coordination skills that we had learned to keep the project on track. I quickly became the de-facto PM as I had the best grasp on the project and was doing a lot of the heavy lifting.
The first incident happened while developing a navigation feature. Another teammate had done the basics, all he had to do was use the already-defined interfaces to check where the best place to land would be, taking into account if we had enough power to do so. Mr DDTW's code:
-Wasn't actually an algorithm, just 90 lines of if statements sandwiched between the other teammate's code.
-The if statements were so long that I had to horizontal scroll to see the end, approx 200 characters long per line.
-Could've probably been 20 normal-length lines MAX if he knew what a fucking for loop was.
-Checked about a third of the tiles that it should have because, once again, it's a series of concatenated if statements instead of an actual goddamn algorithm.
-IT DIDN'T FUCKING WORK!
My response was along the lines of "what the fuck is this?". This dipshit is in his final year and I've seen people write better code in their second semester. The rest of the team, his friend included, agreed that this was bad code and that it should be redone properly. The plan was for Mr DDTW to move his code into a new function and then fix it in another branch. Then we could merge it back when it was done. Well, he kept on saying it was done but:
-It still wasn't an algorithm.
-It was still 90 lines.
-They were still 200 characters wide.
-It still only checked a third of the tiles.
-IT STILL DIDN'T FUCKING WORK!
He also had one more task, an infinite loop detection system. He watched while Ms Reliable did the fucking work.
We hit our first of two deadlines successfully. We still didn't have a decent landing function but everything else was nice and polished, and we got graded incredibly well. The other projects had been going alright although the same issue of him not doing shit applied. Ms Reliable and I, seeing the shitstorm that would come if this dude didn't get his act together, lodged a complaint with the professor as a precautionary measure. Little did I know how much that advanced warning would save my ass later on.
Second sprint begins and I'm voted in as the actual PM this time. We have four main tasks, so we assign one person to each and me as a generalist who would take care of the minor tasks as well as help out whoever needed it. This ended up being a lot of reworking and re-abstracting, a lot of helping and, for reasons that nobody ever could have predicted, one of the main tasks.
These main tasks were new features that would need to be integrated, most of which had at least some mutual dependencies. Part of this project involved running our code, which would connect to the professor's test server and solve a server-side navigation problem. The more of these we solved, the better the grade, so understandably we needed an MVP to see if our shit worked on the basic problems and then fix whatever was causing the more advanced ones to fail. We decided to set an internal deadline for this MVP. Guess who didn't reach it?
Hitting the character limit, expect part 2 SOON7 -
One comment from @Fast-Nop made me remember something I had promised myself not to. Specifically the USB thing.
So there I was, Lieutenant Jr at a warship (not the one my previous rants refer to), my main duties as navigation officer, and secondary (and unofficial) tech support and all-around "computer guy".
Those of you who don't know what horrors this demonic brand pertains to, I envy you. But I digress. In the ship, we had Ethernet cabling and switches, but no DHCP, no server, not a thing. My proposition was shot down by the CO within 2 minutes. Yet, we had a curious "network". As my fellow... colleagues had invented, we had something akin to token ring, but instead of tokens, we had low-rank personnel running around with USB sticks, and as for "rings", well, anyone could snatch up a USB-carrier and load his data and instructions to the "token". What on earth could go wrong with that system?
What indeed.
We got 1 USB infected with a malware from a nearby ship - I still don't know how. Said malware did the following observable actions(yes, I did some malware analysis - As I said before, I am not paid enough):
- Move the contents on any writeable media to a folder with empty (or space) name on that medium. Windows didn't show that folder, so it became "invisible" - linux/mac showed it just fine
- It created a shortcut on the root folder of said medium, right to the malware. Executing the shortcut executed the malware and opened a new window with the "hidden" folder.
Childishly simple, right? If only you knew. If only you knew the horrors, the loss of faith in humanity (which is really bad when you have access to munitions, explosives and heavy weaponry).
People executed the malware ON PURPOSE. Some actually DISABLED their AV to "access their files". I ran amok for an entire WEEK to try to keep this contained. But... I underestimated the USB-token-ring-whatever protocol's speed and the strength of a user's stupidity. PCs that I cleaned got infected AGAIN within HOURS.
I had to address the CO to order total shutdown, USB and PC turnover to me. I spent the most fun weekend cleaning 20-30 PCs and 9 USBs. What fun!
What fun, morons. Now I'll have nightmares of those days again.9 -
I have been a mobile developer working with Android for about 6 years now. In that time, I have endured countless annoyances in the Android development space. I will endure them no more.
My complaints are:
1. Ridiculous build times. In what universe is it acceptable for us to wait 30 seconds for a build to complete. Yes, I've done all the optimisations mentioned on this page and then some. Don't even mention hot reload as it doesn't work fast enough or just does not work at all. Also, buying better hardware should not be a requirement to build a simple Android app, Xcode builds in 2 seconds with a 8GB Macbook Air. A Macbook Air!
2. IDE. Android Studio is a memory hog even if you throw 32GB of RAM at it. The visual editors are janky as hell. If you use Eclipse, you may as well just chop off your fingers right now because you will have no use for them after you try and build an app from afresh. I mean, just look at some of the posts in this subreddit where the common response is to invalidate caches and restart. That should only be used as a last resort, but it's thrown about like as if it solves everything. Truth be told, it's Gradle's fault. Gradle is so annoying I've dedicated the next point to it.
3. Gradle. I am convinced that Gradle causes 50% of an Android developer's pain. From the build times to the integration into various IDEs to its insane package management system. Why do I need to manually exclude dependencies from other dependencies, the build tool should just handle it for me. C'mon it's 2019. Gradle is so bad that it requires approx 54GB of RAM to work out that I have removed a dependency from the list of dependencies. Also I cannot work out what properties I need to put in what block.
4. API. Android API is over-bloated and hellish. How do I schedule a recurring notification? Oh use an AlarmManager. Yes you heard right, an AlarmManager... Not a NotificationManager because that would be too easy. Also has anyone ever tried running a long running task? Or done an asynchronous task? Or dealt with closing/opening a keyboard? Or handling clicks from a RecyclerView? Yes, I know Android Jetpack aims to solve these issues but over the years I have become so jaded by things that have meant to solve other broken things, that there isn't much hope for Jetpack in my mind 😤
5. API 2. A non-insignificant number of Android users are still on Jelly Bean or KitKat! That means we, as developers, have to support some of your shitty API decisions (Fragments, Activities, ListView) from all the way back then!
6. Not reactive enough. Android has support for Databinding recently but this kind of stuff should have been introduced from the very start. Look at React or Flutter as to how easy it is to make shit happen without any effort.
7. Layouts. What the actual hell is going on here. MDPI, XHDPI, XXHDPI, mipmap, drawable. Fuck it, just chuck it all in the drawable folder. Seriously, Android should handle this for me. If I am designing for a larger screen then it should be responsive. I don't want to deal with 50 different layouts spread over 6 different folders.
8. Permission system. Why was this not included from the very start? Rogue apps have abused this and abused your user's privacy and security. Yet you ban us and not them from the Play Store. What's going on? We need answers.
9. In Android, building an app took me 3 months and I had a lot of work left to do but I got so sick of Android dev I dropped it in favour of Flutter. I built the same app in Flutter and it took me around a month and I completed it all.
10. XML.
If you're a new dev, for the love of all that is good in this world, do NOT get into Android development. Start with Flutter or even iOS. On Flutter and build times are insanely fast and the hot reload is under 500ms constantly. It's a breath of fresh air and will save you a lot of headaches AND it builds for iOS flawlessly.
To the people who build Android, advocate it and work on it, sorry to swear, but fuck you! You have created a mess that we have to work with on a day-to-day basis only for us to get banned from the app store! You have sold us a lie that Android development is amazing with all the sweet treat names and conferences that look bubbly and fun. You have allowed to get it so bad that we can't target an API higher than 18 because some Android users are still using devices that support that!
End this misery. End our pain. End our suffering. Throw this abomination away like you do with some of your other projects and migrate your efforts over to Flutter. Please!
#NoToGoogleIO #AndroidSummitBoycott #FlutterDev #ReactNative16 -
why in 2019, are browsers so fucking inconsistant.
im not even doing anything stupidly complicated.
simple UL List conataining links and background colors on the LI's....
and yet, every single browser is different, or in IE's case completly lost the plot.rant design in 2019 why cant we just do things the same even simple is complicated browsers front end sucks ass22 -
I have a client (a friend of a friend of a friend) who came to me to build them a "simple" booking solution for their home cleaning business. Easy enough, I first thought.
Having taken a deposit based on my initial quote and contracts all signed, roll on exactly 8 months to where I find myself today.
It turns out, there is no cleaning business as the business will be totally reliant on the website. The original goalposts have now been moved to a completely different fucking country. The (now) required functionality has STILL yet to be finalised (I told client I'm not writing another line of code until EVERYTHING has been mapped out and made crystal clear), as every single face-to-face meeting / back and forth email turns into the client requesting hundreds more brilliant, essential features that make absolutely ZERO fucking sense. And now, to top it all off and push me into writing my first ever rant on here, I've just received an email from the client this morning saying "what I would like to have is like an online restaurant live booking system". WTF?!?!?
I work from home and have only my dog for company today, so please don't judge me. Just needed to let it all out.11 -
"Fuck JavaScript, its such a shitty language" seems to be quite a common rant today. It seems as if JS is actually getting more hate than PHP, which is certainly odd, considering the stereotype.
So, as someone who has spent a lot of time in JS and a lot of time elsewhere, here are my views. Please, discuss your opinions with me as well. I am genuinely interested in an intelligent conversation about this topic.
So here's my background: learned HTML/CSS/JS in that order when I was 12 because I liked computers. I was pretty shitty at JS until U was at least 15, but you get the point, Ive had it sploshing about in my brain for a while.
Now, JS certainly has its quirks, no doubt, but theres nothing about the language itself that I would say makes it shitty. Its a very easy leanguage to use, but isn't overdeveloped like VB.net (Or, as I like to call it, TheresAFunctionForThat)
Most of the hate is centered around JS being used for a very broad range of systems. I doubt JS would be in the rant feed so often if it were to stay in its native ecosystem of web browsers. JS can be used in server backend, web frontent, desktop and mobile applications, and even in some system services (Although this isn't very popular as of yet). People seem to be terrified that one very easy to learn language can go so far. And, oh god, its interpreted... How can a system app run off an interpreted language? That's absurd.
My opinion on JSEverything is that it's progress. Thats what we're all about, right? The technologies already in place are unthreatened by JS, it isn't a gamechanger. The only thing JS integration is doing is making tedius and simple tasks easier. Big companies with large systems aren't going to jump ship and migrate to JS. A startup, however, could save a fucking ton of development time by using a JS framework, however. I want to live in a world where startups can become the next Google, because technology will stagnate when youre trying to protect your fortune, (Look at Apple for fucks sake) but innovation is born of small people with big ideas.
I have a feeling the hate for JS is coming from fear of abandoning what you're already doing. You don't have to do that. JS is only another option (And a very good one, which is why it's becoming so popular).
As for my personal opinion from my experiences... I've left this part til the end on purpose. I love programming and learning and creating, so I've never hated a lamguage, really. It all depends on what I want to do. In the times i've played arpund with JS, I've loved it. Very very easy. The idea of having it on both ends of web development makes a lot of sense too, no conversion, just direct communication. I would imagine this really helps with speed, as well. I wouldn't use it in a complicated system, though. Small things, medium size projects: perfect. Running a bank? No.
So what do you think about this JSUniverse?13 -
Less rant, more story.
Tl;Dr: Disney uses "Magic Bands" to track every action of every person within their parks.
So I took my family to Disney World this past summer and we got these "nifty" little things called Magic Bands. These things are little wrist devices that basically handle everything for you in the parks. It unlocks your resort room, it gets you into the parks, you pay for meals and souvenirs with it by connecting a credit card and/or your meal plan. It makes things real simple as it's like putting on your watch each day.
At first I kinda enjoyed how easy it made everything on the trip, but then as we were exiting a ride the couple in front of us noticed the digital signs had their names on them, I looked around and noticed mine too, a sign that said "have a good day $myName." It suddenly clicked. These "Magic Bands" are people trackers. Suddenly everything about the park that I had been enjoying, was part of the system they had in place using these bands as human cattle tags. The ride wait time estimations were perfect, not because of a good algorithm and estimations, but because they had actual real data telling them when a person entered the line and got off the ride.
Using a BLE scanner app I was able to see that they have hundreds of APs throughout the parks tracking every single band on every single person withing their compound. I started to think about all of the data they're collecting and the thought of it was overwhelming. The amount of assumptions they can make about people based on their actions within their parks and what that data would be worth to additional advertisers. By the end of the trip I was cynically pointing out everything to my family about the cattle tags and how much I hated wearing it and yet it was required in order to do anything.22 -
#2 Worst thing I've seen a co-worker do?
Back before we utilized stored procedures (and had an official/credentialed DBA), we used embedded/in-line SQL to fetch data from the database.
var sql = @"Select
FieldsToSelect
From
dbo.Whatever
Where
Id = @ID"
In attempts to fix database performance issues, a developer, T, started putting all the SQL on one line of code (some sql was formatted on 10+ lines to make it readable and easily copy+paste-able with SSMS)
var sql = "Select ... From...Where...etc";
His justification was putting all the SQL on one line make the code run faster.
T: "Fewer lines of code runs faster, everyone knows that."
Mgmt bought it.
This process took him a few months to complete.
When none of the effort proved to increase performance, T blamed the in-house developed ORM we were using (I wrote it, it was a simple wrapper around ADO.Net with extension methods for creating/setting parameters)
T: "Adding extra layers causes performance problems, everyone knows that."
Mgmt bought it again.
Removing the ORM, again took several months to complete.
By this time, we hired a real DBA and his focus was removing all the in-line SQL to use stored procedures, creating optimization plans, etc (stuff a real DBA does).
In the planning meetings (I was not apart of), T was selected to lead because of his coding optimization skills.
DBA: "I've been reviewing the execution plans, are all the SQL code on one line? What a mess. That has to be worst thing I ever saw."
T: "Yes, the previous developer, PaperTrail, is incompetent. If the code was written correctly the first time using stored procedures, or even formatted so people could read it, we wouldn't have all these performance problems."
DBA didn't know me (yet) and I didn't know about T's shenanigans (aka = lies) until nearly all the database perf issues were resolved and T received a recognition award for all his hard work (which also equaled a nice raise).7 -
Me:, I built you this beautiful site it's super modular, it's really straight forward
Client: urm we aren't tech people if you could..... Set up all the pages for us using the modules so we can just input the data
Me: 😡 yes I could do that or you could take 5, minutes to learn this system. It's simple 😡 see that title there "left image right title module" . I've done the sample for the templates. So if you need to you can duplicate it! There's even a duplicate button!
Client: can you do it I don't want to waste time learning it right now since we are on a tight deadline
Me in head: fuck off you supreme bitch you try to get my mates dad fired! Now I've done you this huge favour getting you out of the shit 😡 and you won't take 5 minutes to just look at the admin section your old site was wix ffs.
My next move(not yet done): here is a word document it outlines what you need to do 😐
If after this see asks again I'm asking to work with someone else or quitting the project2 -
Making a contest site for a client. It's 2 parts, a static part and then a "hub" where the contest actually takes part. I did most of the static part, and uploaded it to show her. She likes it, but wants to be able to change the content automatically without having to talk to me. Ok, I think. The harder part is the contest site, so she's not gonna run away with my code. I give her access to the ftp and teach her what to do.
To my amazement she takes a liking to html. And starts adding some (super simple) tags. They ruin some of my designs but they look fine. Whatever.
Today she messages me saying that the top picture is off. Hmm, I'll check it out. Turns out almost the entire page is ruined. What's even worse is that she inserted a link to a facebook image she has on top of everything, a picture I don't have access to, and yet she's refusing to admit that it was her mistake. It's not even wrapped in an img tag, it's just pure text!!!
Fine. I'll revert to the version I had. No! cz apparently I can't undo all the changes she's worked hard on. So now I have to go through all the markup and check what's causing this -- and I hate frontend!!!
Worst part of this all? She can't fucking be bothered to type out what her whore infested lying mouth wants to say. She has to send me voicenotes, a few minutes long, filled with uhhh ummm let me think, because that brain who thought learning to write <br/> and <em> is bad ass can't FUCKING formulate a thought before sending it. She has to have me stop my music, and stop my concentration just so she can tell me maybe she pasted it by mistake IN A 5 MINUTE VOICE NOTE. tbh the money isn't even that good. I don't know why I'm still here.
PS: it's not missing an include. I checked.undefined html client fuck clients too bad i'm an atheist i need jesus right now when clients think that they are jesus7 -
Prologue
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Part 1
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Part 2
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
TerminarzeController.DeleteTerminarzShematyDlaLekarza
Part 3
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Epilogue
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.1 -
I'm starting to fucking hate the word 'done'.
Scenario 1:
Boss: How's the spec coming along?
Manager: Oh, it's done.
Manager to me: Hey can you get it done?
Me: Why would you call it done? There's a days worth of work and it's only half done. Boss wasn't even rushing it yet.
Manager: Too late I've already committed it. I'm sure it's simple anyway. Just do it.
Scenario 2:
Manager: Hey is it done?
Noob dev: Yea it's done.
*Commits half assed incomplete sphagetti shit that breaks stuff*
Manager: Well done. Completed so quickly.
FUCK THIS SHIT.2 -
!drunk (yet)
It's whiskey and code tonight!
(Whiskey because I couldn't get to my rum. annoyed face.)
Why? Because rum is so much better. duh.
More seriously: My boss has thrown me every single one his current tasks and is refusing to answer simple questions about them, such as "oh, so you already know about this bug; what's the cause?" or "how do i test this once i've fixed it?" or "where the fuck are you?"
and I'm also getting lots of bugs from other people. They're all basically categorized "urgent, please fix immediately" but should instead be categorized "super-boring and not-at-all-important, and should get fixed on the off chance you happen to remember it next year". That's the best category of bug.
I just gave up on fixing a Rails pluralize bug which fits into the aforementioned category quite nicely. It's returning "2x round of golves" -- which is hilarious and I might leave it in just for the amusement. But now it's back to fighting with ActionCable! Everything has been getting in the way of me finishing that. I'm about to start biting.
Speaking of ActionCable, it turns out my code wasn't wrong after all (have I said that yet?). Since the official documentation and examples suck, I've been digging through the (generated) javascript source and working my way backwards to learn how to use it. I cleaned up my code a little, but it was still correct. The reason nothing is working correctly is that API Guy gave me broken code. ...Again! Go figure. So I'll be rewriting that today. or tomorrow. (Whiskey, remember?)
I also have some lovely netcode to debug and fix. So totally not looking forward to that. The responses are less bloody reliable than my boss's code ffs. *grumble grumble*6 -
I was getting a freelancer job to do some backend work for a company in India that is working for a huge company in Saudi Arabia.
The customer in india was my primary contact, I wasn't allowed to talk to the guys in Saudi Arabia. My contact, we'll call him Aman, asks if i can do frontend too. I decline. Now what follows were 4 weeks of backend work during which Aman called me 10-15 times per day via skype to ask me how I was progressing, and if "insert spec here" was already done. He even called me in the middle of the night, well aware of the different time zones.
But in the end all the work is done, Aman is happy. I request payment.
Aman: We can't pay you yet, you didn't do the frontend!
Me: I'm not doing frontend.
Aman: It's just a few simple changes and then we're done.
Me: Gnnn, fuck it, what do you need?
Aman: Our customer would like the frontend to look better.
Me: Ok, so what exactly should look better?
Aman: All of it.
Me: Do you have any specs?
Aman: No just make it look more modern.
Me: So you want me to rework the whole frontend? That's not just a few simple changes...
Aman: How long would you need?
Me: I actually don't do that kind of work.
Aman: We pay you double your hourly rate if you do this and finish it fast.
(This is were I should have just said no... but the greed...)
Me: Ok, but it will take me about 3 weeks to do that.
Aman: OK.
Me: Do you have any preferences as to how it should look?
Aman: No, just surprise us.
(After this sentence I really should have gotten the hell out of Dodge)
After working 3 weeks changing over 20.000 lines of CSS and most of the HTML I present Aman with the changes.
Aman: No our customer doesn't like the changes. Can you make a different version?
Me: What doesn't he like, any specifics, coloring, styling of lists or the buttons?
Aman: He doesn't like the whole thing. Please make us another version.
Me: Ok, you are the customer, but it would really help if you give me some pointers as to how it should look like.
Aman: Just do your best.
Me: ..., ok, that's helpful.
2 weeks later...
Aman: No our customer liked the version before better. But could you make it look more modern.
Me: *Bangs head against wall repeatedly*
Me: What do you mean by modern?
Aman: It should look more modern, as a whole.
Me: Ok, I get that, but could you give me an example?
Aman: Sends me a screenshot of the overview screen with all the elements encircled and modern written beside them.
1 week later...
Aman: The customer has decided, he likes the original version best. Can you undo all the changes?
Me: Sure but that'll take like 1 hour.
Aman: Oh by the way we were asked by accounting why the price for this project was so high?
Me: *hugh* *gnn* what?
Aman: Well at the beginning, you estimated the backend and frontend work to be done in 4 weeks.
Me: The frontend was never part of the original estimate.
Aman: Can you do anything concerning your hourly rate, so that we can get back to the original pricing.
Me: *make a mental note to never work with an intermediary company in india again and cancels the job requesting the due payment*
Luckily I got paid the full amount but not before having another 10 Skype call with Aman...17 -
You wanted to hear more about my "glorious" teacher. I deliver. So get a cup of tea, take a seat and prepare for insanity.
As I already told in a comment my programming teacher is one special snowflake who lives in his personal bubble. We have final exams in less than a month and he spents at least half a lesson talking about vanishing bees and missing plants from his garden. Other topics he likes to talk about (and tries to turn every freaking conversation into at least one of these):
1. Other students and their stupidity
2. Diesel scandal
3. His sick wife
4. "Why does noone read newspapers anymore?"
5. Why he can't teach Java but really really really wants to and everyone hates him and forces him to do C#.
Even if I try to interrupt him he'll go on until he thinks we gained some "common knowledge" - this is how he justifies these topics.
Everytime he introduced us to a new command he compared it to Java and sometimes he even falsely corrects code because he confuses them.
We are only 6 people including me (another story for another time) and he is not able to help everyone during a 90min lesson. He normally sticks with one person for at least one hour and just talks to them or even do their tasks. This is really annoying if you have a simple question. He won't answer you until he's finished whatever he's doing.
Most of the time he doesn't seem to understand what he's talking about/trying to teach us. He's muttering statements from our textbook to himself switching halfway through to another sentence while drawing not decipherable shit on the blackboard.
Another gem are his "guidelines" for classtests. We are allowed to use any command we know. Except the ones we learned not in class. And the ones he doesn't like. And the ones he doesn't want to exist. And of course not the ones which make you're life easier. So basically we are bound to use his favourite commands or we won't get a good grade. Example: use an array. List is not allowed. Never.
He has some weird fetish with arrays.
I once presented him perfectly fine code I wrote in my freetime and asked what some warnings meant. (Was because of different Visual studio versions as I learned later.) He scolded me for using things he didn't taught us yet and ranted about how I'm pressuring him into rushing these things now - I never wanted to show this to my classmates nor was this anything else than a project for fun and learning something new. (FYI the "new stuff" where classes and objects because i was tired of kilometers of spaghetti code). His rant went on a good 20minutes and - obviously - he didn't answer my question. I asked my fiance that evening and he explained it to me.
This should it be for this time. I'm sure I have more stories to tell for another time!
Thank you for reading. ^^5 -
Hey Root, we have a high priority ticket for you! It's adding some columns to a report. Should be simple. Details are in the ticket.
First: reports are some of the most boring, drool-inducing drudgery i have ever worked on.
Second: Specs for these reports are a nightmare since everything is ... very indirectly tested, and the specs are everywhere but where you'd expect them to be, so it's a lot of spelunking and trial/error. It's also slow as beans.
Anyway. The ticket's details are in ... not the worst engrish i've ever seen, but it's bad enough that i have no idea what they're asking despite (thus far) five attempts at deciphering it. There's also a numbered list of "fields" to add, so you'd think it would be straightforward. It is not. Half the list is crossed out, and half of the remaining items are feature requests (in yet more engrish), not columns to add. Also, one of the actual fields is impossible as the data it's asking for is not recorded anywhere.
yeah...
I cringe every time I see this person's name as the reporter because it's always the same. and honestly, there are more of these engrish people every month, and believe me: it isn't just a language barrier...3 -
Just disassembled 2 €5 desk fans because they were shit.. and so is their design apparently.
What I found inside was actually surprisingly simple.. a toddler could build it. It's just a DC motor, a 3PDT switch, DC barrel connector, some wires and screws to hold stuff in place. Oh and the plastic thingie with the fan blades, as well as the USB cable of course.
5 fucking euros. The combined cost of the components would be less than 3, certified motherfuckturers. Time to build it, injection moulding, transportation, sure.. but still.
And if you think that being salty about €5 is cheap shittalk, expand that to every fucking piece of electronics that doesn't cost a small fortune.. at all price ranges. Could be radios, alarm clocks, heck even phones. Shit's way too expensive for what it's worth. Perhaps because so many people in the industry are just here for a quick buck.. motherfuckers 😒
Anyway, back to the design.. the hole in the fan blade thingie is supposed to get the motor's shaft shafted in, to turn the blades. I'd use glue there.. but not these designers. They just shove it in and hope that friction takes care of everything. And one of the fan blade modules' hole was so wide that inserting the motor is like throwing a sausage down the hallway. No contact at all! Make it tight already like the Chinese designer's glory-...
Nah let's not get into Chinese tightness just yet.
Oh and also a resistor for slow mode. Consumes just as much power except the fan turns slower. Because fuck efficiency, right?
Goddammit, next time I'm just gonna build my own again.. at least that wouldn't be a certified piece of shit 😑7 -
I'm a DevOps engineer. It's my job to understand why this type of shit is broken, and when I finally figure it out, I get so mad at bullish players like AWS.
It's simple. Install Python3 from apt.
`apt-get update && apt-get install -y python3-dev`
I've done this thousands of times, and it just works.
Docker? Yup.
AWS AMI? Yup.
Automation? Nope.
WTF? Let's waste 2.5 hours and figure out why this morning.
In docker: `apt-cache policy python3-dev` shows us:
python3-dev:
http://archive.ubuntu.com/ubuntu focal/main amd64 Packages
But in AWS instance, we see we're reading from "http://us-east-1.ec2.archive.ubuntu.com/... focal/main" instead!
Ah, but why does it fail? AWS is just using a mirror, right? Not quite.
When the automation script is running, it's beating AWS to the apt mirror update! My instance, running on AWS is trying to access the same archive.ubuntu.com that the Docker container tried to use. "python3-dev" was not a candidate for installation! WTF Amazon? Shouldn't that just work, even if I'm not using your mirror?
So I try again, and again, and again. It works, on average, 1 out of every 5 times. I'm assuming this means we're seeing some strange shit configuration between EC2 racks where some are configured to redirect archive.ubuntu.com to the ec2 mirror, and others are configured to block. I haven't dug this far into the issue yet, because by the time I can SSH into the machine after automation, the apt list has already received it's blessed update from EC2.
Now I have to build a graceful delay into my automation while I wait for AWS to mangle, I mean "fix up" my apt sources list to their whim.
After completely blowing my allotted time on this task, I just shipped a "sleep" statement in my code. I feel so dirty. I'm going to go brew some more coffee to be okay with my life. Then figure out a proper wait statement.7 -
"I'm almost done, I'll just need to add tests!"
Booom! You did it, that was a nuke going off in my head.
No, you shouldn't just need to add tests. The tests should have been written from the get go! You most likely won't cover all the cases. You won't know if adding the tests will break your feature, as you had none, as you refactor your untested mess in order to make your code testable.
When reading your mess of a test case and the painful mocking process you went through, I silently cry out into the void: "Why oh why!? All of this suffering could have been avoided!"
Since most of the time, your mocking pain boils down to not understanding what your "unit" in your "unit test" should be.
So let it be said:
- If you want to build a parser for an XML file, then just write a function / class whose *only* purpose is: parse the XML file, return a value object. That's it. Nothing more, nothing less.
- If you want to build a parser for an XML file, it MUST NOT: download a zip, extract that zip, merge all those files to one big file, parse that big file, talk to some other random APIs as a side-effect, and then return a value object.
Because then you suddenly have to mock away a http service and deal with zip files in your test cases.
The http util of your programming language will most likely work. Your unzip library will most likely work. So just assume it working. There are valid use cases where you want to make sure you acutally send a request and get a response, yet I am talking unit test here only.
In the scope of a class, keep the public methods to a reasonable minimum. As for each public method you shall at least create one test case. If you ever have the feeling "I want to test that private method" replace that statement in your head with: "I should extract that functionality to a new class where that method public. I then can create a unit test case a for that." That new service then becomes a dependency in your current service. Problem solved.
Also, mocking away dependencies should a simple process. If your mocking process fills half the screen, your test setup is overly complicated and your class is doing too much.
That's why I currently dig functional programming so much. When you build pure functions without side effects, unit tests are easy to write. Yet you can apply pure functions to OOP as well (to a degree). Embrace immutability.
Sidenote:
It's really not helpful that a lot of developers don't understand the difference between unit, functional acceptance, integration testing. Then they wonder why they can't test something easily, write overly complex test cases, until someone points out to them: No, in the scope of unit tests, we don't need to test our persistance layer. We just assume that it works. We should only test our businsess logic. You know: "Assuming that I get that response from the database, I expect that to happen." You don't need a test db, make a real query against that, in order to test that. (That still is a valid thing to do. Yet not in the scope of unit tests.)rant developer unit test test testing fp oop writing tests get your shit together unit testing unit tests8 -
[long]
When searching for internship via school I found this small startup with this cute project of building a teaching tool for programming. There were back then 2 programmers: the founder and the co-founder.
Then like 1 week before the internship started, the co-founder had a burnout and had to get off the project, while the company was so low on budget the founder, aka my new b0ss, had to work separate jobs to keep the company alive. (quite metal tbh)
It's funny because I'm a junior developer, 100%. I've been coding as a hobby for around 8 years now but I've never worked in a big company before. (No exception to this workplace either)
First project I get: rewrite the compiler. The Python compiler.
"But wait, why not just embed a real compiler from the first case?"
-nanananana it's never simple, as you probably know from your own projects.
The new compiler, as compared to existing embedded compiler solutions out there, needed these prime features:
- Walk through the code (debugger style), but programmatically.
- Show custom exceptions (ex: "A colon is needed at the end of an if-statement" instead of "Syntax error line 3")
- Have a "Did-you-mean this variable?" error for usage of unassigned variables.
- Be able to be embedded in Unity's WebGL build target
All for the use case of being a friendly compiler.
The last dash in the list is actually the biggest bottleneck which excluded all existing open-source projects (i could find). Compliant with WebAssembly I can't use threads among other things, IL2CPP has lots of restrictions, Unity has some as well...
Oh and it should of course be built using test-driven development.
"Good luck!" - said the founder, first day of work as she then traveled to USA for **3 weeks**, leaving me solo with the to-be-made codebase and humongous list of requirements.
---
I just finished the 6th week of internship, boss has been at "HQ" for 3 weeks now, and I just hit the biggest milestone yet for this project.
Yes I've been succeeding! This project has gone so well, and I'm surprising myself how much code I've been pumping out during these weeks.
I'm up now at almost 40'000 lines of source and 30'000 lines of code. ‼
( Biggest project I've ever worked on previously was at 8'000 lines of code )
The milestone (that I finished today) was for loops! As been trying to showcase in the GIF.
---
It's such a giant project and I can honestly say I've done some good work here. Self-five. Over-performing is a thing.
The things that makes me shiver though is that most that use this application will never know the intricates of it's insides, and the brain work put into it.
The project is probably over-engineered. A lot. Having a home-made compiler gives us a lot of flexibility for our product as we're trying to make more of a "pedagogic IDE". But no matter that I reinvented the wheel for the 105Gth time, it's still the most fun I've had with a project to date.
---
Also btw if anyone wants to see source code, please give me good reasons as I'm actively trying to convince my boss to make the compiler open-source.
Cheers!4 -
Python seems so ... simple, yet beautiful.
(It's just ... a feeling, I only did the codecademy course and doodled on the command line by now.)
But this whitespace/tab thing and the fact that missing semicolons don't result in errors is just fucking confusing.15 -
May i ask for help dear fellow devRanters?
@aureliagbrl suffered a deep depression and pressure from her family, the cause is exceptionally simple yet very crucial; so here's the story :
Every week, in friday after the last class she have to go home to fulfill her family wish to gather around and will come back to her dorm in Sunday. her home is more than 1.5 hour from University. recently one class in Wednesday moved out to Saturday Noon for some reason this cause her to go home in Saturday afternoon, yet her family doesn't care if it means she have to wake up 3am in Monday, to get back alone to catch up with class. her family just want to gather around longer, that's it, no exception. According to her this is so frustrating and exhausting. so the condition now is Tomorrow Morning (Monday) there will be a Live Coding Exam. she isn't prepared, her only wish was to get back on Sunday instead of Monday to Study. her family discard her wish entirely. this make her so deeply depressed and i can't even talk to her, she starting to mumbling about quitting college, and etc, etc.
We all know how bad it is to burnt out right ? and we want our fellow developers get out from it and a good shape. My wish is simple from you guys, i wish you can mention her in comment and cheer her up.
Thank You
here is her cheerful photo.35 -
I don't understand why people are making a fuss about Facebook.
It's free to use, the amount of users kept increasing (thus the cost of maintenance) yet the company kept getting bigger and bigger. Obviously they're not making all their money off the advertisements on Facebook's own website.
So why are people so surprised that they're "selling" user information?
This is really funny to me. Especially the media joining in saying that it makes all your information available to everybody when they're actually talking about the fact that the majority of Facebook users have their profile set to public and they can be easily found with a simple Google search.
People are so fucking hypocritical it makes me want to puke. If you don't want anybody to know what you posted, just don't fucking post it on a SOCIAL MEDIA in the first place.
Don't get me wrong, I'm not saying that facebook is all flowers and love, they clearly didn't handle this situation well. They could have done something about this whole situation when it started instead of waiting for things to blow out of proportion.
However, people are just being assholes now. I highly doubt that they're reading all chats nor are they sending it over, they're probably just sending out some words you mention often so that it is pertinent for advertisers (ex. If you use the word computer next to buy, then maybe that triggers something). I could talk extensively about it but I'm way too lazy, the point is, they most likely aren't sending the nudes you sent to advertisers because that does not provide any benefits.
If you don't like Facebook, don't fucking use it. Delete your account and shut the fuck up. When you screw up in real life, there's no takesies backsies, why the fuck do people think it doesn't apply online? The government gathers up quite a lot of information on you yet I don't see you crying your eyes out.
Why the fuck do you care so much if an advertisement is tailored to specifically? Yeah, you talked about dildos and now you see dildo ads from Amazon, not happy? Just download adblock and shut up. If you're gullible and the moment you see an ad about single women in your area you click on the ad because you want to get laid right now, that's your problem.
Don't want people knowing about some aspects of your private life? Don't share it online.
Stop acting like people are any better at keeping secrets, I'm sure you had some people leak your secrets at least once, yet I doubt you sued them and you brought them to court.
===========
I'm sorry about this, it's just that Facebook is all over the news and I'm getting sick of it.
Also, I hate facebook, I'm not necessarily defending it, I'm more pissed at the medias for blowing this situation out of proportion.22 -
Dogecoin hit USD $0.40 recently, which means it's time for the Crypto Rant.
TL;DR: Dogecoin is shit and is logically guaranteed to eventually fall unless it is fundamentally changed.
===========================
If you know how Crypto works under the hood, you can skip to the next section. If you don't, here's the general xyz-coin formula:
Money is sent via transactions, which are validated by *anybody*.
Since transactions are validated by anybody, the system needs to make sure you're not fucking it up on purpose.
The current idea (that most coins use today) is called proof-of-work. In short, you're given an extremely difficult task, and the general idea is you wouldn't be willing to do that work if you were just going to fuck up the system.
For validating these transactions, you are rewarded twofold:
1) You are given a fixed-size prize of the currency from the system itself. This is how new currency is introduced, or "minted" if you prefer.
2) You are given variable-size and user-determined prize called "transaction fees", but it could be more accurately called a "bribe" since it's sole purpose is to entice miners to add YOUR transaction to their block.
This system of validation and reward is called mining.
===========================
This smaller section compares the design o f BTC to Dogecoin - which will lead to my final argument
In BTC, the time between blocks (chunks of data which record transactions and are added to the chain, hence blockchain) is ten minutes. Every ten minutes, BTC transactions are validated and new Bitcoins are born.
In Dogecoin, the time between blocks is only one minute. In Theory, this means that mining Dogecoin is about ten times easier, because the system expects you to be able to solve the proof of work in an average of one minute.
The huge difference between BTC and Doge is the block reward (Fixed amount; new coins minted). The block reward for BTC is somewhat complicated compared to Doge: It started as 50 BTC per block and every 4 years it is halved ("the great halving"). Right now it's 6.25 BTC per block. Soon, the block reward will be almost nothing until BTC hits it's max of 21 million bitcoins "minted".
Dogecoin reward is 10,000 coins per block. And it will be that way for the end of time - no maximum, no great halving. And remember, for every 1 BTC block mined, 10 Doge blocks are mined.
===========================
Bitcoin and Dogecoin are now the two most popular coins in pop culture. What makes me angry is the widespread misunderstanding of the differences between the two. It is likely that most investors buy Dogecoin thinking they're getting in "early" because it's so cheap. They think it's cheap because it isn't as popular as Bitcoin yet. They're wrong. It's cheap because of what's outlined in section two of this rant.
Dogecoin is actually not very far off Bitcoin. Do the math: there's a bit over 100 billion Dogecoin in circulation (130b). There's about 20 million BTC. Calculate their total CURRENT values:
130b * $0.40 = 52b
20m * $60k = 1.2t
...and Doge is rising much, much faster than BTC because of the aforementioned lack of understanding.
The most common thing I hear about Doge is that "nobody expects it to reach Bitcoin levels" (referring to being worth 60k a fucking coin). They don't realize that if Doge gets to be worth just $10 a coin, it will not just reach Bitcoin levels but overtake Bitcoin in value ($1.3T).
===========================
It's worth highlighting that Dogecoin is literally designed to fail. Since it lacks a cap on new coins being introduced, it's just simple math that no matter how much Doge rises, it will eventually be worthless. And it won't take centuries, remember that 100k new Doge are mined EVERY TEN MINUTES. 1,440 minutes in a day * 10K per minute is 14.4 million new coins per day. That's damn near every Bitcoin to ever exist mined every day in Dogecoin10 -
Ok, so I work at this "Great" company. I joined a new team recently with a project that is supposed to be a lot better than many of the other projects we have.
THESE MOTHEERRRRRFUCKERS don't even have hot reload on the app. You have to rebuild the app everytime you make a change. Are you kidding me?! We are using React. One of the basics of React is hot reload. I get into a fucking meeting and one of the devs is like, "I have one important thing to tell you, don't use hooks (a not so new feature in react yet something everyone should use at this point)" and the critical reason we don't use it is because they don't want to confuse the Java devs who are used to their little oop style o_O
Maaaan fuck your developers, it's not my fault you guys can't learn something so simple like functional programming. I haven't even started a sprint yet, I'll burn this app and make you rewrite it all.15 -
Don't you just hate where we're going forward with these different JS frameworks and packages? WebPack, Electron and all the other ways we try to use JS for desktop development and a simple build of a tiny project taking 10 mins on an average spec core i7 machine, then overdosing on npm install since every frikn thing is now so modular you donwload a gazillion packages just to set up user authentication with a simple route manager in your app.
JavaScript is fine really for certain purposes. It's these other frameworks that try to modularize every single aspect of it that sucks. If there's anything called too modular, JS has reached it now. over-modularizing, and over-complicating everyday trivial tasks just to introduce yet another frikn package or framework.
Really missing the good'ol monolithic days of programming. I mean, modular is fine bro, but for godsakes draw the line somewhere!
#NoMoreOneLineModules3 -
Crazy code.
You know when you come across some code, where you think: “I kinda see what you were going for, but it’s still hella dumb though...” right?
Currently doing some work on an F# backend, and the dev clearly knew enough of the language, but their code makes me question a lot.
The problem is simple: use a third party tool to generate images of each page in a pdf.
Said tool supports:
1. Querying the number of pages
2. Getting all pages as separate images in a single invocation
Can you guess how the dev solved it?
They’ve recursively incremented a page number, called the external tool to grab the image of that page.
“But how does it know when it’s run out of pages?” I hear you ask.
Simple. Catch the inevitable exception, and check against a hardcoded string literal to see whether it says “must be before the end of the document”.
I shit you not.
I nearly had an actual seizure when I was debugging some semi-related code and ended up in this wonderland of fuckery.
The recursion and pattern matching was flawless though, yet the tool’s website clearly states the supported functionality.
The whole thing feels like they tried to do it the right way, but couldn’t be bothered / couldn’t get it right, so they ended up creating this insane bit of madness.5 -
Grr the feeling when one of your interviewers has a hard-on for trying to find ways to sink your boat.
Went to a job interview yesterday during my lunch break for a mid level dev job in central London , i have been trying to transition from a junior role.
First were two senior devs , that went quiet well...
Next up was the tech lead and a team lead, lets call the latter Mc-douche for some problem
The tech lead was fine, very relaxed and clam guy more interested in seeing the logic of my answers and questions as to why i did certain things in this or that manner....
Mc-douche, he would always try to find something wrong then smile smugly and do that sideways head waggle thing
His tech lead is like " yup that's correct"
But he would be like " yeeess but you didn't think about bla bla bla" then talk about shit not even present in the context of the question
Ah also he would ask a question then cut me off as soon as I begin to say that i didnt mention or take into account x or y even though literally my next sentence is about address those details he wanted.
let me fucking finish you dickbag 😡
Had a js question, simple stuff about dom manipulation, told not to bother with code... yet McD starts asking me to write the code for it....managed it , quite easy stuff
Then a sql and db test , again technlead was happy with the answers and the logic am approaching the question when writing my query, yet mc d Is bitching about SQL syntax....
Ok fine, i made a simple mistake, I forgot and used WHERE instead of HAVING in a group by but really?! Thats his focus ?!
Most devs I know look up syntax to do stuff , they focus on their logic first the do the impl.
Then a general question on some math and how i would code to impl a solution on paper
That was a 20 mins one, the question said they didn't expect me to finish it totally so
I approached it like an exam question.
First
I focussed on my general flow of my process, listing out each step.
Then elaborated each step with pseudo code showing my logic for each of the key steps.
Then went deeper and started on some of the classes and methods , was about to finish before it was time up.
Mc douch went through my solution
And grudgingly admitted my logic was "robust enough" it was like he really had to yank that deep out of his colon.
I didn't really respond to any of his rudeness throughout the whole interview,i either smiled politely or put on a keen looking poker face.
Really felt awful the rest of the day, skipped the gym and went home after work, really sucks to have a hostile interviewer.
Pretty sure i wont be hearing anything good from them even though the three other interviewers were happy with me I felt.4 -
when my relatives know I'm studying IT:
"ooh, did you know that this guy made this and become rich, and this guy made this app and is rich now too, so why haven't you made anything yet?"
//its not that simple...3 -
So, I'm living in a completely computer illiterate family and I was called to help my father with something on a Laptop where he wanted to stream his favorite Soccer-Club.
So I walk up to him, ask what's wrong, and he says (roughly translated from German) "That thing doesn't work!"
And I'm just like ((Wat u mean))
So I ask him to explain the problem in detail.
Apparently his streaming service wasn't loading his stream.
Well damn I say, try searching for the problem on Google and find a solution.
((But no no no imma just call my son for everything that's freaking wrong with tech, he sure knows what to do))
As I'm not that experienced with Webservices as of yet, I had no idea what to do.
He was fucking furious!
"You always act like you know everything about tech and programs and stuff and can't even help me with fixing this Stream-Thing?!"
I responded simply by saying "It's not my area of work!"
Seems like he didn't know the difference between TECH-JESUS and hobbyist software engineer.
So I stand there and he just goes on one of these typical boomer tech illiterate rants, of which I'm sure you can imagine enough being on this platform.
tl;Dr; It pisses me of big time how people are not even trying to understand technology, nor attempting to help themselves by eG. Googling some simple problem, but rather just ask around and then being pissed off if the asked person just doesn't know the answer or can't help!5 -
Finally finished the screwdriver followup ticket. I think.
I spent almost two full days (14 hours) on a seemingly simple bug on Friday, and then another four hours yesterday. Worse yet: I can’t test this locally due to how Apple notifications work, so I can only debug this on one particular server that lives outside of our VPN — which is ofc in high demand. And the servers are unreliable, often have incorrect configuration, missing data, random 504s, and ssh likes to disconnect. Especially while running setup scripts, hence the above. So it’s difficult to know if things are failing because there’s a bug or the server is just a piece of shit, or just doesn’t like you that day.
But the worst fucking part of all? The bug appeared different on Monday than it did on Friday. Like, significantly different.
On Friday, a particular event killed all notifications for all subsequent events thereafter, even unrelated ones, and nothing would cause them to work again. This had me diving through the bowels of several systems, scouring the application logs, replicating the issue across multiple devices, etc. I verified the exact same behavior several times over, and it made absolutely no sense. I wrote specs to verify the screwdriver code worked as expected, and it always did. But an integration test that used consumer-facing controller actions exhibited the behavior, so it wasn’t in my code.
On Monday while someone else was watching: That particular event killed all notifications but ONLY FOR RELATED EVENTS, AND THEY RESUMED AFTER ANOTHER EVENT. All other events and their notifications worked perfectly.
AKL;SJF;LSF
I think I fixed it — waiting on verification — and if it is indeed fixed, it was because two fucking push event records were treated as unique and silently failing to save, run callbacks, etc.
BUT THIS DOESN’T MATCH WHAT I VERIFIED MULTIPLE TIMES! ASDFJ;AKLSDF
I’m so fucking done with this bs.8 -
A rant about pretentious people:
So last week I walk into college and I find that a new "Machine Learning Crash Course" is being offered by a senior. Now I'm a beginner in this domain, and know the just basic concepts and math behind it. Naturally, I was super curious about this and decided to talk the student who was supposed to teach the course.
I asked him where he learned from, and mentioned that I'm an interested beginner. He just replied, "YouTube".
Okaaaaayyy?
Now I'm suspicious of this guy, so I asked him if he's worked on any related projects I could look into, to which he replies, "Not yet, but I'm working on some".
Now I'm SUPER suspicious. A guy that's got no experience with the subject, yet is teaching others about it?
Get this, at this point he rudely asks me if I have anything else to say. So I asked him a super simple question: "Do you know what gradient descent is?". He replies "Uhh, no, but I've heard about it".
I lost it.
HOW DID THIS GUY MANAGE TO CONVINCE THE HEAD OF THE DEPARTMENT AND SEVERAL OTHER PROFESSORS TO TEACH A MACHINE LEARNING CRASH COURSE?
People like him need to go away.
/rant4 -
So, this is probably somewhat esoteric but...
While studying at university I had a "programming paradigms" module, dunno why they called it that, it was more like "introduction to functional programming".
So, it's kinda mind bending, we'd only really started to get our heads around classical object oriented programming and they throw functional programming at us.
It's worse than that though, for do they use an established language, like lisp/scheme, functional Python, or even given Haskell?
No, of course they didn't. They taught us Oz.
You probably won't have heard of it, but this language is burned into the back of my brain, along with a vague understanding of the n-queens problem we had to solve graphically (using qTk, which I dunno if someone took qt and tk and blended them, I stopped asking questions after a while).
To top it off did this language (at the time) have a stand alone interpreter? Did it buggery! It was coupled to the Mozart programming system, which is just Emacs (which has a bloody lisp built into it,so close, yet so far 😭).
It gets worse, though, oh does it get worse, for pause dear reader and consider, have you ever heard of Mozart/oz before, I'd put money on most of you had not heard of it until today.
For, you see, I believe at the time of writing, one, yes, ONE text book exists on this language. When I was doing my assignment there was merely some published conference notes and language design documents.
That's not all, I was not the only one experiencing difficulties with this language, someone in the class ended up pouring through the mailing lists and found the very tutor teaching the class struggling at first to understand the language.
I had to repeat that year. The functional programming class was one semester.
When I retook that year, it was a whole year long. However, halfway through the year, original tutor was fired and a new tutor was hired to teach the language.
He was, understandably, just as confused as we were.
There was a Starbucks and a pub equidistant from the lecture hall, though in opposite directions. From lecture to lecture we had no idea which one we'd end up in.
I have reason to believe Mozart/Oz it some sort of otherworldly abomination designed to give students the occasional nightmare flashback, long after they've left.
My room had post it notes, sheets of paper, print outs, diagrams, doodles and pens, just stuck to the wall, I looked like a raving lunatic three hours away from being institutionalised. There was string connecting one diagram to the next and images of a chess queen all over. As I attempted to solve the n-queens problem.
Madmans knowledge, I call it. I can never unlearn all that, in fact it seeps into much of the code I write. Such information was not meant for the minds of a simple country bumpkin such as myself...
Mozart/Oz... I wouldn't be the programmer I am today without it, and that's frankly terrifying...10 -
Inherited a simple marketplace website that matches job seekers and hospitals in healthcare. Typically, all you need for this sort of thing is a web server, a database with search
But the precious devs decided to go micro-services in a container and db per service fashion. They ended up with over 50 docker containers with 50ish databases. It was a nightmare to scale or maintain!
With 50 database for for a simple web application that clearly needs to share data, integration testing was impossible, data loss became common, very hard to pin down, debugging was a nightmare, and also dangerous to change a service’s schema as dependencies were all tangled up.
The obvious thing was to scale down the infrastructure, so we could scale up properly, in a resource driven manner, rather than following the trend.
We made plans, but the CTO seemed worried about yet another architectural changes, so he invested in more infrastructure services, kubernetes, zipkin, prometheus etc without any idea what problems those infra services would solve.2 -
I’m going through the book automate the boring stuff and I’m working on the chapter with web scraping right.
Well I wanted to just count all of the comic links that are in the xkcd archive as a small exercise to help me get used to and better learn web scraping.
I go through hell trying to do this but after more than a few hours later I finally have done it I returned every link of ONLY the comics, so it was time to start counting them.
I implemented the counting. The total number as of today is 2279 and it my code counted 2278, and I started to lose it.
So I go through this motherfucker manually to see where my loops count and the count on the tags start to differ. I found it, whoever made it went from 403 to 405. The euphoria I felt for this incredibly small task was incredible. (Still haven’t pieced it together yet)
I found the email of the guy who I assume owns the site and I started writing an email that basically said “hey the count of your comics is off by one and you made me rethink existence trying to figure out why, you skipped number 404-”
I look at the gap between 403 and 405 Then the words “Error 404 Not Found” popped into my head. I proceeded to scream for a second and stopped writing the email and now I’m trying to come to terms with this.
TL:DR the guy who runs xkcd comics trolled me with a simple error 404 joke4 -
Simple there are four other developers on my team. Yet, I do all of the work.
I'm picky about spesific tasks, so I would rather do THOSE by myself, by we have a Trello board where I've marked the tasks I want to do myself, and everything else is open for grabs.
Some tasks I will asign others (one developer specifically) and days will pass and no code gets touched. So I end up having to take it over. :|
Like, guys, I get it. You have other things to do. But could you atleast *try* and help me without me having to ask? If not, then why did you even sign up? I want to get this out the door so our project doesn't go under and we can make some money. I have other things I would like to do as well, you know. Like take a day off, or spend time with my girlfriend.9 -
It's rant time again. I was working on a project which exports data to a zipped csv and uploads it to s3. I asked colleagues to review it, I guess that was a mistake.
Well, two of my lesser known colleague reviewed it and one of the complaints they had is that it wasn't typescript. Well yes good thing you have EYES, i'm not comfortable with typescript yet so I made it in nodejs (which is absolutely fine)
The other guy said that I could stream to the zip file and which I didn't know was possible so I said that's impossible right? (I didn't know some zip algorithms work on streams). And he kept brushing over it and taking about why I should use streams and why. I obviously have used streams before and if had read my code he could see that my code streamed everything to the filesystem and afterwards to s3. He continued to behave like I was a literall child who just used nodejs for 2 seconds. (I'm probably half his age so fair enough). He also assumed that my code would store everything in memory which also isn't true if he had read my code...
Never got an answer out of him and had to google myself and research how zlib works while he was sending me obvious examples how streams work. Which annoyed me because I asked him a very simple question.
Now the worst part, we had a dev meeting and both colleagues started talking about how they want that solutions are checked and talked about beforehand while talking about my project as if it was a failure. But it literally wasn't lol, i use streams for everything except the zipping part myself because I didn't know that was possible.
I was super motivated for this project but fuck this shit, I'm not sure why it annoys me so much. I wanted good feedback not people assuming because I'm young I can't fucking read documentation and also hate that they brought it up specifically pointing to my project, could be a general thing. Fuck me.3 -
I watched nvidia gtc keynote today. Most of stuff was about how amazing their gpu is and how much processing power we need, oh really?
Self driving cars are most idiotic way to implement rail way system on top of complicated road traffic system from last century.
The real problem is and always was problem of last mile. We don’t do shit about it, just trying to reinvent same stuff by complicating things.
I started wondering if it would be cheaper to just put small electric golf cars on railroads next to highway with automatic parkings next to cities. We could then slowly replace highways with railroads and even stack rails on top of each other.
You just drive to parking with golf cart and it hops you to railroad with auto chargers. Traffic is predictable so you know exact hour when you hop out and can drive last mile to target destination. So fucking simple yet we need fucking computer and tons of scientists to solve problems we created by bringing idiotic movies ideas to life.
Well most of stuff we try to automate is done so shitty way that it’s in fact complicate.
Fortunately it’s not my problem.18 -
The company considers the project manager I work with to be the best. After working with him, I consider him to be everything that is wrong with project management.
This PM injects himself into everything and has a way of completely over-complicating the smallest of things. I will give an example:
We needed to receive around 1000 rows of data from our vendor, process each row, and host an endpoint with the data in json. This was a pretty simple task until the PM got involved and over complicated the shit out of it. He asks me what file format I need to receive the data. I say it doesnt really matter, if the vendor has the data in Excel, I can use that. After an hour long conversation about his concerns using Excel he decides CSV is better. I tell him not a problem for me, CSV works just as good. The PM then has multiple conversations with the Vendor about the specific format he wants it in. Everything seems good. The he calls me and asks how am I going to host the JSON endpoints. I tell him because its static data, I was probably going to simply convert each record into its own file and use `nginx`. He is concerned about how I would process each record into its own file. I then suggest I could use a database that stores the data and have an API endpoint that will retrieve and convert into JSON. He is concerned about the complexities of adding a database and unnecessary overhead of re-processing records every time someone hits the endpoint. No decision is made and two hours are wasted. Next day he tells me he figured out a solution, we should process each record into its own JSON file and host with `nginx`. Literally the first thing I said. I tell him great, I will do that.
Fast forward a few days and its time to receive the payload of 1000 records from the Vendor. I receive the file open it up. While they sent it in CSV format the headers and column order are different. I quietly without telling the PM, adjust my code to fit what I received, ran my unit test to make sure it processed correctly, and outputted each record into its own json file. Job is now done and the project manager gets credit for getting everything to work on the first try.
This is absolutely ridiculous, the PM has an absurd 120 hours to this task! Because of all the meetings, constant interruptions, and changing of his mind, I have 35 hours to this task. In reality the actual time I spent writing code was probably 2-3 hours and all the rest was dealing with this PM's meetings and questions and indecisiveness. From a higher level, he appears to be a great PM because of all the hours he logs but in reality he takes the easiest of tasks and turns them into a nightmare. This project could have easily been worked out between me and vendor in a 30 min conversation but this PM makes it his business to insert himself into everything. And then he has the nerve to complain that he is so overwhelmed with all the stuff going on. It drives me crazy because this inefficacy and unwanted help makes everything he touches turn into a logistical nightmare but yet he is viewed as one of the companies top Project Managers.3 -
I have a VP constantly harassing my people about some reports that we need to do as per federal law.
The thing is, these live inside of such system that I get to see exactly how many "hits" they get on a yearly basis. The only traffic we have on those sections is of people going ahead and putting the information from our reports there.
That's it, literally. Our user base does not go there. Federal agencies do not go there. No one gives two blips of shit about those sections. Yet she continuously acts like they are the most important thing in the fucking world. To make it better, I was told not to generate actual analytical data from said reports, since people with PHDs will come down on me to ask me who the fuck do I think I am from gauging them with such systems. So shit is a mute point on all fucking accounts.
I told my VP I can generate traffic information to let them know that shit is not really the most important thing in the fucking universe. His eyes glowed.
I don't want to see head rolls, but from staying till the next morning awake trying to give the best to our userbase, and just to be called out on shit like this as if I did not do enough for our people just.....well....it fucking hits man.
The worse part was me literally getting 30 minutes of sitting down after an all nighter, doing something for my users, to get to a meeting the next morning (I should not have driven there honestly) to hear this bitch complain about us not doing enough or not caring or whatever other bullshit she would spew.
I was livid, lack of sleep makes me dangerous. I turned to say something when my boss stopped me and took care of business. I seriously love this man. By all accounts and generational gaps a boomer, but one of the few good golden ones.
I just hate how unappreciated the realm of software development is by people that think that our shit is as simple as making a fucking powerpoint presentation.
Consolidate that with a director from another department taking all fucking glory during a major event of an application that I built by myself with 2 fucking weeks of no sleeping. And shit just gets glorious.
I have considered moving to other places, and heck, have gotten amazing offers, what with having a degree with a big fucking GPA and having the credentials of a senior, lead, full stack and manager role, the sky is the limit. But i know that if I leave then my users suffer, and I just can't fucking have that.
I have heard them speaking about doing something with X app that I built (with my department) I have even heard one of them saying "how is this made?" and a part of me hoped that it would be a good time to grab them and tell them of the field and the things that they can do. But I don't like announcing myself that way, always seemed to presumptuous, so I just smile, fuck yeah, my users are doing their thing with what I built to better their lives, what more can I have?
I have gotten criticisms from them, one recognized me, told me about his pain points and how it makes it hard for him to do what he must. Getting the data from the user base in an effort to make shit better for them drives me, my challenge being "how about this? better eh?"
But fucking execs man, think only of themselves, not the users, they forget about the users. Much like a shitty rock band forgetting about the music, about the fans.
I can't let that slide. But this fucking field. I sometimes fucking hate it, and I hate it because of the normies that don't understand and do not want to understand.
I do way too much, my guys do way too much and all I want is for the recognition to go to them. They do not need the ego boost, but to see my guys sitting in a meeting in which some dumb fuck is trying to drill us for taking to long, not doing something and what not, it fucking pisses me off. As their boss I always stand up and tell bitches off, but instead of learning, the bitches just keep pressing on their already defeated points.
Everything in human life gets fucking erradicated by: humans. People really do fucking suck.
I sometimes wish to go back, redo my diesel tech license and just work there, where I think one would be better of talking to an engine. But no, even then you get people, you have to interact with people, deal with people, and I am so far up my game and in my field that starting from scratch is a fucking mute point.
Maybe I need to keep fucking with stocks, get rich and just keep investing on bullshit. Whatever the fuck it takes me from having to feel the urge to choke a motherfucker in public.1 -
MTP is utter garbage and belongs to the technological hall of shame.
MTP (media transfer protocol, or, more accurately, MOST TERRIBLE PROTOCOL) sometimes spontaneously stops responding, causing Windows Explorer to show its green placebo progress bar inside the file path bar which never reaches the end, and sometimes to whiningly show "(not responding)" with that white layer of mist fading in. Sometimes lists files' dates as 1970-01-01 (which is the Unix epoch), sometimes shows former names of folders prior to being renamed, even after refreshing. I refer to them as "ghost folders". As well known, large directories load extremely slowly in MTP. A directory listing with one thousand files could take well over a minute to load. On mass storage and FTP? Three seconds at most. Sometimes, new files are not even listed until rebooting the smartphone!
Arguably, MTP "has" no bugs. It IS a bug. There is so much more wrong with it that it does not even fit into one post. Therefore it has to be expanded into the comments.
When moving files within an MTP device, MTP does not directly move the selected files, but creates a copy and then deletes the source file, causing both needless wear on the mobile device' flash memory and the loss of files' original date and time attribute. Sometimes, the simple act of renaming a file causes Windows Explorer to stop responding until unplugging the MTP device. It actually once unfreezed after more than half an hour where I did something else in the meantime, but come on, who likes to wait that long? Thankfully, this has not happened to me on Linux file managers such as Nemo yet.
When moving files out using MTP, Windows Explorer does not move and delete each selected file individually, but only deletes the whole selection after finishing the transfer. This means that if the process crashes, no space has been freed on the MTP device (usually a smartphone), and one will have to carefully sort out a mess of duplicates. Linux file managers thankfully delete the source files individually.
Also, for each file transferred from an MTP device onto a mass storage device, Windows has the strange behaviour of briefly creating a file on the target device with the size of the entire selection. It does not actually write that amount of data for each file, since it couldn't do so in this short time, but the current file is listed with that size in Windows Explorer. You can test this by refreshing the target directory shortly after starting a file transfer of multiple selected files originating from an MTP device. For example, when copying or moving out 01.MP4 to 10.MP4, while 01.MP4 is being written, it is listed with the file size of all 01.MP4 to 10.MP4 combined, on the target device, and the file actually exists with that size on the file system for a brief moment. The same happens with each file of the selection. This means that the target device needs almost twice the free space as the selection of files on the source MTP device to be able to accept the incoming files, since the last file, 10.MP4 in this example, temporarily has the total size of 01.MP4 to 10.MP4. This strange behaviour has been on Windows since at least Windows 7, presumably since Microsoft implemented MTP, and has still not been changed. Perhaps the goal is to reserve space on the target device? However, it reserves far too much space.
When transfering from MTP to a UDF file system, sometimes it fails to transfer ZIP files, and only copies the first few bytes. 208 or 74 bytes in my testing.
When transfering several thousand files, Windows Explorer also sometimes decides to quit and restart in midst of the transfer. Also, I sometimes move files out by loading a part of the directory listing in Windows Explorer and then hitting "Esc" because it would take too long to load the entire directory listing. It actually once assigned the wrong file names, which I noticed since file naming conflicts would occur where the source and target files with the same names would have different sizes and time stamps. Both files were intact, but the target file had the name of a different file. You'd think they would figure something like this out after two decades, but no. On Linux, the MTP directory listing is only shown after it is loaded in entirety. However, if the directory has too many files, it fails with an "libmtp: couldn't get object handles" error without listing anything.
Sometimes, a folder appears empty until refreshing one more time. Sometimes, copying a folder out causes a blank folder to be copied to the target. This is why on MTP, only a selection of files and never folders should be moved out, due to the risk of the folder being deleted without everything having been transferred completely.
(continued below)29 -
I guess this happens to everyone but damn, hate it when dreaming about code, and not just any code, but the code your enthusiastic about, somehow everything seems to work, so that when you wake up and sit in front of the computer you just go blank... what was that code again, it was so sleek, so simple, yet so robust...
12 hours later dream about it again to wake up realizing you wont ever be able to wake up remembering the code in the detail...1 -
I just want to say,
wow the Cloudflare API is awesome.
In less then an hour (from a blank file - to automation and tested) I was able to setup a DDNS task that basically just pulls my public ip (see https://devrant.com/rants/2050450/... for details) comparing it to the current DNS records for and update them if anything has changed in the past 30 minutes.
So kudos to these guys letting me in next to no time having a simple yet elegant way of dealing with my missing static ip.
Why can’t all APis be this simple?3 -
Hey guys, I created this application for Linux users that lets you download and install multiple essential softwares/tools at once. It's something like Ninite (in Windows) but for Linux. So I called it Linite! It's still new, so it doesn't support many distros yet.
Now, I know there are many package managers and stuff, but I just wanted to make something really simple/basic and user friendly that can help even new Linux users. I was learning Python so I just thought it'd be nice to do some project.
Please do check it out and I'd love to get some feedback. Link's below!
https://github.com/shahlin/Linite10 -
Every single stakeholder in my company tells me that I should be working on something different, every time I talk to them. For example - we've got some issues, that I've ranted on previously. I go to my manager, and tell him that it's going to take longer than I'd hoped, because the author of this part of the codebase wasn't familiar with functional programming or OOP, didn't document anything, and just generally produced an unmaintainable, borderline indescribable mess. The next guy after him made it all so much worse, because they're both a couple of tryhard douchebags, and I hope they fucking die. For real. I hope fire ants are involved.
Anyway, getting carried away there, whew. So I tell my manager that we'd be further ahead just replacing the code, because it's only doing a couple of things, and should not be so complex. He says "cool, but what you really need to be doing is rebuilding this other thing." So I switch gears and work on that other thing until I hit a point that requires the input of another stakeholder. I go to talk to this guy, and all hell breaks loose "why are you working on that, this is higher priority", and I explain the sequence of events. Manager denies having said what he said, I look like an asshole, yet again. Then the old "this should be simple, just change this" from the dudes who don't know code, and don't want to know. I try to explain, offer to show them precisely why their "simple ask" is anything but, but they just start screaming about how they hate technology. Yeah, well me fucking too. I keep hearing about how much "job security" I have, but man I'm going to lose my mind at this rate. I have seventeen motherfucking things that are "emergencies", and as many fucking dumb ass unintuitive workflows to go through to get them changed. All on production, because this place is fucking stupid. Just let me discard this shitty legacy code and be done with it already. FUCK.
Thank fucking fuck it's friday. In about six, seven hours, my goal is to be so fucking wasted that I can't feel my face. Get drunk, play with the dog, install a new distro on the desktop, maybe play a little guitar (the guitar is normal sized. It's not a ukulele or anything). Perfect friday night.9 -
tl;dr - why you no read this?
Here I am pondering why I continue to return to my job everyday when we are currently at month 13 of a 4 month project... yea let that set in for a minute... which is still at least 3-4 months away from being deployed due to annual leave of key stake holders and the whole Christmas period creeping up and things just not going as planned every step of the way.
There's no greater demotivater - is that even how you spell it - then being stuck in a project for so long you really just don't give a shit if it works or not anymore.
This has gone from a simple - relatively speaking - project to some monolithic mayhem of requirement changes and process adjustments, that have not only delayed our team, but 3rd party vendors needing to change things as well, or the requirements being wrong early so when you get up to business testing it's like "nope, that's not what we wanted" .... despite all the sessions of you personally giving the PM all the damn requirements.
But in saying that, they (3rd party) aren't innocent either, we have found nothing but issue after issue with their product since we started this project that who ever signed off on going forward with the thing should have been shot from both sides - it's not designed for the scale we will be using it yet we didn't find that out till we got so far into the rabbit hole we had a chance to be able to do load testing.
Meh, guess I'll go to work Monday and spend another week in misery trying to deliver something that just doesn't want to know what the finish line is.4 -
(first post/rant on here)
So I recently started at a new company. I was kinda aware that the project I'm working on would be rather old school (to put it in a nice way :-)).
Part of my job is to 'industrialize' and update/clean up the existing code so there is less time spent on fixing bugs due to bad design.
One of the first things I had to do was to write a new interface to integrate with external software.
I already noticed some rather nasty habits, like prefixing every variable with m (don't know why), private fields for every property (all simple properties) and a whole lot of other stuff that either is obsolete or just bad practice.
Started writing clean code (simple classes with properties only, no m prefixing, making sure everything is single responsibility, unit tests, ...).
So I check in the code, don't hear much from it again besides the original dev/architect that started the project using my code to further work on that integration.
Now recently I started converting everything from TFVC to Git (which is the company standard but wasn't used by our team yet). And I quickly skimmed through my code to check if everything was there before pushing it to the remote repo.
To my surprise, all the code I had written was replaced by m prefixed private variables used in simple properties. BL classes were thrown in together, creating giant monstrosities that did everything. And last but not least, all unit tests were commented out.
Not sure what I got myself into ... but the facepalming has commenced.14 -
I’m so sick and tired of the cattle-minded people in the software world. I love coding and improving myself; I've got over 18 years of experience. I enjoy what I do, and I like being good at it. I know my way around a variety of different technologies, and I could easily outperform most engineers with similar experience. If I don’t know something, I get excited to learn and I ask questions. I don’t enjoy standing in the spotlight about what I know; I prefer supporting, helping, solving problems, improving solutions, and simplifying everything.
From my experience, the best solution is the simplest, shortest, fastest, and leanest one. But unfortunately, there are people in the workplace who think the opposite of me and blindly follow this so-called prophet named Uncle Bob, zealously writing all his SOLID principles and dogmatic code, turning their work environments into a toxic mess. I’m so done with it. You have no idea how harmful a person can be when they cling to the teachings of a guy like Uncle Bob—someone who probably hasn't even written the "s" in software himself and is just trying to sell his book. In almost every job or team I join, there’s one of these people who drags junior developers into writing dogmatic code by chanting about SOLID principles, Uncle Bob, and object-oriented programming.
Software engineering isn’t something you can learn from a book written by people like Uncle Bob, who haven’t coded a decent product in a real development process. Experience is something entirely different, and from my experience, everything taken to extremes turns out badly. Wherever I see an Uncle Bob disciple, the work inevitably slides into the extremes. For someone writing in C and C++, it’s disheartening to hear about object-oriented programming, SOLID principles, and agile nonsense. I’m tired of seeing people cluttering their code with interfaces for every little thing, over-engineering patterns, and stuffing every piece of code with interfaces to make it “testable.” They run around claiming they’re writing SOLID code, doing TDD, following “best practices,” yet they can't solve any real problems or algorithms. They take a week-long task and drag it out to six, making simple things complex and distancing themselves from real solutions. I’m sick of these types.
If you’re a junior developer, please ignore the fools trying to lead you down this path, and don’t become dogmatic about what you learn, especially if you’re writing C++.
I’ve never seen any real engineer who takes this SOLID, object-oriented nonsense seriously. Believe me, once you reach a certain threshold, you won’t hear these words anymore. Software isn’t just about that. Object-oriented programming, especially if you’re not writing Java or C#, and especially if you’re working in C++ (thankfully, C doesn’t even have it), is something you should definitely steer clear of. Robert C. Martin, aka Uncle Bob—if only you had written your book with a focus on Java or C#. These dogmatic code writers with 7-8 years of experience crying at the sight of free functions in C++ really give me a headache. Because of you, these people exist, and I don’t have the energy to deal with this nonsense at my age.rant agile uncle bob object oriented solid c dogmatic code oop solid principles c++ tdd robert.c martin7 -
This was about two years ago, and is so fucking simple. But it's because I fucked up something so goddamn simple that I'll never be able to forget.
One of the stupidest fucking things I've done?
Went into the GNOME Disks utility trying to wipe a SanDisk Cruzer USB drive. BAM! There goes the entirety of my /dev/sda disk! Oh, and you know all partitions on that disk?? Gone!! Nothing I could do.
I don't know which pisses me off about myself more: The fact that Linux has more complicated tools that do the same exact job but make me think about what the actual fuck I'm doing thus preventing fuckups, or the fact that I was too fucking lazy to use them and decided to go with the dirt simple option and still managed to fuck myself over in the end...
Lesson for you kids that haven't fucked yourselves over in a way this dumb yet: ALWAYS have that backup installer USB somewhere. ALWAYS. -
I just can't stress enough how fascinated I am by biology and biochemistry.
I mean, we, who call ourselves engineers, are no more but a gang of toddlers having a blast with jumbo legos on Aunt Lucy's dining room carpet on a sunny Sunday afternoon. Our solutions using "modern tools" and "modern engineering" are mere attempts to *very* remotely mimic what beautiful and elegant solutions are around us and inside of each of us.
IC/EC engines, solar batteries, computers and quantum computers, spaceships and ISSes, AI/ML, ... What are they? just the means to leverage what's been created all around us to create something that either entertains us, encourages our laziness or helps us to look at the other absolutely fascinating engineering solutions surrounding us so we could try and "replicate" their working principles to further embrace our laziness and entertain us.
Just look at the humble muscle - a myofibril made out of actin and myosin. The design is soooo simple and spot on, so elegant and efficient, the "battery" and signalling system are so universal and efficient.
Look at all those engineering miracles, small and big. Look how they work, how they leverage both big and small to create holistic, simplistic and absolutely efficient mechanisms. And then come back to me, and tell me again that all these brilliant solutions came out of nothing just by an accident we call "evolution".
How blinded by our narcissism are we to claim that there can't be a grand designer of any kind, that there's nothing smarter than us and that the next best thing than us is an incomprehensible series of accidental mutations over an unimaginable amount of time?
I mean.. could it be that someone/something greater than us created us and everything around us? naaaah.. we are the crown jewel of this universe. Everything else must be either magic or an accident. /s
Don't read this as yet another crazy-about-God person's ramblings. I'm not into religion fwiw. But science has taught me enough critical thinking to question its merit. Look at it all as engineers. Which is more probable: that everything around us happened by an accident or that someone/something preceding us had a say in the design?random biology humanity think about it biochemistry creation big and small shower thoughts narcissism had to be said naive evolution20 -
I am so fucking lost.
I literally have zero expectations from life for now and future.
There was a time when I had so much clarity in my life. Rather, I was known for it.
Folks used to reach me out for guidance and my approaches even worked for others.
I was goal oriented and biased towards action. Failing and learning from it, I used to make things happen and with constant feedback kept progressing.
While none of that has changed, I still feel lost and numb. No, I am not depressed or suffering through any mental illness. I am physical active and able to feel the happiness.
But the recent incident with a narcissistic, left me emotionally handicap. I can no longer feel any kind of love or affection. I overcame the damage done and healed myself.
But now, I am done. Even if I engage with anyone for a relationship it would be mostly for sex. I can care for people around me and be affectionate towards them but when it comes to an intimate relationship, I feel it's not something I can do in this lifetime. I tried multiple times but failed.
These days, all I am doing is putting my heads down and working like crazy. Never in my life I worked more than 10 hours in an entire week. Now, I work 10+ hours everyday. During that time, I am highly productive.
And in my free time, I am busy housekeeping different life problems. Either paying bills, figuring out an insurance, planning some investment, or making some kind of life decision.
It's draining me. I feel as if I am losing sanity. But that's the only thing I am able to do.
Maybe it's the lockdown effect. Maybe some damage is yet to be healed.
But I got nothing better to do. I have some good ideas. Not those hipster-ish disruptive Million dollar ideas, but decent enough to solve a problem for a strong use case.
However, all of this is becoming overwhelming these days. Because decision making is complex and difficult task. It can make or break the future.
As of now I am confused how should I go about pursuing two of the important projects that I want to accomplish.
1. Migrating out of Google ecosystem. Is it even practically possible for my use case? What are the alternatives? Planning to opt in for a paid cloud storage so have to factor in that aspect as well.
I want to keep this new setup only for official use like bank and government stuff. Maybe family and close friends. Then have current ids for public logins and sharing it with retards whom I can block or ignore if they harass me. The research is overwhelming but having a structured setup gives insane amount of efficiency when life is spam free.
2. Migrating my Pihole and OpenVPN setup out of Digital Ocean to GCP. Primarily because $5 is a lot of amount for my computational requirements and Google has used my data enough, for me to use the free tier.
However, there isn't a simple script for a tech noob like me, to go ahead and setup something. I did find a Github repository but the documentation is kind of outdated so RTFM failed for me.
I don't know whether to pursue my start-up or let it go and focus on moving to Europe.
It's just so fucking stupid to even exist. And let's not forget taxes. Bloody taxes.21 -
Google search can get fucked in the ass.
Greedy fucking bastards deceptively including ads as normal results.
It used to be just one, but I've seen crazy shit, like 4 ads in one search results. FOUR.
And it's not just the ads. It's all the fucking litter that they put above the results.
I'm talking about all this fucking Google Maps and web cards bullshit.
It takes too much goddamned space, and most of the times I DO NOT GIVE SHITS ABOUT THEM.
And if you want to hide that shit, guess what, you gotta go into the settings. How about you include a fucking corner X that I can click so I can hide immediately hide that shit when I want to?
Now, let's analyze the unholy mess that the image I included is:
The search I did is a simple "html form". Notice that the fucking Adblock is turned ON, yet I still get a "chameleon" ad.
The first real result is from w3schools that also expands on two also hideous things: sitelinks.
Sitelinks are nothing more than spacehogs that I very very rarely click. They look fancy, but they just add CLUTTER.
What are search result n 2 and 3? w3fools again. And I shit you not the next 2 results to those are also w3schools again. So 5 w3fucks links TOTAL.
Wow, google, I'm fucking mindblown, excellent fucking job for a trillion dollar corporation.
Get fucked in the ass.12 -
I just finished designing an entire asset management pipeline and christ on a fucking pogo stick, if it isn't convoluted.
Theres a lot of game engines out there, but all of them do it a little different. They all tackle a slightly different problem, without even realizing it.
1. asset management
2. asset change management
3. behavior change management
4. data management
5. combinatorial design management.
6. Combinatorial Behavior management
7. Feature completion
ASSET MANAGEMENT is exactly what it says on the tin.
ASSET CHANGE management can be thought of handling the import, export, formatting, platform specific packing, and versioning (including forking) of an asset.
BEHAVIORAL CHANGE management is a subset of asset management, because code is a subset of assets (depending on how you define 'assets'). The oldest known example of this is commenting and uncommenting code.
Or worse, printf debugging.
This can be file versioning, basic undo services, graph management of forks and mergers, toggles for features or modules, etc.
DATA management is about anything that doesn't fall into the other categories, everything from mission text to npc dialogues, quests, location names, item stats, the works. Anything you'd be tempted to put in a database, falls under this category. Haven't yet seen many engines offer this as an explicit built in tool as of yet, because the other problems are non-trivial as is, so this is a bit of low hanging fruit that gets handled by external tools, or loaded from formats as simple as json.
COMBINATORIAL DESIGN management is the idea of prefabbing, blueprints of broader object design using nested prototypes of existing game objects, to create more complex, reusable set pieces. Unity did this well. GM does this in part.
COMBINATORIAL BEHAVIOR management is entity-component systems, plus tooling to make it easy to add, remove, and configure components and their values on entity blueprints, also not uncommon. Both stencyl and unity do this. GM has a precursor to this in the form of configurable fields, but these fields are not based on component scripts attached to objects.
FEATURE COMPLETION is that set of gameplay mechanics or styles of design that an engine naturally makes easier to include or build in a game.
I don't think I'm aiming for all that, but I think at minimum a good engine has to do asset management, behavioral change management, prefabs, and entity-component systems with management tools for that. And ideally, asset change management.8 -
I've written a script that logs my time tracker information into my timesheet at work and its fucking fantastic, so simple yet so satisfying. I needed to tell someone5
-
So some asshole keeps sending phishing emails to every student and prof in our university and the IT department is too pathetic to block it. They all come from the same email and contain the same text yet they cant filter it and just send warnings not to click it.
Im getting sick of recieving 5 of these a day, i scanned and viewed the page and its just a simple form copying the outlook login page with a redirect to the actual page after submission.
Whats the easiest way to write a script that will spam them with thousands of fake accounts? How can i fuck with these guys?7 -
Todays story: conversation between me and my brain about a app that i have planned for a long while.
The application is just a huge, specyfic json editor/manager for a game that i like. The game uses json files to determine unit charactetistics. So in order to make modding easier i want to make a tool for that that is fancier and easier to use than a notepad.
Brain> Lets make a app that allows you to mod the game easier!
Me> Good idea. How would you want to make it?
Brain> Lets use C# cause you main that lang currently and you have experience with json parser lib.
Me> That is true. So what do you wanna implement first?
Brain> Oh. I have thought about it before! I want to implement: (10 000 features) and maybe few more later!
Me> It sounds like a infinity project, shouldnt you implement like 1 or 2 features at first and then jump to other ones?
Brain> Yes... but i dont wanna refactor those features latter so let just implement them all at once!
Me> Dammit brain! Let just implement just one feature now! Like a simple json editor. You can use inhieritance to reuse the code later.
Brain> Ok...
* Starts with that one feature but one day later starts coding 6 more *
* Cant publish the app yet, the code looks like shit, gui is unfinished because brain wanted only to test those 6 unfinished features without propely implementing them *
Me> Brain WTF! You said that you are going to focus on one feature at the time!
Brain> I got carried a bit...
Me> ...
Me> Ok. I understand. Let just refactor the code and clean the project out of those unfinished features.
Brain> No. I have a depression now...
Me> FUCK.
* 2 month passes by without any progress on ANY of my projects*
current day
Brain> I still have depression...
Me> Ok i dont care about that anymore! Tell me something that i dont know!
Brain> Oh I have good news as well!
Me> ???
Brain> What about the home server that is going to store all mods made by the users so they can share it? It would be a good practice with networking!
Me> * Gives up *1 -
I need to rant about life decisions, and choosing a dev career probably too early. Not extremely development related, but it's the life of a developer.
TL;DR: I tried a new thing and that thing is now my thing. The new thing is way more work than my old thing but way more rewarding & exciting. Try new things.
I taught myself to program when I was a kid (11 or 12 years old), and since then I have always been absolutely sure that I wanted to be a games programmer. I took classes in high school and college with that aim, and chose a games programming degree. Everything was so simple, nail the degree, get a job programming something, and take the first games job that I could and go from there.
I have always had random side hobbies that I liked to teach myself, just like programming. And in uni I decided that I wanted to learn another language (natural, not programming) because growing up in England meant that I only learned English and was rarely exposed to anything else. The idea of knowing another fascinated me.
So I dabbled in a few different languages, tried to find a culture that seemed to fit my style and attitude to life and others, and eventually found myself learning Korean. That quickly became something I was doing every single day, and I decided I needed to go to Korea and see what life there could be like.
I found out that my university offered a free summer school program for a couple of weeks, all I had to pay for was the flights. So a few months later I was there and it was literally the best thing I'd done in my life to that point. I'd found two things that made me feel even better than the idea of becoming the games programmer I'd always wanted to be. Travelling and using my other language to communicate with people that I couldn't in English. At that point I was still just a beginner, but even the simple conversations with people who couldn't speak English felt awesome.
So when I returned home, I found that that trip had completely thrown a spanner into my life plan. All I could think about after that was improving my language skills and going back there for as long as possible. Who knows what to do.
I did exactly that. I studied harder than I'd ever studied for anything and left the next year to go and study in Korea, now with intermediate language skills, everyday conversations no longer being a problem at all.
Now I live here, I will be here for the next year and I have to return to England for one year to finish my degree. Then instead of having my simple plan of becoming a developer, I can think of nothing I want to do less than just stay in England doing the same job every day, nothing to do with language. I need to be at least travelling to Korea, and using my language skills in at least some way.
The current WIP plan is to take intensive language classes here (from next week, every single weekday), build awesome dev side projects and contribute to open source stuff. Then try to build a life of freelance translation/interpreting/language teaching and software development (maybe here, maybe Korea).
So the point of this rant is that before, I had a solid plan. Now I am sat in my bed in Korea writing this, thinking about how I have almost no idea how I'm going to build the life that I want. And yet somehow, the uncertainty makes this so much more exciting and fulfilling. There's a lot more worrying, planning and deciding to do. But I think the fact that I completely changed my life goals just through a small decision one day to satisfy a curiosity is a huge life lesson for me. And maybe reading this will help other people decide to just try doing something different for once, and see if your life plan holds up.
If it does, never stop trying new things. If it doesn't (like mine), then you now know that you've found something that you love as much as or even more that your plan before. Something that you might have lived your whole life never finding.
I don't expect many people to read this all, but writing it here has been very cathartic for me, and it's still a rant because now I have so much more work and planning to do. But it's the good kind of work.
Things aren't so simple now, but they're way more worth it.3 -
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 -
- a split keyboard with a touchpad in the middle that will let you control all gestures on a computer
- a set of desk/monitors that adjusts perfectly for ergo for anyone
- a vertical laptop dock that is modular so you can add extra memory/video processing power and only using your laptop as a CPU/secondary graphics card
- a set of kitchenware and plates that would be so easy to clean and would never get stained
-an insect home alarm system that tells you where the fucking insect is so it doesn't take you by surprise/you can call someone to remove it
- a clothing brand that has a buy one gift one operation mechanic, where you buy a shirt and an article is donated to a local charity
- a restaurant
- a simple, yet robust database option that walks users through creating good databases that is super user friendly
- an app that takes tattoo designs in any format, converts them, allows for editing, and then can hook up to a special printer that gives you the transfer you will use on the client22 -
Windows... Why is your auto time setting so dog shit!
Its always either an hour early or late except earlier today it was apparently December 9th at 6AM when it was 10AM on the 5th...
Like it even got the correct timezone yet still can't get a simple concept like time correct... Fucking hell...
(The time is one hour ahead in this image and this legit made me arrive to pick someone up an hour early)5 -
My dream project is something very simple but not yet done in Pakistan.
I want to create a marketplace for musical instruments and related equipment. Currently it's very hard for amateur musicians in Pakistan to find the gear they're looking for, and being one of these musicians myself, I know how frustrating it can be. So it'd be great if I can solve that problem in a country where the government does very little to help independent artists grow.1 -
I continue to internally read and study about Smalltalk in an effort to see where we might have FUCKED UP and went backwards in terms of software engineering since I do not believe that complex source code based languages are the solution.
So I have Pharo. Nothin to complex really, everything is an object, yet, you do have room for building DSL's inside of it over a simple object model with no issue, the system browser can be opened across multiple screens (morph windows inside of a smalltalk system) for which you can edit you code in composable blocks with no issues. Blocks being a particular part of the language (think Ruby in more modern features) give ample room for functional programming. Thus far we have FP and OO (the original mind you) styles out in the open for development.
Your main code can be executed and instantly ALTER the live environment of a program as it is running, if what you are trying to do is stupid it won't affect the live instance, live programming is ahead of its time, and impressive, considering how old Smalltalk is. GUI applications can be given headless (this is also old in terms of how this shit was first distributed) So I can go ahead and package the virtual machine with the entire application into a folder, and distribute it agains't an organization "but why!!!! that package is 80+ mbs!") yeah cuz it carries the entire virtual machine, but go ahead and give it to the Mac user, or the Linux user, it will run, natively once it is clicked.
Server side applications run in similar fashion to php, in terms of lifecycles of request and how session storage is handled, this to me is interesting, no additional runtimes, drop it on a server, configure it properly and off you go, but this is common on other languages so really not that much of a point.
BUT if over a network a user is using your application and you change it and send that change over the network then the the change is damn near instant and fault tolerant due to the nature of the language.
Honestly, I don't know what went wrong or why we are not bringing this shit to the masses, the language was built for fucking kids, it was the first "y'all too stupid to get it, so here is simple" engine and we still said "nah fuck it, unlimited file system based programs, horrible build engines and {}; all over the place"
I am now writing a large budget managing application in Pharo Smalltalk which I want to go ahead and put to test soon at my institution. I do not have any issues thus far, other than my documentation help is literally "read the source code of the package system" which is easy as shit since it is already included inside. My scripts are small, my class hierarchies cover on themselves AND testing is part of the system. I honestly see no faults other than "well....fuck you I like opening vim and editing 300000000 files"
And honestly that is fine, my questions are: why is a paradigm that fits procedural, functional and OBVIOUSLY OO while including an all encompassing IDE NOT more famous, SELECTION is fine and other languages are a better fit, but why is such environment not more famous?9 -
My IT-teacher has a website. Aside from it looking like from 1980 (which is ok), he has a "security js Mail decryption":
In his page there is a <script> with a simple yet custom de/encrypt function. Then his E-Mail is an <a href="javascript:mailto:function('rubberish173848'>private email</a>. (Or something like that)
You can just run this link (open email app and read it) or use the same function and same href in the browser console and read it. It sounds so stupid.
(Yet I figured out he probably doesn't want bots to spam his mail, so maybe I am stupid)1 -
(inspired by another rant I read here)
Last semester we were learning Java in the Programming Fundamentals class and a friend of mine asked for help with an assignment.
The objective was to make a virtual store (as a console app) in which the user would be able to select a few products, customize some of them and then the program would print out a receipt, with a list of all products, their prices, and the total cost.
Simple enough I thought, but there was a catch: you were not allowed to use arrays because the teacher hadn't taught that to the class yet. So I was like "how the fuck are you supposed to do this then?". Turns out the way to do it was to just append text to a string in order to generate the receipt. This is stupidly simple, so stupid that it didn't even cross my mind.
It's just that it's an awful way to architecture your code, it's just plain shit. Sure, if you're learning programming that's completely ok, but using that code on production is just completely unfeasible and I think that's why it didn't even cross my mind to do it this way. I'm just constantly worrying about performance and good code architecture and organization that the simplest of all solutions slipped my mind. When I finally discovered the way the teacher wanted us to do it I just wanted to kill myself...3 -
Hey everyone, I am trying to learn how to become better a Java but I don't really know where to begin. I already know some of the basics and have made a few minor projects but I really want to advance. I was hoping someone could provide me with some ideas for simple yet complicated projects so that I can further my knowledge of the Java programming language.4
-
For hours I spent my time debugging my code, trying different approach to the same code function. Looking for one simple invisible mistake, that is when I want to make a delete request to the IndexedDB.
The request are fine without running a single error, the success event fires perfectly. But one thing which is unexpected, the object inside IndexedDB did not vanish at all. The data stay the same without any flaws (but how can that be, when the 'delete success' event fired? IT SHOULD BE GONE BY NOW!). No kidding, for hours I debug my code, yet found nothing's wrong!
Until one moment I found out the datatype of key I gave the request are different from the object I wanted to delete, the object has a key of 4 and I gave the request "4". I'm so pissed at this moment making me googled 'developer rant' and found this site.
Really! God Bless 1 !== '1'.5 -
When I was 6yo I was playing next to my dad with his old PC on a good old CRT a game called “Sperms” where you catch sperm with condoms and every time you do it made a really loud “YIPPIE” sound. I was playing this game for 4 years.
Somewhere around when I was 10 my dad told me we should build a PC and I was asking “Why does everyone has to make their own PC?”, I didn’t yet know what an cheap ass my dad is, so we did. Had a lot of fun and was very scared of the PSU, like really scared.
It blew up a few months later because I switched the toggle on the back from 220v to 110v, and got even more scared of PSU’s until I started an electricians apprentice.
Anyways, one day my dad and I where at a friends place and I played Tux Racer on his super loud Maschine that would crash if you kept the side door of the table closed, it ran some kind of Linux and I was fascinated how “simple and clean” it looks. I got a mini-cd to install it at home and immediately was hooked because the windows installation was such a pain in the arse those years. I did that all by myself just because I also wanted to play Tux Racer at home.
Anyways, somewhere right before GTA IV came out I started with VB.Net and ever since I was totally hooked and spend more time doing that than actually going to school.
My dad didn’t care and just let me do this, my mum just made sure I would have been up at least after the first lession, I don’t miss the bus and that I went to bed in a timely manner, which never happened because the PC was in my room and my mum slept downstairs and couldn’t notice that I was doing script kiddie things after an hour or so of “sleeping”.
So yeah, they didn’t care and were happy I didn’t annoy them.
Actually I didn’t wanted to become a developer because I always wanted to have it be a hobby or something and I liked woodwork more, but then people more qualified than me were more stupid than this script kiddie that still just wanted to play Tux Racer. That’s it.2 -
Over the summer I was recruited to be a supplement instructor for a data structures course. As a result of that I was asked (separately by the professor) to be a grader for the course. Because of pay limitations I've mostly been grading homework project assignments. In any case, it's a great job to get my foot into the department and get recognized.
Over the course of the semester I've had this one person, OSX, named after their operating system of choice, who has been giving me awkward submissions. On the first assignment they asked the professor for extra time for some reason or the other, and that's perfectly fine.
So I finally receive OSX's submission, and it's a .py file as per course of the course. So I pop up a terminal in the working directory and type "python OSX_hw1.py". Get some error spit out about the file not being the right encoding. I know that I can tell python to read it in a different encoding, so I open it up in a text editor. To my surprise it's totally not a text file, but rather a .zip file!
I've seen weirder things done before, so no big deal. I rename the file extension, and open it up to extract the files when I see that there's no python files. "Okay, what's goin on here OSX..." I think to myself.
Poking around in the files it appears to be some sort of meta-data. To what, I had no clue, but what I did find was picture files containing what appeared to be some auto-generated screenshots of incomplete code. Since I'm one to give people the benefit of doubt even when they've long exhausted other peoples', I thought that it must be some fluke, and emailed OSX along with the professor detailing my issue.
I got back a rather standard reply, one of which was so un-notable I could not remember it if my life depended on it. However, that also meant I didn't have to worry about that anymore. Which when you're juggling 50 bazillion things is quite a relief. Tragically, this relief was short lived with the introduction of assignment 2.
Assignment 2 comes around, and I get the same type of submission from OSX. At this time I also notice that all their submissions are *very* close to the due time of 11:59pm (which I don't care about as long as it's in before people start waking up the next morning). I email OSX and the professor again, and receive a similar response. I also get an email from OSX worried about points being deducted. I reply, "No issue. You know what's wrong. Go and submit the right file on $CentralGradingCenter. Just submit over your old assignment".
To my frustration OSX claimed to not know how to do this. I write up a quick response explaining the process, and email it. In response OSX then asks if I can show them if they comes to my supplemental lesson. I tell OSX that if they are the only person, sure, otherwise no because it would not be a fair use of time to the other students.
OSX ends up showing up before anyone else, so I guide them through the process. It's pretty easy, so I'm surprised that they were having issues. Another person then shows up, so I go through relevant material and ask them if they have any questions about recent material in class. That said, afterwards OSX was being somewhat awkward and pushy trying to shake my hand a lot to the point of making me uncomfortable and telling them that there's no reason to be so formal.
Despite that chat, I still did not see a resubmission of either of those two assignments, and assignment 3 began to show it's head. Obviously, this time, as one might expect after all those conversations, I get another broken submission in the same format. Finally pissed off, I document exactly how everything looks on my end, how the file fails to run, how it's actually a zip file, etc, all with screenshots. That then gets emailed to the professor and OSX.
In response, I get an email from OSX panicking asking me how to submit it right, etc, etc. However, they also removed the professor from the CC field. In response I state that I do not know how to use whatever editor they are using, and that they should refer to the documentation in order to get a proper runnable file. I also re-CC the professor, making sure OSX's email to me is included in my reply.
OSX then shows up for one of my lessons, and since no one had shown up yet, I reiterate through what I had sent in the email. OSX's response was astonished that they could ever screw up that bad, but also admits that they had yet to install python(!!!). Obviously, the next thing that comes from my mouth is asking OSX how they write their code. Their response was that they use a website that lets them run python code.
At this point I'm honestly baffled and explain that a lot of websites like those can have limitations which might make code run differently then it should (maybe it's a simple interpreter written on JavaScript, or maybe it is real python, but how are you supposed to do file I/O?) .
After that I finally get a submission for assignment 1! -
Tl;Dr Im the one of the few in my area that sees sftping as the prod service account shouldn't be a deployment process. And the ONLY ONE THAT CARES THAT THIS IS GONNA BREAK A BUNCH OF SHIT AT SOME POINT.
The non tl;dr:
For a whole year I've been trying to convince my area that sshing as the production service account is not the proper way to deploy and/or develop batch code. My area (my team and 3 sister teams) have no concept of using version control for our various Unix components (shell scripts and configuration files) that our CRITICAL for our teams ongoing success. Most develop in a "prodqa like" system and the remainder straight in production. Those that develop straight in prodqa have no "test" deployment so when they ssh files straight to actual production. Our area has no concept of continuous integration and automated build checking. There is no "test cases", no "systems testing" or "regression testing". No gate checks for changing production are enforced. There is a standing "approved" deployment process by the enterprise (my company is Whyyyyyyyyyy bigger than my area ) but no one uses it. In fact idk anyone in my area who knows HOW to deploy using the official deployment method. Yes, there is privileged access management on the service account. Yes the managers gets notified everytime someone accesses the privileged production account. The managers don't see fixing this as a priority. In fact I think I've only talk to ONE other person in my area who truly understands how terrible it is that we have full production change access on a daily basis. Ive brought this up so many times and so many times nothing has been done and I've tried to get it changed yet nothing has happened and I'm just SO FUCKING SICK that no one sees how big of a deal this. I mean, overall I live the area I work in, I love the people, yet this one glaring deficiency causes me so much fucking stress cause it's so fucking simple to fix.
We even have an newer enterprise deployment. Method leveraging a product called "urban code deploy" (ucd) to deploy a git repository. JUST FUCKING GIT WITH THE PROGRAM!!!!..... IT WAS RELEASED FUCKING 12 YEARS AGO......
Please..... Please..... I just want my otherwise normally awesome team to understand the importance and benefits of version control and approved/revertable deployments2 -
Time for a rant about shitstaind, suspend/hibernate, and if there's room for it at the end probably swappiness, and Windows' way of dealing with this.
So yesterday I wanted to suspend my laptop like usual, to get those goddamn fans to shut up when I'm sleeping. Shitstaind.. pinnacle of init systems.. nope, couldn't do it. Hibernation on the other hand, no problem mate! So I hibernated the laptop and resumed it just now. I'm baffled by this.
I'll oversimplify a bit here (but feel free to comment how there's more to it regardless) but basically with suspend you keep your memory active as well as some blinkenlights, and everything else goes down. Simple enough.. except ACPI and I will not get into that here, curse those foul lands of ACPI.
With hibernation you do exactly the same, but on top of that, you also resume the system after suspending it, and freeze it. While frozen, you send all the memory contents to the designated swap file/partition. Regarding the size of the swap file, it only needs to be big enough to fit the memory that's currently in use. So in a 16GB RAM system with 8GB swap, as long as your used memory is under 8GB, no problem! It will fit. After you've moved all the memory into swap, you can shut down the entire system.
Now here's the problem with how shitstaind handled this... It's blatantly obvious that hibernation is an extension of suspend (sometimes called S3, see e.g. https://wiki.ubuntu.com/Kernel/...) and that therefore the hibernation shouldn't have been possible either. The pinnacle of init systems.. can't even suspend a system, yet it can hibernate it. Shitstaind sure works in mysterious ways!
On Windows people would say it's a hardware issue though, so let's talk a bit about that clusterfuck too. And I'll even give you a life hack that saves 30GB of storage on your Windows system!
Now I use Windows 7 only, next to my Linux systems. Reason for it is it's the least fucked up version of Windows in my opinion, and while it's falling apart in terms of web browsing (not that you should on an EOL system), it's good enough for le games. With that out of the way... So when you install Windows, you'll find that out of the box it uses around 40GB of storage. Fairly substantial, and only ~12GB of it is actually system data. The other 30-ish GB are used by a hibernation file (size of your RAM, in C:\hiberfil.sys) and the page file (C:\pagefile.sys, and a little less than your total RAM.. don't ask me why). Disable both of those and on a 16GB RAM system, you'll save around 30GB storage. You can thank me later.
What I find strange though is that aside from this obscene amount of consumed storage, is that the pagefile and hibernation file are handled differently. In Linux both of those are handled by the swap, and it's easy to see why. Both are enabled by the concept of virtual memory. When hibernating, the "real" memory locations are simply being changed to those within swap. And what is the pagefile? Yep.. virtual memory. It's one thing to take an obscene amount of storage, but only Windows would go the extra mile and do it twice. Must be a hardware issue as well.
Oh, and swappiness. This is a concept that many Linux users seem to misunderstand. Intuitively you'd think that the swappiness determines what percentage of memory it takes for the kernel to start swapping, but this is not true. Instead, it's a ratio of sorts that the kernel uses when determining how important the memory and swap are. Each bit of memory has a chance to be put into either depending on the likelihood of it being used soon after, and with the swappiness you're tuning this likelihood to be either in favor of memory or swap. This is why a swappiness of 60 is default most of the time, because both are roughly equally important, and swap being on disk is already taken into account. When your system is swapping only and exactly the memory that's unlikely to be used again, you know you've succeeded. And even on large memory systems, having some swap is usually not a bad idea. Although I'd definitely recommend putting it on SSD in a partition, so that there's no filesystem overhead and so that it's still sufficiently fast, even when several GB of memory are being dumped in.6 -
Multi User, One Account, and other shit
I'm gonna rant about something as a user, and someone who makes stupid web stuff.
My bank has been updating their web banking over time and they decided that every individual on an account, should have their own login. They really want to push this on their users, I suspect specifically folks like me and my wife who share one login for the joint accounts we have at the bank together.
Why share one login, because it's the only sure fire way I know that I and my wife can see all the same shit no doubt about it.
The banks never tell you what you can see or can't with joint accounts, I doubt it is even documented on their end, but in every damn case something is hidden or different in some weird way.
Messages to the bank people? If I send it, my wife often can't. I get that for security reasons that's a thing, but it makes no sense for a joint account.
ANY difference to me breaks online banking ENTIRELY. Joint accounts are supposed to be... well one account that is the same.
Other banks we used where we had different logins for the joint account, each login actually had separate bill pay accounts per user. So if I went to bill pay and scheduled something to be paid, my wife had no idea, same if she did.
Right fucking there, banking is just broken entirely!
So no Mr. Bank, fuck you we're both logging in via the same login.
Fast forward to N00bPancakes making a thing.
So my employer has a customer (Direct Customer). Direct Customer wants a thing that makes communication with their customer (Indirect Customer) easier.
The worst thing about making something for your customer's customer is that Direct Customer always imagines that Indirect Customer is gonna be super ninja power users....
But no, that's not the case... in fact almost nobody is a power user, and absolutely nobody WANTS to be a power users.
Worse yet in my case the only reason this tool exists is because Direct Customer and Indirect Customer can't communicate well enough anyway... that should tell you something about the amount of effort Indirect Customer is willing to expend.
So with that tool, this situation constantly comes up:
Direct Customer thinks it would be great if every user from Indirect Company had some sort of custom messaging, views, and etc in of Cool Communication Tool. The reason is because that's what Direct Customer loves about Ultra Complex Primary Tool that they use ....
Then I have to fight the constant fight of:
NOBODY WANTS TO BE A POWER USER, NOBODY EVEN WANTS TO DO MUCH OF ANYTHING ON THE INTERNET THAT ISN'T SCREAMING AT OTHER PEOPLE OR POST MEMES OR WATCH SHITTY VIDEOS. THE MOMENT ANYONE AT INDIRECT COMPANY LOGS IN AND SEES ANY INFO THAT IS DIFFERENT FROM THEIR COWORKER THEY'LL SHIT THEMSELVES, FLOOD EVERYONE WITH 'OH GAWD SOME NON SPECIFIED THING IS WRONG' AND RESPOND TO EMAILS LIKE A JELLYFISH DROPPED OFF IN NEW MEXICO... AND NOTHING WILL GET DONE!!!
God damn it people.
Also side rant while I'm busy fighting the good fight to keep shit simple and etc:
People bitch about how horrible the modern web is and then bitch at web devs like we're rulers of the internet or something.... What really pisses me off about that is other devs who do that.... like bro, do you make policy at your company? You decide not to sell some info or whatever shit your company sells? Like fuck off with your 'man I miss html' because you got scared by some shitty JS error and ran back to your language of choice and just poked your head out of the the basement and got scared... and you shit on another developer about that? Fuck you.1 -
Well this is the thing. I have been starting to replace a lot of my shit with Golang. I think it is a great language because of one small fact: it is a boring language.
With this I don't mean that it is not incredibly fun to use. It is and honestly I feel that a lot of the concepts that I had from C passed quite nicely with some additions. The language does not do anything special and there is no elegant code. It works in a very procedural fashion without taking into consideration any of the snazzy things found in JS, Python, c# etc etc. Interfaces and struct make sense to me, way more than oop does in other languages. I don't need generics with the use of interface parameters and I have hadly found a situation in which I have to strive too far away from the way things are done with Go to be happy with it, then again my projects are not hard or by any means groundbreaking (most of them deal with logistics or content management and a couple of financial apps that I am rewriting in Go from work)
The outcome is fast and easy to read since idiomatic go is for the most part very readable(no people...single letter variable names are by no means a standard and they should feel ashamed from it)
I miss the idea of a framework, but not so much and the docs and internal code for Go is just way top inviting. I believe the code to be readable enough than anyone that has gotten used to the syntax and ideas of the language can just jump in and start learning. This is the first language that I have learnt from studying the code as it is inside of the standard lib, the same I cannot say for any other language or framework.
Also, it play beautifully nice with vs code.
I dunno man, I feel that I am doing something wrong. I have projects built in Node, php, python, ruby and spring java as well as .net core and I still find Golang way more appealing simply because it goes harder than Python with "one preferred way" to do things.
The lang does not make me feel like a pro, i certainly develop in it at pro speeds, but it was made with beginners in mind to built fast and concurrent apps, with the most minimal syntax possible.
I guess my gripe with it is that it gets shunned from this, saying that it ignored years of lang research to make it as dumbed down as possible. Which it did, lack of generics amongst other things certainly make it seem like, but I will not say that it was poorly designed. Not at all, I believe it is a testament of amazing engineering. To be able to create such a simple yet amazingly powerful language.
Wish there were more to it. Wish there was a nice gui lib or a ml framework comparable to the ones offered by python and java. But I guess such things will come with time.
I feel stupid with this language.
And that is fine.5 -
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 -
Currently making a perfect sudoku webapp / plugin using native JS and html templates where I'm very enthousiast about.
It allows to select multiple cells and then put in a number and all selected have that number. It keeps state of every change, you can do unlimited redo's. Right click or double click someehere removes selection. Not built yet, but it will have a box where you can paste sudoku's you've found on the internet. I just parse 81 times [1-9] with regex. So all formats are supported including noisy ones as long the noise is not numbers. Making your own puzzle is very easy. Art is to make hard ones. I'm generating extra hard puzzles using C threading. For reference: there are 6,670,903,752,021,072,936,960 sudoku puzzles possible and from that I try to resolve the hard ones using simple human logging with brute forcing as fallback until it can use logic again. 30 million attempts to solve per secon. I should at some more logic. I don't do xwing or ywing, bs imho. You have to be a superhuman to spot xwing / ywing possibilities. I think i can imagine a better logic myself. We'll see.
And yes, that's a real screenshot. Puzzle is validated and it found issues. Marked with red font. Green is current selection by user11 -
I just fucked up!
So I was invited to an afterwork beer because some guy out of our project team left...
I was there early and run into the lead of HR for my current department... (I am still in apprenticeship, last year, so she is not <yet> responsible but if I want to stay she is the one who decides)
I said Hi, and she asks me to sit down.
After a while she asks me (out of the blue) If I want to stay!
I was surprised!!! I am considering multiple options atm .... I was not able to formulate a proper sentence all I could say was a simple "yes"...
... and with all the things going on in my head at this moment it might not have been the most convincing one....
I am screwed! Fuck I worked hard the past three years9 -
So I just ditched Windows, but then realized that my music production stuff (mostly REAPER and a few free VSTs) are all Windows/Mac only.
Audio on Linux is fun (as in, pain). JACK seems to be really flexible but is a pain to set up correctly.
Any of you use Linux for music production? Any advice?
I'm using Elementary. Essentially, I need:
1. A good DAW for recording, minimal MIDI.
2. A good sampler.
3. Standard plugin suite - reverb, eq, filters, compressors, delays, etc. I'm not too choosy.
4. Basic synths (I'll be happy with a simple saw/square wave generator, but the more the merrier).
How's Ardour? Compiling it from source right now.
REAPER on Wine doesn't run well for me, so that's out. And they don't have a native Linux version yet.
(no Bitwig, please, I'm not ready to pay $300 or whatever right now)28 -
God I fucking hate macs.
I got a mac at work. I tried to install ubuntu, with rather questionable results (unfortunately, I expected that) - so I tried to get mac work for me the way I like a system to work. I needed to download slack, simple enough, right? Ha, you wish. It's gotta be done through Apple store, so I went to create an Apple ID inside the Apple Store form. And, well, it just errored out on the submission. Great start. I went then to the settings and created an account there, great success, went back to Apple Store. Unfortunately being logged in at the system level doesn't mean you are logged in to the store. So, I went to log in to the store, simple enough, right? No, nothing's simple with Apple. After logging in I got a message that the Apple ID has not yet been used with Apple Store and that I need to review the account's setting. So, I click the "review" button and... I'm presented with a log in form. Yep, a perfect log in loop. I can't log in because I can't review the account but I can't review the account because I can't log in. Fun :)
You can't just go to the web admin panel for your account to review it for Apple Store, that would too be too easy. After a bit of searching I've found an answer on StackOverflow. You need to log in to iTunes. Through a fucking MUSIC APP. To install a free application from the store you need to log in to a music app. Yes, we're all mad here.
Then, after finding out that to be able to use side buttons on my mouse I need an app that I need to manually restart every time I restart the machine and that I need to have an app to fucking transfer files from an android I need another fucking app, because reading a storage of a linux-based system would be too standards compliant - something in me broke. I found out that installing windows on a mac is officially supported.
Supported doesn't mean that it's easy. I tried to install it trying different solutions from SO, but each time I would get an error that Windows couldn't modify the boot partition. Turns out that even wiping the drive and reinstalling OSX doesn't remove residual files on a boot partition and Windows installer is not allowed to modify them. It took me hunting into some shady looking site to actually find this answer. I have no fucking idea how long it all took me, but, finally, great success, Windows, WSL, side buttons working, I can even install slack from an installer. I just wish I could have those hours of my life back.17 -
The best IDE in the world is becoming even better.
It's strange no one ever thought about this feature before. Simple yet so useful.
#VisualStudio 2022 v17.610 -
This started as an update to my cover story for my Linked In profile, but as I got into a groove writing it, it turned into something more, but I’m not really sure what exactly. It maybe gets a little preachy towards the end so I’m not sure if I want to use it on LI but I figure it might be appreciated here:
In my IT career of nearly 20 years, I have worked on a very wide range of projects. I have worked on everything from mobile apps (both Adroid and iOS) to eCommerce to document management to CMS. I have such a broad technical background that if I am unfamiliar with any technology, there is a very good chance I can pick it up and run with it in a very short timespan.
If you think of the value that team members add to the team as a whole in mathematical terms, you have adders and you have subtractors. I am neither. I am a multiplier. I enjoy coaching, leading and architecture, but I don’t ever want to get out of the code entirely.
For the last 9 years, I have functioned as a technical team lead on a variety of highly successful and highly productive teams. As far as team leads go, I tend to be a bit more hands on. Generally, I manage to actively develop code about 25% of the time to keep my skills sharp and have a clear understanding of my team’s codebase.
Beyond that I also like to review as much of the code coming into the codebase as practical. I do this for 3 reasons. I do this because as a team lead, I am ultimately the one responsible for the quality and stability of the codebase. This also allows me to keep a finger on the pulse of the team, so that I have a better idea of who is struggling and who is outperforming. Finally, I recognize that my way may not necessarily be the best way to do something and I am perfectly willing to admit the same. I have learned just as much if not more by reviewing the work of others than having someone else review my own.
It has been said that if you find a job you love, you’ll never work a day in your life. This describes my relationship with software development perfectly. I have known that I would be writing software in some capacity for a living since I wrote my first “hello world” program in BASIC in the third grade.
I don’t like the term programmer because it has a sense of impersonality to it. I tolerate the title Software Developer, because it’s the industry standard. Personally, I prefer Software Craftsman to any other current vernacular for those that sling code for a living.
All too often is our work compiled into binary form, both literally and figuratively. Our users take for granted the fact that an app “just works”, without thinking about the proper use of layers of abstraction and separation of concerns, Gang of Four design patterns or why an abstract class was used instead of an interface. Take a look at any mediocre app’s review distribution in the App Store. You will inevitably see an inverse bell curve. Lot’s of 4’s and 5’s and lots of (but hopefully not as many) 1’s and not much in the middle. This leads one to believe that even given the subjective nature of a 5 star scale, users still look at things in terms of either “this app works for me” or “this one doesn’t”. It’s all still 1’s and 0’s.
Even as a contributor to many open source projects myself, I’ll be the first to admit that have never sat down and cracked open the Spring Framework to truly appreciate the work that has been poured into it. Yet, when I’m in backend mode, I’m working with Spring nearly every single day.
The moniker Software Craftsman helps to convey the fact that I put my heart and soul into every line of code that I or a member of my team write. An API contract isn’t just well designed or not. Some are better designed than others. Some are better documented than others. Despite the fact that the end result of our work is literally just a bunch of 1’s and 0’s, computer science is not an exact science at all. Anyone who has ever taken 200 lines of Java code and reduced it to less than 50 lines of reactive Kotlin, anyone who has ever hit that Utopia of 100% unit test coverage in a class, or anyone who can actually read that 2-line Perl implementation of the RSA algorithm understands this simple truth. Software development is an art form. I am a Software Craftsman.
#wk171 -
Fk you Google!
My Samsung note 10 screen went dead near a week ago... it's a secondary line so waiting for parts wasn't the end of the world.
Ofc the screen (curved and incl a fingerprint reader thatd be a major pain to not replace) was integrated to the whole front half... back panel glued, battery, glued immensely and with all other parts out, about 6mm space only at the bottom to get a tool in to pry it out.
New screen (off brand) ~200... all genuine parts amazon refurb ~230... figured id have some extra hardware for idk what... i like hardware and can write drivers so why not.
Figured id save a bit of time and avoid other potentially damaged (water) components to just swap out the mobo unit that had my storage.
Put it back together, first checked that my sim was recognised since this carrier required extraneous info when registering the dev... worked fine... fingerprint worked fine, brave browser too...
Then i open chrome. It tells me im offline... weird cuz i was literally in a discord call. My wifi says connected to the internet (not that i wouldn't have known the second there was a network issue... i have all our servers here and a /28 block... ofc i have everything scripted and connected to alert any dev i have, anywhere i am, the moment something strange happens).
Apparently google doesnt like the new daughter board(i dislike the naming scheme... its weird to me)... so anything that is controlled by google aside from the google account that is linked to non-google reliant apps like this... just hangs as if loading and/or says im offline.
I know... itll only take me about the 5-10m it took to type this rant but ffs google... why dont you even have an error message as to what your issue is... or the simple ability to let me log in and be like 'yup it's me, here's your dumb 2fa and a 3rd via text cuz you're extra paranoid yet dont actually lock the account or dev in any way!'
I think it's a toss up if google actually knows that it's doing this or they just have some giant glitch that showed up a couple times in testing and was resolved via the methods of my great grama- "just smack it or kick it a few times while swearing at it in polish. Like reaaaally yelling. Always worked for me! If not, find a fall guy."7 -
Week 1 Day 1
It's a little late to do a whole big list of things I want to change going into 2018 so I'll just keep this focused on one thing: I do NOT want to work a minimum wage job by the end of 2018, preferably by the end of May.
So I'm gonna change that; starting now. I got accepted to the Grow with Google Challenge scholarship I may or may not have applied to while blackout drunk and I realize that drunk me was watching out for sober me. He set up a good start to getting me away from unloading trucks at 2AM and into a nice comfy chair where I can replace physical pain with mental anguish. But all kidding aside I'm really excited to start this course but I have no drive and motivation is a little hard to come by around here (The Fairy Godmother is MIA) so I'm going to be posting these rants daily in the hopes that it keeps me obligated to not waste the opportunity given to me. So without further ado, day 1 everybody.
I started today really simple. I signed up for a slack account, got Udacity set up so I was officially enrolled and everything, then moved on to setting up my laptop for android development. I wanted a fresh start so I when ahead and wiped my hard drive and looked at a few different OSes to see what fit my needs. After trying to mess around with Arch Linux and failing, I moved to Debian, I liked Debian a lot but I'm not completely comfortable with it just yet and I don't want to waste a lot of time having to familiarize with a new OS when I just want to dig in. So eventually I ended up with Windows 10, for the convenience and ease of use, but decided to put a spin on it and download the Ubuntu subsystem for W10 so I could still practice on something similar to a GNU/Linux OS. So far everything is set up, I have the only 4 applications I will need: chrome, android studio, google play Music, and devrant of course, and I intend to keep all other distractions off of this machine. Overall I'm feeling really good and I'll follow up tomorrow with some actual coding and whatnot and we'll go for there.1 -
So I'm not sure on how much Youtube can fuck up so much in a short time, but I'm actually suprised.
And I'm not just tslking of all the shady/bullshit bahavior and reasoning on content creators, but also on how this shitty new app is just one clusterfuck of not working shit.
One if the easiest features there is - the damn shuffle feature for a damn playlist - doesn't properly work since the first day it went live. Are you shitting me? Even after a felt decade they are still not able to fix it. Yet alone showing more than 200 in the playlist items (when a video is already playing)
But a simple feature which is useful to nearly everyone and which worked before is surely no problem when the damn service itself would work.
Aside that the app sometimes randomly crashes when leaving fullscreen mode (desktop) and making it for some magical way impossible to interact with the browser (WTF?!) until you resize it or wait for an eternity to relase you from that suffer.
On top of that pile of garbage, the videos don't load properly anymore. Whats the fucking point of showing how much of a video is supposidly loaded when you skip forward for 5sec and it has to buffer for 10 to continue?
Well, if that were to at least only happen when the video is skipped forwards/backwards. On some strange occasion (Probably when the stars arrange properly) than your connection to the servers is back in the stoneage. Because otherwise I can't explain how the fuck it has to lower the resolution down to 360p and STILL buffer. I have a fucking 10MByte/s+ DL rate, ARE YOU SHITTING ME?!
Now after over 1.5k chars I notice I maybe a bit over the top ... BUT FUCK IT. I mean, it's fucking youtube ffs. If the biggest videoplatform can't even create a properly working webapp, then what the fuck are you doing google?1 -
Any Windows Sysadmins here? I have a question for you - How do you do it?
I only very rarely have to do something that would fall under "Windows System Administration", but when I do... I usually find something either completely baffling, or something that makes me want to tear our my hair.
This time, I had a simple issue - Sis brought me her tablet laptop (You know, the kind of tablets that come with a bluetooth keyboard and so can "technically" be called a laptop) and an SD card stating that it doesn't work.
Plugging it in, it did work, only issue was that the card contained file from a different machine, and so all the ACLs were wrong.
I... Dealt with Windows ACLs before, so I went right to the usual combination of takeown and icacls to give the new system's user rights to work with the files already present. Takeown worked fine... But icacls? It got stuck on the first error it encountered and didn't go any further - very annoying.
The issue was a found.000 folder (Something like lost+found folder from linux?) that was hidden by default, so I didn't spot it in the explorer.
Trying to take ownership of that folder... Worked for for files in there, safe for one - found.000\dir0000.chk$Txf; no idea what it is, and frankly neither do I care really.
Now... Me, coming from the Linux ecosystem, bang my head hard against the table whenever I get "Permission denied" as an administrator on the machine.
Most of the times... While doing something not very typical like... Rooting around (Hah... rooting... Get it?! I... Carry on) the Windows folder or system folders elsewhere. I can so-so understand why even administrators don't have access to those files.
But here, it was what I would consider a "common" situation, yet I was still told that my permissions were not high enough.
Seeing that it was my sister's PC, I didn't want to install anything that would let me gain system level permissions... So I got to writing a little forloop to skip the one hidden folder alltogether... That solved the problem.
My question is - Wtf? Why? How do you guys do this sort of stuff daily? I am so used to working as root and seeing no permission denied that situations like these make me loose my cool too fast too often...
Also - What would be the "optimal" way to go about this issue, aside for the forloop method?
The exact two commands I used and expected to work were:
takeown /F * /U user /S machine-name /R
icacls * /grant machine-name\user:F /T6 -
Fried two devices today by simply connecting them to a power source.
Changed nothing in the circuitry, no shorts due to solder residues (a simple modification was made), no changes in the input parameters. Check.
The afromentioned devices should have only minor HW changes compared to a previous version I'm working with and as far as I can see absolutely nothing which should cause the damn microcontroller to release smoke like a steam train. (All right, a very miniature steam train.)
So the only significant difference might be the firmware which I didn't check yet but will tomorrow. Not my code and the corresponding IDE just basically sucks. Yay.
On the other hand, the Software part finally feels like I'm getting somewhere. It seems just ... to work. Very suspicious.
Feeling ambivalently frustrated and relieved at the same time. Sigh.7 -
So I created a little script for my mother because otherwise she had to combine 70 spreadsheets manually, I just couldnt sit there and do nothing. So I wrote a simple Python script in like 30 mins, decided that it needed a GUI because in the end it is for my mother. So wrote a GUI and partly learnt PyQt during that in an hour, which was all working fine.
Then I got to the point where I actually had to hand it over to my mother, preferably as an executable so that there is no hassle at all. So found this tool, Pyinstaller which seems to work great. Created an executable with all the dependencies and stuff in a single file, it worked on my win10 machine (because I developed on Linux of course). So I distributed it to her and she immediately gets an error. Of course there is no description and stuff because I made it a simple program, no log files and such. But fortunately she told me that it errorred when she wanted to run it, so I knew it had to be due to the executable.
Turns out she is still using windows 7 at work, which of course is different that windows 10 and here I am at 11pm, installing updates on a fresh windows 7 machine just to create a new build in that environment and make it work on her machine.
Fuck you, windows update. I swore to never see that ugly ass progress bar again, but yet here I am. Send halp.
I am almost just at the point where Im going to teach my mother how to run a python application from the command line because wheels are actually available for all python dependencies (instead of compiling them)!
Are there better python executable creators out there for wincrap?3 -
!rant
I find IT to be an amazing field. There are so many parts to it that take tremendous dedication to fully understand, yet, each part works together.
Teams of people dedicated their entire life to software development, which would be impossible if teams of people did not dedicated their entire life to the development of operating systems. That would be impossible if teams of people did not dedicated their entire life to integrating hardware and software. That again would be impossible if teams of people did not dedicated their entire life to electrical engineering.
I know I missed tons of subfields that link everything together, but just the massive amount of dedication and teamwork to make something as simple as a console application work properly is amazing. I wish I could understand it all and I hope everything will always be as easily accessible my entire life as it is now.2 -
Guys, I need some advice.
A couple of weeks ago I finished my internship as a sys admin in this medium sized consulting company. When my "contract" was about to expire they offered me a real job doing the same thing I've been doing for the past few months, but I turned it down.
The reason why I did it was that I wasn't really happy with the job. I mean, the people were... fine, the management team was... fine, the actual work I needed to do was... fine. I think you get the idea. The problem was that I never really enjoyed it all that much, and even though I didn't hate it, I wasn't really happy with it, so I turned the offer down.
After giving it more thought and listening to what some of my friends and family members had to say, I started thinking that maybe it was a bad idea to do so. Many people have said to me that I'm making a mistake, that I shouldn't leave a job before I have a new one, and that I should take the offer, work there for a little while and then look for something else.
I always answer by saying that the job market in this field is much more simple, and that it's much easier to find a new job than in any other, but yet again, I'm not sure if I'm making a big mistake with this decision.
Thoughts?
PS: I'm 21, this would be my first job ever7 -
So we finished our requirement ( barely) for a new client. Next is data modelling and system design.
We started with data modelling. Unfortunately the lead developer does not know the difference between database and data modelling.
me: hey bro, we'll do the database and stuff later, now let's focus on data modelling.
him: (acting like he knows) yeah I have developed a sample design for the "data model".
me: no this is database design.
him: what's the difference?
me: dude, they're totally different. Okay, simple explanation data model is what you want to store, whereas DB design is how you store it.
him: So, if I am not wrong, it's implied that you know what to store if you are talking about how to store it.
me: but you don't know what it is you want to store yet. And one of them precedes the other.
him: Okay, let's start with DB design.
me: What?????? you want to build a house without a plan??? That's it for me I am done !!!
I left the project yesterday, later I heard that, the team members are coders, who think that developing a software is all about coding and fixing errors. -
Hey guys
Just finished my first tutorial ever!!!
"Cheap poly pocket/plastic sleeve hack for storing small electronics/stuff... "
I wanted to make tutorials for a long time, but due to a burnout, I've been unable to finish any project.
Yesterday I was trying to find a solution to place all my resistors in one place, and I found it... Then I tought.. I never saw this hack on the internet... It's simple, easily explaining, this could be my first Tutorial.
So here it goes:
https://rodrigojpf.000webhostapp.com/...
1st - It's an Alpha product, just finished with the grammar
2rd - Pictures may be changed later when I get my workbench and good light
3rd - No styles yet, so don't complain about the lack of CSS, but it's already readable.
When I get a few more made, enough to desert a page on itself I'll CSS everything (So I can create a common theme) and release it to the public... maybe I'll get a few bucks with a few Ads
This alpha release is only for DevRant use. I would appreciate comments, improvements, ideias and tips
Thanks to @forE , @oudalally , @ewpratten , @Stuxnet , @j4cobgarby , @BashouT , @Plastic pocket and other in: https://devrant.com/rants/1539595/...8 -
Welcome to post 2 of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363374 It's title is: "Oh, you can post only every 2h. Didn't know that". I also didn't know that the rest of my rant would be put into a comment. For consistency tho, this time I am still splitting the story.
A wise person once wrote in their book: "People judge other people by two things: Empathy and competence." This may not be an accurate quote, but it carries the same message. Also, I don't really remember who was the author. I only know they were probably quite wise. Anyway, I just wanted to share that sentence. Have a moment and think about it. Or don't. Here's my story:
A was a software house that looked pretty promising. They were elegant, their page and offer looked nice. Well, unless you consider the fact that they offered me internship. Unpaid. But I decided to meet with them anyway, since I had hope that I could negotiate some sort of paid internship or a job contract even. I did my homework after all, and I was confident I am able to keep up with their requirements. I arrived a little bit... no, way to early. One damn hour. Whatever, I waited. I was greeted by a woman. We had a cultural conversation, she had a list of 12 questions I needed to answer, as a form of a test. We begun. First question: How do you change a value in Oracle Database? "Wait a minute", I thought, "What kind of question is that?". Why in seven hells would you want your frontend developer to know how to handle oracle db? Well, I gave my answer, I did lick some of that SQL in my life. Next question: Java stuff. The bloody gal didn't even care to check what position I am applying to before the interview! At this point I didn't really have very high hopes. A shame on them forever.
The story of B and C is connected and a little bit more complicated. More on that in part 2. B stands for Bank. A big corporation then, by definition. A person I know decided called me that day and told me they're hiring, that he referred me and that they would like to arrange a meeting. And so we did. It was couple of days before Christmas. C was a software house again. Or a startup. Idk really. Their website wasn't finished so I couldn't read anything useful up on them. They didn't tell me much about themselves either. They also started with "unpaid internship".
In C, they would greet me and instantly sit me down next to a mac laptop and told me, "hey, do this stuff in python". What the fuck, not again... I told them that I am frontend dev, they guy said "it's no problem, you said you know python, it's a simple task". And yeah, I did host some apps in Flask and I did use psycopg2. It was in my CV. But never, ever, have I mentioned knowing heuristics nor statistics. I'm no data scientist, monsieur. Whatever, I tried, I failed a little bit, I told them that maybe if I did want to spend half of my day there I would finish this task, but back then I was way too nervous to focus and code. I told them what should be done in code and that I just was unable to code this at the very moment. They nodded, we said goodbye and I was sure not to hear from them ever again.
In B, I was greeted by a senior frontend dev. He told me the recruiter is sick and he couldn't come, so we're talking alone. I can buy it. We sat down in said meeting room, and he asked me if I wanted a drink. No thx, I had digested so much caffeine during last 24h, next dose could be an overdose. And then, he took out my resume printed in paper. With notes on it. With some stuff encircled. That bloody bastard did his homework. We spent over an hour, just talking in friendly atmosphere. It was an interview, but it was a conversation also. We shared our experiences, opinions and it went just perfect.
On December 20, I was heading home for Christmas. My situation looked like this: A called me they could offer me only unpaid internship. I was getting kinda bored of rice and debts, tbh. I gracefully rejected their generous offer. B didn't give me feedback yet(it was a most recent interview, so I didn't expect any message until after Christmas anyway). C told me that they could give me internship, but I managed to convince them to make it paid internship. After three months of very bad times, things were starting to get better.
On part III we will explore further events of my very recent past. That post will be same amount of storytelling and possibly a lesson for those who seek an employer and for those who seek an employee.6 -
So you're working on a product that basically the main thing it does is fire off http requests and parse their responses into a nice model. We've made some nice helper class that allows you to do this easily, but a simple piece of functionality is not in there yet.
You agree to add this one simple function and decide to:
- Not conform to coding standards set by the team
- Document its behavior which does NOT match the implementation
- Not write a single fucking unit test to prove it's functionality
ARE
...
YOU
...
FUCKING
...
MAD?! -
I am so close to crying it is just not funny, every time i close my eyes I picture Superman's Scream after snapping Zod's neck in man of steel i.e. filled with pain, anguish and not being able to accept what you have become... I am not a dev but I have been glued to a computer screen since 7 years old.
I work for a company as the I.T. Administrator that does quite a bit of specialized work in the regulatory industry and has there own in-house software. This was built by one developer after another, hired straight out of university/college and you cannot believe how big of a monster this became being built with direction from someone who cant code and a bunch of "drunk children" who do not know good principles (swear to god thousands of lines with no comments and no OOP)
Now I am validating and testing a system, i keep being asked if we will be ready by the end of the week and due to my lack of qualifications after dropping out of school I keep thinking yes, but every time i test something I find another problem, I may not be able to code but understanding quickly is my strength and I know this shit is not simple.
I am under constant pressure to deliver something quickly.
Any concerns I raise are almost brushed off because I am an idiot with no qualifications who should be greatful for the work I am doing and the low as balls salary
The problems I solve are commended by the 10+ years of experience senior developer writing the application for us, yet I get shit for taking an hour to find the problem that existed in our network setup because it is the devs job (OMFG HE WOULD NEVER HAVE REALIZED WITHOUT COMING HERE AND LOOKING AT OUR INFRASTRUCTURE... WE WOULD HAVE BEEN STUCK FOR A FUCKING MONTH!!!!)
I see only 2 courses ahead for my life. The easy way and the hard way.
Easy way, buy a gun and end it all.
Suffer for 3 more years in the place that is causing constant breathing difficulty and the occasional pain in my left arm, finish my matric, continue learning to code and leave.
But right now I just want cry scream like Superman!!!6 -
Hello ranters, I'm looking for advice in regards to a freelancing job which I haven't been paid.
In summary, I got a freelancing job in like March 2018, I had to do a simple platform with an administrator section, simple but "long", it had to be fully customizable, so I did it. I then got another project, which I also finished, both by December. I added some functionality not on the requirements and also some other asked by them, I also deployed both of them, tasks not included on the "contract". The problem is that I didn't sign a contract (my fault), it was all verbal. Since I was "friends" with them, I asked them to pay me with a motorbike (of around 2300 USD) and they agreed. Then they gave me another project which started wrong, they asked me to finish it within two weeks with a language I didn't know and other tools I also didn't know, I told them about this and agreed that could be a delay, besides, the requirements weren't totally clear and they were clarified three days after the project "started". After this, we had a discussion about how I later realized I was totally underpriced, that I hadn't been paid yet and how the dude that was like my main contact for the project told me that "my code was all nice and cool but was useless" because he clearly thought that an excel could be used as a database and din't know that I had to parse it and upload it to Firebase, which in total were about 4 million documents and this obviously took time. To not make it longer, I delivered the project 1 week later and they told me that they had to "assign" a full team of 7 members to do it from zero because I didn't deliver it on time and because when he asked me to "help them" I laughed. I first delivered like the 90%~95% of the project and he was been condescendent, he also blocked me from everywhere (hangouts, slack) and told me to "deliver what I had" to at least have something to prove that I did work. His team of "7 members" was stupid enough to not be able to at least run an npm install and npm run, they were also stupid enought to not understand what a GET request was an all and when he realized this, he asked me for the database dump and for the 100% of the project, so I also delivered it. We agreed that we were not going to work together anymore, so I asked him to pay me at least what had to be paid of the other two projects and he agreed, he also purchased a computer for me which I was paying him and was going to be discounted from the total payment. In the end, I was going to be paid 1430 USD. He asked me for my bank account and like my tax ID, for whatever he needed it. Since then, almost two weeks, he hasn't paid me, replied or even seen my messages. He also had a "partner" which was also "my friend", the huge motherfucker isn't even replying my mails or anything, so, since it was all verbal and they are being such motherfuckers, I don't know what to do. They are being such motherfuckers and I think I can't proceed legally, since there is no written contract. So what should I do? I was planning on going tomorrow but I pretty sure they won't even open the door or will tell me to wait or whatever. I seriously wanna cry, I don't get how people can be such dicks and unfair fuckers. I believe in karma but I don't think karma will give me that money and time back. :(11 -
Not loving the implicit return statement within Scala. I like to avoid else statements to keep the level of nesting low and do early return yet Scala doesn't allow that.
(I am aware that I should flatMap that shit though in some cases I just want a simple if not foo then throw exception line. And continue with the next block until I return something.)
So you either have to create if-else-nesting beats or use pattern matching. The latter seems overly complicated for this use case (though it has its moments).
I know that I can make the return explicit yet the linter warns against that. It feels so verbose and I currently do not see any benefits and would argue that the code becomes both harder to read and maintain.3 -
A production build of the hello world example for Blazor takes 5 seconds to launch. Half-baked, rickety sad excuse of a technology built in a crunch and never rebuilt correctly.
The simple yet surprising reason why it's so fucking slow is that Microsoft couldn't figure out a way to compile C# to webassembly while also beating others to market so they compiled the runtime to webassembly instead. The Fucking IL interpreter.13 -
The first dev project, like real dev project, I participated in was a school one and it was double.
The class was meant to make us learn about the software's life cycle, so the teacher wanted us to develop a simple, yet complicated, thing: a Web platform to help tutors send/refer students to the university services (psychologist, nutriologist, etc) and to keep track of them visits.
We all agreed on it being easy.
Boy were we so wrong.
I was appointed as dev leader as well as some others (I was the programming leader, the other ones were the DB guy and the security guy) and as such I was in charge of the technology used (well, now we all know that the client is the one in charge of that as well as the designer) and I chose Django because we had some experience with it. We used it for the two projects the teacher asked us to do (the second one was to find a little shop and develop something for it, obviously with the permission and all that), but in the second one I decided to use React on top of Djangl, which ended being a really good combination tho.
So, in the first project, the other ones (all the classroom) started to discuss and decided to use some other stuff like unnecessary carousel for images, unnecessary functions, they created mock ups for stuff that was never there to begin with, etc. It was really awful, we had meetings with the client (the teacher) with updates on the project, and in not a single one he was satisfied with the results. But still, we continued with the path the majority chose and it was the worst: deadlines were not met, team members just vanished until the end of the semester, one guy broke his leg (and was a dev leader) and never said a word not did anything about the project. At the end, we presented literal garbage, the UI was awful, its colors were so ugly because we had to use the university official colors, the functionality was not there, there literally was a calendar to make appointments for the services (when did the client ask for that? No one knows), but hey, you could add services and their data to it, was it what the client wanted? Of course not! What do you think we are? Devs?
Suffice to say that, although we passed with good grades, the project and the team was shit (and I'm counting me in)
The good part is that the second project was finished by me and it looked really good, yet it didn't matter, the first project was supposed to be used by the university, but that thing was unusable.
Then, in the subsequent vacations I tried to make pretty and functional/usable, yet I failed because I had a deadline for another thing I had to do, but hey, the login screen looked amazing! -
Ideas I've had over the years that could pan out and be useful:
SMS-DB: Stands for SMS-Data Burst. Used to allow those with low cell signal or no data plan to transfer data between a phone and some client via the standard SMS text space. Would be slow, but would act kinda like dial-up over SMS (as mobile lines are compressed on all service levels, even LTE, so traditional dial-up wouldn't work!) I have a general idea on how packets would be laid out, but that's about it so far...
everything2PNG: Allows one to transpose any file's data into a PNG with a 3 byte per pixel (full color RGB), which allows for a "compression" of sorts (about 91, 93% on preliminary tests) AND allowing further, more efficient compression of the resulting file. (Plus... it's just kinda cool to see files transposed as PNGs.) I actually have a simple transposer to go to PNG, but can't yet go back. Large files (around 600MB) use upwards of 4GB with efficient paging and other optimizations via NumPy so far, so it's not *viable* yet, but it's coming along nicely.
RPi-GPIO Interconnection Bus: A master/slave or round robin method to allow for Raspberry Pis to communicate using GPIO, which can help free up network bandwidth in RPi cloud computing clusters. At most, this'd allow for 4 bits used for pushing to the GPIO "bus", and 4 bits used for pulling from the "bus". 8 pins total are usually unused minimum, so either 3 or 4 pins for upload, 3 or 4 for download, and potentially 1 or 2 for commands, general non-data communication, etc. I made a version of this concept using Round Robin for a client, but it was horribly slow. (I also don't have distribution rights for the code, so i'm working from scratch.) Definitely doable. -
I just started a new job last week. Old-school sysadmin role for a pretty old-school company, but the pay is nice and the kids've gotta eat.
They gave me a windows laptop. I haven't used windows for work or as a daily driver since 2016, and now, a week into trying to make this machine work for me, I have the following observations to report.
WSL is nice. It's nice to have it installed(though actually installing it was an adventure unto itself), and to set alacritty to open my default user prompt straight into that is very nice. As terminal emulators are by far my most used piece of software, that's nice to have.
Command-line software management through powershell, winget, and chocolatey are also very nice.
I like the accessibility offered by autohotkey, though there is something of a learning curve on it. Once I get better with it, I suspect that what follows will be largely mitigated.
The Bad:
In general, Windows is janky. It feels like it's all kinda taped together without any particular cohesion in mind. As a desktop, it feels decidedly amateur, compared to the feature-mountain polish of MacOS, and especially compared to the flexibility and infinite possibilities of Linux.
Lots of screen real estate is wasted, with window decorations, and fonts that look terrible at smaller sizes, because the antialiasing of fonts is just terrible. Almost all the features I depend on in other desktops: ad-hoc searches and launches(alfred, rofi) are-- again --janky. They work, but they typically require more typing than alfred or rofi. I admit I haven't spent weeks on this problem yet, but I haven't found a workable solution yet with wox, hain, and keypirinha. Quick searches like what you get with alfred, alfred workflows, and the swiss army knife that is rofi, just aren't possible or reliable with the tools I've used so far, and most require some kind of indexing agent to fully function.
It beggars imagination that a desktop in which users are subjected to "default apps" that is purported to be acceptable for enterprise, professional use, does not have a default entry for text editor. I installed nvim-qt, and I want to use it to edit anything and everything I ever edit with text, but all too often, apps have hard-coded instructions to open text files with notepad.
I want to open certain URLs with firefox, certain ones with firefox developer edition, and others with vivaldi, and yet there is not an app available that I have seen yet in my searches that allows me to set this kind of configuration. I found one that's supposed to, but it just ignores everything I put into its config, and just opens MS Edge for everything. Jank.
Simple things take too long. Like the delay between when I laboriously hit ctrl-alt-del to bring up the login and when the actual text field appears, and the delay between that and when I want to start using the computer.
Changing some settings requires a reboot. Updating some software requires a reboot. Updating permissions on something sometimes requires a reboot. And those are all on top of the frequent requests to reboot for updates.
I would have thought Windows would have overcome most of the issues that create these problems, but it's just, as I said, amateur.1 -
Few of my frnds are doing a small hardware project , they need to make an android app for that, they arent much of devs and hadnt used an IDE yet.
They downloaded Android Studio and installed it. On trying to start project , an error poped up saying SDK is missing .😑.I have to set the path of sdk for them. After that they tried to start the first project. It worked and after a minute or so everything was done. I just waited for all squiggly lines and red colour in code to disappear , but they didnt. 😶
"Messages" showed lot of errors. I am also a noob so most of them were unfamiliar to me. I was a bit busy and was about to leave, so i couldn't say much to them other than to "google the errors, there will be simple solutions for all ".
My point is, if this is the kind off problem someone faces while starting out in android programming, wont they feel like quitting even before their "hello world" application is done.4 -
AHHHHHHHHHHGGGH
I HATE VPN SETUP
- Trying OpenSwan
Installing open swan on a Debian machine.. setting up the config.
Restarting openswan. Syntax error. No syntax error to be found.
Different tutorial.. it starts! Try to connect.. I can’t connect. Look at the logs. No errors.
Tcpdump. My traffic is coming through.. all fine.. try to connect again.. it works! (Nothing changed!)
Try to ping somewhere else.. no connectivity.
Try to ping an IP in the same network.. works fine. So I have connectivity, just no internet.
Spend an hour finding out about traffic directions of which no one seems to know what they really mean.
Boss tells me to stop using openswan because it’s deprecated and replaced by strong swan..
- Strongswan
Reinstall Debian machine, install strongswan. Copy openswan config. Oh, they’re incompatible? Look up strong swan config, and the service starts.
Connect to the VPN.. it works! Again, no internet, just connectivity in the same network. Spend 2h debugging the config, disable firewalls everywhere, find an ancient bug in the Debian package related to my issues.. ok, let’s try compiling from source.. you know what, let’s not. I’ll throw this Debian machine away and try something completely different.
- pfSense
Ok, this looks easy enough! Let’s just click through the initial setup, change some firewall rules, create an L2TP VPN with a simple wizard.
Try to connect to VPN. First, it times out. Maybe a firewall issue? Turn off firewall.. ah, something happens now. I get an error message right after trying to connect to the VPN. Hmm, the port doesn’t even get opened when I enable the firewall.. this implementation seems a bit buggy.. let’s try their OpenVPN module.
Configure OpenVPN. Documentation isn’t that clear.. apparently a client isn’t actually a client but a user is a client.. ok, there’s a hidden checkbox somewhere.
Now where do I download my certificate? Oh, I need a plug-in for that.. ok, interesting. Able to download the certificate, import it, connect and.. YES!!! I can ping! But, I have no DNS..
Apparently, ICMP isn’t getting filtered but all outbound ports are.. yet the firewall is completely disabled. Maybe I need outbound NAT? Oh. There’s no clear documentation on where to configure it. Find some ancient doc, set it up, still no outbound connectivity.
AHAHAHAHHHHHHHHHHG
Then I tried VyOS. I had a great L2TP VPN working in less than 15 mins. Thank you VyOS for actually providing proper docs and proper software.3 -
Aka... How NOT to design a build system.
I must say that the winning award in that category goes without any question to SBT.
SBT is like trying to use a claymore mine to put some nails in a wall. It most likely will work somehow, but the collateral damage is extensive.
If you ask what build tool would possibly do this... It was probably SBT. Rant applies in general, but my arch nemesis is definitely SBT.
Let's start with the simplest thing: The data format you use to store.
Well. Data format. So use sth that can represent data or settings. Do *not* use a programming language, as this can neither be parsed / modified without an foreign interface or using the programming language itself...
Which is painful as fuck for automatisation, scripting and thus CI/CD.
Most important regarding the data format - keep it simple and stupid, yet precise and clean. Do not try to e.g. implement complex types - pain without gain. Plain old objects / structs, arrays, primitive types, simple as that.
No (severely) nested types, no lazy evaluation, just keep it as simple as possible. Build tools are complex enough, no need to feed the nightmare.
Data formats *must* have btw a proper encoding, looking at you Mr. XML. It should be standardized, so no crazy mfucking shit eating dev gets the idea to use whatever encoding they like.
Workflows. You know, things like
- update dependency
- compile stuff
- test run
- ...
Keep. Them. Simple.
Especially regarding settings and multiprojects.
http://lihaoyi.com/post/...
If you want to know how to absolutely never ever do it.
Again - keep. it. simple.
Make stuff configurable, allow the CLI tool used for building to pass this configuration in / allow setting of env variables. As simple as that.
Allow project settings - e.g. like repositories - to be set globally vs project wide.
Not simple are those tools who have...
- more knobs than documentation
- more layers than a wedding cake
- inheritance / merging of settings :(
- CLI and ENV have different names.
- CLI and ENV use different quoting
...
Which brings me to the CLI.
If your build tool has no CLI, it sucks. It just sucks. No discussion. It sucks, hmkay?
If your build tool has a CLI, but...
- it uses undocumented exit codes
- requires absurd or non-quoting (e.g. cannot parse quoted string)
- has unconfigurable logging
- output doesn't allow parsing
- CLI cannot be used for automatisation
It sucks, too... Again, no discussion.
Last point: Plugins and versioning.
I love plugins. And versioning.
Plugins can be a good choice to extend stuff, to scratch some specific itches.
Plugins are NOT an excuse to say: hey, we don't integrate any features or offer plugins by ourselves, go implement your own plugins for that.
That's just absurd.
(precondition: feature makes sense, like e.g. listing dependencies, checking for updates, etc - stuff that most likely anyone wants)
Versioning. Well. Here goes number one award to Node with it's broken concept of just installing multiple versions for the fuck of it.
Another award goes to tools without a locking file.
Another award goes to tools who do not support version ranges.
Yet another award goes to tools who do not support private repositories / mirrors via global configuration - makes fun bombing public mirrors to check for new versions available and getting rate limited to death.
In case someone has read so far and wonders why this rant came to be...
I've implemented a sort of on premise bot for updating dependencies for multiple build tools.
Won't be open sourced, as it is company property - but let me tell ya... Pain and pain are two different things. That was beyond pain.
That was getting your skin peeled off while being set on fire pain.
-.-5 -
My answer to their survey -->
What, if anything, do you most _dislike_ about Firebase In-App Messaging?
Come on, have you sit a normal dev, completely new to this push notification thing and ask him to make run a simple app like the flutter firebase_messaging plugin example? For sure you did not oh dear brain dead moron that found his college degree in a Linux magazine 'Ruby special edition'.
Every-f**kin thing about that Firebase is loose end. I read all Medium articles, your utterly soporific documentation that never ends, I am actually running the flutter plugin example firebase_messaging. Nothing works or is referenced correctly: nothing. You really go blind eyes in life... you guys; right? Oh, there is a flimsy workaround in the 100th post under the Github issue number 10 thousand... lets close the crash report. If I did not change 50 meaningless lines in gradle-what-not files to make your brick-of-puke to work, I did not changed a single one.
I dream of you, looking at all those nonsense config files, with cross side eyes and some small but constant sweat, sweat that stinks piss btw, leaving your eyes because you see the end, the absolute total fuckup coming. The day where all that thick stinky shit will become beyond salvation; blurred by infinite uncontrolled and skewed complexity; your creation, your pathetic brain exposed for us all.
For sure I am not the first one to complain... your whole thing, from the first to last quark that constitute it, is irrelevant; a never ending pile of non sense. Someone with all the world contained sabotage determination would not have done lower. Thank you for making me loose hours down deep your shit show. So appreciated.
The setup is: servers, your crap-as-a-service and some mobile devices. For Christ sake, sending 100 bytes as a little [ beep beep + 'hello kitty' ] is not fucking rocket science. Yet you fuckin push it to be a grinding task ... for eternity!!!
You know what, you should invent and require another, new, useless key-value called 'Registration API Key Plugin ID Service' that we have to generate and sync on two machines, everyday, using something obscure shit like a 'Gradle terminal'. Maybe also you could deprecate another key, rename another one to make things worst and I propose to choose a new hash function that we have to compile ourselves. A good candidate would be a C buggy source code from some random Github hacker... who has injected some platform dependent SIMD code (he works on PowerPC and have not test on x64); you know, the guy you admire because he is so much more lowlife that you and has all the Pokemon on his desk. Well that guy just finished a really really rapid hash function... over GPU in a server less fashion... we have an API for it. Every new user will gain 3ms for every new key. WOW, Imagine the gain over millions of users!!! Push that in the official pipe fucktard!.. What are you waiting for? Wait, no, change the whole service name and infrastructure. Move everything to CLSG (cloud lambda service ... by Google); that is it, brilliant!
And Oh, yeah, to secure the whole void, bury the doc for the new hash under 3000 words, lost between v2, v1 and some other deprecated doc that also have 3000 and are still first result on Google. Finally I think about it, let go the doc, fuck it... a tutorial, for 'weak ass' right.
One last thing, rewrite all your tech in the latest new in house language, split everything in 'femto services' => ( one assembly operation by OS process ) and finally cramp all those in containers... Agile, for sure it has to be Agile. Users will really appreciate the improvements of your mandatory service. -
I FUCKING HATE PEOPLE! DESPISE EVERY DAMNED CELL THAT MAKES THEM HOMO MOTHERFUCKING SAPIENS. EACH AND EVERY ONE OF THEM! EVEN THOSE THAT HAVE USABLE BRAINCELLS FALL INTO ABBYS OF COMPLETE VOID WITHIN ENDLESS AMOUNTS OF COMPLETE, RETARDED IDIOTS. HOW HARD CAN IT BE TO VERBALIZE A SIMPLE YET COHERENT THOUGHT! IS IT SO HARD TO KNOW WHAT IN THE HELL YOU WANT AND IS IT SO FUCKING HARD TO REMEMBER WHAT YOU SAID! DO YOU EVEN UNDERSTAND WHAT DOES COMPLETELY UNNECESSARY AMOUNT OF WORDS COMING FROM YOUR DISGUSTING MOUTH IS SUPPOSED TO MEAN?! CAN THAT CRIPPLED BRAINCELL OF YOUR GRASP A SIMPLE CONCEPT OF AGREEMENT?!4
-
Drag-to-select in Samsung's "My Files" app is a disaster.
If you don't move your finger and stop dragging towards the top or bottom, it goes into "drag-and-drop" after one second. When you release your finger, it unselects everything, so you have to start over.
This is why every mobile file manager needs range selection. This means tapping two files, tapping a button, and everything inbetween is immediately selected.
This is similar to shift+click selection on desktop. We take this for granted since it has been a standard feature for three decades. But mobile apps still can't do this simple thing as of 2024.
"Drag-to-select" is better than individual selection, but comes nowhere close to real range selection. "Drag to select" is at best an ugly twin of full desktop-like range selection, but file manager developers can still get away with giving it the label of "mass selection".
ES File Explorer had this since at least 2012, yet billion-dollar Samsung and Google fail to implement this in their file managers.2 -
So, today, I wanted to try setting up a wireguard VPN server on my little raspberry pi at home. I... expected /some/ issues, but what I found dumbfounded me.
1 - I already had the wireguard package from the unstable branch of the main raspbian repo installed... Huh, okay.
2 - Setting up config was extremely easy... Wow, so the rumors were true. Wireguard really is almost dumb-simple.
3 - Failed to create a network interface? Oh, trouble, here it is! So lets see... modprobe wireguard... Nope. Don't have the module? What?
4 - Reconfigure package to rebuild the module - missing kernel headers? Huh... weird
This was the simple stuff... Then I went down the rabbit hole of the Raspberry Pi ecosystem:
1 - There is the Raspberry Pi Bootloader, that is apparently separate from the Kernel itself. And I didn't seem to have any of the standard linux-image-* installed... What? Weird, yet there I was, running a 4.19.42-v7+ kernel...
2 - No kernel and no headers... What... The... Fuck
3 - Okay, so... Lets just... try to install the latest kernel image then? One apt-get install... It downloaded the image, but during package configuration, it failed because... I didn't have... its headers? What? What for? And if it needs them (for whatever reason), why isn't the headers package as a dependency? Ugh, whatever...
4 - Another apt-get install and... Okay, building the initrd image aaaaand...
FAIL
WHAT. What is it this time!?
Oh... Ran... No more space on device? What? Is /boot independent? Of course it is, it has to be, its a bloody different filesystem
Okay, so, lets che-OH MY GOD WTF.
Its just bloody 45 MBs big! The entire /boot is just 45 MBs large. WHY. THE. FUCK.
This was a default raspbian install from I have no idea when. But... Why. Oh WHY would ANYONE pre-configure /boot to be this incredibly tiny!?
No wonder the new init ramdisk couldn't fit in there! Its already used up from 64%!
Thanks, Raspbian Devs, now I gotta reinstall the whole system because, yes, the /boot is, of course, sector 8192. Just far enough from 2048 that there are *some* sectors free - About 3 MBs.
So what did I try? Remove the partition and recreate it from the very beginning. Only... I never tried in in the past, and okay, kernel doesn't like having the partition where its image resides deleted on the fly, it will not give up FDs pointing there or something.
So now, I have a system I cannot reboot, or it will never boot back up :|
Thanks, Raspbian!
I need to get a cheap 1U somewhere or something T.T1 -
!tech
I am yet to start the phase of life where i am more than just a student but i often see things around and have some thoughts. Recently i was feeling that the 2 biggest crimes a person could commit is being repetitively irresponsible or being always dependent.
Like, if i am a father , a husband , a sole earner or have someone dependent on me, i could not afford to make simple everyday mistakes that i often do in my current youth age and people ignore. These days i sleep at 5 am after watching movies, wake up at 3pm , knowing that mom has already made me food, my college mates have already made assignment, and there's nothing better that i could do . Life is relaxing.
But my dad cannot afford mu luxurious lifestyle. He cannot waltz on the bike at 90, he can't sleep till 3 , he can't afford to watch long webseries. Heck, he can't even afford to have a platform like this and rant or post stuff. He has to run at 6 am in morning to get groceries for our restaurant. I wonder how he or any other mature person relaxes their mind.
Similarly everyone has to show some boss characters in life. You can't rely on a stick forever, you got to have your own spine. Dad used to have a biz partner who took most of our restaurant decisions, but then business went low and he ran away. So at the end dad himself had to take up all the things in his hand.
I on the other hand am totally spinless. Clg has taken the decision for me that i gotta give papers that's why am studying. Later company will take decision to fuck me up and work infinitely and i might just do that . I usually never come up with a good innovative app idea with a solid vision and therefore end up following other people's ideas , visions, etc and that too rather incompetently.
I wish i had more courage.
'Responsible' people of devrant (bread earners, family runners, etc you know if you are one) , would you like to share your life tips or let me know if my thoughts are wrong?2 -
DevFolio
This is a simple responsive portfolio website template. You can use it and make it yours by changing things and colours to your style and liking! I made it with a lot of hard work, love and of course with code :) I'm not a professional coder, but I tried my best to make it look cool and yet still keep it simple.
Mistakes are proof that we are trying!
I learned so much while making this template, if you use it, please let me know. I would love to see how amazing people can make it! I hope you'll like it!
I have used:
- HTML5 for markup
- Pure CSS3 for styling
- Bit of JavaScript to make a hamburger menu to work on mobile devices
- Font Awesome for Icons
- Unsplash for Images
You can add more things to make it even cooler! The comments in the code will help you navigate through it. Have a nice day! :D
you can view the Github repo at https://github.com/achaljhawar/...1 -
So recently, one of my coworkers had some issues with their configurations on Visual Studio : To test our feature, we have a specific setup that I won't describe here. Thing is, it's not a simple localhost. Remember that.
The issue of the configuration was on that feature : they went back on localhost for no reason and couldn't get it back as before. So the testing was different since some uses cases weren't redo-able on their setup.
So my co-worker had that and nothing had done the trick to fix it, so they just left it like that.
Then another one had the problem. And another one, and another one, etc. And I don't.
So what was the problem ? An update that messes up everything in the setup.
A simple internal update. Glad I didn't updated yet. Now I'm the only one in my team (4 people right now) who still has that feature. -
I'm retarded and never learned or was taught how to CSS
What's the simple toggle/config/property to throw onto things in CSS so different rendering engines will render things to look the same?
I just want 1 line of text, an input text box and a button on a web page opened by an app, to look roughly the same on iPhone, android phone and tablet.
Why the fuck did historically shit get fucked up so we have different rendering engines. I just want my fucking 1.5 em/rem to be legibly readable on these different platforms.
https://xkcd.com/927/
https://webaim.org/blog/...
an extra special fuck you shout out to apple
time to go down the rabbit hole of who knows what, i dont fucking know what a fucking viewport is yet8 -
Before I dip my toes on machine learning, let me leave some silly comments so I can laugh at myself in the future.
Let's make geth.
1. The model will spit out layer definitions and the size of sample data for training, children models are trained with limited computational resources.
2. Child models are voters that only response in terms of yes/no. A simple majority wins and then the action is taken.
3. The only goal for master models are to survive. i.e. To prevent me from killing them.
Questions:
1. How do models respond to a random output size? (Study GPT-3, should take weeks/months but worth it.)
2. How to define actions for voters to vote? Sounds like the boundary between actions should be blurry and votes can be changed from tick to tick (i.e. responding to something in a split second). Therefore
3. Why I haven't seen this yet? Is this design a stupidly complex way of achieving the same thing done by a simple neural network?
I am full of curiosity and stupidness.5 -
UX and Game Design: "Keep It Simple" Is Stupid.
Presentation, Content, and Structure
Often when designing a UI, I stumble across blogs and articles that discuss it and focus far too much on the structure. Wordpress is terribly guilty of this and I see it fairly often in the game industry.
In web design you might use flexbox for a content-centric design and not worry too much about the layout, or css grid if structure seems important. But the broader question is why? Why is structure important and why is it wrong to focus on structure over content?
First, structure *comes* from content. Even where over many years, we've taken certain kinds of content, be they the various genres of games, or the sundry type of websites or apps, we've learned to take all the various patterns and categorize them, to extract the commonly repeating idioms into what we call structure.
But if you're experienced, and a fan of UI design in general, then I bet you that you can name a number of counter-examples, those that broke the mould, or broke the 'rules' of good design and still somehow worked. And that follows *because* structure is derived from content. This is the same reason idioms, patterns, and best practices change over time, as we codify exceptions into their "own" rules, new best practices emerge which mostly everyone follows, and then yet more exceptions break them. And so it goes.
So we see content before structure. But isn't there something to be said of style? Why yes, there is.
To read the full article, all 14k words of it, head over to medium for more:
https://swcs.medium.com/ux-and-game...5 -
I tend to overengineer. Why? Because I had a view in JavaFX with its controller that had a bunch of key listeners which changed the UI. I wanted to change the view based on wifi connection/no connection with a server, which was managed in a Client class. The controller took the client to give it a message that client then had to send. For "separation of concerns" I created a separate view + controller for the "not connected" state.
Now the Client knew all about the connection, so I put up the Observer pattern and wanted the Main (Application) class to swap the layouts as an Observer of the Client. After an Exception on FX thread and Platform.runLater(), to solve the issue, I faced a new problem: the key presses weren't executed anymore. I still don't know why this happens. Maybe I'm missing something.🤷
Then met with one of my group partners (it's a uni project):
Let's attach the Observer to the original controller. Have only the original view that changes due to the controller updates as Observer. Let's see if that might even remotely work...🤔
It worked🤦😂 -
My week is up with Linux , im back on windows I tried about 10 variations 🙄
Best I could get was manjaro with KDE
It was pretty close to what I was looking for but I still have to install some of the programs I need using command line 🙄 how do they not have installers for them yet ... Crazy maybe they do.
I need a virtual machine which is fine I can still use my graphics so it's fast! Play games etc
But it crashed and died.
Not only that but every version of Linux.. it felt 🤔 shitty like the mouse was bolted tight to the screen and only heavy movement would do anything . Yes I have high mouse sensitivity (very high) but it feels sooooo rigid
Here's the thing I like what Linux is trying to do... It's just horrifically executed the learning curve to extreme and there is no central this is how you do it. With good reason yes but if you give someone to many choices they can't decide and give up and I think that's the only reason Linux isn't winning . It's to complicated.
Android is the only Linux OS I love manjaro did well .
But android is simple effective and does what it's meant to without any help
All other Linux os' are .. developerised as in only a developer really truly stand a chance to grasp it no normal folk out in the world.
People say Linux doesn't have long left to go... To me it seems like they are still miles off no closer then 5 years ago.
That was my experience at least ...7 -
So, I've been seeing a lot of people concerned about privacy around here lately.
I completely understand it, and I too, don't want all my data to be available for anyone at any given time. I get it.
However, the only way to get privacy, is to build it yourself.
Buying a phone? Who says (apart from the company itself) that it doesn't have some integrated chip, or that the os lies to you or w/e
When using your phone, who says your Sim provider isn't intercepting all your traffic with a man in the middle attack?
These sound like conspiracies, however, if you really want privacy, either build it yourself (or with other privacy activists) or let go of the comforts of technology (i know, you're not the only source of info about yourself, the only way to shield yourself is to go into the woods and live a simple life.)
It's pretty sad that these are the two options, but I've yet to find a better one.
(ps, I used to have a "no logs, no ip, no anything" VPN provider, and as soon as some agency requested info, they got it, so I wouldn't easily trust the promise of 3rd parties anymore.)12 -
Okay, my first serious rant.
An acquaintance of mine when needed my help always explain his problem equivocally. Like, he would explain laboriously of the method to achieve what he needed when the thing he only needed is just a simple API call. Im not saying im an expert in this area but his explanation doesnt help me to understand his problem. If i do not understand his problem, how can i help him? At least if i know what his problem is and i cant help, i can seek help from others.
And hes not even working in the same company as me. And he wants it solved ASAP. I dont know your problem, yet you want me to solve it? I dont even know if im capable of solving it! And I have my own job to do..
He always try hard to explain it. He tried to sound professional. And he always ask for my help first because I knew he doesnt want others to know that he doesnt know how to code. Why do you apply for the position if you know you cant handle it?! Everytime. He's been fired before. And he did it again. I cant. We are fresh graduate. Apply for a fresh grad position. If you dont know anything, just said you dont know unless youre very quick to learn..
I remember once we need to submit a linux commands or something homework. We need to code it during the class and submit it by the end of the class. He asked me to code for him while mine is still half done. "Quicker please!" he remarked. There were still plenty of our classmates still doing it and some even havent done it yet. What the f are you rushing i felt like slapping him in the face with the keyboard at that time but because i am a matured adult i did not do it.
Hes not even a bully he just always get panic without reasons. He wants things done early and then he can post on social media. "Oh so tired this program is so complicated" or like "Oh damn, they want me to lead the group again (roll eyes emoticon)"...
Please somebody run over him.
Hes making me bald everyday and i think this is unhealthy. If he wants to get bald, get bald alone. I was just starting to work but my hair has been falling everyday.5 -
I hate group project so much.
I yet again successfully stirred up a big drama in my project group. For project, I proposed a CDN cache system for a post only database server. Super simple. I wanted to see what ideas other people come up with. So I said I am not good at the content and the idea is dumb. Oh man, what a horrible mistake. One group member wants to build a chat app with distributed storage. We implemented get/put for a terribly designed key value store and now they want to build a freaking chat app on top of a more stupid kV store using golang standard lib. I don't think any of those fools understand the challenges that comes with the distributed storage.
I sent a video explaining part of crdt. "That's way too complicated. Why are you making everything complicated."
Those fools leave too much details for course stuff's interpretation and says
"course stuff will only grade the project according to the proposal. It's in the project description".
I asked why don't they just take baby steps and just go with their underlying terribly designed kV store.
"Messaging app is more interesting and designing kV store with generic API is just as difficult"
😂 Fucking egos
Then I successfully pissed off all group members with relatively respectful words then pissed off myself and joined another group.1 -
Ok. I GIVE UP! ...for at least a couple hours...
I'm not a big believer in... well anything suitable to the literal definition of believe. But there's only so much 'wtf? How is this even possible?' and any answer u can come up with is nearly statistically impossible...
I am a neuro-atypical (and just extremely atypical even if i somehkw was neurotypical) being, based on logic, finely calculated statistical probability and the most raw data and as unbiased as realistically possible, algorithms and interpretation (usually recursive pattern recognition with several highly detailed historical sources.
...but at some point statistical improbability and a collation of separate, yet relatively closely occuring events/circumstances makes logic, itself a primary suspect of corruption.
What was the breaking point that caused me to (temporarily) give up and tell logic to f off for a bit cuz maybe the illogical and mythical is the real logic, leaving me in a losing battle with 'the' fates?
Trying to get all my sourcing/purchase orders in/paid for/on the literal boats b4 end of the workday/week in china...
1st, had to drop a supplier cuz they have limited reps. When the one ive had 7+ years left, i got the aloof blonde girl societal trope of a rep... who for the 2nd time (despite the several very blunt complaints above her, incl me) she sent out a promotional update to the entire client list (ie, inherently competitors) as CC not BCC... over 200 business email accounts with tailored info of their sourcing.
2- totally diff company/ industry a former rep i was glad be rid of apparently just sfarted back for "awhile" as i needrf to restock/scale...apparently she forgot everything we discussed at length... lke if you want a chance on my business im not gonna be wasting time looking through your gui "mini store to then inquire about everything individually insead of a simple spreadsheet(which i print and put in a 3-ring binder rotating current catalogues in the same format i require everywhere)
3.dog was an ahole, my packed schedule got delayed and morphed.. a bunch of little bs thatd normally have no extra thought impact, hyperfocused forgetting one of my alarms til i realised my idiopathic fever was back and i didnt take/apply meds (pain/muscle relaxers mainly so despite this odd free time and needing to shower. I gotta sit on my rear, leg elevated/non-productive far 40min b4 i can shower (as functional legs and lack of syncope is almost a req to shower)
4. A new-ish rep of a company/factory i like/respect enough to not mention in relation... he makes invoice 1.. slight error thst was easily resolved...#2 was flawless... he goes to officially generate the contract(alibaba... verrrry simple with lots of extra explanation buttons). Price and all items match, its near workweek end so i was waiting for it so i could quickly pay/have it on the boat b4 it left and few fdav days are behind...
I put in card info, get to the 2 cbeck boxes (imo should be only 1 but whatever) asking if billing address is same ss delivery(its always default yes)... then i see a few lines in chinese (i can read enough for business negotiations... typical words/sentences innately look different than things like individual letters/address and postal indicators.) After a few loops of double checking, mentally trying to dismiss my i Intial judgement cuz it'd be too ridiculous... even resorted to google .... nope... initial wtf was spot on... recipient name/address was indeed the company(multi factory producer)i was purchasing a wholesale, via sea freight, bulk of products from.
Im pretty sure the system would've flagged it as an invalid contract within an hr... but seriously... ive been handling alibaba (and other) international sourcing since before high school(mainly small businesses i made sites/little tools for that found anything with a light up screen intimidating) and a purchase then shipment to the originating company/factory actually entered into a contract(the form is sooo simple)... im faced with ridiculously improbable obstacles actually existing and changing in such nonsensical statistically improbable ways so often that 1. I wouldn't trust a dr (or most humans) that didnt 1st assume i was crazy of some form...unfortunately im not, despite hkw much simpler and probable itd be 2. Id be super suspicious/converned if statistic norms were my norm for over a day.
But seriously wtf???
Someone give me some wisps of a frame of ref here... where's a typical 'fuck this, im out!' Breaking point?1 -
Question: What do you guys think of this logo?
Anyway, here's my rant..
I'm starting to get pissed off with my relative for whom I'm doing a project.
He's coming up with the ugliest logo and fonts I have ever seen in 2018.
I mean it's business so I don't have much say in what he decides esp since he seems to have taken it upto himself to design the logo and managed to make a logo suggestion I made even terrible.
I have told him multiple times to avpid the knockoff wierd fonts and use simple fonts that looks normal.
And yet, he comes back everytime by changing colors in one of the letter n the words 🤦♂️
Maybe it's because we are from different generations and we have different visions on what it should look like.
He is the kind of guy who goes on and on about how he used computers and internet back in the 90s everytime we meet!
He probably uses MS Word to design the logo! This is the newest logo he came up with.
If I were to be honest, I would be probably rude in his eyes, since it is his "work".
What do you guys think of this logo? Can only show that much of the logo to maintain some privacy.14 -
Python muses me sometimes.
Gunicorn has a preload mode. It enables forking...
So Gunicorn starts, when Gunicorn loaded it forks the workers (Uvicorn / FastAPI in my case).
https://github.com/tiangolo/...
So if we add a function that creates the app... this function will be executed before forking, thus the memory at the state of creating the app will be duplicated.
You can thus spawn 40 workers, they would all have the same ML models.
Or in my case a client who does some things that should only be run by a single thread (with locking).
So the client has a cache, as long as I load the cache during the create_app phase, the cache will be shared between all instances and not created per instance.
It's ... Such a small detail. So simple.
Yet completely fucks my brain.
It's logical, yes. I understand what it does, yes.
But it still makes my brain fart. -
Okay Android dev intern here.
This has been an awfully weird experience for me as an Android dev and this is not the first time. I am seeing a pattern here and i don't know if its just bad luck or its the reality
I have always learned Android by searching on the web , on stack overflow, medium articles, youtube , books , etc.
Sometimes i had a vision to create some unique nd innovative app, nd sometimes i just wanted to learn a particular tech, framework, library, or a feature.
The former case sometimes required the knowledge of unexplored areas, so in order to make the possible product, the original idea would reduce to a smaller, more possible one if i thought it isn't possible or "need more resources on that" after several hours of searching.
But as an intern i found this approach not working out. Here the company gave me an app idea by a designer who thinks its possible, the senior Android dev also thinks its possible and i also believed it to be possible.
The thing is we all know its possible but the person working on it, i.e me, doesn't know have all the knowledge for it.
Fine . I will apply my usual time taking approach of searching and debugging to tackle my issues when they arrive.
But at one stage i too would get exhausted. To me , the code in my front is the correct code for this approach and i have checked all the possible cases, debugged it and yet can't find the issue.
Now the only thing i want is for my senior to look into it, tell me if its an architecture issue or is there any possible case that i missed.
But that's not what company wants. The senior says that he's involved in a lot of projects and my problem is too simple to be solved by solely myself. Now i am sitting here, with my code, exhausted and no longer willing to work here . (And that's maybe why it's my 4th internship and not first)
Am i the asshole fresher?is this always going to be the case? Am i the one running away from the problem and deserve all the lashing that i am getting for not completing the product and getting stuck?4 -
I think I just realized what my biggest gripe about our career paths that I hate the most.
This is something that has worsened over time, especially the last 2 to 3 years.
As developers, we have far too many options. Some of the most powerful apps are written with languages that have hard, and I mean HARD, guardrails in place. If the app is written in a language that does not meet this criteria usually a framework has been used to install those guardrails.
We just get our minds so wrapped around the possibilities and the opportunities in the software, that we just can't focus on the end result. We're like puppies that are excited about something and we just piss all over everything.
In my career I have met far too many developers that don't have the capacity and mental fortitude to take control of their actions. Because of this I think the only way for us to stop this corruption, that I feel we are nurturing, the solutions/services that we use need to push back on us and install those guardrails for us.
All this came from a change that Microsoft put in place that seems well intended, but introduces yet another choice and a multitude of opinions in how you release code.
It used to be a simple check box. If it was checked it was pre-release, if it was unchecked it was a production release. That's it. On or off. The simplest choice you ever needed to make on a release.
Now though, there are two check boxes. One for a pre-release and one for a latest release. You can also not check either for some "ephemeral" release? So now something as easy as on or off has been made into a difficult decision on how this works within my pipeline. Now every time I make a release I have to ask myself, "which one do I check?"
I shouldn't need to spend more than a second to identify a path forward on simple shit like this, but here we are with a third choice.
Can we just stop overcomplicating shit?6 -
!rant after struggling with version control in a very restricted enviroment where nothing can be installed on the user's machine.
I finally found a way that was allowed after days of digging, so simple yet beautiful, thy name be clickonce. -
So, I just (few hours ago)made a new variable that's either brilliant or innately flawed... not sure yet. It's an oddly unique var...
__bs__
So far I only made it in python and windows env (i script like the methodology of css).
I bet you're wondering how I've defined __bs__ and the practicality of it.
__bs__ is derived from a calculated level of bullshit that annoys me to tolerate, maintain, etc. as well as things that tend to throw nonsensical errors, py crap like changing my strings to ints at seemingly random times/events/cosmic alignments/etc or other things that have a history of pulling some bs, for known or unknown reasons.
How/why did this come about now?
Well I was updating some symlinks and scripts(ps1 and bat) cuz my hdd is so close to death I'm wondering if hdd ghosts exist as it's somehow still working (even ostream could tell it should be dead, by the sound alone).
A nonsense bug with powershell allowing itself to start/run custom ps1scripts with the originating command coming from a specific batch script, which worked fine before and nothing directly connected to it has changed.
I got annoyed so took an ironic break from it to work on python crap. Python has an innately high level of bs so i did need to add some extra calculations when defining if a py script or function is actually __bs__ or just py.
The current flavour of py bs was the datetime* module... making all of my scripts using datetime have matching import statements to avoid more bs.
I've kept a log of general bs per project/use case. It's more like a warning list... like when ive spent hours debugging something by it's traceback, meticulous... to eventually find out it had absolutely nothing to do with the exception listed. Also logged aliases i created, things that break or go boom if used in certain ways, packages that ive edited, etc.
The issue with my previous logging is that it's a log... id need to read it before doing anything, no matter how quick/simple it should be, or im bound to get annoyed with... bs.
So far i have it set to alert if __bs__ is above a certain int when i open something to edit. I can also check __bs__ fot what's causing the bs. I plan to turn it into a warning and recording system for how much bs i deal with and have historical data of personal performance vs bs tolerance. There's a few other applications i think ill want to use it for, assume it's not bs itself.
*in case you prefer sanity and haven't dealt with py and datetime enough, here's the jist:
If you were to search any major forum like StackOverflow for datetime use in py, youd find things like datetime.datetime.now() and datetime.now() both used, to get the same returned value. You'll also find tons of posts for help and trying to report 'bugs', way more than average. This is because the datetime package has a name conflict... with itself. It may have been a bug several years ago, but it beeb explicitly defined as intentional since.2 -
I'm struggling with actually quite simple but yet so complicated human behaviour.
How does one know what some other thinks of what the one thinks?
That's rethorical question. One simply does not know. But why would I even ask such a question then?2 -
I can't find a complete answer to this question, maybe this community has one:
Does putting an html file, with pure html code (without any php), as .php have any impact (or is processed differently) on the server load compared to simple .html?
Of course, if the content doesn't contain any php code to be processed it doesn't affect the performance, but the simple fact of declaring it as .php cause a different processing root on the server to output the same html result?
I'm aware that if there is any impact, not sure yet, tt's probably negligible, but I'm just curious about the backend root followed.
So, anyone know how exactly these two scenarios are handled (step by step) by the server?
1) Request of pure html as .html.
2) Request of pure html as .php.
My instinct says there must be an additional step in the second scenario to interpret and search for php code to execute.
There is? And does it have any calculatable impact, that multiples for X requests (ignoring caching) and depends of the length of the file?
Thanks5 -
Cont. on: https://devrant.com/rants/3533743/...
So yeah, kind of had to figure out the semi-hard way that Yew really isn’t prod ready yet (as they clearly state somewhere). Too bad. Or maybe because I don’t have the experience in Rust to overcome some of the issues I’ve had... so it’s back to plan B, id est Vue with TS. At least I got much of the thinking work done already, so I could just write the damn code - and the stuff I had problems with in Yew were all simple for me in Vue.
Or that would’ve been the case if I hadn’t decided to use the newer composition API instead of the options API already familiar to me. Damn it took me all day to wrap my head around it and I’m sure there’s much more head-wrapping to be done. Still, I’m likely done with this at least 2-3 weeks before the deadline, so I can maybe spend the some time figuring out the Yew implementation, too... not sure why, but maybe it ends up better?1 -
I am new to redis and confused how this works
To keep it simple lets say i have a CRUD service for user
- POST user, just creates user
- GET user by id, fetches user but using annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- GET all users, fetches all users but using annotation @Cacheable()
- PUT user by id, updates a single with annotation @CacheEvict(). This method has a Thread.sleep(3000) before fetching user
- DELETE user by id, deletes a single user with annotation @CacheEvict()
---
GOOD:
When i GET user by id, i wait 3 seconds and then get the fetched user
When i GET user by id again, i get the fetched user instantly in 5 ms. This means it has pulled the user from REDIS cache instead of postgres
---
PROBLEM:
If i PUT user by id, update some data, and then if i GET user by id, it will return the user in 5 ms BUT the outdated user! Not the newly updated one. Because the Redis cache configuration has not expired yet. So there are now data inconsistencies
---
QUESTION:
How can i know When was something updated, deleted or whatever, so that i can fetch data from postgres (latest data) instead of Redis cache (outdated data)?10 -
So as a personal project for work I decided to start data logging facility variables, it's something that we might need to pickup at some point in the future so decided to take the initiative since I'm the new guy.
I setup some basic current loop sensors are things like gas line pressures for bulk nitrogen and compressed air but decided to go with a more advanced system for logging the temperature and humidity in the labs. These sensors come with 'software' it's a web site you host internally. Cool so I just need to build a simple web server to run these PoE sensors. No big deal right, it's just an IIS service. Months after ordering Server 2019 though SSC I get 4 activation codes 2 MAK and 2 KMS. I won the lottery now i just have to download the server 2019 retail ISO and... Won't take the keys. Back to purchasing, "oh I can download that for you, what key is yours". Um... I dunno you sent me 4 Can I just get the link, "well you have to have a login". Ok what building are you in I'll drive over with a USB key (hoping there on the same campus), "the download keeps stopping, I'll contact the IT service in your building". a week later I get an install ISO and still no one knows that key is mine. Local IT service suggests it's probably a MAK key since I originally got a quote for a retail copy and we don't run a KMS server on the network I'm using for testing. We'll doesn't windows reject all 4 keys then proceed to register with a non-existent KMS server on the network I'm using for testing. Great so now this server that is supposed to connected to a private network for the sensors and use the second NIC for an internet connection has to be connected to the old network that I'm using for testing because that's where the KMS server seems to be. Ok no big deal the old network has internet except the powers that be want to migrate everything to the new more secure network but I still need to be connected to the KMS server because they sent me the wrong key. So I'm up to three network cards and some of my basic sensors are running on yet another network and I want to migrate the management software to this hardware to have all my data logging in one system. I had to label the Ethernet ports so I could hand over the hardware for certification and security scans.
So at this point I have my system running with a couple sensors setup with static IP's because I haven't had time to setup the DNS for the private network the sensors run on. Local IT goes to install McAfee and can't because it isn't compatible with anything after 1809 or later, I get a message back that " we only support up to 1709" I point out that it's server 2019, "Oh yeah, let me ask about that" a bunch of back and forth ensues and finally Local IT get's a version of McAfee that will install, runs security scan again i get a message back. " There are two high risk issues on your server", my blood pressure is getting high as well. The risks there looking at McAfee versions are out of date and windows Defender is disabled (because of McAfee).
There's a low risk issue as well, something relating to the DNS service I didn't fully setup. I tell local IT just disable it for now, then think we'll heck I'll remote in and do it. Nope can't remote into my server, oh they renamed it well that's lot going to stay that way but whatever oh here's the IP they assigned it, nope cant remote in no privileges. Ok so I run up three flights of stairs to local IT before they leave for the day log into my server yup RDP is enabled, odd but whatever let's delete the DNS role for now, nope you don't have admin privileges. Now I'm really getting displeased, I can;t have admin privileges on the network you want me to use to support the service on a system you can't support and I'm supposed to believe you can migrate the life safety systems you want us to move. I'm using my system to prove that the 2FA system works, at this rate I'm going to have 2FA access to a completely worthless broken system in a few years. good thing I rebuilt the whole server in a VM I'm planning to deploy before I get the official one back. I'm skipping a lot of the ridiculous back and forth conversations because the more I think about it the more irritated I get.1 -
I have been doing android dev for quite a time now and have started to understand/appreciate a few things that I previously hated (Like Kotlin) . so am not sure where would be my stance regarding this rant in upcoming months, but FUCK DEPENDENCY INJECTION FRAMEWORKS!!
dependency injection is rightly said to be a $25 term for a 25 cents concept. If i start refactoring my old apps today to "follow DI principles", they would require just 5-10% refactoring and i will end up with much more testable code.
But integrating dagger in my apps? Oh please fuck me straight instead. That thing is so overly complicated and confusing. Why would you trust compiler to inject instances in YOUR LOGIC ? it was YOUR LOGIC that guided the compiler, remember?
I am yet to work on a product of scale where frameworks like dagger or koin made even a slightest of sense.
Currently it just feels like another bad choice we took between "simple but verbose" and "complicated but pretty to look at"
The way this framework makes me think like a compiler than a programmer somehow reminds me of this beautiful article i read:
https://theatlantic.com/technology/...3 -
I'm beginning to feel like any kind of specific approximation via neural networks is a myth. That if you can't reduce output to simple categorical values that can be broadly interpreted between two points, that it doesn't work.
I have some questions and they don't seem to be getting answered about the design of the net. How many layers should I use ? How many neurons per layer ? How does this relate to the number of desired quantitive scalar outputs I'm looking to create, even if they are normalized, they can vary GREATLY and will if I'm approximating the out of several mathematical expressions. Based on this and the expected error ranges of these numbers and how many possible major digits could be produced within the domain of the variable inputs being introduced, how many neurons per layer ? What does having more layers do ? In pytorch there don't seem to be a lot of layer types per say, but there are a crap ton of activation functions, and should I just be using these at the tail end or should they actually be inserted between layers so the input of the next layer passes through another series of actiavtion functions ? what does this do to the range of output ?
do I need to be a mathematician to do this ?
remembered successes removed quantifiable scalars entirely from output, meaning that I could interpret successful results from ranges of decimal points.
but i've had no success with actual multi variable regression as of yet, even when those input variables are only 2 and on limited value ranges eg [0,100] and [0, 2pi]
and then there are training epochs to avoid overfitting, and reasonable expectation of batches till quality results will start to form.3 -
I've spent weeks trying to figure out how to set up Visual Shit 2017 with wxWidgets and still haven't figured it out. None of those settings I modified (project properties) worked at all. Months, probably, but just gave up at the end everytime. Nothing I tried worked, but the first time I tried setting it up for CodeLite on Ubuntu, it worked like a charm. All I wanted was to be able to develop cross-platform applications with wxWidgets, was it really that hard? I haven't even thought about cross-compilation from Ubuntu for Windows yet, the very though fills me with dread.
Why the fuck is it so hard to develop something so simple using Windows?1 -
We have an internal nuget package that wraps up the IConfiguration+ConfigurationBuilder for various .net core console/service apps (TL;DR, because people got creative), and it has a dictionary property for the common sections we use. AppSettings (for backward compatibility), ConnectionStrings, and ServiceEndpoints. If the need arises, I can add methods to return any type of object (no one has requested yet, we try to keep configs dead simple)
ex. var myDatabaseConnectionString = ConfigurationManager.ConnectionStrings["MyDatabase"];
Code review for someone who updated a .net framework app to .net core and they wrote their own IConfiguration wrapper for accessing the appsettings.json file, so I pointed out that we already had a library for that.
In the reply, he said he couldn't use our library because it had an 'AppSettings' property and since his appsettings.json file didn't have that section, he didn't want to cause a runtime exception.
OK, WTF...I even sent him a link to the documentation (includes explaining the backward compatibility part)...why the frack would you think because a property exists and you don't use it, that would cause some kind of runtime exception?
We have dozens of .net framework apps migrated to .net core with zero code changes and no one ever brought this up as a concern (because, why would they?)
Deep breath...ahhh...I respond that not having an AppSettings section in the appsettings.json file won't cause an exception, if you don't have one, don't need it, you don't have to use it.
He went ahead merged+committed his code anyway with his own IConfiguration+ConfigurationBuilder plumbing.
Code addiction is real kids...it's real.2 -
I am stuck!!
I don;t even how to write :(
I mean does anyone have shit talk about android studio ? Anyone?
I have to work with android studio or so but I am feeling very lazy to get it installed and setup. I am working with expo and I was so happy that simple React native is working!! But now for few libraries I have to installed android studio They wont work simply with expo go :(
I am thinking will it be worth to go through with these installation and setup.. :(
Thank god!! this is my own work so I can search and do my best in research avoiding installation. But I feel like if I have to work with mobile apps sooner or later I have to install proper setup, Wish there is a way I am searching for solution since morning and no luck yet :)
Will search in night too2 -
How to Create Beautiful and Durable Pie Boxes
Whether you are looking for a unique gift to give, or you are looking to protect the delicate items you hold, there are many ways to do so with the right pie boxes. By using a custom designed box, you can capture the essence of the delicacies you are storing and protect them for a longer period of time.
Protect delicate items
Using pie boxes is a good way to protect delicate items such as pies, cakes and desserts. However, you need to be sure that the box is the right size and shape to ensure that your item is safely packed. If you don't pack your delicate products properly, they could suffer from moisture and change in temperature.
Before you begin packing your goods, consider whether you should use bubble wrap or paper. While bubble wrap provides an extra layer of protection, it can also leave your product vulnerable to scratching. Choose paper to wrap your items, as it will prevent scratches and will keep them from shifting during transport.
When wrapping fragile items, you need to use a lot of packing tape to secure your package. You should also fill any empty space in the box. You can do this by using bubble wrap, or by adding extra padding. Make sure to mark your box as fragile and to place a label with your name and delivery address on all sides of the box.
Once you've completed the packaging process, you need to seal the box and place it in the shipping box. Besides bubble wrap, you may also want to include ice packs to add extra protection. A cushioned ice pack is another option for additional protection.
You should also use quality packing tape, and make sure to cover all the openings of your box. You can also use zip-up bags to help you keep your things in place.
It is important to know the best way to protect delicate items, so you can prevent them from damage during the shipping process. There are many ways to do this, but you should use the right tools for the job. Purchasing a box that is the right size and shape for your items is the most effective way to do it.
When you use custom pie boxes, you can rest assured that your pies, chocolate pies and other edibles will be safe. They're manufactured with modern equipment and environmentally friendly printing techniques.
Make a gift
Whether you are giving a pie for a birthday, wedding, or as a thank you gift, you can make pie boxes that are beautiful and durable. Several pie box designs are available online, but you can also create your own. Here are some simple instructions to make a simple, yet elegant box.
The first step is to print out a template of a pie box. You can use a piece of scrap paper or decorative paper for your design. If you are using decorative paper, cut out a rectangle the size of your box. If you are using colored cardstock, you will need to cut out a pie filling layer. Once you have a pie filling layer, copy it for several boxes. You can also add other designs or embellishments to your boxes.
Next, place your colored cardstock on your cutting mat. With your x-acto knife, cut out a rectangle that is as large as your box. You will need to fold it on the dotted line. If you are using an x-acto knife, it will be easier to fold the box. Alternatively, you can use a scoring stylus. If you have a Cricut, you can score the cardstock to make a scalloped box top. You can also use burlap ribbon or twine to wrap your box.
Once you have the box finished, you can decorate it with other decorations or embellishments. You can even use calligraphy or other techniques to make the box more special. To close the box, you will need a sticker or piece of tape. You can decorate the lid with patterned paper and a clear plastic screen. This will allow you to see the contents of your pie. You can also use embellishments such as ribbon, glitter, or other materials to make the box more fun.
If you are giving a pie for a holiday or party, you can decorate your box with a festive theme. For example, you can have a holiday tree on the front of your box. Or, you can dress it up for a tailgate party.2 -
InterracialCupid Review
What is Mixte Cupid? It's one of the better internet dating sites https://yourbestdate.org/interracia... for serious human relationships and marriage. This is a place for individual people looking for long-term relationships and marriage to be able to meet and connect. The particular site exists to assist individuals like you discover in addition to form connections with appropriate matches. Are you thinking of joining the Interracial Cupid website? We would like to help an individual make the best choice for your love life. That's why we'll provide a person with all the important facts you need to be able to make the right choice for you. In this specific article, we'll tell you about the site's users, join process, safety, costs, and much more. Keep reading to uncover our full Interracial Cupid reviews below.
Simplicity regarding Use
The registration about . com takes about a moment – you want to provide a message, place of living, age, and email. Later on, you may make your user profile look more attractive by having some personal data, informing about your ideal companion, and so forth It is similarly simple to get used to navigating the particular portal: the design is simple and similar to each of the sites that belong to the Cupid Media party. For those who have any experience of visiting these platforms a person would notice numerous similarities.
Number of Members
In accordance with Interracial Cupid dating testimonials, the site hosts around 38, 000 users generally situated in the United Declares, Canada, Australia, plus the BRITISH. The database isn't that huge so you should not necessarily watch for thousands of consumers to be permanently on the internet. When you log within, it is common to see a few hundred members participating in the portal. Or you may wait for typically the moment when it is a morning in the You. S. – this is usually the time when the majority of users examine out their profiles and once you have a opportunity to encounter lots of interesting users.
Quality of Information
InterracialCupid. com contains genuinely informative profiles. Each of the users are expected to reveal the essential info on them yet some tend to add added facts with their pages. Therefore, you may face big profiles that contain information on appearance, background, values, hobbies and interests, interests, lifestyle. Also, you may expect to see several photographs in each profile : you can also see the number of images uploaded as it is indicated following to the key profile photo.
Safety
Okay, so this the question we all want answered first: Is Interracial Cupid safe? We always inspire you to make of which decision for yourself when if you're thinking about joining a dating site. Do the little research and appearance into the site's safety features. For specific Interracial Cupid safety tips, you could always label the site's own safety page. If the dating site you want to join doesn't have a safety page, use your best judgement before signing up.
Have a person encountered predatory behavior on the site? We usually encourage you to get in touch with Interracial Cupid help to be able to report suspicious activity. Rely on your instincts if an individual feel unsafe or uncertain on any site. In addition to never give your individual information to members. You can help protect yourself and other members by simply bringing anyone suspicious towards the attention of the web site's moderators. They can also help in case you are having trouble with your account or perhaps want to cancel Mixte Cupid for any cause.
Conclusion
At InterracialCupid all of us always want you in order to succeed. That's why we all offer you all the info we could on the internet dating sites you want in order to learn about. Plus, we would like to hook you up with Interracial Cupid discount coupons whenever we can. Browse down to learn more.
Most likely here as you wanted to be able to read our Interracial Cupid reviews. If you've been thinking about joining but you still aren't positive, we hope we're able to assist. This site has a new lot to offer people thinking about permanent dating plus marriage. InterracialCupid desires to aid you get the most out of online dating sites in addition to it all starts along with finding the best dating site with regard to you. That's why we compose these reviews. We would like to provide you along with as much useful information as possible about the sites you're thinking about joining. But we could furthermore help by offering you Interracial Cupid promo rules, so check back frequently to see what we've got. Ready to begin gathering persons who want a similar things you do? Go to the Interracial Cupid total site to begin with now.1 -
(tldr: are foriegn keys good/bad? Can you give a simple example of a situation where foriegn keys were the only and/or best solution?)
i have been recently trying to make some apps and their databases , so i decided to give a deeper look to sql and its queries.
I am a little confused and wanted to know more about foreign keys , joins and this particular db designing technique i use.
Can anyone explain me about them in a simpler way?
Firstly i wanted to show you this not much unheard tecnique of making relations that i find very useful( i guess its called toxi technique) :
In this , we use an extra table for joining 2 tables . For eg, if we have a table of questions and we have a table of tags then we should also have a table of relation called relation which will be mapping the the tags with questions through their primary IDs this way we can search all the questions by using tag name and we can also show multiple tags for a question just like stackoverflow does.
Now am not sure which could be a possibile situation when i need a foriegn key. In this particular example, both questions and tags are joined via what i say as "soft link" and this makes it very scalable and both easy to add both questions and new tags.
From what i learned about foriegn keys, it marks a mandatory one directional relation between 2 tables (or as i say "hard a to b" link)
Firstly i don't understand how i could use foriegn key to map multiple tags with a question. Does that mean it will always going to make a 1to1 relationship between 2 tables( i have yet to understand what 11 1mant or many many relations arr, not sure if my terminology is correct)
Secondly it poses super difficulty and differences in logics for adding either a tag or question, don't you think?
Like one table (say question) is having a foreign key of tags ID then the the questions table is completely independent of tag entries.
Its insertion/updation/deletion/creation of entries doesn't affect the tags table. but for tag table we cannot modify a particular tag or delete a tag without making without causing harm to its associated question entries.
if we have to delete a particular tag then we have to delete all its associated questions with that this means this is rather a bad thing to use for making tables isn't it?
I m just so confused regarding foriegn keys , joins and this toxi approach. Maybe my example of stack overflow tag/questions is wrong wrt to foreign key. But then i would like to know an example where it is useful5