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 - "easy to type"
-
Hey everyone,
First off, a Merry Christmas to everyone who celebrates, happy holidays to everyone, and happy almost-new-year!
Tim and I are very happy with the year devRant has had, and thinking back, there are a lot of 2017 highlights to recap. Here are just a few of the ones that come to mind (this list is not exhaustive and I'm definitley forgetting stuff!):
- We introduced the devRant supporter program (devRant++)! (https://devrant.com/rants/638594/...). Thank you so much to everyone who has embraced devRant++! This program has helped us significantly and it's made it possible for us to mantain our current infrustructure and not have to cut down on servers/sacrifice app performance and stability.
- We added avatar pets (https://devrant.com/rants/455860/...)
- We finally got the domain devrant.com thanks to @wiardvanrij (https://devrant.com/rants/938509/...)
- The first international devRant meetup (Dutch) with organized by @linuxxx and was a huge success (https://devrant.com/rants/937319/... + https://devrant.com/rants/935713/...)
- We reached 50,000 downloads on Android (https://devrant.com/rants/728421/...)
- We introduced notif tabs (https://devrant.com/rants/1037456/...), which make it easy to filter your in-app notifications by type
- @AlexDeLarge became the first devRant user to hit 50,000++ (https://devrant.com/rants/885432/...), and @linuxxx became the first to hit 75,000++
- We made an April Fools joke that got a lot of people mad at us and hopefully got some laughs too (https://devrant.com/rants/506740/...)
- We launched devDucks!! (https://devducks.com)
- We got rid of the drawer menu in our mobile apps and switched to a tab layout
- We added the ability to subscribe to any user's rants (https://devrant.com/rants/538170/...)
- Introduced the post type selector (https://devrant.com/rants/850978/...) (which will be used for filtering - more details below)
- Started a bug/feature tracker GitHub repo (https://github.com/devRant/devRant)
- We did our first ever live stream (https://youtube.com/watch/...)
- Added an awesome all-black theme (devRant++) (https://devrant.com/rants/850978/...)
- We created an "active discussions" screen within the app so you can easily find rants with booming discussions!
- Thanks to the suggestion of many community members, we added "scroll to bottom" functionality to rants with long comment threads to make those rants more usable
- We improved our app stability and set our personal record for uptime, and we also cut request times in half with some database cluster upgrades
- Awesome new community projects: https://devrant.com/projects (more will be added to the list soon, sorry for the delay!)
- A new landing page for web (https://devrant.com), that was the first phase of our web overhaul coming soon (see below)
Even after all of this stuff, Tim and I both know there is a ton of work to do going forward and we want to continue to make devRant as good as it can be. We rely on your feedback to make that happen and we encourage everyone to keep submitting and discussing ideas in the bug/feature tracker (https://github.com/devRant/devRant).
We only have a little bit of the roadmap right now, but here's some things 2018 will bring:
- A brand new devRant web app: we've heard the feedback loud and clear. This is our top priority right now, and we're happy to say the completely redesigned/overhauled devRant web experience is almost done and will be released in early 2018. We think everyone will really like it.
- Functionality to filter rants by type: this feature was always planned since we introduced notif types, and it will soon be implemented. The notif type filter will allow you to select the types of rants you want to see for any of the sorting methods.
- App stability and usability: we want to dedicate a little time to making sure we don't forget to fix some long-standing bugs with our iOS/Android apps. This includes UI issues, push notification problems on Android, any many other small but annoying problems. We know the stability and usability of devRant is very important to the community, so it's important for us to give it the attention it deserves.
- Improved profiles/avatars: we can't reveal a ton here yet, but we've got some pretty cool ideas that we think everyone will enjoy.
- Private messaging: we think a PM system can add a lot to the app and make it much more intuitive to reach out to people privately. However, Tim and I believe in only launching carefully developed features, so rest assured that a lot of thought will be going into the system to maximize privacy, provide settings that make it easy to turn off, and provide security features that make it very difficult for abuse to take place. We're also open to any ideas here, so just let us know what you might be thinking.
There will be many more additions, but those are just a few we have in mind right now.
We've had a great year, and we really can't thank every member of the devRant community enough. We've always gotten amazingly positive feedback from the community, and we really do appreciate it. One of the most awesome things is when some compliments the kindness of the devRant community itself, which we hear a lot. It really is such a welcoming community and we love seeing devs of all kind and geographic locations welcomed with open arms.
2018 will be an important year for devRant as we continue to grow and we will need to continue the momentum. We think the ideas we have right now and the ones that will come from community feedback going forward will allow us to make this a big year and continue to improve the devRant community.
Thanks everyone, and thanks for your amazing contributions to the devRant community!
Looking forward to 2018,
- David and Tim48 -
I tutor people who want to program, I don't ask anything for it, money wise, if they use my house as a learning space I may ask them to bring cookies or a pizza or something but on the whole I do it to help others learn who want to.
Now this in of itself is perfectly fine, I don't get financially screwed over or anything, but...
Fuck me if some students are horrendous!
To the best of my knowledge I've agreed to work with and help seven individuals, four female three male.
One male student never once began the study work and just repeatedly offered excuses and wanted to talk to me about how he'd screwed his life up. I mean that's unfortunate, but I'm not a people person, I don't really feel emotionally engaged with a relative stranger who quite openly admits they got addicted to porn and wasted two years furiously masturbating. Which is WAY more than I needed to know and made me more than a little uncomfortable. Ultimately lack of actually even starting the basic exercises I blocked him and stopped wasting my time.
The second dude I spoke to for exactly 48 hours before he wanted to smash my face in. Now, he was Indian (the geographical India not native American) and this is important, because he was a friend of a friend and I agreed to tutor however he was more interested in telling me how the Brits owed India reparations, which, being Scottish, I felt if anyone was owed reparations first, it's us, which he didn't take kindly too (something about the phrase "we've been fucked, longer and harder than you ever were and we don't demand reparations" didn't endear me any).
But again likewise, he wanted to talk about politics and proving he was a someone "I've been threatened in very real world ways, by some really bad people" didn't impress me, and I demonstrated my disinterest with "and I was set on fire once cos the college kids didn't like me".
He wouldn't practice, was constantly interested in bigging himself up, he was aggressive, confrontational and condescending, so I told him he was a dick, I wasn't interested in helping him and he can help himself. Last I heard he wasn't in the country anymore.
The third guy... Absolute waste of time... We were in the same computer science college class, I went to university and did more, he dossed around and a few years later went into design and found he wanted to program and got in touch. He completes the code schools courses and understandably doesn't quite know what to do next, so he asks a few questions and declares he wants to learn full stack web development. Quickly. I say it isn't easy especially if it's your first real project but if one is determined, it isn't impossible.
This guy was 30 and wanted to retire at 35 and so time was of the essence. I'm up for the challenge, and so because he only knows JavaScript (including prototypes, callbacks and events) I tell him about nodejs and explain that it's a little more tricky but it does mean he can learn all the basis without learning another language.
About six months of sporadic development where I send him exercises and quizzes to try, more often than not he'd answer with "I don't know" after me repeatedly saying "if you don't know, type the program out and study what it does then try to see why!".
The excuses became predicable, couldn't study, playing soccer, couldn't study watching bake off, couldn't study, couldn't study.
Eventually he buys a book on the mean stack and I agree to go through it chapter by chapter with him, and on one particular chapter where I'm trying to help him, he keeps interrupting with "so could I apply for this job?" "What about this job?" And it's getting frustrating cos I'm trying to hold my code and his in my head and come up with a real world analogy to explain a concept and he finally interrupts with "would your company take me on?"
I'm done.
"Do you want the honest unabridged truth?"
"Yes, I'd really like to know what I need to do!"
"You are learning JavaScript, and trying to also learn computer science techniques and terms all at the same time. Frankly, to the industry, you know nothing. A C developer with a PHD was interviewed and upon leaving the office was made a laughing stock of because he seemed to not know the difference between pass by value and pass by reference. You'd be laughed right out the building because as of right now, you know nothing. You don't. Now how you respond to this critique is your choice, you can either admit what I'm saying is true and put some fucking effort into studying cos I'm putting more effort into teaching than you are studying, or you can take what I'm saying as a full on attack, give up and think of me as the bad guy. Your choice, if you are ready to really study, you can text me in the morning for now I'm going to bed."
The next day I got a text "I was thinking about what you said and... I think I'm not going to bother with this full stack stuff it's just too hard, thought you should know."23 -
To all the people giving advice in my previous rant (https://devrant.com/rants/1627035/...), thanks!
I've spent a weekend running high and naked through the forest, and decided to quit my job.
Fuck PHP. Fuck Laravel. Fuck hipster startup companies. Rasmus Lerdorf, Taylor Otwell and my CEO can all go suck each other's cocks in a sloppy mess of saliva, cum and type errors.
I'm so sick of spinach smoothies and weakly typed languages. All active record ORMs are retarded, VueJS is worse than JQuery, Fatal error: Call to a member function iHatePHP() on null. WHY DOES PHP EVEN HAVE METAPROGAMMING METHODS, WHY THE FUCK DOES LARAVEL CHOOSE EASY OVER SAFE.
I'm going to use my heavily abused Macbook to surf out of this mess, on a collapsing wave of unresolved bugs.
On to the next PHP/Laravel job at a hipster startup!26 -
My first day in a Linux admin and security course. I went all confident and cocky waiting for some bullshit like "type in your term: ls, cd, pwd, see you tomorrow"
Suddenly the teacher starts to configure lampp, then jumps to bind, and thirty minutes leater , when everyone has their ssl keys under control, I was still struggling to correctly forward my mate. The rest of the day was smooth and easy for those who finished their servers, and there I was, unable to find my own ass in the middle of that mess made of bad assigned permissions and wrong placed addresses. Even worse, he came to me when I asked for help, took my chair and fixed everything in one beautiful single bash line. I started to ask "what's this? Where is that? Is it a config file or a directory?" And with all his patience he keep telling me the obvious answers that where right there at the screen but I couldn't see. Took me two weeks to catch his pace, and another two weeks to understand fully his classes. He never said a word about my terrible first day (first couple weeks). When course finished, I saw he was going to teach a really hard security module, and I signed up without hesitate.6 -
In a user-interface design meeting over a regulatory compliance implementation:
User: “We’ll need to input a city.”
Dev: “Should we validate that city against the state, zip code, and country?”
User: “You are going to make me enter all that data? Ugh…then make it a drop-down. I select the city and the state, zip code auto-fill. I don’t want to make a mistake typing any of that data in.”
Me: “I don’t think a drop-down of every city in the US is feasible.”
Manage: “Why? There cannot be that many. Drop-down is fine. What about the button? We have a few icons to choose from…”
Me: “Uh..yea…there are thousands of cities in the US. Way too much data to for anyone to realistically scroll through”
Dev: “They won’t have to scroll, I’ll filter the list when they start typing.”
Me: “That’s not really the issue and if they are typing the city anyway, just let them type it in.”
User: “What if I mistype Ch1cago? We could inadvertently be out of compliance. The system should never open the company up for federal lawsuits”
Me: “If we’re hiring individuals responsible for legal compliance who can’t spell Chicago, we should be sued by the federal government. We should validate the data the best we can, but it is ultimately your department’s responsibility for data accuracy.”
Manager: “Now now…it’s all our responsibility. What is wrong with a few thousand item drop-down?”
Me: “Um, memory, network bandwidth, database storage, who maintains this list of cities? A lot of time and resources could be saved by simply paying attention.”
Manager: “Memory? Well, memory is cheap. If the workstation needs more memory, we’ll add more”
Dev: “Creating a drop-down is easy and selecting thousands of rows from the database should be fast enough. If the selection is slow, I’ll put it in a thread.”
DBA: “Table won’t be that big and won’t take up much disk space. We’ll need to setup stored procedures, and data import jobs from somewhere to maintain the data. New cities, name changes, ect. ”
Manager: “And if the network starts becoming too slow, we’ll have the Networking dept. open up the valves.”
Me: “Am I the only one seeing all the moving parts we’re introducing just to keep someone from misspelling ‘Chicago’? I’ll admit I’m wrong or maybe I’m not looking at the problem correctly. The point of redesigning the compliance system is to make it simpler, not more complex.”
Manager: “I’m missing the point to why we’re still talking about this. Decision has been made. Drop-down of all cities in the US. Moving on to the button’s icon ..”
Me: “Where is the list of cities going to come from?”
<few seconds of silence>
Dev: “Post office I guess.”
Me: “You guess?…OK…Who is going to manage this list of cities? The manager responsible for regulations?”
User: “Thousands of cities? Oh no …no one is our area has time for that. The system should do it”
Me: “OK, the system. That falls on the DBA. Are you going to be responsible for keeping the data accurate? What is going to audit the cities to make sure the names are properly named and associated with the correct state?”
DBA: “Uh..I don’t know…um…I can set up a job to run every night”
Me: “A job to do what? Validate the data against what?”
Manager: “Do you have a point? No one said it would be easy and all of those details can be answered later.”
Me: “Almost done, and this should be easy. How many cities do we currently have to maintain compliance?”
User: “Maybe 4 or 5. Not many. Regulations are mostly on a state level.”
Me: “When was the last time we created a new city compliance?”
User: “Maybe, 8 years ago. It was before I started.”
Me: “So we’re creating all this complexity for data that, realistically, probably won’t ever change?”
User: “Oh crap, you’re right. What the hell was I thinking…Scratch the drop-down idea. I doubt we’re have a new city regulation anytime soon and how hard is it to type in a city?”
Manager: “OK, are we done wasting everyone’s time on this? No drop-down of cities...next …Let’s get back to the button’s icon …”
Simplicity 1, complexity 0.16 -
Client : your design is not cool. See this ^
*showed me some pretty neat designs pattern*
Me: which type do you want for your application.?
Client : All are pretty cool. Isn't it?
Me : Yes. But you do not need all of them. Right?
Client : Yes.
Me : So, which one.
Client : I'm confused But, this will do.
Me : Sure?
Client : Yes, very much.
After 3 days.
Client : you know what, earlier one was simple one but, best one. Easy to understand. This is (new design) making it complex. I need previous one.
Me : (I knew you'll say that, a**hole.) Just go to setting and select theme section to earlier version.
Client : thank you man.
Me : (You are red listed in my book you a**hole. Say anything else to add/edit and then see.) You are welcome.6 -
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 -
Fuck the memes.
Fuck the framework battles.
Fuck the language battles.
Fuck the titles.
Anybody who has been in this field long enough knows that it doesn't matter if your linus fucking torvalds, there is no human who has lived or ever will live that simultaneously understands, knows, and remembers how to implement, in multiple languages, the following:
- jest mocks for complex React components (partial mocks, full mocks, no mocks at all!)
- token cancellation for asynchronous Tasks in C#
- fullstack CRUD, REST, and websocket communication (throw in gRPC for bonus points)
- database query optimization, seeding, and design
- nginx routing, https redirection
- build automation with full test coverage and environment consideration
- docker container versioning, restoration, and cleanup
- internationalization on both the front AND backends
- secret storage, security audits
- package management, maintenence, and deprecation reviews
- integrating with dozens of APIs
- fucking how to center a div
and that's a _comically_ incomplete list; barely scratches the surface of the full range of what a dev can encounter in a given day of writing software
have many of us probably done one or even all of these at different times? surely.
but does that mean we are supposed to draw that up at a moment's notice some cookie-cutter solution like a fucking robot and spit out an answer on a fax sheet?
recruiters, if you read this site (perhaps only the good ones do anyway so its wasted oxygen), just know that whoever you hire its literally the luck of the draw of how well they perform during the interview. sure, perhaps some perform better, but you can never know how good someone is until they literally start working at your org, so... have fun with that.
Oh and I almost forgot, again for you recruiters, on top of that list which you probably won't ever understand for the entirety of your lives, you can also add writing documentation, backup scripts, and orchestrating / administrating fucking JIRA or actually any somewhat technical dashboard like a CMS or website, because once again, the devs are the only truly competent ones - and i don't even mean in a technical sense, i mean in a HUMAN sense of GETTING SHIT DONE IN GENERAL.
There's literally 2 types of people in the world: those who sit around drawing flow charts and talking on the phone all day, and those WHO LITERALLY FUCKING BUILD THE WORLD
why don't i just run the whole fucking company at this point? you guys are "celebrating" that you made literally $5 dollars from a single customer and i'm just sitting here coding 12 hours a day like all is fine and well
i'm so ANGRY its always the same no matter where i go, non-technical people have just no clue, even when you implore them how long things take, they just nod and smile and say "we'll do it the MVP way". sure, fine, you can do that like 2 or 3 times, but not for 6 fucking months until you have a stack of "MVPs" that come toppling down like the garbage they are.
How do expect to keep the "momentum" of your customers and sales (I hope you can hear the hatred of each of these market words as I type them) if the entire system is glued together with ducktape because YOU wanted to expedite the feature by doing it the EASY way instead of the RIGHT way. god, just forget it, nobody is going to listen anyway, its like the 5th time a row in my life
we NEED tests!
we NEED to know our code coverage!
we NEED to design our system to handle large amounts of traffic!
we NEED detailed logging!
we NEED to start building an exception database!
BILBO BAGGINS! I'm not trying to hurt you! I'm trying to help you!
Don't really know what this rant was, I'm just raging and all over the place at the universe. I'm going to bed.20 -
5 Types Of Programmers
1.The duct tape programmer
The code may not be pretty, but damnit, it works!
This guy is the foundation of your company. When something goes wrong he will fix it fast and in a way that won’t break again. Of course he doesn’t care about how it looks, ease of use, or any of those other trivial concerns, but he will make it happen, without a bunch of talk or time-wasting nonsense. The best way to use this person is to point at a problem and walk away.
2.The OCD perfectionist programmer
You want to do what to my code?
This guy doesn’t care about your deadlines or budgets, those are insignificant when compared to the art form that is programming. When you do finally receive the finished product you will have no option but submit to the stunning glory and radiant beauty of perfectly formatted, no, perfectly beautiful code, that is so efficient that anything you would want to do to it would do nothing but defame a masterpiece. He is the only one qualified to work on his code.
3.The anti-programming programmer
I’m a programmer, damnit. I don’t write code.
His world has one simple truth; writing code is bad. If you have to write something then you’re doing it wrong. Someone else has already done the work so just use their code. He will tell you how much faster this development practice is, even though he takes as long or longer than the other programmers. But when you get the project it will only be 20 lines of actual code and will be very easy to read. It may not be very fast, efficient, or forward-compatible, but it will be done with the least effort required.
4.The half-assed programmer
What do you want? It works doesn’t it?
The guy who couldn’t care less about quality, that’s someone elses job. He accomplishes the tasks that he’s asked to do, quickly. You may not like his work, the other programmers hate it, but management and the clients love it. As much pain as he will cause you in the future, he is single-handedly keeping your deadlines so you can’t scoff at it (no matter how much you want to).
5.The theoretical programmer
Well, that’s a possibility, but in practice this might be a better alternative.
This guy is more interested the options than what should be done. He will spend 80% of his time staring blankly at his computer thinking up ways to accomplish a task, 15% of his time complaining about unreasonable deadlines, 4% of his time refining the options, and 1% of his time writing code. When you receive the final work it will always be accompanied by the phrase “if I had more time I could have done this the right way”.
What type of programmer are you?
Source: www.stevebenner.com16 -
!(short rant)
Look I understand online privacy is a concern and we should really be very much aware about what data we are giving to whom. But when does it turn from being aware to just being paranoid and a maniac about it.? I mean okay, I know facebook has access to your data including your whatsapp chat (presumably), google listens to your conversations and snoops on your mail and shit, amazon advertises that you must have their spy system (read alexa) install in your homes and numerous other cases. But in the end it really boils down to "everyone wants your data but who do you trust your data with?"
For me, facebook and the so-called social media sites are a strict no-no but I use whatsapp as my primary chating application. I like to use google for my searches because yaa it gives me more accurate search results as compared to ddg because it has my search history. I use gmail as my primary as well as work email because it is convinient and an adv here and there doesnt bother me. Their spam filters, the easy accessibility options, the storage they offer everything is much more convinient for me. I use linux for my work related stuff (obviously) but I play my games on windows. Alexa and such type of products are again a big no-no for me but I regularly shop from amazon and unless I am searching for some weird ass shit (which if you want to, do it in some incognito mode) I am fine with coming across some advs about things I searched for. Sometimes it reminds me of things I need to buy which I might have put off and later on forgot. I have an amazon prime account because prime video has some good shows in there. My primary web browser is chrome because I simply love its developer tools and I now have gotten used to it. So unless chrome is very much hogging on my ram, in which case I switch over to firefox for some of my tabs, I am okay with using chrome. I have a motorola phone with stock android which means all google apps pre-installed. I use hangouts, google keep, google map(cannot live without it now), heck even google photos, but I also deny certain accesses to apps which I find fishy like if you are a game, you should not have access to my gps. I live in India where we have aadhar cards(like the social securtiy number in the USA) where the government has our fingerprints and all our data because every damn thing now needs to be linked with your aadhar otherwise your service will be terminated. Like your mobile number, your investment policies, your income tax, heck even your marraige certificates need to be linked with your aadhar card. Here, I dont have any option but to give in because somehow "its in the interest of the nation". Not surprisingly, this thing recently came to light where you can get your hands on anyone's aadhar details including their fingerprints for just ₹50($1). Fuck that shit.
tl;dr
There are and should be always exceptions when it comes to privacy because when you give the other person your data, it sometimes makes your life much easier. On the other hand, people/services asking for your data with the sole purpose of infilterating into your private life and not providing any usefulness should just be boycotted. It all boils down to till what extent you wish to share your data(ranging from literally installing a spying device in your house to them knowing that I want to understand how spring security works) and how much do you trust the service with your data. Example being, I just shared most of my private data in this rant with a group of unknown people and I am okay with it, because I know I can trust dev rant with my posts(unlike facebook).29 -
Insecure... My laptop disk is encrypted, but I'm using a fairly weak password. 🤔
Oh, you mean psychological.
Working at a startup in crisis time. Might lose my job if the company goes under.
I'm a Tech lead, Senior Backender, DB admin, Debugger, Solutions Architect, PR reviewer.
In practice, that means zero portfolio. Truth be told, I can sniff out issues with your code, but can't code features for shit. I really just don't have the patience to actually BUILD things.
I'm pretty much the town fool who angrily yells at managers for being dumb, rolls his eyes when he finds hacky code, then disappears into his cave to repair and refactor the mess other people made.
I totally suck at interviews, unless the interviewer really loves comparing Haskell's & Rust's type systems, or something equally useless.
I'm grumpy, hedonistic and brutally straight forward. Some coworkers call me "refreshing" and "direct but reasonable", others "barely tolerable" or even "fundamentally unlikable".
I'm not sure if they actually mean it, or are just messing with me, but by noon I'm either too deep into code, or too much under influence of cognac & LSD, wearing too little clothing, having interesting conversations WITH instead of AT the coffee machine, to still care about what other humans think.
There have been moments where I coded for 72 hours straight to fix a severe issue, and I would take a bullet to save this company from going under... But there have also been days where I called my boss a "A malicious tumor, slowly infecting all departments and draining the life out of the company with his cancerous ideas" — to his face.
I count myself lucky to still have a very well paying job, where many others are struggling to pay bills or have lost their income completely.
But I realize I'm really not that easy to work with... Over time, I've recruited a team of compatible psychopaths and misfits, from a Ukranian ex-military explosives expert & brilliant DB admin to a Nigerian crossfitting gay autist devops weeb, to a tiny alcoholic French machine learning fanatic, to the paranoid "how much keef is there in my beard" architecture lead who is convinced covid-19 is linked to the disappearance of MH370 and looks like he bathes in pig manure.
So... I would really hate to ever have to look for a new employer.
I would really hate to ever lose my protective human meat shield... I mean, my "team".
I feel like, despite having worked to get my Karma deep into the red by calling people all kinds of rude things, things are really quite sweet for me.
I'm fucking terrified that this peak could be temporary, that there's a giant ravine waiting for me, to remind me that life is a ruthless bitch and that all the good things were totally undeserved.
Ah well, might as well stay in character...
*taunts fate with a raised middlefinger*13 -
So, some time ago, I was working for a complete puckered anus of a cosmetics company on their ecommerce product. Won't name names, but they're shitty and known for MLM. If you're clever, go you ;)
Anyways, over the course of years they brought in a competent firm to implement their service layer. I'd even worked with them in the past and it was designed to handle a frankly ridiculous-scale load. After they got the 1.0 released, the manager was replaced with some absolutely talentless, chauvinist cuntrag from a phone company that is well known for having 99% indian devs and not being able to heard now. He of course brought in his number two, worked on making life miserable and running everyone on the team off; inside of a year the entire team was ex-said-phone-company.
Watching the decay of this product was a sheer joy. They cratered the database numerous times during peak-load periods, caused $20M in redis-cluster cost overrun, ended up submitting hundreds of erroneous and duplicate orders, and mailed almost $40K worth of product to a random guy in outer mongolia who is , we can only hope, now enjoying his new life as an instagram influencer. They even terminally broke the automatic metadata, and hired THIRTY PEOPLE to sit there and do nothing but edit swagger. And it was still both wrong and unusable.
Over the course of two years, I ended up rewriting large portions of their infra surrounding the centralized service cancer to do things like, "implement security," as well as cut memory usage and runtimes down by quite literally 100x in the worst cases.
It was during this time I discovered a rather critical flaw. This is the story of what, how and how can you fucking even be that stupid. The issue relates to users and their reports and their ability to order.
I first found this issue looking at some erroneous data for a low value order and went, "There's no fucking way, they're fucking stupid, but this is borderline criminal." It was easy to miss, but someone in a top down reporting chain had submitted an order for someone else in a different org. Shouldn't be possible, but here was that order staring me in the face.
So I set to work seeing if we'd pwned ourselves as an org. I spend a few hours poring over logs from the log service and dynatrace trying to recreate what happened. I first tested to see if I could get a user, not something that was usually done because auth identity was pervasive. I discover the users are INCREMENTAL int values they used for ids in the database when requesting from the API, so naturally I have a full list of users and their title and relative position, as well as reports and descendants in about 10 minutes.
I try the happy path of setting values for random, known payment methods and org structures similar to the impossible order, and submitting as a normal user, no dice. Several more tries and I'm confident this isn't the vector.
Exhausting that option, I look at the protocol for a type of order in the system that allowed higher level people to impersonate people below them and use their own payment info for descendant report orders. I see that all of the data for this transaction is stored in a cookie. Few tests later, I discover the UI has no forgery checks, hashing, etc, and just fucking trusts whatever is present in that cookie.
An hour of tweaking later, I'm impersonating a director as a bottom rung employee. Score. So I fill a cart with a bunch of test items and proceed to checkout. There, in all its glory are the director's payment options. I select one and am presented with:
"please reenter card number to validate."
Bupkiss. Dead end.
OR SO YOU WOULD THINK.
One unimportant detail I noticed during my log investigations that the shit slinging GUI monkeys who butchered the system didn't was, on a failed attempt to submit payment in the DB, the logs were filled with messages like:
"Failed to submit order for [userid] with credit card id [id], number [FULL CREDIT CARD NUMBER]"
One submit click later and the user's credit card number drops into lnav like a gatcha prize. I dutifully rerun the checkout and got an email send notification in the logs for successful transfer to fulfillment. Order placed. Some continued experimentation later and the truth is evident:
With an authenticated user or any privilege, you could place any order, as anyone, using anyon's payment methods and have it sent anywhere.
So naturally, I pack the crucifixion-worthy body of evidence up and walk it into the IT director's office. I show him the defect, and he turns sheet fucking white. He knows there's no recovering from it, and there's no way his shitstick service team can handle fixing it. Somewhere in his tiny little grinchly manager's heart he knew they'd caused it, and he was to blame for being a shit captain to the SS Failboat. He replies quietly, "You will never speak of this to anyone, fix this discretely." Straight up hitler's bunker meme rage.13 -
Just before you, my fellow system programmer, scroll past this, let me say this:
🍬 The web is actiually simple. 🍬
Both HTML and CSS is declarative. It's all easy when you understand the concepts, learn how to be idiomatic and quit trying to do that imperative bullshit in languages that aren't imperative.
HTML is simple. You know the boilerplate: doctype, head, body, that's all. Just mark it up and do NOT look at it before you end, mark it up as it were article or something. The appearance is up to css.
CSS is simple. You may even forget bem or rscss, you're already a skilled software developer. Use common sense and your code-splitting and naming skills you gained reading The Code Complete or doing software development for years.
Forget mockups. Forget absolute positioning, forget setting width and height in pixels. Go to awwwards, find some inspiration. Draw some buttons and fields on paper with your good old pencil. Then go and write some css. Feel free to steal some shadows and transitions from codepen.
Read about 8-pixel grid system. Let every element push away from others by setting something like margin: 16px; and whoops! You've just got fully responsive and got great vertical rhythm without even using media queries!
Oh my god, do NEVER set width and height explicitly! Type something like button { width: 120px; } and bang! The entire web page is broken. Quit that shit. Let it resize as it should. It will resize itself to fit its contents.
HTML is by default ready for your template engine. That's how you receive data from server — as server-side rendered, plain old HTML page. On the other hand, the form element is the most axiomatic and simple way to send the data to server. That's how you send it — as plain old GET or POST that every webserver can handle.
All of there are true:
1. It's easy to get great 100% responsiveness without media queries.
2. It's easy to align items in row, it's just one line of css. Maybe two, if you still want elements to wrap, but want to use flexbox:
.parent {
display: flex;
flex-wrap: wrap;
}
3. HTML and CSS are fast by default.
4. You don't need mockups to achieve great visual experience. Mockups is imperative, web is declarative.
5. You may not even need JavaScript to make great website.
Go on, ask me a question about web! I'll ready to answer everything.21 -
Registered for a job application website and on profile page I see my password in clear type! ...
Time to change password to an easy one and remove profile as fast as possible...
Story goes on: changed password which included a special char successfully.
Tried to remove the account but was told password has invalid chars.
Logged off to see if the password still works. Can't login anymore...
Instant rant mail to admit.9 -
So, a rather unfortunate bug on the Minecraft website.
Minecraft allows you to change your name every 30 days. I was reverse engineering their API so I could use it personally.
On the username change form there are two fields: your desired username, and your password.
To protect myself from actually changing my name, I purposefully put in password123 so that it would fail. Then, I clicked "Change name" to monitor the network traffic.
Well that's when two unfortunate things combined.
#1: I used my last name to test. It's a unique word that is relatively short and very easy for me to type out of habit.
#2: That password field doesn't actually get validated.
So imagine my shock when I clicked "change username" and it WORKED.
And now my username is doxxing me for at least 30 days + the permanent name history
FUCK me6 -
For my school coursework, we have to create a search facility, now the problem is my class weren't taught this. So 3 sleepless nights and with basically no knowledge of Javascript, I create it. Now, I like my classmates so I don't want them to fail, so I distributed it to them with clear instructions and told my teacher that I'd done this. They asked for my help anytime it crashed but no-one said thanks, they just treated me like an easy route to a pass. I went onto my school private development forums and it turned out my teacher had created a tag for me called 'Unsung Hero' and made a UH appreciation thread that I could read but others could only type their own post. People in my class were praising me for what I'd done and how much I helped. I understand why I do development and why I'll never stop.9
-
I starten when I was 12 years old. I got bullied and got interested in computers. One day I crashed my dads computer and he reinstalled it. After that my dad made two accounts. The regular user (my account) and the Administrator user (my dads account). He also changed the language from Dutch to English. Gladly I could still use the computer by looking at the icons :')
Everytime I needed something installed I had to ask my dad first (for games mostly because there was no cable internet at that time). Then I noticed the other user account while looking over my dads shoulders. So I tried to guess the password and found out the password was the same as the label next to the password field "password".
At that point my interest in hacking had grown. So when we finally got cable internet and my own computer (the old one) MSN Messenger came around. I installed lots of stuff like flooders etc. Nobody I knew could do this and people always said; he is a hacker. Although it is not.
I learned about IP-address because we sometimes had trouble with the internet. So when my dad wasn't home he said to me. Click on this (command prompt) and type in; ipcondig /all. If you don't see an IP-address you should type in; ipconfig /renew.
Thats when I learned that every computer has a unique address and I started fooling around with hacking tools I found on internet (like; Subseven).
When I got older I had a new friend and fooled around with the hacking tools on his computer. Untill one day I went by my friend and he said; my neighbor just bought my old computer. The best part was that he didn't reinstall it. So we asked him to give us the "weird code on the website" his IP-Address and Subseven connected. It was awesome :'). (Windows firewall was not around back then and routers weren't as popular or needed)
At home I started looking up more hacking stuff and found a guide. I still remember it was a white page with only black letters like a text file. It said sometime like; To be a hacker you first need to understand programming. The website recommended Visual Basic 6 for beginners. I asked my parents to buy me a book about it and I started reading in the holliday.
It was hard for me but I really wanted to hack MSN accounts. When I got older I just played around and copy -> pasted code. I made my own MSN flooders and I noticed hacking isn't easy.
I kept programming and learned and learned. When I was 16/17 I started an education in programming. We learned C# and OOP (altho I hated OOP at first). I build my own hacking tool like "Subseven" and thats when I understood you need a "server" and "client" for a successful connection.
I quit the hacking because it was getting to difficult and after another education I'm now a fulltime back-end developer in C#.
That's my story in short :)3 -
The code is a freaking mess. Shared behavior, terrible variable/method naming, misleading module naming, dynamic polymorphic spaghetti, whitespace errors, no consistency, confusing even if you understand what the code is doing, ... . It should never have passed code review. It probably wasn't code reviewed.
The comments are sparse and useless. Quality level: // This is bridge.
The documentation does not exist.
Testing steps for QA are missing several steps, including setup, so actually using the feature is bloody challenging. If one thing is wrong, the feature just doesn't show up (and ofc won't tell you why).
The specs for the feature are outdated and cover only 4 of 19+ cases. And are neigh useless for those 4.
The specs for the report I'm fixing don't even check the data on the report; it just checks for one bit of data on each row it creates -- a name -- which is also the same on each row. gg.
The object factories (for specs) are a mess, and often create objects indirectly, or in backwards order with odd post-create overwriting to make things work. Following the factories is a major chore, let alone fixing or extending them.
The new type has practically zero test coverage.
The factory for the new type also only creates one variant -- and does so incorrectly.
And to top it all off: the guy who wrote the feature barely ever responds. If he does, he uses fewer words than my bird knows, then stops responding. I've yet to get a useful answer out of him. (and he apparently communicates just fine, according to my micromanager.)
But "it's just fixing a report; it'll be easy!"
Oh, fuck off.8 -
That's actually something that happened fairly recently.. just that I didn't have the energy left at the time to write it down. That, or I got my ass too drunk to properly write anything.. not sure actually.
So on paper I'm unemployed, but I do spend some time still on pretty much voluntary work for HackingVision, along with a handful of other people.
At the time, we were just doing the usual chit-chat in the admin channel, me still sick in my bed (actually that means that I wasn't drunk but really tired for once.. amazing!) and catching up to what happened, but unable to do any useful work in this sick state. So, tablet, typing on glass, right. I didn't have any keyboard attached at the time.
One of the staff members (a wanketeer from India) apparently had an assignment in a few hours for which he needed to write a server application in Java. Now, performance issues aside, I figured.. well I've got quite a bit of experience with servers, as well as some with client-server protocols. So I got thinking.. mail servers, way too overengineered. Web servers.. well that could work, I've done some basic netcat webservers that just sent an HTTP 200 OK and the file, those worked fine.. although super basic of course. And then there's IRC, which I've actually talked to an InspIRCd server through telnet before (which by the way is pretty much the only thing that telnet is still useful for, something that was never its purpose, lol) and realized that that protocol is actually quite easy to develop around. That's why I like it so much over modern chat protocols like XMPP, MQTT and whatnot. So I recommended that he'd write a little IRC server in Java. Or even just a chatbot like I attempted to at the time, considering that that's - with a stretch of course - a sort-of server too.
His fucking response however, so goddamn fucking infuriating. "If the protocol is so easy, then please write me down how to implement it in Java."
Essentially do his fucking work for him. I don't know Java, but as a fucking HackingVision admin, YOU SHOULD FUCKING KNOW THAT HACKERS CAN'T STAND LAZY CUNTS THAT CAN'T EVEN BE ASSED TO GOOGLE SHIT!!! If I wanted to deal with cunts like that, I'd have opened the page inbox with all its Fb h4xx0ring questions, not the fucking admin chat!
And type it on a goddamn fucking piece of glass, while fucking sick?! Get your ass fucked by a bobs and vegana horny fuck from the untouchable caste, because that's where you fucking belong for expecting THAT from me, you fucking bhenchod.
But at least I didn't get my ass enraged like that to say that to him in the admin chat. Although that probably wouldn't have been a bad thing, to get his feet right back on the ground again.1 -
LONELINESS IS REAL
I am a freshman in a university ( about to complete my first year ) with a girl to boy ratio of around 1:10. During my first semester I was spending a lot of time with friends, chatting up with people and making connections. Due to this my productivity as a dev, if I am even capable of being called that decreased ( I was not a developer before joining , but I had an aim of being one , esp at least the best in my batch ) after 1st year. In retrospect I did nothing productive till 3 months out of 4 in my first sem and the guilt hit me hard . During the last month I had to catch up with my much neglected studies and all I had done was a little bit of html and css, and barely scratched the surface of js( please don't judge me for this :) , I had to start somewhere < although I learned a little bit of C++ > ). BUT I WAS A HAPPY CUNT, and had no sign of lonelines. Now during this sem , I had made progress ( learn js with es6 syntax and still learning, did c++ and extended my knowledge ) . Currently I am working on my Vue full stack app ( along with express and some websocket library , TBD ) < yeh I learnt some backend too > , and increasing my knowledge of dsa using clrs. Although my productivity has increased manifolds but I know feel the need of closure. I am kinda happy with the fact that I know a lot of people around here ( thanks to my extroverted 1st semester ) but sometimes it hits me hard at night when I don't have a monitor to drown my eyes and thoughts in. I have increased my academic performance too but I need someone to share and express my feelings with. I could have made a girlfriend earlier but now most of them are taken and I have lost touch. But believe me, all I want is a companion to spend these lonely days and night ( not talking about as a friend ). Staying away from home isnt easy you know...m :(
KUDOS TO DEVRANT FOR DEVELOPING A COMMUNITY WHERE PEOPLE LIKE ME CAN FEEL SAFE IN OUR NATURAL HABITAT. I COULDN'T HAVE EXPRESSED MY FEELINGS ANYWHERE ELSE EXCEPT IN A PERSONAL BLOG ( where no one would have read it )
PS1: I apologise if I sounded arrogant about any of my skill, I didn't mean that way. I ain't even that good, just kinda proud of myself a little for achieving something I couldn't have thought.
PS2: Any type of suggestions and help is much appreciated ( considering I am a college student who went into some serious development 4 months ago , I am pretty impressionable ;) )
PS3: Please don't confuse this with depression. I am HAPPY BUT LONELY
PS4: Is there a way so that I can change my username?16 -
Have you guys heard about blind coding?
I had been to competition, first round was quiz.
That was quite easy, though most of the questions were incomplete and didn't make any sense.
They have provided an app. We use that to check the result.
So first round is over, 1 hour later my friend called me asked whether I'm qualified for the next round . I checked the results and my name wasn't there. I was very disappointed.
I left that place after I saw my result. I got a bus which goes to my place.
After 10 minutes, I got a call from the event head asking why I didn't attend second round 😑. I asked why name wasn't there on the result, for which he replied with "database updatation error".
I got down in the next stop and took a bus again to that place.
I reached there, second round was started, First part was debugging. It was easy, I debugged the given program and got the desired output.
Second part was coding. A guy showed a problem to solve and told me to read it quickly . I did as he told.
He opened Dev C++ and gave me a paper to write the program .
When I was about to start typing, he turned off the monitor and told I should write it on paper first and type the program having monitor turned off. 😨
I wrote and typed the program without seeing.
After 30 minutes a college lecturer came to give marks. He told me to compile the program.
TBH, there were many typing mistakes. As header file spelling was wrong it showed only one error.
Him: Huh, cool only one error, well done. *noted that and walked to a guy next to me*12 -
Some absolute cock-monkey fuck-nugget of a marketing director asked me the other week if I could implement a discount voucher system into a new side project / prototype we’re building.
I said ‘yeah sure but it’s a bit of a pain in the ass, i’ll have a look’
He said ‘you just let someone enter a code and that takes £10 off the total order value’
REALLY?!
IS THAT HOW IT WORKS?!!
THANKS FOR EXPLAINING THAT TO ME YOU FUCKING ASS-CUNT. BECAUSE I DIDN’T KNOW HOW A FUCKING DISCOUNT VOUCHER WORKED, YOU ABSOLUTE MOUTH BREATHING WASTE OF FUCKING ORGANS.
I’LL JUST GO TYPE THAT INTO MICROSOFT WORD AND SAVE THE FILE TO THE MAGICAL CLOUD SHALL I?
“dear computer, take a voucher code from a user and take £10 off of there order value”
THERE YOU GO YOU PRICK; JOB DONE. SOFTWARE ENGINEERING IS EASY, EH?!
Wank.6 -
I'm still at my first job, got the job by word of mouth from a friend.
This company wants me to develop both their iOS and Android apps, and being the solo developer it's a long process. I forgot to mention I had to learn objective-c on the job, and being from a java background Android was easy to pick up but it wasn't exactly 100% easy either.
8 months down the line I finished the iOS app and working on the Android app, which is more so copying the features I did with the Android prototype I worked on at the start.
I get paid minimum wage with from the looks of it no sight of a pay raise.
This company doesn't seem to know about how difficult it is to be the only developer for two apps in two different languages.
Anyway aside from this I was wondering if I could get some advice, I want to apply for jobs while I finish up the Android app, but is it a good idea to put the company I work for on my CV? I don't want to risk getting found out for looking for a job, without my boss knowing.
Would it be ideal to just have some sort of more information on request type thing if the jobs I apply for respond?
I guess I could stay until I'm here for one year (student advisor said this) but in saying that I don't think he understands that software development is done in projects rather than time, and after these apps I'll have to start on a new app from scratch, which I'm not looking forward to.
Anyways for any advice you guys give me thanks in advance I really appreciate any input, just wanna get out of this job, the 10 hours of commute I spend a week is killing me :/ along with it being expensive.9 -
Once I've worked in a start-up located in an engineering university "incubator", so we had a lot of engineer-to-be students applying for part-time jobs.
One of these kids was hired by my boss who labeled him "highly technical, very skilled in IT".
One day, while very busy with my own upcoming release, I had to help him finding a bug in his (horrible) code.
Me: Oh, that's easy, you need to load the image from the parent directory
Guy: ...
Me: You know how to do this, right? You're 1 exam away from being a computer engineer
Guy: ...
Me: Ok, ok, don't worry. Just type "../" right before the path
The guy starts typing, literally, "dotdotslash" into the path.
I immediately stopped him, almost crying. Then, I asked him to go for a walk.
"Don't mind about your bug, I'll take care"3 -
I hate when idiots make assumptions without basis. My company so higher up idiots decided not to use Python. I said why they said it’s not scalable. I asked have anyone of you ever wrote micro service which can handle millions request every hours? Have you ever wrote service in Python? Have you ever worked on Python? Architect said but Python doesn’t have type support? I said there is use Python3. He said I want to validate my request payload. I told have you tried form and decorators. I told, I have 8 years experience. I worked in every language and I one has advantage over others depending on situation. Then they said, but we want only Java as finding resources is easy. I said have you checked git Python overtook Java in case resources, you are outdated. I don’t want to leave company but even after so many argument these idiots just dropping Python and because of that I am loosing so many good resources.8
-
Working with a delivery ordering API. Response:
Shipping label type: PDF
Label: base64encoded string
I was like, that's easy, literally two lines of code. Proceeds to convert and save the file. Then on open, bam! Format ubreadable. What the actual fuck?! Found an online converter, and tried to convert it to pdf, to see if I was missing something, but the results was the same.
Then checked the decoded string. First 3 characters: GIF
Well fuck you too! This carrier uses GIF's for it's shipping labels for 2years at least, how hard is it to change that in your fucking api response, you pice of shitbag.2 -
Highlights from my week:
Prod access: Needed it for my last four tickets; just got it approved this week. No longer need it (urgently, anyway). During setup, sysops didn’t sync accounts, and didn’t know how. Left me to figure out the urls on my own. MFA not working.
Work phone: Discovered its MFA is tied to another coworker’s prod credentials. Security just made it work for both instead of fixing it.
My merchant communication ticket: I discovered sysops typo’d my cronjob so my feature hasn’t run since its release, and therefore never alerted merchants. They didn’t want to fix it outside of a standard release. Some yelling convinced them to do it anyway.
AWS ticket: wow I seriously don’t give a crap. Most boring ticket I have ever worked on. Also, the AWS guy said the project might not even be possible, so. Weee, great use of my time.
“Tiny, easy-peasy ticket”: Sounds easy (change a link based on record type). Impossible to test locally, or even view; requires environments I can’t access or deploy to. Specs don’t cover the record type, nor support creating them. Found and patched it anyway.
Completed work: Four of my tickets (two high-priority) have been sitting in code review for over a month now.
Prod release: Release team #2 didn’t release and didn’t bother telling anyone; Release team #1 tried releasing tickets that relied upon it. Good times were had.
QA: Begs for service status page; VP of engineering scoffs at it and says its practically impossible to build. I volunteered. QA cheered; VP ignored me.
Retro: Oops! Scrum master didn’t show up.
Coworker demo: dogshit code that works 1 out of 15 times; didn’t consider UX or user preferences. Today is code-freeze too, so it’s getting released like this. (Feature is using an AI service to rearrange menu options by usage and time of day…)
Micromanager response: “The UX doesn’t matter; our consumers want AI-driven models, and we can say we have delivered on that. It works, and that’s what matters. Good job on delivering!”
Yep.
So, how’s your week going?2 -
Did I ever tell you kids about the time I worked for a company that got a contract to develop an iOS application around some object detection software that had been developed by another team?
Company I was working for was a tiny software consultancy, and this was my first ever dev job (I’m at my second now 😅). Nobody at the company has experience building mobile applications but CEO decides that the app should be written in React Native because _he_ knows React Native.
During a meeting with the client, CEO jokes about how easy the ask is and says he could finish it in a weekend. Please note that Head of Engineering had already budgeted a quarter for the work. CEO says we can do it in a week! And moves up the deadline. And only assigns two engineers to project. I am not one of those engineers.
The two engineers that are put on it struggle. A lot. They can’t seem to get the object detection to work at all, and the code that’s already written is in Objective-C. I realize one of the issues is that the engineers on the project can’t read Objective-C because they have no experience with Objective-C or even C. I have experience with C, so I volunteer to take a look at it to try to see what’s going on.
Turns out the problem is that the models are trained on one type of image format and the iPhone camera takes images in a different format.
The end of the week comes, they do not succeed in figuring out the image conversion in React Native. There’s an in-person demo with the customers scheduled for the next Monday. CEO spends the weekend trying to build the app. Only succeeds in locking literally every other engineer out of the project.
They manage to negotiate a second chance where we deliver what we were supposed to deliver at the original schedule.
I spent the weekend looking up how to convert images and figure it would be a lot easier to interface with the Objective-C if we used Swift. Taught myself enough Swift over the weekend to feel dangerous. Spoke to Head of Engineering on Monday and proposed solution — start over in Swift. Volunteer to lead effort. Eventually convince them it’s a good idea (and really, what’s the worst that can happen? If this solves our main problem at the moment, that’s still more progress than the original team made)
Spend the next week working 16 hour days building out application. Meet requirements for next deadline. Save contract.
And that’s ONE of the stories of my first dev job that got me hired as a senior engineer despite only having 10 months of work experience in the industry.11 -
http://mindprod.com/jgloss/...
Skill in writing unmaintainable code
Chapter : The art of naming variables and methods
- Buy a copy of a baby naming book and you’ll never be at a loss for variable names. Fred is a wonderful name and easy to type. If you’re looking for easy-to-type variable names, try adsf or aoeu
- By misspelling in some function and variable names and spelling it correctly in others (such as SetPintleOpening SetPintalClosing) we effectively negate the use of grep or IDE search techniques.
- Use acronyms to keep the code terse. Real men never define acronyms; they understand them genetically.
- Randomly capitalize the first letter of a syllable in the middle of a word. For example: ComputeRasterHistoGram().
- Use accented characters on variable names.
- Randomly intersperse two languages (human or computer). If your boss insists you use his language, tell him you can organise your thoughts better in your own language, or, if that does not work, allege linguistic discrimination and threaten to sue your employers for a vast sum.
and many others :D -
Adventures Of The New COO
So when that new COO joined our company ( read my previous rant to know that story ) he brought a graphic designer with him
as a designer he's ok, more of a old school package designer type, but as a person one of the most annoying one I've ever met, always want to be included with our conversations, talk about rain and stuff
so few days ago, i was working on a website, headphones plugged in, music playing, he comes near my seat
Designer: Are you busy ?
Me: yeah, I've this website to finish
Designer: So i have this idea for an app
Me: *taking off headphones while thinking doesn't this dumbass know the meaning of busy*
Designer: what if we create an app for super markets, like this isle has this stuff, that isle has soap or something and how it'll be easy to find what you want to buy and keeps going on and on for about 5 minutes
Me: *making my voice as polite and sarcastic as possible*
It wouldn't work, every market has a different layout even among same market chain it's different
Me: have you ever been to a super market, they have a board saying what the isle is above the isle, all you have to do is just look up
Designer: hmm yeah i guess
*walks away*
everyone wants to make apps and make money, but doesn't have the fucking brain capacity to think about the idea for a bit and do some research, instead they come and waste our time2 -
I hate working with egoistic noobshit hotshot "developers". But sadly, they tend to get ahead because they talk like they know everything in front of tech idiot management.
***
management: I need this swanky feature X in our product within the month.
me: That literally requires a huge refactor because our current codebase was never meant to support this type of service. We need to think about this.
noobshit: I disagree. This is easy. We're already doing something similar that is Z, this shouldn't take very long.
me: Z seems similar, but it actually quite different.
me (in my head): ... and you would know it's *completely* different if you fucking understood our own codebase vs what X needs you moron.
noobshit: Nah, it's similar. We can accomplish X if we polish up Z a bit.
*** 1 week later ***
noobshit: Omg X is horrifying and complex. We can't do it without a huge refactor.
me: yes
me (in my head): Fuck you
***
But guess who's got better career prospects because they're all shiny and positive in front of management?1 -
Disclaimer: Long tale of a tech support job. Also the wk29 story is at the bottom.
One time I was working tech support for a website and email hosting firm that was in town. I was hired and worked as the only tech support person there, so all calls came in through me. This also meant that if I was on a call, and another one came through, they would go straight to voice mail. But I couldn't hang up calls either, so, sometimes someone would take up tons of time and I'd have to help them. I was also the "SEO" and "Social Media Marketing" person, as well; managed peoples' social media campaigns. I have tons of stories from this place but a few in particular stick out to me. No particular order to these, I'm just reminiscing as I write this.
I once had to help a man who couldn't find the start button on his computer. When I eventually guided him to allowing me to remote into his computer via Team Viewer, I found he was using Windows XP. I'm not kidding.
I once had to sit on the phone with a man selling Plexus Easy Weight Loss (snake oil, pyramid scheme, but he was a client) and have him yell at me about not getting him more business, simply because we'd built his website. No, I'D not built his website, but his website was fine and it wasn't our job to get him more business. Oh yeah, this is the same guy who said that he didn't want the social media marketing package because he "had people to hide from." Christ.
We had another client who was a conspiracy theorist and wanted the social media marketing package for his blog, all about United States conspiracies. Real nut case. But the best client I've ever had because sometimes he'd come into the office and take up my time talking at me about how Fukushima was the next 911 and that soon it'll spill into the US water supply and everybody was going to die. Hell, better than being on the phone! Doing his social media was great because he wanted me to post clearly fake news stories to his twitter and facebook for him, and I got to look at and manage all the comments calling him out on his bullshit. It was kinda fun. After all, it wasn't _me_ that believed all this. It felt like I was trolling.
[wk29] I was the social media and support techie, not a salesperson. But sometimes I was put in charge _alone_ in front of clients for status meetings about their social media. This one time we had a client who was a custom fashion-type person. I don't really remember. But I was told directly to make them a _new_ facebook page and post to it every day with their hot new deals and stuff. MONTHS pass since I do that and they come in for a face-to-face meeting. Boss is out doing... boss things and that means I have to sit in with her, and for some fucking reason she brought her boyfriend AND HER DAD. Who were both clearly very very angry with me, the company, and probably life. They didn't ever say anything at first, they didn't greet me, they were both just there like British royal guards. It was weird as fuck. I start showing them the page, the progress on their likes goals, etc etc. Marketing shit. They say, "huh, we didn't see any of these posts at home." Turns out they already had a Facebook page, I was working on a completely seperate one, and then the boyfriend finally chimes in with the biggest fucking scowl, "what are you going to do about this?" He was sort of justified, considering this was a payed and semi-expensive service we offered, but holy shit the amount of fire in all three of them. Anyway, it came down to me figuring out how to merge facebook pages, but they eventually left as clients. Is this my fuck up? Is it my company's? Is it theirs? I don't know but that was probably the most awkward meeting ever. Don't know if it comes across through text but the anxiety was pretty real. Fuck.
tl;dr Tech support jobs are a really fun and exciting entry level position I recommend everybody apply for if they're starting out in the tech world! You'll meet tons of cool people and every day is like a new adventure.2 -
Why do people jump from c to python quickly. And all are about machine learning. Free days back my cousin asked me for books to learn python.
Trust me you have to learn c before python. People struggle going from python to c. But no ml, scripting,
And most importantly software engineering wtf?
Software engineering is how to run projects and it is compulsory to learn python and no mention of got it any other vcs, wtf?
What the hell is that type of college. Trust me I am no way saying python is weak, but for learning purpose the depth of language and concepts like pass by reference, memory leaks, pointers.
And learning algorithms, data structures, is more important than machine learning, trust me if you cannot model the data, get proper training data, testing data then you will get screewed up outputs. And then again every one who hype these kinds of stuff also think that ml with 100% accuracy is greater than 90% and overfit the data, test the model on training data. And mostly the will learn in college will be by hearting few formulas, that's it.
Learn a language (concepts in language) like then you will most languages are easy.
Cool cs programmer are born today😖31 -
Short story for the one interessed in the image: when we change idea we change the whole idea. And it is likely to happen very often. Sometimes twice a day, every day, for a week.
Long stort:
I am hopeless:
I am an IT university student, i know how to program and how to search for a fucking manual, but i am dealing with eletronics and PCB...
I have to make the firmware for a board (atmel things) and it have to talk via spi with some other devices (it is slave of one, and master for all the others(i will use two spi channels)), this should be easy...
I am have no senior to ask to, all i have is google and i found problems in every thing i try to do, every - fucking - single - one!!!! I know that the solution is always of the "you have to plug it in" type, but
NEITHER GOOGLE IS BEING OF HELP!
Let me explain this morning pain:
i can't add libraries in atmel studio, something wrong with the asf wizard, i have only found a tutorial that says what buttons press to solve my problem... I DO NOT HAVE THIS BUTTONS!!!
And the library i wanted to add is the one to make the board talk with the computer on his COM port... (And have some debug message...)
And the wizard gives problem because i created the project using an online atmel tool...
YES, i tried to create a project with asf and then add the files given by the online tool.... THEY DO NOT COMPILE, I SHOULD HAVE TO MESS WITH A 400 LINES LONG MAKEFILE, that is anything but human readable...
I haven't even look for anything spi related this morning
I am even forced to use windows, because every question in the forums, or every noobbish tutorial is based on it...
And then i find the tutorial with the perfect title, holy shit this is the thing i truly need!!!!! It says how to open a file. And then stops. WHAT ABOUT THE THING YOU WERE TALKING ABOUT IN THE TITLE??????
This project is the upgrade of a glue-pump based on an atmega328 (arduino uno processor), that is currently being produced and sold by our "company" .... .... That is composed by me and the boss.
He is a very nice and and smart person, he tries to give me ideas for the solution, if i cannot find out how to do something we can even change a lot of specifics of the project (the image shows our idea-change) and every board has some weeks of mornings like the one described above (i work only in the morning).
I am learning a very lot of things...
But the fact that every thins i try fails is destroying me, what would you do in my place?
Ps. Lot lf love for the ones who made it until the end <36 -
Cracking old recovery CDs for the 9x/2000/XP era shines some light into how companies operated and when concepts came to be in that time:
Packard Bell: An EXE checks that you're running on a Packard Bell machine and reboots if it's not. How do we bypass it? Easy: just fucking delete it. The files to reinstall Windows from scratch come from...
...
C:?
Yup. Turns out Packard Bell was doing the recovery partition thing all the way back to the 9x era, maybe even further. Files aren't even on the restore disc so if your partition table got fucked (pretty common because malware and disk corruption) you were totally fucked and needed to repurchase Windows. (My dad, at the time, only charged at-cost OEM prices for a replacement retail copy. He knew it was dumb so he never sold PB machines.)
Compaq:
Computer check? Nope, remove one line from a BATCH file and it's gone.
Six archives, named "WINA.ZIP" through "WINF.ZIP" (plus one or two extras for OEM software) hold Windows. Problematic? Well... only because they never put the password anywhere so the installer can't install them. (Some interesting on-disc technician-only utils, though!)
Dell:
If not a Dell machine, lock up. Cause? CONFIG.SYS driver masquerading as OAK (the common CD driver) doing the check, then chainloading the real OAK driver. Simple fix: replace the fake driver with the real one.
Issues?
Would I mention this one if there weren't?
Disc is mounted on N:. Subdirectories work, but doing anything in them (a DIR, trying to execute something, trying to view shit in EDIT.COM) kicked you back to the disc root.
Installer couldn't find machine manifest in the MAP folder (it wanted your PC's serial before it'd let you install, to make sure you have the correct recovery disc) so it asked for 12-digit alphanumeric serial. The defined serials in the manifest were something like "02884902-01" or similar (8-2, all numbers) and it couldn't read the file so it couldn't show the right format, nor check for the right type.
Bypassing that issue, trying to do the ACTUAL install process caused nothing to happen... as all BATCHes for install think the CD should be on X:.
Welp.
well that was fun. Now to test on-real-PC behavior, as VBOX and VMWare both don't like the special hardware shit it tries to use. (Why does a textmode GUI need GPU acceleration, COMPAQ?????)4 -
watching the online course for CEH... dude used the Death Star as a tangible example of how exploits work.
IDK if I should love it for the nerdiness, or be slightly sad that someone needs that type of example of what a vulnerability vs an exploit is, when they're going for the Certified Ethical Hacker certification...
Might be better in an introduction to Network Security class?
Also, while discussing the security, usability, and functionality triangle, he reference the Staples "Easy Button" - does one thing, not very secure, and not very functional (in that it has more than one function)...1 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
"So Alecx, how did you solve the issues with the data provided to you by hr for <X> application?"
Said the VP of my institution in charge of my department.
"It was complex sir, I could not figure out much of the general ideas of the data schema since it came from a bunch of people not trained in I.T (HR) and as such I had to do some experiments in the data to find the relationships with the data, this brought about 4 different relations in the data, the program determined them for me based on the most common type of data, the model deemed it a "user", from that I just extracted the information that I needed, and generated the tables through Golang's gorm"
VP nodding and listening intently...."how did you make those relationships?" me "I started a simple pattern recognition module through supervised mach..." VP: Machine learning, that sounds like A.I
Me: "Yes sir, it was, but the problem was fairly easy for the schema to determ.." VP: A.I, at our institution, back in my day it was a dream to have such technology, you are the director of web tech, what is it to you to know of this?"
Me: "I just like to experiment with new stuff, it was the easiest rout to determine these things, I just felt that i should use it if I can"
VP: "This is amazing, I'll go by your office later"
Dude speaks wonders of me. The idea was simple, read through the CSV that was provided to me, have the parsing done in a notebook, make it determine the relationships in the data and spout out a bunch of JSON that I could use. Hook it up to a simple gorm golang script and generate the tables for that. Much simpler than the bullshit that we have in php. I used this to create a new database since the previous application had issues. The app will still have a php frontend and backend, but now I don't leave the parsing of the data to php, which quite frankly, php sucks for imho. The Python codebase will then create the json files through the predictive modeling (98% accuaracy) and then the go program will populate the db for me.
There are also some node scripts that help test the data since the data is json.
All in all a good day of work. The VP seems scared since he knows no one on this side of town knows about this kind of tech. Me? I am just happy I get to experiment. Y'all should have seen his face when I showed him a rather large app written in Clojure, the man just went 0.0 when he saw Lisp code.
I think I scare him.12 -
Your data is formatted according to some ISO? Nice. You say it's easy to use and well documented? Great!
IT'S FUCKING FORMATTED WITH IRREGULAR SPACING??
What the fuck is this formatting?
Date <tab> Word <3 spaces> Some conjugated version <ONE space> Type <FIVE spaces> gender
WHAT
WHY
WHY ISNT IT XML
WHY ISNT IT JSON
WHY THE TABULATOR AND IRREGULAR SPACES
WHY DOES THE ORDER CHANGE PER LINE
WHY IS THIS IN A SINGLE 1MIL LINE FILE
help the university of oslo makes me dysphoric in their dictionaries i really dont want to parse this1 -
So ok here it is, as asked in the comments.
Setting: customer (huge electronics chain) wants a huge migration from custom software to SAP erp, hybris commere for b2b and ... azure cloud
Timeframe: ~10 months….
My colleague and me had the glorious task to make the evaluation result of the B2B approval process (like you can only buy up till € 1000, then someone has to approve) available in the cart view, not just the end of the checkout. Well I though, easy, we have the results, just put them in the cart … hmm :-\
The whole thing is that the the storefront - called accelerator (although it should rather be called decelerator) is a 10-year old (looking) buggy interface, that promises to the customers, that it solves all their problems and just needs some minor customization. Fact is, it’s an abomination, which makes us spend 2 months in every project to „ripp it apart“ and fix/repair/rebuild major functionality (which changes every 6 months because of „updates“.
After a week of reading the scarce (aka non-existing) docs and decompiling and debugging hybris code, we found out (besides dozends of bugs) that this is not going to be easy. The domain model is fucked up - both CartModel and OrderModel extend AbstractOrderModel. Though we only need functionality that is in the AbstractOrderModel, the hybris guys decided (for an unknown reason) to use OrderModel in every single fucking method (about 30 nested calls ….). So what shall we do, we don’t have an order yet, only a cart. Fuck lets fake an order, push it through use the results and dismiss the order … good idea!? BAD IDEA (don’t ask …). So after a week or two we changed our strategy: create duplicate interface for nearly all (spring) services with changed method signatures that override the hybris beans and allow to use CartModels (which is possible, because within the super methods, they actually „cast" it to AbstractOrderModel *facepalm*).
After about 2 months (2 people full time) we have a working „prototype“. It works with the default-sample-accelerator data. Unfortunately the customer wanted to have it’s own dateset in the system (what a shock). Well you guess it … everything collapsed. The way the customer wanted to "have it working“ was just incompatible with the way hybris wants it (yeah yeah SAP, hybris is sooo customizable …). Well we basically had to rewrite everything again.
Just in case your wondering … the requirements were clear in the beginning (stick to the standard! [configuration/functinonality]). Well, then the customer found out that this is shit … and well …
So some months later, next big thing. I was appointed technical sublead (is that a word)/sub pm for the topics‚delivery service‘ (cart, delivery time calculation, u name it) and customerregistration - a reward for my great work with the b2b approval process???
Customer's office: 20+ people, mostly SAP related, a few c# guys, and drumrole .... the main (external) overall superhero ‚im the greates and ur shit‘ architect.
Aberage age 45+, me - the ‚hybris guy’ (he really just called me that all the time), age 32.
He powerpoints his „ tables" and other weird out of this world stuff on the wall, talks and talks. Everyone is in awe (or fear?). Everything he says is just bullshit and I see it in the eyes of the others. Finally the hybris guy interrups him, as he explains the overall architecture (which is just wrong) and points out how it should be (according to my docs which very more up to date. From now on he didn't just "not like" me anymore. (good first day)
I remember the looks of the other guys - they were releaved that someone pointed that out - saved the weeks of useless work ...
Instead of talking the customer's tongue he just spoke gibberish SAP … arg (common in SAP land as I had to learn the hard way).
Outcome of about (useless) 5 meetings later: we are going to blow out data from informatica to sap to azure to datahub to hybris ... hmpf needless to say its fucking super slow.
But who cares, I‘ll get my own rest endpoint that‘ll do all I need.
First try: error 500, 2. try: 20 seconds later, error message in html, content type json, a few days later the c# guy manages to deliver a kinda working still slow service, only the results are wrong, customer blames the hybris team, hmm we r just using their fucking results ...
The sap guys (customer service) just don't seem to be able to activate/configure the OOTB odata service, so I was told)
Several email rounds, meetings later, about 2 months, still no working hybris integration (all my emails with detailed checklists for every participent and deadlines were unanswered/ignored or answered with unrelated stuff). Customer pissed at us (god knows why, I tried, I really did!). So I decide to fly up there to handle it all by myself16 -
Episode 3 of this rant: https://devrant.io/rants/871827/...
Me: So I'm going an API call to Mastercard but they don't give us back CreditCard token to save.
Provider: Ya man you need to curl a request in your code to get the token...blahblahblah.... man you need to know these things they are not an easy things to be done, just paste curl code on MasterCard website into your code and it will work
Me: *ignores his shit talk and proceed to test*
*5 minutes later*
MasterCard Server: error.cause=INVALID_REQUEST&error.explanation=Invalid+credentials.&result=ERROR
Me: *calls provider and tell him*
Provider: Oh sorry, we need to enable this feature for your account.
devRant people please, give me one reason why I should not leave this field, and maybe also leave this life knowing there are this type of people alive.
Thank you :)2 -
Look, I get that it's really tricky to assess whether someone is or isn't skilled going solely by their profile.
That's alright.
What isn't center of the cosmic rectum alright with the fucking buttsauce infested state of interviews is that you give me the most far fetched and convoluted nonsense to solve and then put me on a fucking timer.
And since there isn't a human being on the other side, I can't even ask for clarification nor walk them through my reasoning. No, eat shit you cunt juice swallowing mother fucker, anal annhilation on your whole family with a black cock stretching from Zimbabwe to Singapore, we don't care about this "reasoning" you speak of. Fuck that shit! We just hang out here, handing out tricks in the back alley and smoking opium with vietnamese prostitutes, up your fucking ass with reason.
Let me tell you something mister, I'm gonna shove a LITERAL TON of putrid gorilla SHIT down your whore mouth then cum all over your face and tits, let's see how you like THAT.
Cherry on top: by the time I began figuring out where my initial approach was wrong, it was too late. Get that? L'esprit d'escalier, bitch. I began to understand the problem AFTER the timer was up. I could solve it now, except it wouldn't do me any fucking good.
The problem? Locate the topmost 2x2 block inside a matrix whose values fall within a particular range. It's easy! But if you don't explain it properly, I have to sit down re-reading the description and think about what the actual fuck is this cancerous liquid queef that just got forcefully injected into my eyes.
But since I can't spend too much time trying to comperfukenhend this two dollar handjob of a task, which I'd rather swap for teabagging a hairy ass herpes testicle sack, there's rushing in to try and make sense of this shit as I type.
So I'm about 10 minutes down or so already, 35 to go. I finally decipher that I should get the XY coords of each element within the specified range, then we'll walk an array of those coordinates and check for adjacency. Easy! Done, and done.
Another 10 minutes down, all checks in place. TEST. Wait, wat? Where's the output? WHERE. THE FUCK. IS. THE OUTPUT?! BITCH GIMME AN ANSWER. I COUT'D THE RETURN AND CAN SEE THE TERMINAL BUT ITS NOT SHOWING ME ANYTHINGGG?! UUUGHHH FUCKKFKFKFKFKFKFKFUFUFUFFKFK (...)
Alright, we have about 20 minutes left to finish this motorsaw colonoscopy, and I can't see what my code is outputting so I'm walking through the code myself trying to figure out if this will work. Oh, look at that I have to MANUALLY click this fucking misaligned text that says "clear" in order for any new output to register. Lovely, 10/10 web design, I will violate your armpits with an octopus soaked in rabid bear piss.
Mmmh, looks like I got this wrong. Figures. I'm building the array of coordinates sequentially, as a one dimentional list, which is very inconvenient for finding adjacent elements. No problem, let's try and fix that aaaaaand... SHIT IM ALMOST OUT OF TIME.
QUICK LYEB, QUICK!! REMEMBER WHAT FISCELLA TAUGHT YOU, IN BETWEEN MOLESTING YOUR SOUL WITH 16-BIT I/O CONSOLE PROBLEMS, LIKE THAT BITCH SNOWFALL THING YOU HAD TO SOLVE FOR A FRIEND USING TURBO C ON A FUCKING TOASTER IN COMPUTER LAB! RUN MOTHERFUCKER RUN!!!
I'm SWEATING. HEAVILY. I'm STEAMING, NON-EROTICALLY. Less than 10 minutes left. I'm trying to correct the code I have, but I start making MORE dumbfuck mistakes because I'm in a hurry!
5 minutes left. As I hit this point of no return, I realize exactly where my initial reasoning went wrong, and how I could fix it, but I can't because I don't have enough time. Sadface.
So I hastily put together skeleton of the correct implementation, and as the clock is nearly up, I write a comment explaining the bits I can't get to write. Page up, top of file, type "the editor was shit LMAO" and comment it out. SUBMIT.
This violent tale of brain damaged badmouth schizoid baby versus badly worded code challenges was brought to you by ButtholeSuffers. Tired of taking low-quality viagra before engaging in unprotected anal sex? Then try ButtholeSuffers, the new way to strengthen your everday erections! You'll be as fucking HARD as a WALL!
Visit triple doble minus you dot triple doble YOU dot doble-u doble www dotbit lyshAdy wwwwww academy smashlikeachamp ai/professional/$$%$X$/0FD0EFF~ \*¨-`++ ifyouclickurstupid for for a FREE coupon to get MINUS NaN OFF on a close-encounter with an inter-continental dick, and use my promo code HOPONBITCH if you'd like it *RAMMED* --FAR-- and D E E P L Y.
(lel ad break should continue I'm cutting it shortt) [CENSORED] grants *physical* access to your pants! Big ups to Annihilate for sponsoring this mental breakdown.
Also hi ;>5 -
The fucking defective Caps Lock on Apple keyboards drives me fucking ballistic!
WHY would they ever think it would be a good idea to introduce a minimum press time for a key?!?
EVERY. FUCKING. TIME. I use the damn thing it inevitably fails and I have to backspace, delete the non-caps text I just entered after HITTING THE FUCKING CAPS LOCK KEY, tap the damn thing again (harder this time) and try again. It usually takes 2 or 3 tries before it actually catches. I'm sorry, but training myself to type slower is not as easy as you think!
Who the fuck thought up this nonsensical bullshit?? And who the fuck is going around accidentally tapping their caps lock key to the point where such a delay would be needed?? Do you not know where your own fingers are??
Seriously, all this does is penalize fast typists and people who actually want to USE the caps lock key for what it was meant for.
I swear to god this one little thing pisses me off SO much. And what's worse is they don't even give you an option to disable it, AND it's bloody fucking impossible to disable yourself even through the terminal.
(Also, typing this rant with so many caps was probably not as cathartic as I was going for!) 😂9 -
I was just writing a long rant about how my rant style changed, and how I could fix anything that annoys me in a heartbeat by just putting my mind to implementing a change. Then YouTube once again paused the synth mix that was playing on my laptop in the background, with that stupid "Video paused. Continue watching?" pop-up. I even installed an add-on for it in Firefox to make it automatically click that away. I guess that YouTube did yet another bullshit update to break that, for "totally legitimate user interface improvements" or whatever. Youtube-dl faces similar challenges all the time, and it's definitely not alone in that either. I also had issues with that on Facebook when I wanted to develop on top of that, where the UI changes every other day and the API even changes every other week. And as far as backwards compatibility goes, our way or the highway!
So I did the whole "replace and move on" type of thing. I use youtube-dl often now to get my content off YouTube into a media player that doesn't fuck me over for stupid reasons like "ad fraud" (I use an ad blocker you twats, what ads am I gonna fraud against), or "battery savings" (the damn laptop is plugged in and fully topped up for fucks sake, and you do this crap even on desktop computers). Gee I wonder why creators are moving on to Floatplane and Nebula nowadays, and why people like yours truly use "highly illegal" youtube-dl. Oh and thank you for putting me in Saudi Arabia again. Pinnacle of data mining, machine learning and other such wank could not do GeoIP. for a server that used to be in a datacenter in Italy for years, and recently has been moved to another hosting provider in Germany. It's about as unchanging and static, and as easy to geolocate as you can possibly get. But hey, kill off another Google+ when?
Like seriously, yes I'm taking your Foobar challenges and you may very well be the company I end up working for. But if anything it feels like there's a shitton of stuff to fix. And the challenges themselves still using Python 2.7 honestly feels like the seldom seen tip of the iceberg.1 -
TL;DR just read this
So my current (student) job. Asked me to count inventory. Did so, on paper because nobody had a list of the product barcodes for easy cumulative scanning. I also made records for every single barcode. Then I had to key it in onto the Bookkeeping and sales software thing. They don't have keyboard shortcuts, so I quickly made an ahk script.
Had to manually type in everything 3ven though I had a digital listing.
Software lets you print barcodes for products but gives you an error when you try because you haven't assigned a code. WHICH YOU CAN'T DO IN THAT Crap. You also can't search for a product based on code.
Found out it used access as a back end for that buggy c++ thing that crashes with 'operation not permitted' when you press the red x. Great! Now I can import! And there is a barcode field. Wow. Fucking fantastic. What a fuckfest.
Their website. Their fucking website. Great from a user's standpoint, but my God. It uses joomla! However, version 2.5. That hasn't been supported for a long time. Part of the images are hard coded into the theme. The text editor flips. Adding a page sometimes works, sometimes it doesn't, and sometimes makes 2 pages.
And their cnc lathe runs on a laptop with Windows 3 on it, but hey, fine5 -
Everyone and their dog is making a game, so why can't I?
1. open world (check)
2. taking inspiration from metro and fallout (check)
3. on a map roughly the size of the u.s. (check)
So I thought what I'd do is pretend to be one of those deaf mutes. While also pretending to be a programmer. Sometimes you make believe
so hard that it comes true apparently.
For the main map I thought I'd automate laying down the base map before hand tweaking it. It's been a bit of a slog. Roughly 1 pixel per mile. (okay, 1973 by 1067). The u.s. is 3.1 million miles, this would work out to 2.1 million miles instead. Eh.
Wrote the script to filter out all the ocean pixels, based on the elevation map, and output the difference. Still had to edit around the shoreline but it sped things up a lot. Just attached the elevation map, because the actual one is an ugly cluster of death magenta to represent the ocean.
Consequence of filtering is, the shoreline is messy and not entirely representative of the u.s.
The preprocessing step also added a lot of in-land 'lakes' that don't exist in some areas, like death valley. Already expected that.
But the plus side is I now have map layers for both elevation and ecology biomes. Aligning them close enough so that the heightmap wasn't displaced, and didn't cut off the shoreline in the ecology layer (at export), was a royal pain, and as super finicky. But thankfully thats done.
Next step is to go through the ecology map, copy each key color, and write down the biome id, courtesy of the 2017 ecoregions project.
From there, I write down the primary landscape features (water, plants, trees, terrain roughness, etc), anything easy to convey.
Main thing I'm interested in is tree types, because those, as tiles, convey a lot more information about the hex terrain than anything else.
Once the biomes are marked, and the tree types are written, the next step is to assign a tile to each tree type, and each density level of mountains (flat, hills, mountains, snowcapped peaks, etc).
The reference ids, colors, and numbers on the map will simplify the process.
After that, I'll write an exporter with python, and dump to csv or another format.
Next steps are laying out the instances in the level editor, that'll act as the tiles in question.
Theres a few naive approaches:
Spawn all the relevant instances at startup, and load the corresponding tiles.
Or setup chunks of instances, enough to cover the camera, and a buffer surrounding the camera. As the camera moves, reconfigure the instances to match the streamed in tile data.
Instances here make sense, because if theres any simulation going on (and I'd like there to be), they can detect in event code, when they are in the invisible buffer around the camera but not yet visible, and be activated by the camera, or deactive themselves after leaving the camera and buffer's area.
The alternative is to let a global controller stream the data in, as a series of tile IDs, corresponding to the various tile sprites, and code global interaction like tile picking into a single event, which seems unwieldy and not at all manageable. I can see it turning into a giant switch case already.
So instances it is.
Actually, if I do 16^2 pixel chunks, it only works out to 124x68 chunks in all. A few thousand, mostly inactive chunks is pretty trivial, and simplifies spawning and serializing/deserializing.
All of this doesn't account for
* putting lakes back in that aren't present
* lots of islands and parts of shores that would typically have bays and parts that jut out, need reworked.
* great lakes need refinement and corrections
* elevation key map too blocky. Need a higher resolution one while reducing color count
This can be solved by introducing some noise into the elevations, varying say, within one standard div.
* mountains will still require refinement to individual state geography. Thats for later on
* shoreline is too smooth, and needs to be less straight-line and less blocky. less corners.
* rivers need added, not just large ones but smaller ones too
* available tree assets need to be matched, as best and fully as possible, to types of trees represented in biome data, so that even if I don't have an exact match, I can still place *something* thats native or looks close enough to what you would expect in a given biome.
Ponderosa pines vs white pines for example.
This also doesn't account for 1. major and minor roads, 2. artificial and natural attractions, 3. other major features people in any given state are familiar with. 4. named places, 5. infrastructure, 6. cities and buildings and towns.
Also I'm pretty sure I cut off part of florida.
Woops, sorry everglades.
Guess I'll just make it a death-zone from nuclear fallout.
Take that gators!5 -
!personal
So, I was diagnosed with congenital nystagmus at an early fucking age. This is complicated for people who've never heard of it before to comprehend, until they notice the eyes of the person in question. Think of it this way: I lack the biological form of optical image stabilization. Because of nystagmus, I can't fucking drive.
Now, let me tell you, it really fucking sucks. I've never had a girlfriend, never been able to get a job, basically never been able to do the type of shit most of you can already fucking do. Pile that on with college, where I don't really fucking know anybody, and it's really fucking easy to see why I've had depression and nearly fucked my GPA over last semester (2.08, yeah it's embarrassing but fuck it).
That out of the way, nystagmus is rare. So rare that any surgeries to fix it aren't guaranteed to fix the problem, and are only marginally better. I have strong skepticism for any optometrist who acts like they perform this surgery every day, because the numbers simply don't back them up. If there's so few who have this issue, then the amount of operations and opportunities to do them are fucking slim.
Today, my mom came over to Indiana from Ohio, and took me to the local Cheddar's (do other countries have those??). We sit down, and she wanted to re-hash this surgery idea. I have made the statement before that these are the only two eyes that I will ever have, and there's no guaranteed ROI on any procedures, and is probably going to fuck me over if shit hits the fan.
Then she tells me there's this doctor in Maryland. I might be geographically challenged (lol), but I'm pretty sure that's over on the east coast. It's forever from here, we'd probably have to take an airliner.
This doctor made some pretty bold fucking claims. Not only was it possible he could fix the nystagmus, but he could help me use a special form of glasses that would enable me to learn to drive. Knowing that R&D on nystagmus was sketchy because of the aforementioned conditions, I had to tell her that I still don't know how I feel about it. Also, if this doctor moves from Maryland to any of the other states, would he still be allowed to do these things?
I told her I don't know how I feel about it. I'm not sure it's worth the money if we follow through and come to find out it's not enough, and I still can't drive. She acts like this stuff is dead simple. I don't think it is. You have perceived benefits, but there have to be caveats. This would be a major change, and I don't know how I feel about following through with it.9 -
god i despise these "javascript is bad" articles. everyone seems to be jumping onto that train ever since the WAT talk.
javascript is a *weakly* typed language with implicit type conversions, that's why `{} + []` gives you `0`.
it is not easy to be the most widely used language, and to maintain compatibility across varying platforms.
please think twice before dismissing hard work.
/rant34 -
We need an open-source alternative to stack overflow. They have fucking monopolizing pieces of ratshit admins there and lame ass bots.
I HAD A FUCKING 450 REP :/ and now i have "reached my question limit"
I mean its okay of you want to keep stackoverflow clean , but straight out rejecting the new queries should be against your god damn principles, if those mofos have any!
If it is so easy to downvote and delete a question for the mods, why can't they create a trash site called dump.stackoverflow.com ? whenever a question is not following their stupid guidelines , downvote it to oblivion. After a certain limit, that question goes to dump space where it will be automatically removed after 30 days. Atleast give us 30 fucking days to gather attention of audience !
And how does a question defines someone's character that you downright ban the person from asking new questions? Is there a phd that we should be doing in our mother's womb to get qualified as legitimate question author?
"No questions are stupid" is what we usually hear in our school/college life. And that's a stretch, i agree. Some questions are definitely stupid. But "Your questions are so stupid we are removing you from the site" is the worst possible way to deal with a question asker.
Bloody assholes.
Now, can anyone tell me that if am passing a parcelable list of objects in an intent before starting a new activity, how can i retrieve it in the new activity without getting any kotlin warnings?
The compiler is saying that the data coming via intent is that of list<Type!> aka list of platform type, so how to deal with this warning?15 -
So my brother went back to school today. Now, during the 5 years I was there they had the most shit security on their IT systems, but aparently now they have fucked up their ssl. If you try to load the https page it comes up with the warning saying its an invalid certificate, but once you click it, it doesn't even load the school website, it loads this random page. Clicking on the buttons then take you to a page under their domain provided by another school. Going to this schools website, the https seems to be broken in the exact same way. It wouldnt be so bad, but it can confuse the hell out of people who type https before a url, and thos who dont realise and end up on the insecure site will need to provide passwords over an insecure connection. I am so glad im out of that place, they had such crap IT and everything was so easy to break.1
-
A user calls me an hour after I'm supposed to have logged off.
"Hey, ahh, like, something is not good with, like, some thing"
Oh, snap! What happened?
"There is, like, this report, and it's, like, not right?"
Oh, the report is showing wrong data? Let me try to get a fresh version and...
"No, like,the data is right, but, like, there is many reports and , like, should be only one?"
Oh, you mean the report consolidation feature? It should only happen if the reports are fully compatible, and since it's automatic if the reports are not already grouped it means that they cannot be grouped. Probably due to this shopping season, we've seen a high uptick in demand.
"But, like, it should be, like, one! If not I will have to type in each report, like, by hand! I usually talk to this guy XYZ and he, like, does something that I, like, have no idea what it is. Can you call him up?"
(The dude the user mentioned logged off hours ago, and is in a different timezone. It's now about 11PM for him.)
It might not be possible. The system should add observations to each report it cannot consolidate. What do those say?
(the user takes two seconds to respond. I don't think they checked anything)
"It doesn't say anything. Can you cal XYZ, please?"
...
Shit, why do people wait until the last few hours of the last day of the month to do something that should have been done days ago and then demand that everybody everywhere just adjust to their late-ass schedule?
And then to demand I wake up a hardworking dev because someone is to lazy to use the system as it was custom designed for them? Because it had no problems but just wasn't making all things easy?
That's why users have to pay - they don't pay us to code, they pay us to put up with their bullshit.2 -
2 hour meeting to brainstorm ideas to improve our system health monitoring (logging, alerting, monitoring, and metrics)
Never got past the alerting part. Piss poor excuses for human being managers kept 'blaming' our logging infrastructure for allowing them to log exceptions as 'Warnings', purposely by-passing the alerting system.
Then the d-head tried to 'educate' everyone the difference between error and exception …frack-wad…the difference isn't philosophical…shut up.
The B manager kept referring to our old logging system (like we stopped using it 5 years ago) and if it were written correctly, the legacy code would be easier to migrate. Fracking lying B….shut the frack up.
The fracking idiots then wanted to add direct-bypass of the alerting system (I purposely made the code to bypass alerting painful to write)
Mgr1: "The only way this will work is if you, by default, allow errors to bypass the alerting system. When all of our code is migrated, we'll change a config or something to enable alerting. That shouldn't be too hard."
Me: "Not going to happen. I made by-passing the alert system painful on purpose. If I make it easy, you'll never go back and change code."
Mgr2: "Oh, yes we will. Just mark that method as obsolete. That way, it will force us to fix the code."
Me: "The by-pass method is already obsolete and the teams are already ignoring the build warnings."
Mgr1: "No, that is not correct. We have a process to fix all build warnings related to obsolete methods."
Mgr2: "Yes. It won't be like the old system. We just never had time to go back and fix that code."
Me: "The method has been obsolete for almost a year. If your teams haven't fixed their code by now, it's not going to be fixed."
Mgr1: "You're expecting everything to be changed in one day. Our code base is way too big and there are too many changes to make. All we are asking for is a simple change that will give us the time we need to make the system better. We all want to make the system better…right?"
Me: "We made the changes to the core system over two years ago, and we had this same conversation, remember? If your team hasn't made any changes by now, they aren't going to. The only way they will change code to the new standard is if we make the old way painful. Sorry, that's the truth."
Mgr2: "Why did we make changes to the logging system? Why weren't any of us involved? If there were going to be all these changes, our team should have been part of the process."
Me: "You were and declined every meeting and every attempt to include your area. Considering the massive amount of infrastructure changes there was zero code changes required by your team. The new system simply worked. You can't take advantage of the new features which is why we're here today. I'm here to offer my help in any way I can with the transition."
Mgr1: "The new logging doesn't support logging of the different web page areas. Until you can make that change, we can't begin changing our code."
Me: "Logging properties is just a name+value pair dictionary. All you need to do is standardize on a name and how you add it to the collection."
Mgr2: "So, it's not a standard field? How difficult would it be to change the core assembly? This has to be standard across all our areas and shouldn't be up to the developers to type in anything they want."
- Frack wads smile and nod to each other like fracking chickens in a feeding frenzy
Me: "It can, but what will you call this property? What controls its value?"
- The look I got from both the d-bags I could tell a blood vessel popped.
Mgr1: "Oh…um….I don't know…Area? Yea … Area."
Mgr2: "Um…that's not specific enough. How about Page?"
Mgr1: "Well, pages can cross different areas, and areas cross different pages…what do you think?"
Me: "Don't know, don't care. It's up to you. I just need a name."
Mgr2: "Modules! Our MVC framework is broken up in Modules."
DevMgr: "We already have a field for Module. It's how we're segmenting the different business processes"
Mgr1: "Doesn't matter, we'll come up with a name later. Until then, we won't make any changes until there is a name."
DevMgr: "So what did we accomplish?"
Me: "That we need to review the web's logging and alerting process and make sure we're capturing errors being hidden as warnings."
Mgr1: "Nooo….we didn't accomplish anything. This meeting had no agenda and no purpose. We should have been included in the logging process changes from day one."
Mgr2: "I agree, I'm not sure why we're here"
Me: "This was a brainstorming meeting as listed in the agenda. We've accomplished 2 of the 4 items. I think we've established your commitment to making the system better. Thank you all for coming."
- Mgr1 and 2 left without looking at me or saying a word.1 -
I have been awake for 19 hours designing and integrating a client web project user interface. It took me 7 plus minutes to type this rant....
Front end ie easy2 -
Just had to debug a piece of code for the 5th time today and I'm starting to lose my mind. Why do programmers insist on using single-letter variable names?! Is it really that hard to come up with something more descriptive? I mean, I get it, "x" is easy to type, but so is "counter" or "iterations". Does anyone else feel like they're just constantly fighting a losing battle against the entropy of poorly written code?22
-
I'm very angry at C# 😡 (and java in some degree). Recently I decided to create huge project in C#. (It is my favorite launguage now because of great VS2017 its features, lib and such). I used windows form app in order to make pretty gui for this program. Everything worked fine, but i decided to implement some 3d rendering system in order to display grafs in 3d, oh how foolish was I.
Ok so what are my options?
1.DirectX9 -> abandoned by microsoft, they say its ded so nope.
2. DX11 -> great! i even can use sharpdx or simpledx to use it! oh wait, what is that? INVALID DX CALL
(in demo code)Damit!
3.OpenGL -> obsolete, lib non existent.
4. Library that comes with .NET -> WFP only sorry!
(i found some dogdy tutorials on yt for dx11 but they need .net 2.0 really?) 😐
In that moment i decided to swich to java. (because Java c#_launguage = new Java("microsoft");)
After 1 day of instaling eclipse and 2 more to install the newest jdk MANUALY i realized that java isn't that easy to use as C#, because:
- no dynamic type-> HUGE PAIN i cant use a single list to store everything buuuu!
-console? yes but its burried inside some random lib and its not consistent with every java version!
-gui editor similar to VS one? oh you need to create it from scrach!😫
Well at lest i can render things. So maybe java will render suff as another tool in my app? Nope pipes NON existent, we need to use sockiets! (unity pipe plugin was easier! worked but it was SLOW)
Ok so after few more days of struggling i managed to render simple graf using directx9 in my original C# project that works fine.. 😥 I only need to create a lib to wrap in and we are done!
Why can't companies create a laungage that will have ALL the features i need? Or at lest give me something like pipes that work in every laungage that will be helpful!
I know it is sometimes stressful to be a dev. But when your program works 😀 that is great feeling! Especialy when you learned to code yourself like me 😁. (student before a university, that lives in small abadoned town)6 -
How it started:
Need to replace in a lot of SQL files certain stuff...
find . -type f -iname '*.sql' -exec sed -i 's|new|old|g' {} \;
12 hours later that find executed a shell script containing roughly 120 lines of text pipelining.
The jolly of inconsistent workflows.
Different SQL format stylings... Makes fun when single line string replace needs to be extended to multiline RegEx handling. Or matching SQL comment configuration..
Different line endings. MacOS, Windows, Unix, Bukkake.
Different charsets / collations. Anyone wants latin1_swedish_ci... utf8... utf16... :/
Realizing some people even left sensitive data inside the SQL files (e.g. API Tokens..... Yayyyyyyy).
...
Ugh. It's never a one liner. It's never easy. -.-
I hate cleaning up messy shit.3 -
Many "purists" love to piss on JavaScript and web development. And to an extent I can understand ostream’s frustration with these people.
It’s easy to criticize because yes: many web projects are indeed shit.
But I’d like to argue that the reason why so many of these projects are crappy is because of bad management:
- unrealistic deadlines
- no clear testing strategy
- or no testing at all because of deadlines
- no time allotted to catch up on technical debt
- etc.
This type of management is far more commonplace in web projects because things need to get delivered quickly and if they’re delivered with bugs, it’s no big deal as lives aren’t at stake.
I doubt this type of management is tolerated in projects where you’re working on software for welding machines (for example), where the stakes are that "you’re expected not to kill anyone" (to quote demolishun)
So in these types of projects, management can’t tolerate anything much below perfection and thus has to adapt by setting realistic deadlines that take into account the need for quality processes and thorough testing.
If this type of management was more common in web development, I can guarantee that web applications would be much more reliable and of better quality.
I can also guarantee that poorly managed non-web projects as outlined above would be just shitty as many web products.
My point being that’s it’s really DUMB to criticize fellow devs that work with web technologies on the basis that the state of websites/web apps is a mess. It just so happens that JS is the language of the web and that the web is where things are expected to be delivered quickly (and dirty … but we can fix it later mentality)
Stop acting like you’re the elite. I have no doubt you’re super smart and great at what you do. So be smart all the way and stop criticizing us poor webdevs that have to live with the sad state of affairs. ❤️38 -
Java was made to be easy, but leaks features even c++ has.
Type inference
Java: was is that.
C++: auto, easy18 -
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! -
This story just left me speechless in any way and i want to share it. tl;dr at the end.
Im studying computer science in germany and in the first of the small classes i noticed... no, i was disturbed by a guy who would just say that the thing we're learning atm were so easy and the teacher shouldn't even bother to explain it to the class. I don't understand why you would spoile a class that hard... I'm here to learn and listen to the teacher, not to you little asshole. (We were doing basic stuff like binary system etc. but still, let us learn)
So he became unpopular pretty fast.
Fast forward, a few weeks of studying later there was a coding competition where you had to solve different algorithmic problems in a team as fast as possible.
I came there, without a team because my friends aren't interested but I enjoy such tournaments. This guy and me were the only ones without a team and we had to work together.
After him being a total dick for hours i had to watch him code a simple for-loop, that iterates through a sorted array. Nothing special, at this point anyone could do that task in our class so it shouldn't be a problem for him.
He made a simple for-loop and it worked fine, but we figured we had to iterate through the array the other way around.
'Alright', I think. 'Just let the index decr..' 'Pssshhh', he interrupted me and said he knows exactly how to do this.
I was quite impressed when he started to type in 'public int backsort..' in a new line. He tried to resort the array backwards with a quicksort that he then struggled to implement. (Of course we had to implement a quick runtime and we needed that quicksort badly)
I was kind of annoyed but impressed at the same time. I mumbled 'Java has an internal sorting algorithm already' just to amuse myself.
He then used that implementation.
After a few minutes of my pleasure and multiple tests without hitting the requested runtime, i tried to explain to him why we wouldn't need to sort that array backwards and he just couldn't believe it.
I hope that he stays more humble after that..
Also we became last place but thats ok :)
tl;dr: Guy spoiles whole class, brags with his untouchable knowledge (when we do things like binary system). In a competition has to iterate through a sorted array backwards - tries to implement a sorting algorithm to sort it backwards first. I tell him, we could use a already implemented java method. Then tell him we could simply iterate through decreasing the index. Mind-Blown2 -
I have a junior friend living in same building where I used to live. I used to help him in small doubts related to college and in some random stuff.
I once typed an application in a language which does not have its fonts in ms word by default. I used Google typing tools and Google docs to type and format it. I even taught him the process which is easy to understand.
Out of blue, after few years, this SOB pings me today and asks same thing to do again since it's urgent. I told him that I am middle of something and told him to use same tools as I used and give it a try. This fucker says he forgot how to do it. Well no problems, I told him how to do it and I will not be able to do it for him right now.
He said then try doing it after coming back to home.
Mind you that he is an engineering student.
You asshole, if it is so much urgent then use your brain and figure out this small thing yourself. If you can wait till I come back home then in which fucking way it's urgent? Go fuck yourself. I am done with your shitty attitude and on next offense you are going on my block list.4 -
There's very little good use cases for mongo, change my mind.
Prototyping maybe? Rails can prototype, create/update/destroy db schemas really quickly anyways.
If you're doing a web app, there's tons of libs that let you have a store in your app, even a fake mongo on the browser.
Are the reads fast? When I need that, use with redis.
Can it be an actual replacement for an app's db? No. Safety mechanisms that relational dbs have are pretty much must haves for a production level app.
Data type checks, null checks, foreign key checks, query checks.
All this robustness, this safety is something critical to maintain the data of an app sane.
Screw ups in the app layer affecting the data are a lot less visible and don't get noticed immediately (things like this can happen with relational dbs but are a lot less likely)
Let's not even get into mutating structures. Once you pick a structure with mongo, you're pretty much set.
Redoing a structure is manual, and you better have checks afterwards.
But at the same time, this is kind of a pro for mongo, since if there's variable data, as in some fields that are not always present, you don't need to create column for them, they just go into the data.
But you can have json columns in postgres too!
Is it easier to migrate than relational dbs? yes, but docker makes everything easy also.11 -
I was looking for alternatives of MC that are atleast usable, and found a thing called Minetest. This apparently is a Voxel Engine/Scriptable game, where you create games, that consist of mods/modules and other resources.
The cool part of it is, that mods and games etc. get handled by the game itself in a package manager type fashion, so the only thing you as a user have to do is selecting them in the ui, and putting them into your world.
It's this easy because the content is managed by a content database. This engine is built with multiplayer support by default.
Now comes the interesting part: apparently a few devs sat together and made a whole MC clone in this engine, and have called it Mineclone 2. I was testing it recently on a server and have to say, that it doesn't appear to be some low effort clone, but to my surprise is an actual playable and nicely looking game. So far i'm having fun with playing and even modding it.
Since the core is written in C++ and the mods and games content is written in LUA, you can easily writte new stuff for it, and even look at other mods stuff, to find out how to make it compatible or how to do certain things. The licenses usually allows to reuse and redistribute.
If you're looking for something like that, give Minetest + Mineclone2 a spin.6 -
9000 internet cookie points to whoever figures out this shit:
I'm trying to import a secret gpg key into my keyring.
If I run "gpg2 --import secring.gpg" and manually type each possible password that I can think of, the import fails. So far, nothing unusual.
HOWEVER
If I type the same passwords into a file and run:
echo pwfile.txt | gpg2 --batch --import secring.gpg
IT ACTUALLY FUCKING WORKS
What the fuck??? How can it be that whenever I type the pw manually it fails, but when I import it from a file it works??
And no, it's not typos: I could type those passwords blindfolded from muscle memory alone, and still get them right 99% of the time. And I'm definitely not blindfolded right now.
BUT WAIT, THERE'S MORE!!
Suppose my pwfile.txt looks something like this:
password1
password2
password3
password4
password5
password6
Now, I'm trying to narrow it down and figure out which one is the right password, so I'm gonna split the file in two parts and see which one succeds. Easy, right?
$ cat pw1.txt
password1
password2
password3
$ cat pw2.txt
password4
password5
password6
$ echo pw1.txt | gpg2 --batch --import secring.gpg
gpg: key 149C7ED3: secret key imported
$ gpg2 --delete-secret-key "149C7ED3"
[confirm deletion]
$ echo pw2.txt | gpg2 --batch --import secring.gpg
gpg: key 149C7ED3: secret key imported
In other words, both files successfully managed to import the secret key, but there are no passwords in common between the two!!
Am I going retarded, or is there something really wrong here? WTF!4 -
Designing with "real" data
In Interaction Design Uni i've got this assignment to design a prototype for an "Ebay for used books". A requirement is that we have use "real" Data and not lorem ipsum for our design prototype tools. Which is a fair point but....
It's about 50 book categories (crime, history, romance) we have to cover, and for every category the prof wants at least 2 Books.
I've don't have the time to type in the (meta)data for 100 books at 30 JSON properties by hand. What would be your advice?
Do you maybe know a easy to use online bookshop API? (remember I'm a tech savy designer not a dev)
Or do you know someone in a low income country who does data entry? Or any experience with hiring someone on fiverr?
Thank you for your help. :)undefined fiver sketch data entry design uni json database framer studio school assignment protoyping invision craft9 -
What should I do to practice being a "good coder" vs a "code Googler" who slaps other people's code into the site just because "it's enough to get the damn thing working"?
I feel really overwhelmed with all that Ive learned thus far. At this point I feel width with know depth when it comes to my knowledge of websites.
I've been messing around with html/css/js for a while and played with plenty of other languages,pre-processors, frameworks, etc. I never went to school for programming and have done work for small businesses independently for some time. Most of what I know comes from codecademy treehouse and similar sites. I can refer to Google on a lot of things but I feel like there are habits that I should be implementing so I don't have to re-do things later. I love the book apart series but I still feel like it's missing the foundational knowledge that I'm looking for.
After all of the time I've spent going through courses I feel like my experiences have given me solutions to build a few things and now I'm just jamming those solutions onto whatever I can until something I like comes on to the browser.
It's really easy to sit down and bang my head against the keyboard until something comes out that looks the way I want it to. However, I know there is way more going on that could help me make better decisions. I just feel like I'm missing something. Maybe it's experience, or maybe it's just the lack of commroddery from working alone and not being able to approach problems with a team.
I hate pulling up my css file and feeling like it's rubbish, and feeling like I don't completely understand things like flex, or display, or position. I've been pushing at this for a while but I don't think I've found a resource that has really made me feel like I'm anywhere close to being a competent coder.
There are tons of watch and learn and do type classes that show you how to make stuff, but I guess what I want to know now is why we make it that way.
At some point do you just sit down and read the MSN start to finish?
I wonder sometimes if my brain has been reprogrammed because I grew up in Google world and don't actually have to solve anything for myself. I read about a guy who locked himself away for hours with books on code and he just sat there and wrote his code on paper until he was confident that he was getting it right.2 -
think JavaScript might actually be genius...
cuz it's like you build all code with a quanta: https://en.wikipedia.org/wiki/...
and you just have to know how a quanta works
and you can build the whole universe from that
there's so much brilliance in simplicity
kind of feeling like rust is like java where there's too many abstractions you have to memorize and they could've been better represented with just one type that you could do everything with. like I can't see rust ever being as flexible as JavaScript. JavaScript feels like you're totally free to be as creative as you want and you don't even have to think about the layer you're skating on. the layer is always made up of one piece, and this one piece always follows the same physics, and you just chain it together to make everything you could ever imagine. so fast. so easy16 -
So ok, today was a crazy day.
New sprint, new ticket.
Work on the bug tickets first he said ….
Sure can. Oh had I just known that this very first innocent looking ticket is the way to coder‘s hell ….
‚Access of undefined‘ it said. Easy to fix, I thought.
Until I found the very same code twenty-fucking-two times over about 50 files!
Who would guess that exportSingleOperatorBooking, exportSeveralOperatorBookings, exportAllOperatorBookings (… and more) could in practically be the same? Nah, they all use different interfaces.
Oh wait, the alias type of the extended sub-interface of file misc.ts is the same logical content as a differently named interface below another different interface with the same content as in another ts file?
Wait that can‘t be. Riiiiight?? 😳
8h later I have barely scratched the surface of refactoring this shitshow of a project.
But no, I refuse to put the same error handling multiple times in different places.
I could have been done already. I could have saved my soul, my sanity. But I will be brave and strong to save the innocent developer that will cometh after me. For I shall be rewardeth for my sacrifice.
Amen.8 -
Okay I'm back to Dev Rant tho it still looks new and confusing sometimes, maybe because I'm new to programming world. Well I need some type of advice , I like web development, I started learning PHP (I know it an old language but it all I can help myself with, by learning). Is there any thing I'm missing? Any link on improving my skills ?
I will be glad to learn a lot from the senior developers on here . I really want to go wide into programming I'm ready for the challenges because I know the path isn't always easy!!
Thanks in advance10 -
What would be the easiest starting point on low level languages?
I started with java, learned to hate it.
I continued with web development, learned to hate it.
Continued with PHP, learned to hate it.
Continued with scripting languages like Python, NodeJS, etc.., hated it from the beginning but it was easy.
But everytime i touch something like c/c++/rust/etc i immeadiatly give up, because the syntax is so different than all these other high level languages and so much null/type safety and so on.
But i want to get into low level programming languages which compile to an executable and don't get executed on some "vm".12 -
What type of hairstyle is best for a student girl?
I lead an active lifestyle. And I want to get a hairstyle that is simple and easy to care for.15 -
I like rants that are thought provoking and push a message forward regardless of whether they may sting a little, so for my first post on here I'd like to hit at home with many of you.
Html5 "Native" Applications are not needed. Let's cover mobile first of all, the misconception that apps are written in either javascript or Native android/ Native ios environment. Or even some third party paid tools like xamarin is quite strange to me. OpenGL ES is on both IOS and Android there is no difference. It's quite easy to write once run everywhere but with native performance and not having to jump through js when it's not needed. Personally I never want to see html or css if I'm working on a mobile app or desktop. Which brings me to desktop, I can't begin to describe how unthought out an electron app is. Memory usage, storage space for embedding chromium, web views gained at the expense of literally everything else, cross platform desktop development has been around for decades, openGL is everywhere enough said. Finally what about targeting browser if your writing a native app for mobile and desktop let's say in c++ and it's not in javascript how can it turn back into javascript, well luckily c++ has emscripten which does that simply put, or you could be using a cross complier language like haxe which is what I use. It benefits with type safety, while exporting both c++ and javascript code. Conclusion in reality I see the appeal to the js ecosystem it's large filled with big companies trying to make js cross development stronger every day. However development in my mind should be a series of choices, choices that are invisible don't help anyone, regardless of the popularity of the choice, or the skill required.8 -
This is why you shouldn’t try to redefine words and deviate from accepted word definitions.
Dev team/product decides to put the word [content] in a JIRA ticket’s title. To dev, this means “it’s a CMS change and no code push required.”
A new marketing team comes on board along with a few “website manager” type folks. They start putting [content] in JIRA ticket titles, but they think [content] means content change and their requests do require a code push instead of a CMS update.
First time it happens, I comment on the ticket and tag the reporter. I explain what [content] actually means for us. Most importantly, I explain that it tells us how to prioritize the request and how to deploy the changes.
Happens again. And sometimes they’re requesting changes for the next day when we only do weekly releases. I suspect they didn’t believe me because I’m lower in the chain. It’s also easy to forget because we are using “content” to mean something different here. I ask my boss does [content] still mean what I think it does? It does. 😕
I just decide to comment on the ticket and let them know the request requires a deploy and that’s why I’m changing the title of the ticket. They might also have to wait until the weekly release.
Overall, a bunch of lunacy all around.11 -
A bit late.. and not much about how to learn to code..but more of a figuring out if the kid has a right mind set to do so..
If the kid is not the type to question everything, not resourceful, not a logical/critical thinker, gives up easily and especially if not interested in how things work then being a dev is most probably not for them.. they can still persue coding, but it will end badly..
From my experience, people who have a better education than me, but lack those skills turned out to be a crappy dev.. not interested in the best tool to complete the tasks, just making 'something', adding more shit to the already shitty stack.. and being happy with that.. which of course is not the best way to do things around here..or in life!!
Soo.. if the kid shows all that and most importantly shows interest in learning to code.. throw him the java ultimate edition book and see what happens.. joke!
There are plenty of apps thath can get you started (tried mimo, but being devs yourself it's probably not so hard to check some out and weed out the bad ones) that explain simple logic and syntax.. there is w3schools that explains basics quite well and lets you tinker online with js and python..
so maybe show them these and see what happens.. If it will pick their interest, they will soon start to ask the right questions.. and you can go from there..
If the kids are not the 'evil spawns' of already dev parents or don't have crazy dev aunties and uncles, then they will have to work things out themselves or ask friends... or seek help online (the resourceful part comes here).. so google or any flavour of search engines is their friend..
Just hope they don't venture to stack overflow too soon or they will want to kill themselves /* a little joke, but also a bit true.. */
Anyhow, if the kid is exhibiting 'dev traits' it is not even a question how to introduce it to the coding.. they will find a way.. if not, do not force them to learn coding "because it's in and makes you a lot of moneyz"..
As with other things in life, do not force kids to do anything that you think will be best for them.. Point them in direction, show them how it might be fun and usefull, a little nudge in the right direction.. but do not force.. ever!!!
And also another thing to consider.. most of the documentation and code is written in english.. If they are not proficient, they will have a hard time learning, checking docs, finding answers.. so make sure they learn english first!!
Not just for coding, knowing english will help them in life in general. So maaaaybe force them to learn this a bit..
One day my husband came to me and asked me how he can learn.. and if it's too late for him to learn coding.. that he found some app and if I can take a look and tell him what I think, if it is an ok app to learn..
I was both flattered and stumped at the same time..
Explained to him that in my view, he is a bit old to start now, at least to be competitive on the market and to do this for a living, but if it interests him for som personal projects, why not.. you're never too old to start learning and finding a new hobby..
Anyhow, I've pointed out to him that he will have to better his english in order to be able to find the answers to questions and potential problems.. and that I'm happy to help where and when I can, but most of the job will be on him.
So yeah, showed him some tutorials, explained things a bit.. he soon lost interest after a week and was mindblown how I can do this every day..
And I think this is really how you should introduce coding to kids.. show them some easy tutorials, explain simple logic to them.. see how they react.. if they pick it up easily, show them something more advanced.. if they lose interest, let them be.
To sum up:
- check first if they really want to learn this or this is something they're forced to do (if latter everything you say is a waste of everybodys time)
- english is important
- asking questions (& questioning the code) is mandatory so don't be afraid to ask for help
- admitting not knowing something is the first step to learning
- learn to 'google' & weed out the crap
- documentation is your friend
- comments & docs sometimes lie, so use the force (go check the source)
- once you learn the basics its just a matter of language flavour..adjust some logic here, some sintax there..
- if you're stuck with a problem, try to see it from a different angle
- debugging is part of coder life, learn to 'love' it4 -
The documentation of scala akka http may be just gibberish as far as I am concerned. You would think that hooking into the marshalling process (aka de/serialization) would be straight forward, I've dealt with similar problems before and solved it.
I have an object, it should be transformed into a Json and vice versa. Should be easy as pie.
Not with scala and akka-http. The docs tell you how to achieve something in dozen different ways yet lack a complete example. My first custom marshaller I created in a "marshall" package in my! namespace, but it was breaking scala compilation due to some black magic.
It's not clear how when and why marshallers are added, they just somehow are. Why do I have to deal with entity marshallers vs response marshallers. I just want each instance of a certain type to be transformed into a specific Json presentation.
Asking on stackoverflow also only yields in incomplete hints of "just do boargh" presupposing certain knowledge while sounding borderline condescending.
Currently, I just want to burn the project and rebuild it with fucking PHP. Flame all you want, at least I would get things done and the JMS serializer library has decent documentation and it works in an expected way.
Akka-http, combined with Scala, looks from my current rage-driven perspective like a solution worse than the problem. -
Budding Developer here...
I've tried to teach myself Web Dev over the past 10 yrs on/off... Sad. But now I'm actually in a developer role moved up from IT helpdesk a year ago.
In the past year I've learned SQL, SSRS, SSIS, database concepts, and.... VB6. I am a master at none due to having to cram so much in a year while taking on various projects, issues, and learning the organizations software infrastructure and processes. I also taught myself current HTML, CSS, and basic Javascript. Learning the different basic concepts with each.
Over the past couple months I've been given a new project and now learning ASP.NET and C#. Actually trying really hard to get adept at these as I'm finally doing Web Developing in my role...
I am also dealing with multiple major family issues and a near 2 yr old that we cosleep with that still doesn't sleep through the night.
Why the crap is it so easy to convert an enum to a string but takes 50 functions to convert a string to an enum???
Cast, convert, parse... Why so much logic???
When the online teacher says type why do I have to rifle through 7 different meanings in my head before I know what kind of type he's referring to??4 -
Aaaaarggghhh
Having to think about what and when to eat is such a fucking pain in the ass. I don't want to search for recipes. I don't want to think about nutrition. I don't want to count calories. I just want something to tell me exactly what to eat, when I should eat and what to buy. Same goes for workout routines. Just tell me what to do I'll do it. I want an autopilot for that sort of stuff so I don't have to ducking think about it anymore. It's such a giant waste of time to have to manually plan this shit through, I want to use my brain for other things like math or chemistry or Programming. In fact I don't even want to cook because I am alone and cooking for one person is so ducking pointless. I lost over 40kg in the last years. I learned my lesson, most things taste like shit now because I associate food with all the pain and depression that I had to overcome to achieve a normal weight and fit body. Food went from being a joy to being an annoying necessity. I got fit and I want to work out even more but I really don't want to think about this shit. The exercises and pain and hunger are all nothing but planning is my true enemy. It bores me to death, it's more painful than running until I break down I absolutely fucking hate it.
I am really close to start some kind of open source food planner where you can type in your goals ( weight loss, muscle gain etc.) In great detail with all kind of options ( vegetarian, vegan, allergies, budget, country where you live in for local recipes etc.) And it generates a food plan for you with exact details of where exactly to buy the ingredients how to cook them etc. No fancy Ui No bullshit ads for some kind of wonder drug nothing annoying. Something so easy that it can be used as an autopilot for ones fitness and life. Do what it says and you'll look decent, don't think about the rest. Having that would be so great and I could finally think about more important shit than this. Less overhead more time for things that can't be automated.
And Yes I know that this is exactly what a personal trainer would do, but I am not going to spend 600€ a month for someone to tell me exactly what to buy, what to eat and how to work out.23 -
Started learning php from youtubeversity.. then started teaching kids php, helps you alot too (to teach)..
Then I started at the University.. eh, its easy mode, when you already learned object oriented programming ..
Youtube, stackoverflow, looking through other people's code, editing it, breaking it, fixing it and various tutorials really helps alot.
Still where I get my information, not the University. But it depends on which type of person you are2 -
Whenever I reach the point where static analysis can't help me any further I always feel a sort of thrill mixed with terror. This is the real deal. Until now the problems were easy to find, the questions had well defined answers to choose from, the rules were universal. In the part of the logic that cannot be checked, the invariants upheld manually, where the best the type system can enforce is for the programmer to clearly state what they're doing, lies the real beast. In proofs commented on functions or invariants as logical expressions over plain English variables written in the doc comments of a struct.
In the blurry and pompous future I imagine for software development, that's where the programmer's time will be spent. Once we all agree on what a string is, what it means to depend on someone else's code, and what parts a UI should be made of, all a developer should have to do is make decisions and derive proofs an automated deduction engine can't do on its own. -
As far as static content creators go: I think Gatabyt JS is pretty fucking cool.
Docs make sense and shit is easy to navigate too.
React gets only as complicated as you want it too (that is across the board tho)
Integration with different data sources. You don't want to use wordpress but your retarded ass users don't get much sense into other things? sure fuck it, fine whatever. Wanna use drupal? here
I am still looking into it but other than the 230mb of node modules for a hello world type of project I really don't see that many issues.3 -
I thought that making an android game was gonna be easy.
And it was easy.
I created everything from zero: logo, banners, UI, etc.
Yet today was uploading an update for internal test (friends and whatnot) and 2 minutes later I get an email from Google saying that my recent update was rejected due to "violation of impersonation policy".
Like what the heck
Did my research on the type of game I was doing, and nothing matched with what I was doing and yet I got banhammered :(1 -
A very long rant.. but I'm looking to share some experiences, maybe a different perspective.. huge changes at the company.
So my company is starting our microservices journey (we have a 359 retail websites at this moment)
First question was: What to build first?
The first thing we had to do was to decide what we wanted to build as our first microservice. We went looking for a microservice that can be used read only, consumers could easily implement without overhauling production software and is isolated from other processes.
We’ve ended up with building a catalog service as our first microservice. That catalog service provides consumers of the microservice information of our catalog and its most essential information about items in the catalog.
By starting with building the catalog service the team could focus on building the microservice without any time pressure. The initial functionalities of the catalog service were being created to replace existing functionality which were working fine.
Because we choose such an isolated functionality we were able to introduce the new catalog service into production step by step. Instead of replacing the search functionality of the webshops using a big-bang approach, we choose A/B split testing to measure our changes and gradually increase the load of the microservice.
Next step: Choosing a datastore
The search engine that was in production when we started this project was making user of Solr. Due to the use of Lucene it was performing very well as a search engine, but from engineering perspective it lacked some functionalities. It came short if you wanted to run it in a cluster environment, configuring it was hard and not user friendly and last but not least, development of Solr seemed to be grinded to a halt.
Elasticsearch started entering the scene as a competitor for Solr and brought interesting features. Still using Lucene, which we were happy with, it was build with clustering in mind and being provided out of the box. Managing Elasticsearch was easy since there are REST APIs for configuration and as a fallback there are YAML configurations available.
We decided to use Elasticsearch since it provides us the strengths and capabilities of Lucene with the added joy of easy configuration, clustering and a lively community driving the project.
Even bigger challenge? Which programming language will we use
The team responsible for developing this first microservice consists out of a group web developers. So when looking for a programming language for the microservice, we went searching for a language close to their hearts and expertise. At that time a typical web developer at least had knowledge of PHP and Javascript.
What we’ve noticed during researching various languages is that almost all actions done by the catalog service will boil down to the following paradigm:
- Execute a HTTP call to fetch some JSON
- Transform JSON to a desired output
- Respond with the transformed JSON
Actions that easily can be done in a parallel and asynchronous manner and mainly consists out of transforming JSON from the source to a desired output. The programming language used for the catalog service should hold strong qualifications for those kind of actions.
Another thing to notice is that some functionalities that will be built using the catalog service will result into a high level of concurrent requests. For example the type-ahead functionality will trigger several requests to the catalog service per usage of a user.
To us, PHP and .NET at that time weren’t sufficient enough to us for building the catalog service based on the requirements we’ve set. Eventually we’ve decided to use Node.js which is better suited for the things we are looking for as described earlier. Node.js provides a non-blocking I/O model and being event driven helps us developing a high performance microservice.
The leap to start programming Node.js is relatively small since it basically is Javascript. A language that is familiar for the developers around that time. While Node.js is displaying some new concepts it is relatively easy for a developer to start using it.
The beauty of microservices and the isolation it provides, is that you can choose the best tool for that particular microservice. Not all microservices will be developed using Node.js and Elasticsearch. All kinds of combinations might arise and this is what makes the microservices architecture so flexible.
Even when Node.js or Elasticsearch turns out to be a bad choice for the catalog service it is relatively easy to switch that choice for magic ‘X’ or component ‘Z’. By focussing on creating a solid API the components that are driving that API don’t matter that much. It should do what you ask of it and when it is lacking you just replace it.
Many more headaches to come later this year ;)3 -
Motherfucking peace of shit....
Dont know to whom I should direct this to .
Was creating a new login page for web app using Quasar(vue.js). Since my application have 2 different types of user, which also have different UI, and functionality.
One is written in vanilla ( and is quiet heavy) and the other one in vuejs ( though earlier it was written in vanilla too ). Login page too was written in vanilla which was working fine.
Now just yesterday I finished a prototype for the third type of user, which is also written in vuejs. Now I decided to re create login page using vuejs. Quiet small and easy to do. Finished it yesterday itself. Now since today's morning I am trying to configure it so that it this piece of shit just let me log in. It was authentication and verifying but not letting me log in.
( On server after authentication, I set cookies/token on clients browser and auto reload the page, so during next request to server/ or during reload, server will read the cookie/token and send the specific admin panel to user)
Prick. Dick.
It was setting cookie, but not at the '/' path. Mother fucker.
It was setting cookie to the path I was sending login credentials ( which was different from '/', I.e.- /login/verify=password )
So it was setting cookie/token at '/login/verify=password'.
Even tried setting path for cookie at server. Read everything on internet. MF nothing worked. All I came across was, 'this is CORS' .... 'this is CORS'. Assholes, if it were CORS', how then I am able to make request to server and getting response without error
Only a hour ago, when I made get request to '/login/verify=password' I figured out, cookie is being sent to server for this path only. Then did some changes at server, so to send login credentials to '/'. Now that shit is working
Fucking waste of time. Wasted more than 6 hours. Asshole.
Btw, if you can suggest a better way to login, then please. -
Is it easy to switch to a different type of development?
I.e. going from desktop to web development, or to game development or systems development etc?3 -
I just completed this heartfelt and sincere little cry for help on another ste but it wasn't verified because I'm not special enough to format it like a PAD, whatever that means. I cannot seem to simply burn music files anymore. I'm using a Samsung laptop Device name DESKTOP-AII2T2S
Processor Intel(R) Core(TM) i7-2675QM CPU @ 2.20GHz 2.20 GHz
Installed RAM 8.00 GB
Device ID D766A89B-5671-4D9F-B6F9-2D884E9EA309
Product ID 00326-10000-00000-AA880
System type 64-bit operating system, x64-based processor
Pen and touch No pen or touch input is available for this display
Edition Windows 10 Home
Version 20H2
Installed on 09/08/2020
OS build 19042.928
Experience Windows Feature Experience Pack 120.2212.551.0
The music is a combination of commercially relased material as well as bootleg recorded material.
I am not looking for a "This is Why We Can No Longer Burn Our Music Files" Intro. All you need to tell me is the corporations that eat the world are protecting their copywrighted music and I must be up earlier and eat bettter breakkie than those individuals. That I can handle. Although I'm not a dev, I'm sure you can understand the feelling after you have worked for hours on attempting something, only to discover your effort has been in vain (much like my former relationships). Again, if you can give me any direction aside from hanging it up and attempting to find happeniness elsewhere, sock it to me. I deserve it. Thanks.
11 years ago when I used a Macbook putting together a playlist, inserting a blank CDR, and burning the file onto the CDR was very easy. I\'m am now faced with hurdles I sometimes scale, only to fall on my face.
I\'m not stupid, or uneducatated about flac, blah blah. I learnt it all myself. I\'m now using a windows operating system. Afew weeks ago I was able to burn what ever I pleased and it was OK.
Then one day, it just wouldn\'t do it. I was following no altered procedures. Since then it\'s been misery. I remember that ocenaudio once burned music files for me.
I don\'t know how to go about retrieving an instruction manual that will take me step by step as to how to do this.
You help would be appreciated.
Cheers,
Jonno
I've been lurking here since 2017 when my Macbook died. I've always enjoy the level of sanity and have attempted to add my jaded, distant and nihilistic spin on a few threads. It won't destroy me if I can't burn files anymore, I'll just go back on heavy tranques and change my name to Ben Zo. Dia Za P.een3 -
Alright, I've got a confesstion. It's a confession and a question, combined, get it?
Anyway, I've been a happy Linux user for over 20 years now, and I've used all kinds of graphical envs, from tiling wms like dwm and xmonad (I didn't care for hyprland, sorry if that's weird) to full DEs like kde, cinnamon, gnome, etc.
The "question" here is why do people hate Gnome so much? It's the one environment that I keep coming back to, especially now that my main machine is a beast, and RAM usage is nary a concern. Even then, my system is sipping RAM compared to KDE (running two docker dev environments, three browser windows with several tabs - one of which is streaming music, slack, and steam is sitting on the fourth virtual desktop, chilling), and I'm still at just over 18 GB of ram.Being able to push one single key/key combo, and type anything at all that is vaguely relevant to what you want to accomplish, and having that thing be instantly available (including searching for individual files) is super nice. Easy virtual and multi monitor switching is intuitive; little to no effort needed.
Even when I want to do other stuff, like play a game, or edit a photo, video, or some of my shitty musical-aspirational material - GNU+Linux with Gnome has been and continues to be the easiest, most neato way to get shit done.
Why the hate, gnome haters? Maybe you’re using it wrong?13 -
Hi guys. I wanna start a new personal project for web development. Actually i code in Rails for work and i want to try something different, Easy to learn but able ti manage any type of website and web-app. Any suggestion?5
-
Looking at Rust's preliminary fn trait model (basically the function call operator) and I don't get one thing:
Why is the argument tuple a generic type parameter and not an associated type? It would've been so easy to ensure consistency in the position that Rust doesn't have overloads. A trait can be implemented for any number of generic type parameter values, but an implementation may only have a single type for each association.3 -
Candidates must check application essay sample to suit their specific purpose
Students require checking any available application essay (https://wikihow.com/Write-an-Applic...) sample for its authenticity and reliability. In this regard, students should remember that maximum number of the papers available on-line, mostly free, is simply the cut and paste job, which make the task of candidates difficult in making their decision. Therefore, it is essential to check the quality of written work of such samples, while students need hunting for the example, which can suit their purpose
For example, students desiring admission to a particular course program in pathology, would need an essay sample, which would relate to the field of analytical medicine, while any written work on the subject of pathological laboratory tests can be excellent. However, finding the topic specific essays like this one would be very difficult, as students need ordering such customized essays.
Therefore, students require spending quite some time in conducting a proper research to find the reliable and trust-worthy essay writing service for getting their customized essay written within the scheduled delivery time. In addition, students should check the sources that the writer would have used for gathering the information, which is presented in the essay, to support its thesis statement.
However, the following guidelines would help students to check the available application essay sample, with regard to its essential ingredients that should be present in such essays. Nevertheless, students could also go through a good term paper help to learn the art of writing a well-defined essay, which can ensure their admission to the coveted course program.
Introduction and the essay topic
Students should check the introduction part of the sample and the method of presenting the topic in it. In addition, the writer should formulate a close link of the topic problem with the thesis statement of the essay. However, as admission officers do not expect candidates to write research papers as their admission essays, the topic question and hypothesis of the essay should be very simple and easy to understand.
However, the topic of the application essay sample should be close to the theme of the assignment. In addition, the students should check the method of presenting arguments in the main essay body, while its introduction should provide hints about them, in brief. Therefore, the sample should provide supporting details like personal examples, while addressing the essay topic.
Check essay language and structure
The language used in the available application essay sample by type of https://500wordessay.org/blog/... should be simple and vivid, while the examples accompanying the discussions should be reader-friendly and easy to understand. Students should realize that selecting officers do not expect them to use any complex terms in their admission essay, as it would give an indication of their bragging, without much reason to do so.
In addition, the essay organization should be such that the contents are transparent and free flowing, while the whole essay writing must be cohesive. Nevertheless, students should look at research paper help for learning the art of locating a good essay sample, on-line.
However, they can find more tips to check the quality of an application essay sample from custom essays.18 -
Python:
TypeError: unsupported operand type(s) for %: 'tuple' and 'dict'
Ugh there's a comma somewhere. I kinda appreciate how easy it is to make a tuple, but at the same time I don't. If there's no value after a comma with only one value behind it, could the linter at least mark it as a warning?2 -
which type are you ??
**Manager:** Hey, we've got a little hiccup in the production environment. I know it's Friday evening and you're probably daydreaming about pizza, but could you give it a peek?
**Type 1:** Man, this is like finding a needle in a haystack while wearing sunglasses at night. Might take me a few hours... or days. But hey, wish me luck and have an epic weekend!
**Type 2:** Eureka! Found the gremlin. It looks like XYZ person tried to be a bit too creative on commit number 2234324. Maybe they had too much caffeine? Anyway, could you have a chat with them? And oh, may your weekend be as smooth as a fresh jar of peanut butter.
**Type 3:** Detective mode activated! Found the sneaky bug. It was XYZ person's "masterpiece" in commit number 2234324. But fear not! I've put on my superhero cape and fixed it in commit number 345453345.
**Type 4:** This issue again? It's like a recurring bad dream about forgetting your pants! I've revamped the whole thing so we don't have to relive this nightmare. If someone tries to pull this off again, our CI/CD will roast them like a marshmallow over a campfire.
**Type 5:** Ta-da! Fixed the glitch, jazzed up the design, and sprinkled in some extra logging magic. Now, troubleshooting will be as easy as pie. Speaking of which, I've got time for a coffee and maybe a slice of pie before heading out. Cheers!
Type 6 **Gloomy**: Oh, the digital clouds have gathered again. This issue is like a never-ending rain on a Monday morning. I've peered into the abyss of our code, and it's... well, it's deep and dark. I'll need some time, a flashlight, and maybe a comforting blanket. If you don't hear from me in a few hours, send in a search party with some hot cocoa.4 -
Anyone one here played around with CouchDB before or use it for personal projects or work?
At face value, it seems like a pretty good DB, Just wanted to get some idea from people that have used it before if it is actually pretty good.
I'm not a dba and don't know the caveats of DB tuning or management. So I'm in need of a DB with simplicity and easy management in mind Hahaha.
I'm mostly working with data that is either in JSON or hashtable/dictionary format so it felt like a NoSQL DB would be easy-ish to save my data into, plus I don't think (I hope my guess is right here) that I need regular SQL type relations with the data I'm working with.
Please help me with my noob-iness!Thank you! 😄 -
No matter how hard you try to stick magnet with a wood it just won’t work out in any way.
i hope its possible to change the wood into metal just like as easy as type-casting an integer into string, but it just won’t happen anyway~~2 -
Tinder is not the same as it was 4 years ago. Wtf is this bullshit. I see some girl who looks hot then before swiping right i open the bio and it says TRANS 🏳️⚧️
Fjcm off
F7cking MENTALLY ILL handicapped♿️♿️♿️ Sick Fucking motherfuxkers
Why is this even a thing
I never knew trannies exist in my country
I thought we were not like america
This plague seems to be spreading everywhere now
Whoever legalized transgender stuff should get the worst possible execution and torture as a death sentence
Aside from this bullshit i cant fucking tell if im being catfished, chatting with an AI bot, or wasting my fucking time on some other possible fucking way--because who the fuck says they want to meet me, text me on my personal number, and 1 day later block me, unmatch me and never reply again for absolutely NO reason????
Fucking whores
But
It is expected, and from my personal experience years ago, that tinder is used only by mentally challenged people
That sounds ironic but let me cook
I dont use tinder out of boredom or to troll, i delete it as soon as i find someone. The app is cancer. I dont need it unless i need to find someone else, fast and easy. Tinder saves time to find someone and easier to break the ice especially for an introvert like me. While you got some people who literally use tinder out of fun! Several of them told me they're not looking to get fucked or find a bf, they just use tinder for fun. What the fuck are you then looking on tinder? To find someone to go to the church and pray to God??
Smh
I even experimented. I split my personalities in 2:
- 1 being a rude fuckboy douchebag who directly asks them to give me pussy
- 1 being a normal guy asking them out for a drink and talk
Can you guess the results?
Of course the fucking douchebag type of personality got more pussy! I got replies by being a fuckboy, even their phone numbers, 4+ of them in just 1 day, while the "take you out for a drink" guy got ghosted, no fucking pussy, slow replies and unmatches!
Of course the fuckboy personality also got backlash, some of them unmatched me but lots of them didnt. While the "coffee guy" got nothing.
Fuckboy got at least 70% success rate
Coffee guy got 0% success rate
And both are the same person, me, b2plane
That's tinder in 1 paragraph summarized6 -
Learn git. Contribute to open source projects - you may learn more from code review on a single PR than from a whole tutorial. Ask questions constantly. Learn more git. Look for the cleanest solution to a problem. Write code that is easy to improve, easy to expand, and easy to debug. Learn even more git. Don't limit yourself to thinking only in terms of OOP, or functional, or procedural, or whatever type of programming you may be comfortable with. Don't be afraid to do some work by hand. Learn git, so that when all comes crashing down and your team crumbles to pieces, when your relationships fail and your friends disappear, when you're down on your luck and there truly is no hope left in life, you can check out of the dangerous world of your current HEAD and return to the home and comfort of your master branch, which you've kept safe, secure, and functional.
-
QA (Quality Assurance) software testing https://aimprosoft.com/services/... is a process of verifying and validating software products to ensure that they meet certain standards of quality. This process involves testing software applications for defects, bugs, and errors to ensure that they function as intended and meet the needs of end-users.
There are different types of QA software testing, including:
Functional Testing: This type of testing involves checking the functionality of the software to ensure that it performs as intended.
Performance Testing: This type of testing involves checking the performance of the software under various conditions to ensure that it meets performance requirements.
Security Testing: This type of testing involves checking the security of the software to ensure that it is free from vulnerabilities that could be exploited by attackers.
Usability Testing: This type of testing involves checking the user interface and user experience of the software to ensure that it is easy to use and meets the needs of end-users.
Compatibility Testing: This type of testing involves checking the compatibility of the software with different devices, operating systems, and browsers to ensure that it works as intended on different platforms.
Overall, QA software testing is an essential part of the software development process, as it helps to ensure that the software is of high quality and meets the needs of end-users.2 -
What's harder than trying to name a variable is to think of a memorable but easy to type password to a system that resets expires every 3 months with history checks.2