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 - "<1% documentation"
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!229 -
The programmer and the interns part 2.
We will discuss numerous events that happened over the past week or so.
Case 0:
We had our weekly engineering meeting. The interns were invited as well.
We hold meetings in the generic, big, corporate meeting rooms with a huge table in the middle.
There were more than enough chairs for everyone yet the most motivated and awkward intern (let's call him Simon) chose to stand, cause "it's cool man, I always stand". At this point we all know that he probably read about Agile stand up meetings and is confusing it with this one. Otherwise he's simply trying to stand out from the rest. (See what I did there?)
Anyway the meeting has started way later than planned (what a surprise) and took much longer than Simon expected. Everybody is sitting and listening to the CTO while occasionally glancing at the weird looking intern standing awkwardly and refusing to sit because it would make his original intentions pointless. He even tried to nod whith a serious face and his hands crossed when the CTO said something and looked at his general direction. The meeting was about a hour and a half long but with the delay it was at least 2.5 hours.
At the end Simon was so exhausted that he fell asleep on the office puff, was forgotten and locked inside. 3 hours later when I was home I received a call from him with his sleepy-trying-to-sound-awake voice telling the news. Lucky there's a 24/7 Noc team that could rescue him.
Case 1:
An intern who was late on his Linux test connected to every test VM (should I remind you that each one has a personal VM but they share passwords for their roots?) and tried to reset it with "sleep 10s; shutdown -h now".
He took down all 13 of those so I had to turn them on and switch passwords again.
Case 2:
One of the interns didn't do any of his training chores. Apparently he forgot what he was told to use, ignored all online documentation and used Windows CMD with Linux commands for almost a week already.
Case 3:
Simon uses Vim to write all text possible. Even mails, he then selects all and copies into the mail body. He spent half a day on a homework task I gave them. He wrote everything inside one text file using Vim. When he was done he saved the file and quit the editor. He then said "Oh shit! I've forgot to sign my name!". I explicitly told him that theres absolutely no need for that because I see which mail the file was sent from. He said "I don't even need a program for that!" and gave a couple of strokes on the keyboard.
Later I received an email from him with a .txt attachment. When I opened it the only text that was inside was "by Simon ;)".
I logged to his machine and checked the last command ran on the file:
echo "by Simon ;)" > linuxtasks.txt
Case 4:
The girl here uses a MacBook. She keeps getting confused with the terminal windows and rebooting her own machine instead of the remote VM.
Case 5:
Haven't checked yet how this happened but one of the interns deleted the gui from his local Centos.33 -
!rant
Has anyone been paying attention to what Google's been up to? Seriously!
1) Fuchsia. An entire OS built from the ground up to replace Linux and run on thin microcontrollers that Linux would bog down — has GNU compilers & Dart support baked in.
2) Flutter. It's like React Native but with Dart and more components available. Super Alpha, but there's "Flutter Gallery" to see examples.
3) Escher. A GPU-renderer that coincidentally focuses on features that Material UI needs, used with Fuchsia. I can't find screenshots anywhere; unfortunately I tore down my Fuchsia box before trying this out. Be sure to tag me in a screenshot if you get this working!
4) Progressive Web Apps (aka Progress Web APKs). Chrome has an experimental feature to turn Web Apps into hybrid native apps. There's a whole set of documentation for converting and creating apps.
And enough about Google, Microsoft actually had a really cool announcement as well! (hush hush, it's really exciting for once, trust me)...
Qualcomm and Microsoft teamed up to run the full desktop version of Windows 10 on a Snapdragon 820. They go so far as to show off the latest version of x86 dekstop Photoshop with no modifications running with excellent performance. They've announced full support for the upcoming Snapdragon 835, which will be a beast compared to the 820! This is all done by virtualization and interop libraries/runtimes, similar to how Wine runs Windows apps on Linux (but much better compatibility and more runtime complete).
Lastly, (go easy guys, I know how much some of you love Apple) I keep hearing of Apple's top talent going to Tesla. I'm really looking forward to the Tesla Roof and Model 3. It's about time someone pushed for cheap lithium cells for the home (typical AGM just doesn't last) and made panels look attractive!
Tech is exciting, isn't it!?38 -
Hey everyone,
We have a few pieces of news we're very excited to share with everyone today. Apologies for the long post, but there's a lot to cover!
First, as some of you might have already seen, we just launched the "subscribed" tab in the devRant app on iOS and Android. This feature shows you a feed of the most recent rant posts, likes, and comments from all of the people you subscribe to. This activity feed is updated in real-time (although you have to manually refresh it right now), so you can quickly see the latest activity. Additionally, the feed also shows recommended users (based on your tastes) that you might want to subscribe to. We think both of these aspects of the feed will greatly improve the devRant content discovery experience.
This new feature leads directly into this next announcement. Tim (@trogus) and I just launched a public SaaS API service that powers the features above (and can power many more use-cases across recommendations and activity feeds, with more to come). The service is called Pipeless (https://pipeless.io) and it is currently live (beta), and we encourage everyone to check it out. All feedback is greatly appreciated. It is called Pipeless because it removes the need to create complicated pipelines to power features/algorithms, by instead utilizing the flexibility of graph databases.
Pipeless was born out of the years of experience Tim and I have had working on devRant and from the desire we've seen from the community to have more insight into our technology. One of my favorite (and earliest) devRant memories is from around when we launched, and we instantly had many questions from the community about what tech stack we were using. That interest is what encouraged us to create the "about" page in the app that gives an overview of what technologies we use for devRant.
Since launch, the biggest technology powering devRant has always been our graph database. It's been fun discussing that technology with many of you. Now, we're excited to bring this technology to everyone in the form of a very simple REST API that you can use to quickly build projects that include real-time recommendations and activity feeds. Tim and I are really looking forward to hopefully seeing members of the community make really cool and unique things with the API.
Pipeless has a free plan where you get 75,000 API calls/month and 75,000 items stored. We think this is a solid amount of calls/storage to test out and even build cool projects/features with the API. Additionally, as a thanks for continued support, for devRant++ subscribers who were subscribed before this announcement was posted, we will give some bonus calls/data storage. If you'd like that special bonus, you can just let me know in the comments (as long as your devRant email is the same as Pipeless account email) or feel free to email me (david@hexicallabs.com).
Lastly, and also related, we think Pipeless is going to help us fulfill one of the biggest pieces of feedback we’ve heard from the community. Now, it is going to be our goal to open source the various components of devRant. Although there’s been a few reasons stated in the past for why we haven’t done that, one of the biggest reasons was always the highly proprietary and complicated nature of our backend storage systems. But now, with Pipeless, it will allow us to start moving data there, and then everyone has access to the same system/technology that is powering the devRant backend. The first step for this transition was building the new “subscribed” feed completely on top of Pipeless. We will be following up with more details about this open sourcing effort soon, and we’re very excited for it and we think the community will be too.
Anyway, thank you for reading this and we are really looking forward to everyone’s feedback and seeing what members of the community create with the service. If you’re looking for a very simple way to get started, we have a full sample dataset (1 click to import!) with a tutorial that Tim put together (https://docs.pipeless.io/docs/...) and a full dev portal/documentation (https://docs.pipeless.io).
Let us know if you have any questions and thanks everyone!
- David & Tim (@dfox & @trogus)
52 -
There is. My latest creation. A 8bit microcontroler made in minecraft.
Features:
(1.0 version without control room)
-8bit full adder + overflow flag
-8x8bit RAM
-16x8(4bit instruction, 4bit address)
program memory
-64 possible microinstructions (16 instructions with 4 step each)
-uncondintional and if oveflow jumps
(place determined using address written with instruction)
-1/3Hz clock speed 😨
New working version (2.0) has 1Hz clock and new faster instruction decoder.
In 3.0 in addition to that useless bus was replaced with 16x8bit "hardware" stack that can store adresses and data. The clock is going to be yeeted out because it is unnecesary #clocklessisbetter (WIP tho)
Might add more documentation and post it as learning model for CS wanabees 🤔. What do you think?
Picture: Old working version 1.0
(the only one with fancy diagram)
Newer version screenshots in comments.
33 -
1. Have some issue with my code which spits out cryptic compiler error.
2. Ask on stack overflow, Reddit, etc for a solution.
3. Get scolded at for "not reading the documentation" and "asking questions which could be answered by just Googling". Still no clue what I'm doing wrong, or what the solution would be.
4. Find someone else's vaguely related problem.
5. Post my problematic code as the answer, with arrogant comment about OP being a retard for not figuring that out for themselves.
6. A dozen angry toxic nerds flock in to tell me how retarded and wrong I am, correcting me... solving my original problem.
7. Evil plan succeeded, my code compiles, and as a bonus I made the internet a worse place in the process.
I think if you tell a bunch of autistic neckbeards that "all coronaviruses are fundamentally incurable", you'd have a vaccine within a week.14 -
So everyone is sharing their work again, so here is mine.
And no 6 monitors, 1 pc isn't overkill.
Well...
Maybe...
But just a little!
Usually, one is spotify, one iChrome, one development (center bottom), one execution of dev, one email&facebook split and one documentation.
24 -
Things have been a little too quiet on my side here, so its time for an exciting new series:
practiseSafeHex's new life as a manager.
Episode 1: Dealing with the new backend team
It's great to be back folks. Since our last series where we delved into the mind numbing idiocy of former colleagues, a lot has changed. I've moved to a new company and taken a step up as a Dev manager / Tech lead. Now I know what you are all thinking, sounds more dull and boring right? Well it wouldn't be a practiseSafeHex series if we weren't ...
<audience-shouting>
DEALING! ... WITH! ... IDIOTS!
</audience-shouting>
Bingo! so lets jump right in and kick us off with a good one.
So for the past few months i've been on an on-boarding / fact finding / figuring out this shit-storm, mission to understand more about what it is i'm suppose to do and how to do it. Last week, as part of this, I had the esteemed pleasure of meeting face to face with the remote backend team i've been working with. Lets rattle off a few facts to catch us all up:
- 8 hour time difference to me
- No documentation other than a non-maintained swagger doc
- Swagger is reporting errors and several of the input models are just `Type: String`
- The one model that seems accurate, has every property listed as optional, including what must be the primary key
- Properties go missing and get removed at the drop of a hat and we are never told.
- First email I sent them took 27 days to reply, my response to that hasn't been answered so far 31 days later (new record! way to go team, I knew we could do it!!!)
- I deal directly with 2 of them, the manager and the tech lead. Based on how things have gone so far, i've nick named them:
1) Ass
2) Hole
So lets look at some example of their work:
- I was trying to test the new backend, I saw no data in QA. They said it wouldn't show up until mid day their time, which is middle of the night for us. I said we need data in our timezone and I was told: a) "You don't understand how big this system is" (which is their new catch phrase) b) "Your timezone is not my concern"
- The whole org started testing 2 days later. The next day a member from each team was on a call and I was asked to give an update of how the testing was going on the mobile side. I said I was completely blocked because I can't get test data. Backend were asked to respond. They acknowledged they were aware, but that mobile don't understand how big the system is, and that the mobile team need to come up with ideas for the backend team, as to how mobile can test it. I said we can't do anything without test data, they said ... can you guess what? ... correct "you don't understand how big the system is"
- We eventually got something going and I noticed that only 1 of the 5 API changes due on their side was done. Opened tickets. 2 days later asked them for progress and was told that "new findings" always go to the bottom of the backlog, and they are busy with other things. I said these were suppose to be done days ago. They said you can't give us 2 days notice and expect everything done. I said the original ticket was opened a month a go *sends link* ......... *long silence* ...... "ok, but you don't understand how big the system is, this is a lot of work"
- We were on a call. Product was asking the backend manager (aka "Ass") a question about a slight upgrade to the new feature. While trying to talk, the tech lead (aka "Hole") kept cutting everyone off by saying loudly "but thats not in scope". The question was "is this possible in the future" and "how long would it take", coming from management and product development. Hole just kept saying "its not in scope", until he was told to be quiet by several people.
- An API was sending down JSON with a string containing a message for the user with 2 bits of data inside it. We asked for one of those pieces to also come down as a property as the string can change and we needed it client side. We got that. A few days later we found an edge case and asked for the second piece of data to be a property too. Now keep in mind, they clearly already have access to them in order to make the string. We were told "If you keep requesting changes like this, you are going to delay the release of the backend by up to 2 weeks"
Yes folks, there you have it, the most minuscule JSON modifications, can delay your release by up to 2 weeks ........ maybe I should just tell product, that they don't understand how big the app is, and claim we can't build it on our side? Seems to work for them
Thats all the time we have for today,
Tune in for more, where we'll be looking into such topics as:
- If god himself was an iOS developer ... not
- Why automate when you can spend all day doing it by hand
- Its more time-efficient to just give everything a story point of 5
- Why waste time replying to emails ... when you can do nothing instead
See you all next week,
practiseSafeHex13 -
*casually clicking through aws services*
*discoveres ses (email service)*
*tries it out as email driver in laravel project*
*discoveres you are in sandbox by default, means you can only send emails to yourself*
*reads documentation, says to get out of sandbox request a limit increase with default values*
// 200 per day, max 1 per second
*request what is mentioned*
*while waiting, find threads of people with the most well documented use case requests getting denied*
*pretty sure i will be denied to, thinking of starting to look elsewhere*
// next morning
*opens mail*
# your application is now out of sandbox and can now send 50k emails a day with a max of 14 per second.
13 -
1. Humans perform best if they have ownership over a slice of responsibility. Find roles and positions within the company which give you energy. Being "just another intern/junior" is unacceptable, you must strive to be head of photography, chief of data security, master of updating packages, whatever makes you want to jump out of bed in the morning. Management has only one metric to perform on, only one right to exist: Coaching people to find their optimal role. Productivity and growth will inevitably emerge if you do what you love. — Boss at current company
2. Don't jump to the newest technology just because it's popular or shiny. Don't cling to old technology just because it's proven. — Team lead at the Arianespace contractor I worked for.
4. "Developing a product you wouldn't like to use as an end user, is unsustainable. You can try to convince yourself and others that cancer is great for weight loss, but you're still gonna die if you don't try to cure it. You can keep ignoring the disease here to fill your wallet for a while, but it's worse for your health than smoking a pack of cigs a day." — my team supervisor, heavy smoker, and possibly the only sane person at Microsoft.
5. Never trust documentation, never trust comments, never trust untested code, never trust tests, never trust commit messages, never trust bug reports, never trust numbered lists or graphs without clearly labeled axes. You never know what is missing from them, what was redacted away. — Coworker at current company.8 -
So before I resign from my job tomorrow I thought I'd talk a little about a couple of things at work that I won't ever tell my boss in person but are generally some of the reasons I want to leave.
---------- warning long rant ----------
1. The CEO of the company finds out I only have my learner's and take the bus, goes on to belittle me about taking the bus.
(It may have been meant as a joke but I was offended, and we don't have any actual HR to complain to)
First off my real reason for not getting my restricted is mostly related to the fact public transportation does the job it needs to, I don't really complain unless the planning is fucked up (Adele concert rant lol) but typically I don't need a car. The other reason is because with a car I'd have to wait in traffic 1-2 hour each way. Also cars cost money which I don't have.
2. CEO buys himself and general manager brand new Range Rovers, you know those giant monstrosities box jeep looking things.
I hate this because I earn $31k, those things probably cost around $50 each (so typically 3 years worth of my wages).
When I had a talk about my contract at the 6 month mark, the general manager (my boss) said he wouldn't budge on my salary (yet they buy these jeeps)
3. I live way too far from work and because of it being Auckland and the current inflation for house prices, the rent prices have also increase, I wouldn't be able to get a house closer to home nor rent with minimum wage :(
4. Though it's not too necessary they mask that the app was made by me, whenever I see an email about the app to potential clients they refer to be as this app guy, and during their presentations they don't really include as part of the reason this app has been developed ( aside from my boss being the client, I came up with some interesting ideas to turn their paper form of the process they use into a digital one, I also did research for the specific topics, something I could have just asked for instead).
5. Old fashioned way of looking at so called "IT", they added fixing computers to my contract which I dread, especially since I'll be close to a deadline and then I get a call to fix someone's computer...
6. They don't seem to want to expand their "development team" to more than one person.
When I give my resignation I have to stay here for a month and I bet people will start to act differently around me, my likely my boss and the CEO. I think the other people that work will understand, given my situation.
I'm planning to for the last month to only do planning for the app they want me to work on, UML diagrams, use cases, Sprint planning (albiet, only developer here lol). Research on the third party libraries we need for the app and generally give the next guy the easiest path to getting the app done.
I want to do this because the Android and iOS app we're done via cowboy programming in a sense. (I don't have too much in terms of documentation and planning aside from a Microsoft planning website setup with to-do of which features are done for the iOS and paper Todo for the Android app.
Alright long rant over, I've got it all written down, glad I'll be leaving this place.51 -
Summing up many ridiculous meetings I've been in.
Many years ago we hired someone for HR that came from a large fortune 500 company, really big deal at the time.
Over the next 6 months, she scheduled weekly to bi-weekly, 1 to 2 hour meetings with *everyone* throughout the day. Meeting topics included 'How to better yourself', 'Trust the winner inside you'...you get the idea.
One 2-hour meeting involved taking a personality test. Her big plan was to force everyone to take the test, and weed out anyone who didn't fit the 'company culture'. Whatever that meant.
Knowing the game being played, several of us answered in the most introverted, border-line sociopath, 'leave me the frack alone!' way we could.
When she got the test results back, she called an 'emergency' meeting with all the devs and the VP of IS, deeply concerned about our fit in the company.
HR: "These tests results were very disturbing, but don't worry, none of you are being fired today. Together, we can work as team to bring you up to our standards. Any questions before we begin?"
Me: "Not a question, just a comment about the ABC personality test you used."
<she was a bit shocked I knew the name of the test because it was anonymized on the site and written portion>
Me: "That test was discredited 5 years ago and a few company's sued because the test could be used to discriminate against a certain demographic. It is still used in psychology, but along with other personality tests. The test is not a one-size-fits-all."
VP, in the front row, looked back at me, then at her.
HR: "Well....um...uh...um...We're not using the test that way. No one is getting fired."
DevA: "Then why are we here?"
DevB:"What was the point of the test? I don't understand?"
HR: "No, no...you don't understand...that wasn't the point at all, I'm sorry, this is getting blown out of proportion."
VP: "What is getting blown out of proportion? Now I'm confused. I think we all need some cooling off. Guys, head back to the office and let me figure out the next course of action."
She was fired about two weeks later. Any/all documentation relating to the tests were deleted from the server.13 -
This facts are killing me
"During his own Google interview, Jeff Dean was asked the implications if P=NP were true. He said, "P = 0 or N = 1." Then, before the interviewer had even finished laughing, Jeff examined Google’s public certificate and wrote the private key on the whiteboard."
"Compilers don't warn Jeff Dean. Jeff Dean warns compilers."
"gcc -O4 emails your code to Jeff Dean for a rewrite."
"When Jeff Dean sends an ethernet frame there are no collisions because the competing frames retreat back up into the buffer memory on their source nic."
"When Jeff Dean has an ergonomic evaluation, it is for the protection of his keyboard."
"When Jeff Dean designs software, he first codes the binary and then writes the source as documentation."
"When Jeff has trouble sleeping, he Mapreduces sheep."
"When Jeff Dean listens to mp3s, he just cats them to /dev/dsp and does the decoding in his head."
"Google search went down for a few hours in 2002, and Jeff Dean started handling queries by hand. Search Quality doubled."
"One day Jeff Dean grabbed his Etch-a-Sketch instead of his laptop on his way out the door. On his way back home to get his real laptop, he programmed the Etch-a-Sketch to play Tetris."
"Jeff Dean once shifted a bit so hard, it ended up on another computer. "5 -
1. See new shiny tech
2. Read install/setup instructions
3. Make Hello World/Todo app by copying codeblocks from documentation
4. Update LinkedIn profile
5. Insist on rewriting entire company ecosystem
Oh wait, thats my horseshit-eating coworker3 -
The company I work for...
Has:
1. No CI/CD
2. SVN instead of GIT
3. Outsourcing to India (oof)
4. No Automated Testing
5. Uses Bugnet (ancient, outdated)
6. No clearly defined code standards
7. No real documentation on the code
8. Rubbish code
9. No desire to reduce technical debt
10. Poorly maintained DB
11. Poor outdated equipment
12. A useless PM
13. Still priotizes IE support (??)
On a scale of 1 to 10 how fucked is this company and anything they develop?40 -
Currently on an internship, PHP mostly, little bit of Python and the usual web stuff, and I just had the BEST FUCKING DAY EVER.
Wake up and find out I'm out of coffee, oh boy here we go.
Bus leaves 10 minutes late, great gonna miss my train.
Trains just don't wanna ride today, back in a bus I go, what's normally a 10 minute train travel is now a 90 minute bus ride.
Arrive at internship, coffee machine is broke, non problem, I'll just lose it slowly.
NOW HERE COMES THE FUCKING GOOD PART!!
Alright, so I'm working on a CMS that can be used just about on any device you want, mobile or desktop, it's huge, billion's of rows of scientific data. Very specific requirements and low error margins. Now, yesterday I was really enjoying myself here until today, Project manager walks in, comes to my desk and hands me a Samsung Gear S3, an Apple watch and some cheap knockoff. He tells me that before the Friday deploy, THE ENTIRE CMS SHOULD WORK ON THOSE WATCHES!
I mean, don't get me wrong, I like a challenge but it's just not right, I mean, I'm still not sure what the right way to handle tables on phones is, but smart watches, just no. Besides that, I've never worked with any Apple devices, let alone WatchOs, nor have I worked with Android Wear.
Also, Project Manager is a total dickhead, he's the kinda guy that prefers a light theme, doesn't clean up his code, writes 0 documentation for an API, 1 space = tab, pure horror.
So after almost flipping my desk, I just called my school coach to announce I'm leaving this internship. After a brief explanation he decides to come over, and guess what, according to the Project Manager I wasn't supposed to do that, I was supposed to test if it would be possible.
FUCKING ASSFUCKFACE9 -
I've had my share of incompetent coworkers. In order of appearance:
1. A full stack dev. This one guy never, and I mean NEVER uses relationships in their tables. No indexing, no keys, nada. Couple of months later he was baffled why his page took ten seconds to load.
2. The same dev as (1). Requirement was to create some sort of "theme" feature for a web app. Hacked it by putting !important all over the place.
3. The same dev again. He creates several functions that if the data exists returns a view, and if it doesn't, "echo '0'". No, not return 0 or return false or anything, but fucking echo. This was PHP. If posted a rant about this a few months ago.
4. Same dev, has no idea what clean code is. No, not just reusable functions, he doesn't even get indenting right. Some functions have 4 spaces, some 2 tabs, some 6 tabs! And this is inside the same function. God wait until he tries Python...
5. Same dev now suggests that he become the PM. GM approves (very small company). Assigns me to travel to a client since they needed "technical assistance about the API". Was actually there to lead a UAT session.
Intermezzo, that guy went from fullstack dev to PM to sales (yes, one who calls clients to offer products) to business development, to product analyst in the span of two years.
After a year and a half there, I quit.
6. New company, a "QA engineer" who also assumes the role as the product owner. Does absolutely no tests other than "functional tests" in which he NEVER produces any form of documentation. Not even a set of test cases. He goes by "intuition".
7. Same guy as (6), hands me requirements for a feature. By "hands me" I mean he did that verbally. No spec documents, no slack chat, no Trello card. I ended up writing it as a card in Trello. Fast forward to the due date, he flips out because that wasn't what he wanted. Showed him the card. He walked away, without thinking of a solution how this mess should be handled.
Despite all this, I really don't want him (6&7) to leave the company. The devs get really stressed out at this job and he does make a really good person to laugh with/at. -
To write 1000 lines of JS, I need 1 cup of coffee.
To write 100 lines of documentation I need 100 cups of coffee.
For some reason time stops when I open confluence9 -
You know your project is successful when other people lose their job because they were made redundant by your project. A project that I ended up not being proud of.
When I joined this MNC back in '96 there were a lot of duplicate work happening. Staff from other countries would enter information in Excel, print it, then fax it to HQ where the 12 staff there (3 shifts, 4 staff per shift) splits the pages among themselves and enters the info into the system. A few months in I implemented something I did for my school project ( https://devrant.com/rants/783197/... ) - a lite version where staff from other countries could enter the info and send them to the BBS located at the HQ. Management said they like it and asked me to deploy, telling the 12 staff that they will be moved to a different role.
I spent the next 30weeks travelling, deploying and training. At the same time I was trying learn to learn how to do automated installs using Rar for DOS and their SFX module (I think it was v2) onto 1.44Mb disks so that we can ship them to the rest of the countries and anyone can do the deployment, then train them via PC Anywhere.
When I came back to HQ all but 1 of the staff were gone. I finished the automated installs and documentation then left the company after 3months. Needless to say I made more than a few enemies there. Oh and they managed to deploy to the rest of the countries using my packaged installers5 -
Okay so this is going to be a rant.
My exams started last wednesday. I'm doing a study called Application Development and I'm in my 5th year now (out of 4, long story).
This is the stuff that's going wrong at the moment and it's getting FUCKING annoying.
- The windows computers were not installed that well so everyone had to downgrade from the last update which took way too long.
- We have to have at least 1-3 conversations with the 'client' and 'manager' for each document but the waiting lists are so long that we have to wait for about 2-4 hours in general (we had a total of 18 hours for the first task) so a lot of people couldn't even have a meeting about around half of the documentation. Having meetings about everything is a REQUIREMENT for a good grade.
- Some of the teachers are so slow that the meetings take way too long.
- Although documentation is important, we calculated that about 80% of the WHOLE FUCKING EXAMS will be documentation which is way too fucking much.
- Some of the grading points (like chapters you have to write in the documentation) ARE NOT EVEN IN THE TEMPLATES MY STUDY PROVIDES. Already had a moment where a teacher was like 'I'm missing this chapter?' me: 'It's not in the official templates?!?' teacher: 'stop right there. I have to grade you for this so is that your or my problem'? unbe-fucking-lievable.
- Some students get so many 'musts' that we are seriously doubting if we can get this to work within about 2 days (12 hours).
Sorry for this rant but I had to get this the FUCK out.8 -
it's funny, how doing something for ages but technically kinda the wrong way, makes you hate that thing with a fucking passion.
In my case I am talking about documentation.
At my study, it was required to write documentation for every project, which is actually quite logical. But, although I am find with some documentation/project and architecture design, they went to the fucking limit with this shit.
Just an example of what we had to write every time again (YES FOR EVERY MOTHERFUCKING PROJECT) and how many pages it would approximately cost (of custom content, yes we all had templates):
Phase 1 - Application design (before doing any programming at all):
- PvA (general plan for how to do the project, from who was participating to the way of reporting to your clients and so on - pages: 7-10.
- Functional design, well, the application design in an understandeable way. We were also required to design interfaces. (Yes, I am a backender, can only grasp the basics of GIMP and don't care about doing frontend) - pages: 20-30.
- Technical design (including DB scheme, class diagrams and so fucking on), it explains it mostly I think so - pages: 20-40.
Phase 2 - 'Writing' the application
- Well, writing the application of course.
- Test Plan (so yeah no actual fucking cases yet, just how you fucking plan to test it, what tools you need and so on. Needed? Yes. but not as redicilous as this) - pages: 7-10.
- Test cases: as many functions (read, every button click etc is a 'function') as you have - pages: one excel sheet, usually at least about 20 test cases.
Phase 3 - Application Implementation
- Implementation plan, describes what resources will be needed and so on (yes, I actually had to write down 'keyboard' a few times, like what the actual motherfucking fuck) - pages: 7-10.
- Acceptation test plan, (the plan and the actual tests so two files of which one is an excel/libreoffice calc file) - pages: 7-10.
- Implementation evalutation, well, an evaluation. Usually about 7-10 FUCKING pages long as well (!?!?!?!)
Phase 4 - Maintaining/managing of the application
- Management/maintainence document - well, every FUCKING rule. Usually 10-20 pages.
- SLA (Service Level Agreement) - 20-30 pages.
- Content Management Plan - explains itself, same as above so 20-30 pages (yes, what the fuck).
- Archiving Document, aka, how are you going to archive shit. - pages: 10-15.
I am still can't grasp why they were surprised that students lost all motivation after realizing they'd have to spend about 1-2 weeks BEFORE being allowed to write a single line of code!
Calculation (which takes the worst case scenario aka the most pages possible mostly) comes to about 230 pages. Keep in mind that some pages will be screenshots etc as well but a lot are full-text.
Yes, I understand that documentation is needed but in the way we had to do it, sorry but that's just not how you motivate students to work for their study!
Hell, students who wrote the entire project in one night which worked perfectly with even easter eggs and so on sometimes even got bad grades BECAUSE THEIR DOCUMENTATION WASN'T GOOD ENOUGH.
For comparison, at my last internship I had to write documentation for the REST API I was writing. Three pages, providing enough for the person who had to, to work with it! YES THREE PAGES FOR THE WHOLE MOTHERFUCKING PROJECT.
This is why I FUCKING HATE the word 'documentation'.36 -
I had to open the desktop app to write this because I could never write a rant this long on the app.
This will be a well-informed rebuttal to the "arrays start at 1 in Lua" complaint. If you have ever said or thought that, I guarantee you will learn a lot from this rant and probably enjoy it quite a bit as well.
Just a tiny bit of background information on me: I have a very intimate understanding of Lua and its c API. I have used this language for years and love it dearly.
[START RANT]
"arrays start at 1 in Lua" is factually incorrect because Lua does not have arrays. From their documentation, section 11.1 ("Arrays"), "We implement arrays in Lua simply by indexing tables with integers."
From chapter 2 of the Lua docs, we know there are only 8 types of data in Lua: nil, boolean, number, string, userdata, function, thread, and table
The only unfamiliar thing here might be userdata. "A userdatum offers a raw memory area with no predefined operations in Lua" (section 26.1). Essentially, it's for the API to interact with Lua scripts. The point is, this isn't a fancy term for array.
The misinformation comes from the table type. Let's first explore, at a low level, what an array is. An array, in programming, is a collection of data items all in a line in memory (The OS may not actually put them in a line, but they act as if they are). In most syntaxes, you access an array element similar to:
array[index]
Let's look at c, so we have some solid reference. "array" would be the name of the array, but what it really does is keep track of the starting location in memory of the array. Memory in computers acts like a number. In a very basic sense, the first sector of your RAM is memory location (referred to as an address) 0. "array" would be, for example, address 543745. This is where your data starts. Arrays can only be made up of one type, this is so that each element in that array is EXACTLY the same size. So, this is how indexing an array works. If you know where your array starts, and you know how large each element is, you can find the 6th element by starting at the start of they array and adding 6 times the size of the data in that array.
Tables are incredibly different. The elements of a table are NOT in a line in memory; they're all over the place depending on when you created them (and a lot of other things). Therefore, an array-style index is useless, because you cannot apply the above formula. In the case of a table, you need to perform a lookup: search through all of the elements in the table to find the right one. In Lua, you can do:
a = {1, 5, 9};
a["hello_world"] = "whatever";
a is a table with the length of 4 (the 4th element is "hello_world" with value "whatever"), but a[4] is nil because even though there are 4 items in the table, it looks for something "named" 4, not the 4th element of the table.
This is the difference between indexing and lookups. But you may say,
"Algo! If I do this:
a = {"first", "second", "third"};
print(a[1]);
...then "first" appears in my console!"
Yes, that's correct, in terms of computer science. Lua, because it is a nice language, makes keys in tables optional by automatically giving them an integer value key. This starts at 1. Why? Lets look at that formula for arrays again:
Given array "arr", size of data type "sz", and index "i", find the desired element ("el"):
el = arr + (sz * i)
This NEEDS to start at 0 and not 1 because otherwise, "sz" would always be added to the start address of the array and the first element would ALWAYS be skipped. But in tables, this is not the case, because tables do not have a defined data type size, and this formula is never used. This is why actual arrays are incredibly performant no matter the size, and the larger a table gets, the slower it is.
That felt good to get off my chest. Yes, Lua could start the auto-key at 0, but that might confuse people into thinking tables are arrays... well, I guess there's no avoiding that either way.13 -
[WARNING] THIS RANT IS NOT FOR HULKS OR SHE-HULKS
Here we fucking go again, currently, the time is 1:09 am in Malaysia, while I received a Pull request, so as a senior software engineer it is my duty to review the code before approving to merge develop branch. And this mother fucker decided to do this right after our CTO warned him about his coding style. Refer to https://devrant.com/rants/4699002/... for free cancer.
Our entire team is not happy working with this mother fucker, he is too arrogant.
Btw if he wants to insult me using codes, at least have the decency to draw some UML diagram , write proper documentation and write a proper logic, isn't better?
53 -
1. No more coding on paper! Why can some already write essays on laptops but programmers are stuck with "analog"?
2. No vendor lock-ins! Teach free, cross-platform development, not VB.NET.
3. No more professors stuck in the eighties! If all you know is 6800 assembly, GTFO. I heard NASA was hiring...
4. Enforce code style consistency, proper documentation and even VCS for larger projects
5. Algorithms -> scripting -> programming. Don't quickly explain the basics, then throw students straight into Java.10 -
3 off the most dreadful things to do as a developer
1) Documentation
2) Testing (Multiple device/browser)
3) Wearing formal clothes7 -
The school I went to...
Grade 1:
*GTA and minecraft to let student familiarize with cheating command and console
*Student should find and read the damn documentation him/herself about items, mobs and quests in every game. Be self motivated!
Grade 2:
*Contribute to community for myth hunting, map creation and glitch
*Solve personal networking, graphics problem and understanding hardware limitation.
*Solving game compability problem after Windows update
*Introduction to cracking and hacking
Grade 3:
*Motivation to host a game server
*Custom server scripting => start To really code the first time, Perl, python, etc
*Introduction to Linux server and Debian
Grade 4:
*From DDoS to server security
*Server maintenance and GitHub
*Game Server web development
*Motivation into non-gaming discipline by a random YouTube geek
*Set up mincraft with raspberry pi and Arduino
*Switch to Linux or Mac and just dual boot for gaming
Prepared for the real world.
Congratz for the graduation in the Pre-school of Developers (11-14 yrs old) :)5 -
Fucking kill me right now please. How the FUCK am I supposed to get any shit done when I'm learning something and the fucking DOCUMENTATION has been UNAVAILABLE for the past THREE MOTHERFUCKING DAYS.
GET YOUR SHIT TOGETHER MICROSOFT.
Fucking idiots.
It wouldn't be so fucking bad if things like this didn't happen all the time.
But when EVERYTHING is FUCKED - ALL THE TIME, it kinda makes a person lose all hope in humanity and technology.
A typical motherfucking day for me:
Wake up
Go to work
Come home
Eat dinner (if I remember)
Attempt to code shit for 1 - 3 hours before I have to sleep
CAN'T FUCKING CODE SHIT BECAUSE:
1. Internet disconnects every 5 fucking minutes
2. DOCUMENTATION SITES ARE FUCKING DOWN
3. Shit Windows is UPDATING
4. a previous windows UPDATE has royally motherFUCKED my PC
5. etc
FUCK14 -
I'll point names today
Boss: Quick! The Xero integration is not working anymore!
Xero Documentation: place your client secret in the HEADERS
Me: * places client secret in headers *
Xero API: Bad Request!
Me:
*re-reads documentation*
*creates new client secret*
*1 hour of trying*
Hmmmm
* places client secret in request body, not in headers *
Xero API: Ok!
UPDATE YOUR DOCUMENTATION
TELL US ABOUT IT IN THE CHANGELOGS5 -
First time ranter here..
So I started to work in this big company with allegedly many talented devs.
All excited to start and learn a whole bunch of new stuff.
There was this dev, with gazillion years of experience.
We were working on a similar parts of the code base and he told me I should be reusing his module.
I opened the module sources to learn about its internals.
Oh boy...
To illustrate it best, Let’s say there was a function called foo.
It was doing one thing. There was also a function called foo1. Doing almost exactly the same thing. There was also fooA.
And I kid you not, there was a fooA1.
All of them were doing almost the same thing.
Almost all of the functions were documented. The documentation for foo would be:
“This does X. I don’t like how it does it, so there is foo1 which is better.”
Additionally, only 1 of the functions was in use...
It doesn’t end here.
There were functions named like:
cdacictad
You ask what it means?
Well it means “clean directory a copy it’s contents to another directory” of course...
Months later he is no longer with us. I deleted this module.
PS
Glad to be here ;)16 -
Team quarterly capacity planning:
- Confluence document created with a big table (+100 rows) by product / business. Each row is something that needs to be worked on for the coming quarter.
- Row 1 could be an Epic with 15 tickets attached. Row 2 could be adding a single log to our analytics. No consistency.
- For each row, we create a separate confluence document with the "technical details". 75% of the time these remain blank. 1% of the time there is something useful, the rest its a slightly longer version of the description from the bigger document.
- Each row gets a high level estimate by the leads. 50% of the time without sufficient background info to actually do get it accurate.
- These are then copied into the teams excel spreadsheet, where it will calculate if we are over/under capacity.
- We will go backwards and forwards between confluence and excel until we are "close enough" to under capacity without being too much.
- Once done, we then need to copy them into the org/division's excel spreadsheet. This document is huge, has every team on it and massive 50pt text saying "Do not put a filter on this document".
- Jira tickets + Epics will now be created for each one, with all the data be copied over by hand, bit by bit, by product. Often missing something.
- Last week, at the end of this process for Q2 (2 weeks late), 6 of the leads were asked to attend a 30 minute meeting to discuss how to group the line items together because we had too many for the bigger excel spreadsheet.
- This morning I was told business weren't happy with one of our decisions to delay one line item. Although they were all top priority (P0), one of them was actually higher than that again (P-1?) and we need to work it back in.
... so back to step 1
- Mid way through Q2, a new document will be created for Q3. Work items that didn't make the cut will be manually copied from one to the other. 50/50 whether anything that didn't get done on time in Q2 will make its way to the Q3 doc.
- "Tech excellence" / "Tech debt" items (unit/UI tests, documentation, logging, performance, stability etc) will never be copied over. Because product doesn't understand them and assumes therefore that they are unimportant.
==================
PS: I'd like to say this was a rare event for Q2, but no. Q4 and Q1 were so bad, we were made assurances from the director of engineering that he would fix this process for Q2. This is the new and improved process (I shit you not) that has resulted in nothing tangible.7 -
After returning back from the company we were purchasing a new phone system (hardware+software, $100K+, kind of a big deal)
VP: “I need the new phone system software integration for our CRM by next week. I need to demo the system for the other VPs”
Me: “No problem. Were you able to get their API like I asked?”
VP: “Salesman didn’t know for sure what that was, but he said all the developer software documentation is on their site.”
Me: “Did he give you a URL? Their main site is all marketing mumbo-jumbo. I assume there is another one specific for developers.”
VP: “Yea, he might have said something, but I don’t understand why you need it. The salesman said the integration would be seamless. He showed me several demos.”
Me: “No, I mean I need to know, is the API a full client install? a simple dll? is this going to be a web service integration? How will I know what to program against?”
VP: “I think I heard him say something about COM? Does that sound like an API?”
Me: “It’s a start. Did he provide you anything, a disk, a flash drive, anything with the software?”
VP: “No, only thing he told me was our CRM integration would be seamless and our development team would have no problems.”
Me: “OK..OK…I get it…he’s a salesman. Is there an 1-800 number I can call? A technical support email address? Anyone technical I can reach out to?”
VP: “Probably, but I don’t understand what the problem is. I need the CRM integrated by next week. I gave the other VPs a promise we would get it done. I do not break promises.”
Me: “Wait…when are we installing the new system?”
VP: “Well, the purchase order will be cut at the end of the month’s billing cycle, the company has about a two month turnaround time to deliver and install the hardware, so maybe 3 months from now? Are you going to be able to have the integration ready for next week?”
Me: “If we won’t see any of the hardware for 3 months, what exactly am I integrating with?”
VP: “That API you wanted or whatever it is. COM…yea, it’s COM. I was told the integration would be seamless and our developers would have no problem. I don’t understand why you can’t simply write the code to make it work. Getting the hardware installed is going to be the hardest part.”
Me: “OK, so I have no documentation, we have no hardware, no software, and no idea what this ‘seamless integration’ means. I’m afraid there isn’t anything I can do right now. ”
VP: “Fine!...I’ll just have to tell the other VPs you were not able to execute the seamless integration with the CRM.”
Which he did. When the hardware+software was finally installed, they hired consultants (because I “failed”). I think the bill was in the $50K range to perform the ‘integration’ which consisted of Excel spreadsheets (no kidding). When approached with the primary CRM integration, the team needed our API documentation, a year’s development time and $300K. I was pissed off enough, and I had the API documentation, I was able to get the basic CRM integration within 3 days. When an agent receives a call, I look up the # in our database, auto-fill the form with the customer info, etc. Easy stuff when you have the documentation.
The basics worked and the VP was congratulated by ‘saving’ the company $300K. May or may not have been bonuses involved, rumors still out on that one, but I didn't see em'. Later my manager told me the VP was really ticked that I performed the integration ‘behind his back’, but because it was a success, he couldn’t fire me.10 -
Hi,
I'm not a ranty person so I never actually thought I'd post anything here but here it goes.
From the beginning.
We use ancient technologies. PHP 5.2, Symfony 1.2 and a non RFC complient SOAP with NO documentation.
A year ago We've been thrown a new temporary project. An VOIP app for every OS.
That being iOS, Android, MAC, PC, Linux, Windows mobile. With a 3 month deadline. All that thrown at 4 PHP developers. The idea being that They'll take it, sign the delivery protocol, everyone happy. No more updates for the app needed. They get their funds they needed the app for and we get paid.
Fast forward to today...
Our dev team started the year with great news that We'll most likely have to create a new project. Since the amount of new features would be far greater than current feature set, we managed to finally force our boss to use newer technologies (ie. seperate backend symfony4 PHP7+/frontend react, rest api and so on). So we were ecstatic to say the least. With preestimates aimed at a minimum 3 month development period. Since we're comfortable with everything that needs to be done.
Two days later our boss came to me that one of our most annoying clients needs a new feature. Said client uses ancient version written on a napkin because They changed half of the specification 2 weaks before deadline in a software made not by a developer but some sysadmin who didn't know anything. His MVC model was practically VVV model since he even had sql queries in some views. Feature will take 3 days - fixing everything that will break in the meantime - 1-2 months.
F*** it, fine. A little overtime won't kill me.
Yesterday boss comes again... Apparently someone lost a delivery protocol for a project we ended that half a year ago. Whats even better at the time when we asked for hardware to test we never got any. When we asked about any testing enviornment - nothing. The app being SEMI-stable on everything is an overstatement but it was working on the os'es available at the time. Since the client started testing now again, it turns out that both Android app does not work on 8.1/9 and the iOS app does not work on ios12. The client obviously does not want to pay and we can do little with it without the protocol, other than rewriting the apps.
It will take months at least since all of those apps were written by people that didn't know neither the OS'es nor the languages. For example I started writing the iOS one in swift. Only to learn after half of the development time, that swift doesn't like working by C Library rules and I had to use ObjC also. With some C thrown in due to the library. 3 unknown languages, on an unknown platform in 3 months. I never had any apple device in my hand at that time nor do I intend to now. I'm astonished it worked out then. It was a clusterf**k of bad design and sticking everything together with deprecated apis and a gum. So I'll have to basically fully rewrite it.
If boss decides we'll take all those at the same time I'll f***ing jump of a bridge.8 -
Me: Hey Guys we've been working on this application(project 1) for 4 months and i think we're almost done.
Owner of Company(Not My Boss): CooCook4Choo we moving you to project 2, forget about the previous one.
2 months go by, project is completed.
Boss: I've got another project for you
Me: Awesome!
1 month later...
PM: We're moving you back to project 1
Me: Why?
PM: Our senior dev resigned, we only have junior Devs and we need a lot of help before deployment next month.
Me: Why am i moving back to a project i was taken off of
PM: Where an agile company and you will be moved off many projects
Me: **Fuuuuuuuuuuck!!!* Ok i'll need documentation of everything that happened in the past three months, the current issue, what the current sprint revolves around and A demo of what has been added.
PM: Relax, I've got a lot of work myself, you will get them soon.
2 days later, still don't have what i need, PM is on vacation.
Me: Guess i don't have any work to do.3 -
writing library code is hard.
there are sooo many details that go into writing good libraries:
designing intuitive and powerful apis
deciding good api option defaults, disallowing or warning for illegal operations
knowing when to throw, knowing when to warn/log
handling edge cases
having good code coverage with tests that doesn't suck shit, while ensuring thry don't take a hundred years to run
making the code easy to read, to maintain, robust
and also not vulnerable, which is probably the most overlooked quality.
"too many classes, too little classes"
the functions do too much it's hard to follow them
or the functions are so well abstracted, that every function has 1 line of code, resulting in code that is even harder to understand or debug (have fun drowning in those immense stack traces)
don't forget to be disciplined about the documentation.
most of these things are
deeply affected by the ecosystem, the tools of the language you're writing this in:
like 5 years ago I hated coding in nodejs, because I didn't know about linters, and now we have tools like eslint or babel, so it's more passable now
but now dealing with webpack/babel configs and plugins can literally obliterate your asshole.
some languages don't even have a stable line by line debugger (hard pass for me)
then there's also the several phases of the project:
you first conceive the idea, the api, and try to implement it, write some md's of usage examples.
as you do that, you iterate on the api, you notice that it could better, so you redesign it. once, twice, thrice.
so at that point you're spending days, weeks on this side project, and your boss is like "what the fuck are you doing right now?"
then, you reach fuckinnnnng 0.1.0, with a "frozen" api, put it on github with a shitton of badges like the badge whore you are.
then you drop it on forums, and slack communities and irc, and what do you get?
half of the community wants to ban you for doing self promotion
the other half thinks either
a) your library api is shitty
b) has no real need for it
c) "why reinvent the wheel bruh"
that's one scenario,
the other scenario is the project starts to get traction.
people start to star it and shit.
but now you have one peoblem you didn't have before: humans.
all sorts of shit:
people treating you like shit as if they were premium users.
people posting majestically written issues with titles like "people help, me no work, here" with bodies like "HAAAAAAAAAALP".
and if you have the blessing to work in the current js ecosystem, issues like "this doesn't work with esm, unpkg, cdnjs, babel, webpack, parcel, buble, A BROWSER".
with some occasional lunatic complaining about IE 4 having a very weird, obscure bug.
not the best prospect either.3 -
It's my first week working at shithole.co (can i say that?). My boss is a micromanaging asshole who knows the bare minimum re: programming. He thinks css is hard (no offense). I'm fresh outta college. He expects me to be able to do a very complicated api development through an equally complicated authorization process. Every fucking day "Is it working yet?" [This is my first week on the job]. I don't think he's read the documentation and I don't think he understands how to. As I am typing this out I realize I'm more educated than this dumb ass. Oh, some more context. Our senior dev is working on a more important project So we don't have time to bother him? So I am doing his job for 1/10 the cost. Oh, and i'm not allowed to contact him because he is too important. When the app inevitably crashes and no one knows how to fix it. I will give them my nutsack to swallow (can i say that?).14
-
Add no comments or documentations whatsoever during my initial years of coding (when actually I used to write code worse than a constipated elephant's shit).. In my mind I would be like "This is quite clear-cut.. A first grader will be able to understand this code.."
But then I had to debug my own code barely some 1-2 months later and I figured out the importance of good comments and documentation..3 -
As much as I love opensource I hate really hate some of its actvie community members (read this as "freetards" <-- see urbandictonary). As a .Net + web devloper with minimal C experience (I just started learning it) and literally no Python experience its not really easy to contribute for me to many (most) opensource software for linux. I am using some <unnamed software> and I found a <critical bug>, it was easy to reproduce and I wrote for list of possible solutions, found it in a code and linked and basically wrote a docummentation longer than any other I ever wrote for every single project I did ever, combined. This <software> was critical for my server and since owner of github repo and few other people there were really active, I hoped that this bug with pretty good documentation will be solved fast, I went to my bed with a heroic feeling of an open source community contributor that helped saving world. I was horribly wrong. Tomorrow, I got 3 passively agressive responses from owner and other 2 freetards that summed up said <other1>:"oh thats nice, fix i yourself and commit it", <other2>:"have a sex with yourself" in a nice way, and <owner>: "fix my softwate and create mrege request". After replying that I have no experience my Python skills are not on a level requied for such an action, he messaged me on twitter I have linked to my GitHub profile saying even less nicely that I am a "retarded c*nt" and that I should learn Python and fix it myself. This makes me stay with my Windows based Server for some time now, fuck this. I googled his github nickname and guess what. Our main freetard is admin on an <unnamed linux forum> and mebmber of many other "computer help" with literally half of his posts just slightly toxic posts about how everyone should use linux and how supreme it is ober anything other, the other hals was crying why linux has only 1% of market share. Oh boi I am not sure why but ITS MAYBE BECAUSE OF FREETARDS LIKE YOU.
And the funnies thing is, hes not only freetard, he is just fullstack retard. One of his posts is "helping" to some <noob windows user> installing Linux. tl:dr for this las part: Freetard basically wiped all data of that <noob>.
PS: Bless everyone who do not respond "oh nice, now you can do it yourself"10 -
docker documentation is terrible. Mf'ers seem allergic to giving actual functional examples.
Watch me generate a 1-to-1 copy of the docker compose docs (real & true):
`docker compose --help > docs.html`13 -
Okay guys, this is it!
Today was my final day at my current employer. I am on vacation next week, and will return to my previous employer on January the 2nd.
So I am going back to full time C/C++ coding on Linux. My machines will, once again, all have Gentoo Linux on them, while the servers run Debian. (Or Devuan if I can help it.)
----------------------------------------------------------------
So what have I learned in my 15 months stint as a C++ Qt5 developer on Windows 10 using Visual Studio 2017?
1. VS2017 is the best ever.
Although I am a Linux guy, I have owned all Visual C++/Studio versions since Visual C++ 6 (1999) - if only to use for cross-platform projects in a Windows VM.
2. I love Qt5, even on Windows!
And QtDesigner is a far better tool than I thought. On Linux I rarely had to design GUIs, so I was happily surprised.
3. GUI apps are always inferior to CLI.
Whenever a collegue of mine and me had worked on the same parts in the same libraries, and hit the inevitable merge conflict resolving session, we played a game: Who would push first? Him, with TortoiseGit and BeyondCompare? Or me, with MinTTY and kdiff3?
Surprise! I always won! 😁
4. Only shortly into Application Development for Windows with Visual Studio, I started to miss the fun it is to code on Linux for Linux.
No matter how much I like VS2017, I really miss Code::Blocks!
5. Big software suites (2,792 files) are interesting, but I prefer libraries and frameworks to work on.
----------------------------------------------------------------
For future reference, I'll answer a possible question I may have in the future about Windows 10: What did I use to mod/pimp it?
1. 7+ Taskbar Tweaker
https://rammichael.com/7-taskbar-tw...
2. AeroGlass
http://www.glass8.eu/
3. Classic Start (Now: Open-Shell-Menu)
https://github.com/Open-Shell/...
4. f.lux
https://justgetflux.com/
5. ImDisk
https://sourceforge.net/projects/...
6. Kate
Enhanced text editor I like a lot more than notepad++. Aaaand it has a "vim-mode". 👍
https://kate-editor.org/
7. kdiff3
Three way diff viewer, that can resolve most merge conflicts on its own. Its keyboard shortcuts (ctrl-1|2|3 ; ctrl-PgDn) let you fly through your files.
http://kdiff3.sourceforge.net/
8. Link Shell Extensions
Support hard links, symbolic links, junctions and much more right from the explorer via right-click-menu.
http://schinagl.priv.at/nt/...
9. Rainmeter
Neither as beautiful as Conky, nor as easy to configure or flexible. But it does its job.
https://www.rainmeter.net/
10 WinAeroTweaker
https://winaero.com/comment.php/...
Of course this wasn't everything. I also pimped Visual Studio quite heavily. Sam question from my future self: What did I do?
1 AStyle Extension
https://marketplace.visualstudio.com/...
2 Better Comments
Simple patche to make different comment styles look different. Like obsolete ones being showed striked through, or important ones in bold red and such stuff.
https://marketplace.visualstudio.com/...
3 CodeMaid
Open Source AddOn to clean up source code. Supports C#, C++, F#, VB, PHP, PowerShell, R, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript.
http://www.codemaid.net/
4 Atomineer Pro Documentation
Alright, it is commercial. But there is not another tool that can keep doxygen style comments updated. Without this, you have to do it by hand.
https://www.atomineerutils.com/
5 Highlight all occurrences of selected word++
Select a word, and all similar get highlighted. VS could do this on its own, but is restricted to keywords.
https://marketplace.visualstudio.com/...
6 Hot Commands for Visual Studio
https://marketplace.visualstudio.com/...
7 Viasfora
This ingenious invention colorizes brackets (aka "Rainbow brackets") and makes their inner space visible on demand. Very useful if you have to deal with complex flows.
https://viasfora.com/
8 VSColorOutput
Come on! 2018 and Visual Studio still outputs monochromatically?
http://mike-ward.net/vscoloroutput/
That's it, folks.
----------------------------------------------------------------
No matter how much fun it will be to do full time Linux C/C++ coding, and reverse engineering of WORM file systems and proprietary containers and databases, the thing I am most looking forward to is quite mundane: I can do what the fuck I want!
Being stuck in a project? No problem, any of my own projects is just a 'git clone' away. (Or fetch/pull more likely... 😜)
Here I am leaving a place where gitlab.com, github.com and sourceforge.net are blocked.
But I will also miss my collegues here. I know it.
Well, part of the game I guess?7 -
Manager: what is the estimations for this task A nd B?
Me: Task A: 3 months for 1 guys, and task B: 2 Months
Manager: ok, u can have a fresher, and finish task A, and u urself can pick task B, u can train him and bring him up to pace...
Me: (trying to recalibrate my estimations)...
Manager: oh and u have 3 weeks to deliver production ready scalable quality code with junits, documentation and testing done...
Me: then why the fuck did u bother for the estimates?
Manager: oh that is just for the process complaince...I don't want any trouble in audit...4 -
EEEEEEEEEEEE Some fAcking languages!! Actually barfs while using this trashdump!
The gist: new job, position required adv C# knowledge (like f yea, one of my fav languages), we are working with RPA (using software robots to automate stuff), and we are using some new robot still in beta phase, but robot has its own prog lang.
The problem:
- this language is kind of like ASM (i think so, I'm venting here, it's ASM OK), with syntax that burns your eyes
- no function return values, but I can live with that, at least they have some sort of functions
- emojies for identifiers (like php's $var, but they only aim for shitty features so you use a heart.. ♥var)
- only jump and jumpif for control flow
- no foopin variable scopes at all (if you run multiple scripts at the same time they even share variables *pukes*)
- weird alt characters everywhere. define strings with regular quotes? nah let's be [some mental illness] and use prime quotes (‴ U+2034), and like ⟦ ⟧ for array indexing, but only sometimes!
- super slow interpreter, ex a regular loop to count to 10 (using jumps because yea no actual loops) takes more than 20 seconds to execute, approx 700ms to run 1 code row.
- it supports c# snippets (defined with these stupid characters: ⊂ ⊃) and I guess that's the only c# I get to write with this job :^}
- on top of that, outdated documentation, because yea it's beta, but so crappin tedious with this trail n error to check how every feature works
The question: why in the living fartfaces yolk would you even make a new language when it's so easy nowadays to embed compilers!?! the robot is apparently made in c#, so it should be no funcking problem at all to add a damn lua compiler or something. having a tcp api would even be easier got dammit!!! And what in the world made our company think this robot was a plausible choice?! Did they do a full fubbing analysis of the different software robots out there and accidentally sorted by ease of use in reverse order?? 'cause that's the only explanation i can imagine
Frillin stupid shitpile of a language!!! AAAAAHHH
see the attached screenshot of production code we've developed at the company for reference.
Disclaimer: I do not stand responsible for any eventual headaches or gauged eyes caused by the named image.
(for those interested, the robot is G1ANT.Robot, https://beta.g1ant.com/)
4 -
So I've been doing some code jobs now and recently they pushed me to a new level.
This company worked with some silly management app made in cpp which they asked me to edit a little bit giving it another style and some additional functions.
Day 1: this code is a mess.
Day 2: this code is a mess.
Day 3: how does this code even compile.
Day 4: I no longer have faith in humanity.
Day 5: I found my first comment (Yay?).
Day 16: I'm done.
Day 19: I got paid.
If you're making a project in cpp just like that dev you do deserve a punch in the throat.
No documentation, no comments, no patterns, just some thick pasta of poorly written code, names like fCalcAllTaxFilesSizeMB....
This haunts me for real.2 -
Once had a manager who would refuse to review anything on the basis he "didn't have enough time". Not just code reviews, but also customer comms, support messages, documentation etc. - anything that it's good to get more than 1 set of eyes on. This was a small startup so me working pretty much solo - it wasn't like there was anyone else able to review anything like this.
Fair enough, you might say. He trusts me. Just put it out there.
...but then *as soon as* it was published / sent / committed / whatever, he'd then magically find 5 minutes to glance through it and point out how rubbish / unhelpful / ridiculous the work was, and how it should have never gone out in the first place, and why didn't I read through it before sending as I'd clearly realise how stupid this was.
After a few rounds of this I actually flipped out on him in the office, called him out on his BS and told him to think for 2 seconds about how ridiculous this situation was. In fairness to the guy he did back down, take note and it didn't happen again, but damn, those times were some of the most frustrating of my career to date. -
Biggest challenge I overcame as dev? One of many.
Avoiding a life sentence when the 'powers that be' targeted one of my libraries for the root cause of system performance issues and I didn't correct that accusation with a flame thrower.
What the accusation? What I named the library. Yep. The *name* was causing every single problem in the system.
Panorama (very, very expensive APM system at the time) identified my library in it's analysis, the calls to/from SQLServer was the bottleneck
We had one of Panorama's engineers on-site and he asked what (not the actual name) MyLibrary was and (I'll preface I did not know or involved in any of the so-called 'research') a crack team of developers+managers researched the system thoroughly and found MyLibrary was used in just about every project. I wrote the .Net 1.1 MyLibrary as a mini-ORM to simplify the execution of database code (stored procs, etc) and gracefully handle+log database exceptions (auto-logged details such as the target db, stored procedure name, parameter values, etc, everything you'd need to troubleshoot database errors). This was before Dapper and the other fancy tools used by kids these days.
By the time the news got to me, there was a team cobbled together who's only focus was to remove any/every trace of MyLibrary from the code base. Using Waterfall, they calculated it would take at least a year to remove+replace MyLibrary with the equivalent ADO.Net plumbing.
In a department wide meeting:
DeptMgr: "This day forward, no one is to use MyLibrary to access the database! It's slow, unprofessionally named, and the root cause of all the database issues."
Me: "What about MyLibrary is slow? It's excecuting standard the ADO.Net code. Only extra bit of code is the exception handling to capture the details when the exception is logged."
DeptMgr: "We've spent the last 6 weeks with the Panorama engineer and he's identified MyLibrary as the cause. Company has spent over $100,000 on this software and we have to make fact based decisions. Look at this slide ... "
<DeptMgr shows a histogram of the stacktrace, showing MyLibrary as the slowest>
Me: "You do realize that the execution time is the database call itself, not the code. In that example, the invoice call, it's the stored procedure that taking 5 seconds, not MyLibrary."
<at this point, DeptMgr is getting red-face mad>
AreaMgr: "Yes...yes...but if we stopped using MyLibrary, removing the unnecessary layers, will make the code run faster."
<typical headknodd-ers knod their heads in agreement>
Dev01: "The loading of MyLibrary takes CPU cycles away from code that supports our customers. Every CPU cycle counts."
<headknod-ding continues>
Me: "I'm really confused. Maybe I'm looking at the data wrong. On the slide where you highlighted all the bottlenecks, the histogram shows the latency is the database, I mean...it's right there, in red. Am I looking at it wrong?"
<this was meeting with 20+ other devs, mgrs, a VP, the Panorama engineer>
DeptMgr: "Yes you are! I know MyLibrary is your baby. You need to check your ego at the door and face the facts. Your MyLibrary is a failed experiment and needs to be exterminated from this system!"
Fast forward 9 months, maybe 50% of the projects updated, come across the documentation left from the Panorama. Even after the removal of MyLibrary, there was zero increases in performance. The engineer recommended DBAs start optimizing their indexes and other N+1 problems discovered. I decide to ask the developer who lead the re-write.
Me: "I see that removing MyLibrary did nothing to improve performance."
Dev: "Yes, DeptMgr was pissed. He was ready to throw the Panorama engineer out a window when he said the problems were in the database all along. Didn't you say that?"
Me: "Um, so is this re-write project dead?"
Dev: "No. Removing MyLibrary introduced all kinds of bugs. All the boilerplate ADO.Net code caused a lot of unhandled exceptions, then we had to go back and write exception handling code."
Me: "What a failure. What dipshit would think writing more code leads to less bugs?"
Dev: "I know, I know. We're so far behind schedule. We had to come up with something. I ended up writing a library to make replacing MyLibrary easier. I called it KnightRider. Like the TV show. Everyone is excited to speed up their code with KnightRider. Same method names, same exception handling. All we have to do is replace MyLibrary with KnightRider and we're done."
Me: "Won't the bottlenecks then point to KnightRider?"
Dev: "Meh, not my problem. Panorama meets primarily with the DBAs and the networking team now. I doubt we ever use Panorama to look at our C# code."
Needless to say, I was (still) pissed that they had used MyLibrary as dirty word and a scapegoat for months when they *knew* where the problems were. Pissed enough for a flamethrower? Maybe.5 -
I am much too tired to go into details, probably because I left the office at 11:15pm, but I finally finished a feature. It doesn't even sound like a particularly large or complicated feature. It sounds like a simple, 1-2 day feature until you look at it closely.
It took me an entire fucking week. and all the while I was coaching a junior dev who had just picked up Rails and was building something very similar.
It's the model, controller, and UI for creating a parent object along with 0-n child objects, with default children suggestions, a fancy ui including the ability to dynamically add/remove children via buttons. and have the entire happy family save nicely and atomically on the backend. Plus a detailed-but-simple listing for non-technicals including some absolutely nontrivial css acrobatics.
After getting about 90% of everything built and working and beautiful, I learned that Rails does quite a bit of this for you, through `accepts_nested_params_for :collection`. But that requires very specific form input namespacing, and building that out correctly is flipping difficult. It's not like I could find good examples anywhere, either. I looked for hours. I finally found a rails tutorial vide linked from a comment on a SO answer from five years ago, and mashed its oversimplified and dated examples with the newer documentation, and worked around the issues that of course arose from that disasterous paring.
like.
I needed to store a template of the child object markup somewhere, yeah? The video had me trying to store all of the markup in a `data-fields=" "` attrib. wth? I tried storing it as a string and injecting it into javascript, but that didn't work either. parsing errors! yay! good job, you two.
So I ended up storing the markup (rendered from a rails partial) in an html comment of all things, and pulling the markup out of the comment and gsubbing its IDs on document load. This has the annoying effect of preventing me from using html comments in that partial (not that i really use them anyway, but.)
Just.
Every step of the way on building this was another mountain climb.
* singular vs plural naming and routing, and named routes. and dealing with issues arising from existing incorrect pluralization.
* reverse polymorphic relation (child -> x parent)
* The testing suite is incompatible with the new rails6. There is no fix. None. I checked. Nope. Not happening.
* Rails6 randomly and constantly crashes and/or caches random things (including arbitrary code changes) in development mode (and only development mode) when working with multiple databases.
* nested form builders
* styling a fucking checkbox
* Making that checkbox (rather, its label and container div) into a sexy animated slider
* passing data and locals to and between partials
* misleading documentation
* building the partials to be self-contained and reusable
* coercing form builders into namespacing nested html inputs the way Rails expects
* input namespacing redux, now with nested form builders too!
* Figuring out how to generate markup for an empty child when I'm no longer rendering the children myself
* Figuring out where the fuck to put the blank child template markup so it's accessible, has the right namespacing, and is not submitted with everything else
* Figuring out how the fuck to read an html comment with JS
* nested strong params
* nested strong params
* nested fucking strong params
* caching parsed children's data on parent when the whole thing is bloody atomic.
* Converting datetimes from/to milliseconds on save/load
* CSS and bootstrap collisions
* CSS and bootstrap stupidity
* Reinventing the entire multi-child / nested params / atomic creating/updating/deleting feature on my own before discovering Rails can do that for you.
Just.
I am so glad it's working.
I don't even feel relieved. I just feel exhausted.
But it's done.
finally.
and it's done well. It's all self-contained and reusable, it's easy to read, has separate styling and reusable partials, etc. It's a two line copy/paste drop-in for any other model that needs it. Two lines and it just works, and even tells you if you screwed up.
I'm incredibly proud of everything that went into this.
But mostly I'm just incredibly tired.
Time for some well-deserved sleep.7 -
I've been lurking on devrant a while now, I figure it's time to add my first rant.
Little background and setting a frame of reference for the rant: I'm currently a software engineer in the bioinformatics field. I have a computer science background whereas a vast majority of those around me, especially other devs, are people with little to no formal computer background - mostly biology in some form or another. Now, this said, a lot of the other devs are excellent developers, but some are as bad as you could imagine.
I started at a new company in April. About a month after joining a dev who worked there left, and I inherited the pipeline he maintained. Primarily 3 perl scripts (yes, perl, welcome to bioinformatics, especially when it comes to legacy code like is seen in this pipeline) that mostly copied and generated some files and reports in different places. No biggie, until I really dove in.
This dev, which I barely feel he deserves to be called, is a biology major turned computer developer. He was hired at this company and learned to program on the job. That being said, I give him a bit of a pass as I'm sure he did not have had an adequate support structure to teach him any better, but still, some of this is BS.
One final note: not all of the code, especially a lot of the stupid logic, in this pipeline was developed by this other dev. A lot of it he adopted himself. However, he did nothing about it either, so I put fault on him.
Now, let's start.
1. perl - yay bioinformatics
2. Redundant code. Like, you literally copied 200+ lines of code into a function to change 3 lines in that code for a different condition, and added if(condition) {function();} else {existing code;}?? Seriously??
3. Whitesmiths indentation style.. why? Just, why? Fuck off with that. Where did you learn that and why do you insist on using it??
4. Mixing of whitesmiths and more common K&R indentation.
5. Fucked indentation. Code either not indented and even some code indented THE WRONG WAY
6. 10+ indentation levels. This, not "terrible" normally, but imagine this with the last 3 points. Cannot follow the code at freaking all.
7. Stupid logic. Like, for example, check if a string has a comma in it. If it does, split the string on the comma and push everything to an array. If not, just push the string to the array.... You, you know you can just split the string on the comma and push it, right?? If there is no comma it will be an array containing the original string.. Why the fuck did you think you needed to add a condition for that??
8. Functions that are called to set values in global variables, arrays, and hashes.. function has like 5 lines in it and is called in 2 locations. Just keep that code in place!
9. 50+ global variables/hashes/arrays in one of the scripts with no clear way to tell how/when values are set nor what they are used for.
10. Non-descriptive names for everything
11. Next to no comments in the code. What comments there are are barely useful.
12. No documentation
There's more, but this is all I can think to identify right now. All together these issues have made this pipeline the pinnacle of all the garbage that I've had to work on.
Attaching some screenshots of just a tiny fraction of the code to show some of the crap I'm talking about.
6 -
1. Being the only single wringable neck to keep 40+ websites afloat, plus 3-5 new ones coming in or being built each month all with an overseas team that uses Google Translate to communicate and who are also in an active war zone.
2. Being fired for being “too old” in my mindset about how to do things. I had just turned 40 and my boss was 24 and distracted by all the shiny frameworks when all the marketing person needed was a simple off-the-shelf CMS-based site to publish company offers.
3. Jumping into the middle of a HUGE clusterfuck of thousands of Slack channels, wikis, and Jiras and an outmoded content management system while trying to learn the ropes from a guy who has no time to teach properly and then who abruptly leaves the company with scant documentation on everything that he held mainly in his own head. And there was no way I.T. was going to allow him to have the ability in Zoom to make a video of his training sessions, for no discernibly good security reason at all.
4. Working for only 9 months at two separate companies for two separate frat dudes who could have been clones of each other and whose egos made them into seagull managers* in every sense.
5. Being told by a new employer that they’re hiring me to be the head of their new web team only to find myself shuttled off to obscure contractor roles at MegaCorp Inc and AcmeCorp Inc.
I have 17 more years of this shit ahead of me before I can retire.
*If you haven’t heard of this: Someone who flies in, makes a lot of noise, shits all over everything, and flies out leaving everyone else to clean up the mess.2 -
Its my morning rant time... Me and my team are working on implementing our solution into 20 year old piece of shit POS system which:
1. Uses old piece of shit computers - which is slower than average calculator.
2. Uses .Net 2.0 - and no higher versions could be installed.
3. Has 20 year old documentation - outdated as fuck.
4. Throws unknown and non explainable COMExceptions.
5. Works slow as fuck.
And we have to deal with all its issues as 3rd side integration.. FUCK... FUCK.. FUCK....
8 -
Long time ago, back in a day of Microsoft Office 95 and 97, I was contracted to integrate a simple API for a payment service provider.
They've sent me the spec, I read it, it was simple enough: 1. payment OK, 2. payment FAILED. Few hours later the test environment was up and happy crediting and debiting fake accounts. Then came the push to prod.
I worked with two other guys, we shut down the servers, made a backup, connected new provider. All looked perfectly fine. First customers were paying, first shops were sending their products... Until two days later it turned out the money isn't coming through even though all we are getting from the API is "1" after "1"! I shut it off. We had 7 conference calls, 2 meetings, 3 days of trying and failing. Finally, by a mere luck, I found out what's what.
You see, Microsoft, when you invent your own file format, it's really nice to make it consistent between versions... So that the punctuation made in Microsoft Word 97 that was supposed to start from "0" didn't start from "1" when you open the file in Microsoft Word 95.
Also, if you're a moron who edits documentation in Microsoft Word, at least export it to a fucking PDF before sending out. Please. -
Apparently color pair 0 is reserved in curses.
So modifying it will never work.
Even though that's not in the documentation.
I've wasted hours.
I finally changed the color pair to 1 and everything worked.
God.
Kill me now.2 -
1. Visit the official site.
2. Browse for official tools.
3. Check the official documentation.
4. Check the Internet for other non-audiovisual sources.
5. Try making a simple application.
6. Run out of application ideas.
7. Move on to the next shiny dev technology.
8. Go to step #1. -
My manager thinks I am Superman! and he is so confident that can do any shit he wants me to do.
Yesterday he asked me to merge an ancient code hotfix (literally ancient) with latest branch of changes.
1. Hotfix is really old, most of the things are hardcoded, very specific to a stone age client.
2. Code documentation does not exist.
3. Developers of that code are probably dead.
4. Many Libraries which code uses are deprecated.
5. It's a legacy code, so no one has fucking idea what a particular clumsy block of code do, or what will happen if you remove it.
'if it runs don't touch it' policy by management.
Despite all this shit I successfully merged the the hotfix, refactored outdated code so as to run the application.
Showed this to my manager in full swag!
He was surprised at first, and asked me to show the code changes.
'Code review' was done by comparing files 😅
Manager: Dude, you have changed these lines, why? Explain.😧
Me: those lines won't work with new build, with new libs.☺️
Manager: then why can't you do old build with new changes?🙄
Me: umm.. wait... what???🤔
Manager: the code was working previously, it must be working even today without these changes.😡
Me: it was not working hence I made changes and now it's working fine see! ☺️
Manager: you have removed this, this and this!!! 😡
Me: but I also added that, that and that!😔
Manager: "don't touch it' if it works!"😡
Me: ... Idk what to say!
(In the back of my mind: "Don't touch it even it doesn't works!")😌6 -
Becoming a High Reputation Stackoverflow Master
Can work like this:
1. Look for questions like "How do I add a value to a list"
2. Post "Use list.Add(x)" faster than any of the 20 expected answers that will be written for this question
3. Become accepted solution
4. Get 100 up votes as more people unaware of API documentation come across your answer
Sometimes answers and questions are so trivial you wonder how this would be upvoted by anyone ever.2 -
TLDR; Go to bottom of post.
Around this time two years ago was the start of my group project in University. The project was to write an app in android and have a web side to it too. The group was to be overseen by a member of staff. The first meeting was introductions and to look at the spec, during the second we were to decide a group leader (PM) and other positions.
A person I shall call BD and I volunteered for PM. I didn't have experience with leadership but wanted some, and was the only one with confidence in android, the biggest part of the system. I got four of the votes.
BD, with his scouts experience, not being afraid to breathe down people's necks and bash some heads together, and having been PM last year, with his group receiving 69% (he failed the year and was resitting), earned 5. One guy was missing.
When it came to sorting out roles and responsibilities, BD confessed to not being a strong coder but that he'd help here and there. His role was planning our deadlines, doing our Gantt chart for deliverables, and was supposed to write a really detailed spec. He didn't have it at the meeting of the next week, as it was still in the works, and never messaged anyone. Next week he turned up with a Gantt chart of 1A4 page that only included the deadlines and deliverables in the spec, with three colours. One for android team, one for DB guy, and one for web team.
The guy who didn't turn up for voting got a girlfriend, a job at mcdonalds and did barely a thing. One guy in the web team did everything, carrying his friend who wouldn't do work (and also got swept out to see in a rubber boat with one of his bros lol (he was rescued)), and even though I'd done android dev I wasn't as quick a learner as two others in the team. Out of 10 people, 6 did real work.
The web guys stopped coming to meetings as they were taken over by android talk, and as we were quite behind, BG tried yellow carding them. They turned around with the website pretty much done, this one guy doing more than the 4 of us on android had. Yellow card lifted. We'd already complained about BD and his lack of everything (except screen brightness as he sat at the front of the lecture theatres with his wide brimmed hat looking at 9gag and videos (remembering he said he was resitting that year)) but grew a stronger dislike. Found out that he spent most of his time with his gf at our secretary/fellow android dev's house. Come coding week, he disappears entirely, only to attend meetings. He gave us a shell of the android code used for his previous year's project (along with documentation, complete with names and dates of updates, most of them (including the planning ones BD was supposed to do) bearing either one of two names. It was behind where we were at the time and had a lot of differences to our spec, and if we had used it BD may have used that to pull us down with him if things went wrong. He resurfaced at the end with the final documentation of how we'd all done, including reports on how each member had performed, which we were supposed to have reviewed. Our main, most proficient dev he accused of being irritable and brash, and a bad communicator. He was Norwegian, his voice was just a bit gruff, and he was driven and didn't waste time. He bashed the web team for not turning up, and had already been rude and unhelpful to everyone who voted for him in the first place.
In our own reports we all devoted paragraphs to delicately describing his contributions, excluding his suggestion that we use the code he gave us. Before we had our results and our work was completed, he individually kicked us from our group's facebook group and unfriended us.
Our 43% mark at the end, coupled with his -40% penalty from the red card we had him on, felt good, but not as good as a better result would have, especially as the fool that was BD would be inflicted on a group a third time. He changed to some other course after that year finished, so he must have failed his resit of second year.
During third year, a friend of mine who was PM for a group that passed well passed other things with too slim a margin to be happy, so chose to resit the year. He didn't have to do the group project again, and had that time free. But BD had to resit. His group had 69%. A yellow card with a 20% deduction wouldn't do it, so he MUST have had a red card as PM his previous year. Well that didn't come up when he claimed credit for his team's 69% during elections... My housemate's compsci boyfriend 2 years up overheard me talking about him, he was in 1st year with BD. BD failed and resat 1st year too. 4 years and he couldn't make anything stick. I feel bad for him through understanding the pains lack of work and internet distraction bring, and unfortunately I can't wish bad things on him because he brings them on himself. I wish I never see his face again though.
TLDR; Guy in group project lies and is dishonest from start to finish, getting PM pos by 1 vote. Gets what he earns.2 -
Flash has made Java programs look desirable. And anyone keeping up with me knows I despise Java and C#, despite having written C# and currently working on deciphering a Java server to create documentation.
Before I begin, I want to make this clear: IT IS TWO THOUSAND AND FUCKING EIGHTEEN. 2018. WE HAVE BETTER TECH. JAVASCRIPT HAS TAKEN OVER THIS BITCH. So, firstly, FUCK FLASH. Seriously, that shit's a security liability. If you work for a company that uses it, find a new job and then fucking quit, or go mutany and get several devs to begin a JS-based implementation that has the same functionality. There is no excuse. "I'm fired?" That's not an excuse - if there is a way to stop the madness, then fucking hit the brakes on that shit or begin job hunting. Oh, and all you PMs who are reading this and have mandated or helped someone else to mandate work on an enterprise flash program, FUCK YOU. You are part of the problem.
The reason for this outburst seems unreasonable until you realize the hell I went through today. At my University, there is a basic entry-level psychology course I'm taking. Pearson, a company I already fucking hate for some of the ethically sketchy shit they pulled with PARCC as well as overreach in publishing to the point they produce state tests here in the US - has a product called "My PsychLab" and from here on out, I'm referring to it as MPL. MPL has an issue - it is entirely fucking Flash. Homework assignments, the textbook, FUCKING EVERYTHING. So, because of that, you need to waste time finding a browser that works. Now let me remind all of you that just because something SHOULD WORK does NOT mean that it actually does.
I'm sitting on my Antergos box a few days ago: Chromium and Firefox won't load Flash. I don't know why, and don't care to find out. NPAPI and whatnot are deprecated but should still run in a limited mode or some shit. No go on Antergos.
So, today I went to the lab in the desolated basement of an old building which is where it's usually empty except a student hired by the university to make sure nobody fucks things up. I decided - because y'all know I fuckin' hate this - to try Windows. No go in Chrome still - it loaded Flash but couldn't download the content. So I tried Firefox - which worked. My hopes were up, but not too long - because there was no way to input. The window had buttons and shit - but they were COMPLETELY UNRESPONSIVE.
So the homework is also Flash-based. It's all due by 1/31/18 - FOUR CHAPTERS AND THE ACCOMPANYING HOMEWORK - which I believe is Tuesday, and the University bookstore is closed both Saturday and Sunday. No way to get a physical copy of the book. And I have other classes - this isn't the only one.
Also, the copyright on the program was 2017 - so whoever modded or maintained that Flash code - FUCK YOU AND THE IRRESPONSIBLE SHIT YOUR TEAM PULLED. FUCK THE SUPERIORS MAKING DECISIONS AS WELL. Yeah, you guys have deadlines? So do the end users, and when you have to jump through hoops only to realize you're fucked? That's a failure of management and a failure of a product.
How many people are gonna hate me for this? Haters gonna hate, and I'm past the point of caring.6 -
I am using this SDK and I came across a property "Orientation" of type int.
Why int? Is it an enum or something? Let's have a look into the online documentation...
"Gets or sets the orientation."
😣
Yeah, thanks. Very useful.
It's again that kind of documentation which simply restates the property name or method name. Who needs this?
So I tried to set the Orientation property to 1 to see what happens.
A runtime exception then told me that the only valid values are 0, 90, 180 and 270.
Well, this is kind of stupid but ok, I can live with that.
But ffs, put that info into the documentation, where it belongs!
4 -
1. Understand APIs without reading documentation.
2. Write correct code from first try.
3. Know to program in every language.
4. Create the perfect fully functional AI system.
5. Center objects vertically with one line CSS at target object.3 -
I propose that the study of Rust and therefore the application of said programming language and all of the technology that compromises it should be made because the language is actually really fucking good. Reading and studying how it manages to manipulate and otherwise use memory without a garbage collector is something to be admired, illuminating in its own accord.
BUT going for it because it is a "beTter C++" should not constitute a basis for it's study.
Let me expand through anecdotal evidence, which is really not to be taken seriously, but at the same time what I am using for my reasoning behind this, please feel free to correct me if I am wrong, for I am a software engineer yes, I do have academic training through a B.S in Computer Science yes, BUT my professional life has been solely dedicated to web development, which admittedly I do not go on about technical details of it with you all because: I am not allowed to(1) and (2)it is better for me to bitch and shit over other petty development related details.
Anecdotal and otherwise non statistically supported evidence: I have seen many motherfuckers doing shit in both C and C++ that ADMIT not covering their mistakes through the use of a debugger. Mostly because (A) using a debugger and proper IDE is for pendejos and debugging is for putos GDB is too hard and the VS IDE is waaaaaa "I onlLy NeeD Vim" and (B) "If an error would have registered then it would not have compiled no?", thus giving me the idea that the most common occurrences of issues through the use of the C father/son languages come from user error, non formal training in the language and a nice cusp of "fuck it it runs" while leaving all sorts of issues that come from manipulating the realm of the Gods "memory".
EVERY manual, book, coming all the way back to the K&C book talks about memory and the way in which developers of these 2 languages are able to manipulate and work on it. EVERY new standard of the ISO implementation of these languages deals, through community effort or standard documentation about the new items excised through features concerning MODERN (meaning, no, the shit you learned 20 years ago won't fucking cut it) will not cut it.
THUS if your ass is not constantly checking what the scalpel of electrical/circuitry/computational representation of algorithms CONDONES in what you are doing then YOU are the fucking problem.
Rust is thus no different from the original ideas of the developers behind Go when stating that their developers are not efficient enough to deal with X language, Rust protects you, because it knows that you are a fucking moron, so the compiler, advanced, and well made as it is, will give you warnings of your own idiotic tendencies, which would not have been required have you not been.....well....a fucking idiot.
Rust is a good language, but I feel one that came out from the necessity of people writing system level software as a bunch of fucking morons.
This speaks a lot more of our academic endeavors and current documentation than anything else. But to me DEALING with the idea of adapting Rust as a better C++ should come from a different point of view.
Do I agree with Linus's point of view of C++? fuck no, I do not, he is a kernel engineer, a damn good one at that regardless of what Dr. Tanenbaum believes(ed) but not everyone writes kernels, and sometimes that everyone requires OOP and additions to the language that they use. Else I would be a fucking moron for dabbling in the dictionary of languages that I use professionally.
BUT in terms of C++ being unsafe and unsecured and a horrible alternative to Rust I personaly do not believe so. I see it as a powerful white canvas, in which you are able to paint software to the best of your ability WHICH then requires thorough scrutiny from the entire team. NOT a quick replacement for something that protects your from your own stupidity BY impending the use of what are otherwise unknown "safe" features.
To be clear: I am not diminishing Rust as the powerhouse of a language that it is, myself I am quite invested in the language. But instead do not feel the reason/need before articles claiming it as the C++ killer.
I am currently heavily invested in C++ since I am trying a lot of different things for a lot of projects, and have been able to discern multiple pain points and unsafe features. Mainly the reason for this is documentation (your mother knows C++) and tooling, ide support, debugging operations, plethora of resources come from it and I have been able to push out to my secret project a lot of good dealings. WHICH I will eventually replicate with Rust to see the main differences.
Online articles stating that one will delimit or otherwise kill the other is well....wrong to me. And not the proper approach.
Anyways, I like big tits and small waists.14 -
@JoshBent and @nikola1402 requested a tutorial for installing i3wm in a windows subsystem for linux. Here it is. I have to say though, I'm no expert in windows nor linux, and all I'm going to put here is the result of duckduck searches, reddit and documentation. As you will see, it isn't very difficult.
First things first: Install WSL. It's easy and there's a ton of good tutorials on this. I think I used this one: https://msdn.microsoft.com/en-us/...
Once you got it installed, I guess it would be better to run "sudo apt-get update" to make sure we don't encounter many problems.
Install a windows X server: X is what handles the graphical interface in linux, and it works with the client/server paradigm. So what we'll do with this is provide the linux client we want to use (in this case i3wm) with an X server for it on windows. I guess any X server will do the work, but I highly recommend vcXsrv. You can download it here:
https://sourceforge.net/projects/...
for i3 just "sudo apt-get install i3"
Configurations to make stuff work:
open your ~/.bashrc file ("nano ~/.bashrc" vim is cool too). You'll have to add the following lines to the end of it:
"""
export DISPLAY=:0.0 #This display variable points to the windows X server for our linux clients to use it.
export XDG_RUNTIME_DIR=$HOME/xdg #This is a temporary directory X will use
export RUNLEVEL=3
sudo mkdir /var/run/dbus #part of the dbus fix
sudo dbus-daemon --config-file=/usr/share/dbus-1/system.conf #part of the dbus fix
"""
Ok so after this we'll have a functional x client/server configuration. You'll just have to install your desktop enviroment of choice. I only installed i3wm, but I've seen unity and xfce working on the WSL too. There are still some files that X will miss though.
*** Here we'll add some files X would miss and :
With "nano ~/.xinitrc" edit the xinitrc to your liking. I only added this:
"""
#!/usr/bin/env bash
exec i3
"""
Then run "sudo chmod +x ~/.xinitrc" to make it an excecutable.
Then, to make a linking file named xsession, run:
"ln -s ~/.xinitrc ~/.xsession"
Now you'll be able to run whatever you put in ~/.xinirc with:
"dbus-launch --exit-with-session ~/.xsession"
There's a ton of personalisation to be done, but that would be a whole new tutorial. I'll just share a github repo with my dotfiles so you can see them here:
https://github.com/DanielVZ96/...
SHIT I ALMOST FORGOT:
Everytime you open any graphical interface you'll need to have the x server running. With vcXsrv, you can use X launch. Choose the options with no othe programs running on the X server. I recommend using "one window without title bar".10 -
Today I'm ranting about Windows. No, it's not "WiNdOwS sUcKs!", it's more like "But why!?"
See, I'm an IT guy for the year, and in my office they use Windows. Now once upon a time, they had Active Directory and all that (well, actually, they still do) but then they got some new computers running Windows 10, and for some reason they just couldn't join them to the domain!
Why can't they, you ask? Well, Microsoft only allows Win 10 Pro and up to join a Domain, and since these computers came with Win 10 Home, that wasn't possible.
Long story short, I now have some 30 computers that need to be upgraded (possibly from 7) to Win 10 Pro, and joined to the Domain.
Thing is, I would like to do that all in one go, so I look into how to automatically setup Windows.
"Ah! Got it, provisioning packages!"
Lest you think they work let me spare you now: they don't. Just like real computers where everything is different, provisioning packages failed to work twice, and after wasting about a week trying to make it work, I gave up.
So now I realized that I need to try a different method, a custom windows image. Issue is, I've got no clue how to make one. See, microsoft decided to go all in on the provisioning packages thing (they do have advantages in certain use cases), and seemed to decide that making custom images was no longer necessary, so they documentation was nearly impossible to find.
But after a lot of searching, I figured out how to do it:
1. Install Windows in a VM.
2. Put it in audit mode.
3. Install your stuff.
4. Create an unattend.xml file with certain customizations.
5. Put the unattend in Windows\System32\Sysprep
6. Generalize the image.
7. Boot WinPE.
8. Open the console.
9. Capture the image.
10. Wait an hour or two.
11. Done!
I'm over simplifying, it was a huge PITA, and yet there were still issues.
Maybe another time I'll talk about those.20 -
School gave me 3 DigitalOcean droplets to try out Kubernetes in the cloud, awesome!
Wrote an Ansible script to not only simply install docker and add users but also add kubernetes, nice!
Oh wait, error?! Well I should've known this wasn't going to be easy... ah well no problem. Let's see... Ansible is cryptic as always, it can't connect to the API server? Is it even running?
Let's ssh to the master, ah nothing is running, great. Let's try out kubeadm init and see what happens, oh gosh, my Docker version has not been validated! No problem, let's just downgrade!
How do I do that? Oh I know, change the version in the role! Wait that version doesn't exit? Let's travel to Docker's website and see what versions exist of docker-ce, oh I see, it needs a subversion, no problem.
Oh that errors too? Wait then what... Oh I need a ~ and a ubuntu and a 0 somewhere, my mistake!
Let's run it again! Fails!
Same ssh process, oh wait...
Oh god no...
Kubernetes requires 2 cores and these things only have 1...
Welp, time to ask the teachers to resize my droplet by a small amount tomorrow, hopefully I'll get a new error!
----------------------------------------------
My adventure so far with Kubernetes. I'm not installing it for any serious/prod reason, just for educational purposes. K8s seems like 'endgame' to me, like one of the 'big guys' that big enterprises use so I'm eager to throw stuff at a droplet and see what happens.
Going further down the rabbit hole tomorrow!
Wish me luck :3
(And yes, I could've figured this all out beforehand with documentation, but this is more fun in my opinion)8 -
So I have to fix this motherfucking insane regex with over 1k chars in it ...
This fucking shit is not maintainable and there are no comments or any other sort of documentation.
And this bullshit was not build via code so that bastard wasted weeks of time to develop that shitty expression by hand on a online regex tester website.
So I have 3 options:
1. Reverse engineer everything and waste my precious time
2. Delete that shit, analyze the input and write the regex via code instead of creating it by hand
3. Look for that "super duper clever" dev and break his legs.
I think option 3 suits me best.
And for you dear reader, if you are regexphile, enjoy this gigantc regex with >16k chars:
http://madore.org/~david/weblog/...7 -
I'm absolutely fed up with all documentation being tutorial-based these days! Well written documentation doesn't start with you creating a new project from scratch.
This is basically how all of Microsoft's documentation starts: Step 1 - Open Visual Studio. Step 2 - Create a new project...
I just checked out their WPF samples repository, and about 8 of the projects won't even compile. Absolutely ridiculous. There's 205 projects in the repository, and of course the one I need is on the list of those that won't compile.1 -
1) read every pages of the tech's website
2) follow documentation
3) read online tutorials
4) try to use it in currently working some projects1 -
These are the things that finally finally helped me stick to learning programming.
Hello world! This is my first story on devrant and I would like to share how I finally overcame the barriers that had always prevent me from learning programming in a more serious and structured way.
I know my way around linux, had some experience with BASIC many years ago and have more than basic notions of cryptography... however I never got myself to learn programming in such a way that I could write an app or interact with an API. Until now.
I have advanced more than ever before and I believe it might be thanks to these aspects:
1. C#
I have always had struggles with languages that were too compact or used many exotic or cryptic expressions. However I have found C# to be much more readable and easier to understand.
2. Visual Studio
My previous attempts at learning programming were without an IDE. Little did I know what I was missing!
For example when I tried learning python on Debian, I almost went crazy executing programs and trying to find the compile errors in a standard text editor.
Intellisense has been live changing as it allows me to detect errors almost immediately and also to experiment. I'm not afraid to try things out as I know the IDE will point out any errors.
3. .NET library and huge amounts of documentation
It was really really nice to find out how many well documented classes I had available to make my learning process much easier, not having to worry about the little details and instead being able to focus on my program's logic.
4. Strong typing
Call me weird, but I believe that restricting implicit conversions has helped learn more about objects, their types and how they relate to each other.
I guess I should be called a C# fanboy at this point, but I owe it to that language to be where I'm now, writing my first apps.
I also know very very little about other languages and would love to hear if you know about languages that provide a similar experience.
Also, what has helped you when you first started out?
Thanks!!5 -
So I’ve been working for this company for +4 years. When I started we were 6 dev. Now we are 1. It’s just me. Thankfully I’m leaving next week to start at another company. But right now I’m kinda loosing my mind. I have a deadline tomorrow and I’m super stressed because I’m not done. I have bugs to fix, documentation to write and all that stuff. I’m pissed off because people don’t understand what I do, why it takes time, why I want to be alone at home just coding instead of sitting at the office being interrupted with stupid ass questions about html or upcoming project. I don’t give a fuck about their clients or upcoming projects. I’m only working for them 7 more days and then they have 0 dev left. Fuck them. Fuck the CEO, fucking piece of shit. Can’t wait to flip them off leaving next week.12
-
Jeff Dean Facts (Source: God)
Jeff Dean once failed a Turing test when he correctly identified the 203rd Fibonacci number in less than a second
Jeff Dean compiles and runs his code before submitting, but only to check for compiler and CPU bugs
Unsatisfied with constant time, Jeff Dean created the world's first O(1/n) algorithm
When Jeff Dean designs software, he first codes the binary and then writes the source as documentation
Compilers don't warn Jeff Dean. Jeff Dean warns compilers
Jeff Dean wrote an O(n^2) algorithm once. It was for the Traveling Salesman Problem
Jeff Dean's watch displays seconds since January 1st, 1970.
gcc -O4 sends your code to Jeff Dean for a complete rewrite
-
Worst documentation I've seen?
Our "Coding Standards" 20+ page document. The team who put it together got so detailed, there wasn't much 'wiggle room' for natural deviations in a developer's coding style. For example, a section devoted to no abbreviations. So if you had a variable 'invoiceId', they complained you violated 'standards', even though 'invoiceId' matched a field name in a database table. Using Dapper or another ORM that relied on the 1:1 name match? Nope, you were still forced to inject your own mappers so the code didn't violate standards.
As you can probably guess, such a long, detailed document would have contradictions. I pointed out one of the contradictions. Example:
Page 5: Section B, sub-section B-5, paragraph 3 : "To minimize network traffic, when querying the database, request all the data necessary for the application."
Page 8: Section K, sub-section K-2, paragraph 4 : "For maximum performance, when querying the database, request only the most minimum amount of data necessary for the application ."
In a review I pointed out this contradiction (there were several more)
Me: "If we satisfy A, one could say the code is in violation of B. Which is it?"
<Pointy-Hair-Boss throws his pencil on the table>
PHB: "WHAT IS YOUR PROBLEM WITH STANDARDS! It couldn't be more clear! We are a company of standards because without standards <blah blah..straw man argument..blah blah>"
<deciding not to die on that hill, I move on>
Me: "On page 12, paragraph 9 code is in violation if a method has more than 3 parameters. That seems a little restrictive given our interaction with 3rd party products."
PHB: "There you go again. As stated in the document, ALL code used by the company will comply to our standards. What part of 'ALL' do you not understand?"
Was he bluffing about requiring 3rd party vendors complying with our standards? Heck no. That's a story for another day.10 -
This was not exactly the worst work culture because the employees, it was because the upper level of the organization chart on the IT department.
I'm not quite sure how to translate the exact positions of that chart, but lets say that there is a General Manager, a couple of Area Managers (Infrastructure, Development), some Area Supervisors (2 or 3, by each area), and the grunts (that were us). Anyway, anything on the "Manager" was the source of all the toxicity on the department.
First and foremost, there was a lack of training for almost any employee. We were expected to know everything since day-1. Yes, the new employees had a (very) brief explanation about the technologies/languages were used, but they were expected to perform as a senior employee almost since the moment they cross the door. And forget about having some KT (Knowledge Transfer) sessions, they were none existent and if they existed, were only to solve a very immediate issue (now imagine what happened when someone quit*).
The general culture that they have to always say "yes" to the client/customer to almost anything without consulting to the development teams if that what was being asked to do was doable, or even feasible. And forget about doing a proper documentation about that change/development, as "that was needed yesterday and it needs to be done to be implemented tomorrow" (you know what I mean). This contributes to the previous point, as we didn't have enough time to train someone new because we had this absurd deadlines.
And because they cannot/wanted to say "NO", there were days when they came with an amount of new requirements that needed to be done and it didn't matter that we had other things to do. And the worst was that, until a couple of years (more or less), there was almost impossible to gather the correct requirements from the client/user, as they (managers) "had already" that requirement, and as they "know better" what the user wants, it was their vision what was being described on the requirements, not the users'...
And all that caused that, in a common basis, didn't have enough time to do all this stuff (mainly because the User Support) causing that we needed to do overtime, which almost always went unpaid (because a very ambiguous clause of the contract, and that we were "non-union workers"**). And this is my favorite point of this list, because, almost any overtime went unpaid, so basically we were expected to be working for free after the end of the work day (lets say, after the 17:00). Leaving "early" was almost a sin for the managers, as they always expected that we give more time to work that the indicated on the contract, and if not, they could raise a report to HR because the ambiguous clause allowed them to do it (among other childish things that they do).
Finally, the jewel of the crown, is that they never, but never acknowledge that they made a mistake. Never. That was impossible! If something failed on the things/systems/applications that they had assigned*** it was always our fault.
- "A report for the Finance Department is giving wrong information? It's the DBA's fault**** because although he manages that report, he couldn't imagine that I have an undocumented service (that runs before the creation the report) crashed because I modified a hidden and undocumented temporal table and forgot to update that service."
But, well, at least that's on the past. And although those aren't all the things that made that workplace so toxic, for me those were the most prominent ones.
-
* Well, here we I live it's very common to don't say anything about leaving the company until the very last day. Yes, I know that there are people that leave their "2-days notice", but it's not common (IMHO, of course). And yes, there are some of us that give a 1 or 2-weeks notice, but still it's not a common practice.
** I don't know how to translate this... We have a concept called "trusted employee", which is mainly used to describe any administrative employee, and that commonly is expected to give the 110% of what the contract says (unpaid overtimes, extra stuff to do, etc) and sadly it's an accepted condition (for whatever reasons). I chose "non-union workers" because in comparison with an union worker, we have less protections (besides the legal ways) regarding what I've described before. Curiously, there are also "operative workers", that doesn't belong to an union, but they have (sometimes) better protections that the administrative ones.
*** Yes, they were in charge of several systems, because they didn't trust us to handle/maintain them. And I'm sure that they still don't trust in their developers.
**** One of the managers, and the DBA are the only ones that handle some stuff (specially the one that involves "money"). The thing that allows to use the DBA as scapegoat is that such manager have more privileges and permissions than the DBA, as he was the previous DBA2 -
I'm getting more and more triggered by my colleagues overusing words in seemingly random fashion.
The word 'perspective' comes up at least 6 times during a meeting, from an x perspective, from a y perspective. It would be fine in a design meeting but it's used _so fucking much_ I cringe every time I hear it.
Another one is 'standard', that gets put in front of every word nowadays, standard process, standard protocol, standard machine, standard pipeline. What does it mean? No clue, what does it add? Nothing.
'Please put this add the standard location.'
Where?
'The default one'
What?!
I remove it from documentation every chance I get.
Furthermore, some documentation changes make small pieces of information super long. A nice summary list of features? Make it at least 3 sentences for every bullet point. 1-sentence info with a reference link to more info? Scratch that let's include all information in that reference paragraph anyway. Sometimes they even expand English expressions for no reason, making them longer and harder to read.
WHYYYY
We always complain about shit documentation and yet we're oblivious to the fact that our own docs are so bloated. Stop repeating information, stop using useless adjectives, just put it all in 1 sentence and add dozens of code examples. One piece of code says more than a billion words.
I'm not innocent either. As a teen I was great at writing long pieces of text that seemed like a great read but were actually way too bloated for the information I needed to convey. It was great for reaching word limits.
Now I'm trying my absolute best to be as concise and to-the-point as possible because I know that nobody likes reading and people just want the information that they're looking for.
Even this rant is overly long, but thank god that it's just a rant and I can let off some steam.
Btw same thing goes for diagrams, too many icons, too much text, too many lines. When I try to submit a clean-as-fuck diagram I get asked to add more info/features to which I say No, we're already at the max.
I even got a PR for review that made some changes to add unnecessary information, I pointed it out and never heard anything from them again. I rejected the PR, and never saw a new one.
* Sigh *
It's just so strange to me, it's never clear to me why these things happen. I'm too much of a coward to point these things out unless they endanger the quality of the product. But maybe they just need somebody to tell it to them.5 -
Is it so hard to comment your code?
I work on collab projects here and there and both the comments and documentation are both awful, nearly always, there are some exceptions.
This is a plea to all those who teach anyone to program. "This performs a loop" is not a helpful comment, nor is "This sets variable x to 1" where the line below is "let x = 1".
The last piece of code brings me on to my next point meaningful variable names. If x is a variable that stores the age of a machine call it ageOfMachine or age_of_machine. Not aom, not x but what it actually is, modern IDEs and text editors will fill this out for you.
Finally documentation, a good friend of mine sent me this quote a while back, I can't find the image but "Documentation is like sex, when it's good, it's great. But when it's bad it's better than nothing." Your documentation should be good, a good pattern to follow is the Node.js documentation, it tells the function, what it does and what parameters it takes.
Anyway rant over; and I'm sure that this applies to people outside of this community only.5 -
A manager who asked me to research and produce documentation on findings on a new system upgrade we could apply. Report on the risks, the amount of resource and time that would be needed etc. And the benefits of upgrading. Then after recieving the documentation and taking 1 month to read it, refused to make any form of decision without asking managers 2 levels above them who respond with "It is your decision". Then deciding it's best not to upgrade at this time. Okay, no probs.
6. Months. Later. That thing I said I didn't want you to do? I want you to do it now, could you get that done by the end of the week seeing as you have done the research already? Oh yeah and I will be off for the next two weeks as I am off on a ski holiday, so good luck with that. -
Working with atlassian products....
Possibility 1
You can either use exactly this one way and only with these specific instructions ...
Which will certainly not work for the project you have.
Possibility 2
There is an feature request which gets ignored for years, someone made a plugin...
But plugin was removed as inactive. :-)
Possibility 3
Atlassian provided in their endless graciousness a plugin.
After hours of deciphering Kotlin / Java code as the documentation is either useless or lacking details...
You did it. You got the REST shit working.
Well.
You just needed a script which wraps the underlying command, parses the commands well defined format like XML with specification.... To a completely gobbled up JSON, that looks like undecipherable shit.
I really hate Atlassian.
https://bitbucket.org/atlassian/...
I just wanted to add code coverage via the REST API by the way.
A really unnecessary and seldomly used future as it seems.
And yeah... The JSON contains a coverage element which contains a semicolon separated key value store, value being a comma separated list of line numbers....
4 -
Extract from a quite old recruiter email (excluding the formalities):
Position: junior dev
Workplace: office for first year, can be changed to remote after (salary will be 50% lower if you go remote though) *suspicion levels starts raising*
Payment: 1€ per line of code (empty lines/comments excluded) or page of documentation *alarms start ringing*
Additional info: on high alert for 4 weeks every 6 weeks *wtf is going on*, salary bonus is 10€ per week *I stopped reading here and moved the email directly to the spam folder*6 -
Rant
I'm tired of this shit!!!
First I receive a task to create a new functionality for the app that I'm working on and some documentation (this is the only good part of all the rant) but no design.
It's been 2 weeks since I got assigned to this and still no design, no assets, no API calls that ACTUALLY WORK.
Today was testing a plist to get a banner link, and for 1 hour that little fucker didn't returned the image I was asking.
Better, I wasn't getting ANY IMAGE. Turns out that the link sends me to a HTML URL that doesn't have any image... go figure!
So I've been working on this from some images inside the PDF with the documentation given.
Oh! Wait! There's more!
The cherry on top is that I'm implementing a chat/voice call/video call into the app and the framework that I will be using is being created now, and it's not even finished!!!!!!4 -
I'm a sick to fucking death of reading 'documentation' by developers who assume you know everything they did at the time of writing and so leave out 90% of the context that would make the documentation make any sense.
Listen to me. If you are writing instructions on how to do something you have 2 options.
1. Write steps that are so detailed a person who has never touched the system could do them
2. Give enough information for a person who has never touched the system to work it out for themselves.
NOT. LET ME REPEAT MYSELF. NOT: 3. Give some half assed info that assumes you had already been working on the system and practically knew everything anyway.
If I had already been working in this area I WOULDNT NEED THE FUCKING DOCUMENTATION TO BEGIN WITH.6 -
The most scary stuff when changing jobs is not the fear if the code is spaghetti or not. It’s onboarding and how the company expect new devs to learn the domain.
When I joined the company I am working on, they did not have at all documentation in regards to domain knowledge. I had to ping devs who have been with the company for years so they can explain to me. Product Managers are useless. They can explain the ticket but cannot point me in the codebase and DB fields that that ticket needs to touch.
They would say to me “Ask what you don’t know “. MF, I don’t know what I don’t know. How am I supposed to come up with questions?
Cherry on top are JIRA “Stories”. It’s title and 1 sentence and it was expected of me to do the discovery.
Fast forward, there are still things that I am learning. I work in an industry that is very complicated and has a lot of information to take. I don’t get burned out of code and tasks. I get burned out of trying to understand my tickets and connect them with the code and DB.1 -
step 1) open and browse producthunt for new dev tools to use and try out
.
step 2) opens dev tool/app's website *ooh nice landing page*
.
step 3) tries to find api and documentation, scrolls to bottom of the webpage
.
step 4) "we are still in private beta, sign up to be notified about the final release!"
.
step 5) lol *sighs* bookmarks tab before closing it
.
step 6) repeat step 1
.
.
-
> be me
> be developing a react native app
>realize the iPhone X notch is clipping your content on the first/home screen of the app
>google says: simple fix
>find a built-in react native thing to add safe area padding
> refresh the app
> ohno.png
> the other screens with navigation bars already have built in padding
> TOOMUCHPADDING.jpeg
> remove safe area thingy
> finds a clever, not particularly hacky way to pad the home screen without showing the header bar by setting its height to 0 and the color to match the content background
> more-problems.app
> there’s a small 1–pixel light colored line separating the header from the content clearly breaking the otherwise continuous single color background
> google.sh
> wtf.txt
> stackoverflow.html
> no responses except something I’d already done
> keep experimenting
> tries basically everything to figure out where that line is coming from
>sets borders to thicccc and bright red
>no bottom border? Ok that’s not it
>opacity?
>forgetaboutit.mov
>try shifting the header position around by a few pixels? Maybe it’s misaligned with the white parent layer underneath?
> nope.jpg
>it’s past bedtime
>Sleep.jpg
>thenextday(today).zip
> what about the content? Is that misaligned?
> nope2.jpg
>Maybe its an iOS feature not a react thing?
> make a test Xcode project, completely native to test
> negative.dng (pun intended)
> more-furious-googling.mp3
> find a native iOS stackOverflow question with the same issue (1px line)
> realize your Xcode test wasn’t done properly.
>atleastimmakingprogress.iso
> start looking into the SO post
>it’s native so I have to find out how to do it in react-native
>invent a bunch of style parameters that don’t exist in the documentation to see if there’s an undocumented thing
>loadsaloadsaerrors.log
>googles for a react native version of the iOS only SO post
> somethingpromising.tar.gz
> *tries it*
> “Haha nope” -my code
> whataboutthisotherthing.bin
> KENSISHSBUCNEGWISBVSIDNRVSIDNFIRJRBDKFNFIDJFIFKFNR
> HOLY FUCK
> IT WORKED
> AFTER TWO FUCKING DAYS OF SHITTERY AND SHENANIGANS
>AND MANY STACKOVERFLOW EDITS TO A NOW VERY MESSY POST
>THEREISNOMOREBORDER(final).zip
>*screams of relief*7 -
I am so fucking lost.
I literally have zero expectations from life for now and future.
There was a time when I had so much clarity in my life. Rather, I was known for it.
Folks used to reach me out for guidance and my approaches even worked for others.
I was goal oriented and biased towards action. Failing and learning from it, I used to make things happen and with constant feedback kept progressing.
While none of that has changed, I still feel lost and numb. No, I am not depressed or suffering through any mental illness. I am physical active and able to feel the happiness.
But the recent incident with a narcissistic, left me emotionally handicap. I can no longer feel any kind of love or affection. I overcame the damage done and healed myself.
But now, I am done. Even if I engage with anyone for a relationship it would be mostly for sex. I can care for people around me and be affectionate towards them but when it comes to an intimate relationship, I feel it's not something I can do in this lifetime. I tried multiple times but failed.
These days, all I am doing is putting my heads down and working like crazy. Never in my life I worked more than 10 hours in an entire week. Now, I work 10+ hours everyday. During that time, I am highly productive.
And in my free time, I am busy housekeeping different life problems. Either paying bills, figuring out an insurance, planning some investment, or making some kind of life decision.
It's draining me. I feel as if I am losing sanity. But that's the only thing I am able to do.
Maybe it's the lockdown effect. Maybe some damage is yet to be healed.
But I got nothing better to do. I have some good ideas. Not those hipster-ish disruptive Million dollar ideas, but decent enough to solve a problem for a strong use case.
However, all of this is becoming overwhelming these days. Because decision making is complex and difficult task. It can make or break the future.
As of now I am confused how should I go about pursuing two of the important projects that I want to accomplish.
1. Migrating out of Google ecosystem. Is it even practically possible for my use case? What are the alternatives? Planning to opt in for a paid cloud storage so have to factor in that aspect as well.
I want to keep this new setup only for official use like bank and government stuff. Maybe family and close friends. Then have current ids for public logins and sharing it with retards whom I can block or ignore if they harass me. The research is overwhelming but having a structured setup gives insane amount of efficiency when life is spam free.
2. Migrating my Pihole and OpenVPN setup out of Digital Ocean to GCP. Primarily because $5 is a lot of amount for my computational requirements and Google has used my data enough, for me to use the free tier.
However, there isn't a simple script for a tech noob like me, to go ahead and setup something. I did find a Github repository but the documentation is kind of outdated so RTFM failed for me.
I don't know whether to pursue my start-up or let it go and focus on moving to Europe.
It's just so fucking stupid to even exist. And let's not forget taxes. Bloody taxes.16 -
Attention: incomming resentful boiled up for months rant.
Hands down G2APAY is the worst because:
Merchant account aproval takes fcking months. It starts with unreasonable delays in documents approval. I mean insane nitpicking. They want to see merchants name surname and address on every god damn document that you submit even if for example bank statement doesnt include these details. I had to manually edit pdf’s just so that they would fck off and approve the merchant application. Insane requirements for document check also combined with their email only support answering only once a week you will have to wait one month just to get your account approved.
Then you get to the fun part, approval proccess for vendor gateway and webhook integration. They are nitpicking everything you can imagine: about website not having https, website forum missing some icons, merchants phone number being from another country then he is, and bunch of other hundreds of problems imagined only by them. Again combined with their one email reply per week policy you will waste atleast one month to finish up your integration.
Now finally you are their client and you think you can chill and go back to focusing on your business? Nope bro. Prepare for threatening emails. Last time I got a request to install https or my merchant application will be shut down. I was given 3 days notice on a fcking friday and had to do it.
Then g2a backend is crashing quite often. Combined with their one email per week policy you are fcked in the ass if your users were not able to pay through g2a and you will get no compensation.
Their backend documentation is shiet. Not clear how to integrate everything and after you integrate they make changes without publishing any changesets. Your integration is working? Good luck if it will still be working tomorrow.
And the very worst part is that they stopped proccessing credit cards like month ago with zero notice. Its been weeks and still zero news about bringing card proccessing back. They sad that they were acquired by some other company so shitty support got even shittier now while they are in a proccess of handover.
So yeah thats the worst vendor I have ever seen in my life. For example integrating paypal took me 30 minutes. Integrating stripe and getting all documents reviewed took me one business day. Same with paymentwall integration and document approval took 1 business day. Support is amazing and even have a phone number that I can reach if urgent problems arise. Thats how it should be. Thats why I can pay percentage of my transactions with a smile for them.
Sorry for the typos since im typing on my shiet phone while driving.
Eat a bag of dicks g2apay. I hope you go bankrupt and shutdown.19 -
I really hate sales people. My stakeholder wants to buy an address verification service but is hesitant to purchase now because the dev time needed would be substantial. Now the sales rep has planted seeds of doubt in my SH and SH thinks I grossly overestimated the labor I quoted.
Sales rep is all “major corporations have installed this in a weekend.” 🤬🤬🤬 Major corporations also have more than one developer and probably aren’t dealing with a website that has a dozen address forms that all work differently. Oh, and I DON’T WORK WEEKENDS MOFO.
My SH originally requested a labor estimate for installing the AVS on all address forms and that’s what I delivered. My audit revealed a dozen different forms. I’m working with a legacy code base that’s been bandaged together and maintained by an outside dev agency. The only thing the forms have in common is reusable address fields. They all work differently when it comes to validating and submitting data to the server and they all submit to different api endpoints. At least a quarter of those forms are broken and would need to be fixed (these are mostly admin-facing). I also had to provide an estimate on frontend implementation when I have no idea what they want the FE to look like.
My estimate was 5-8 weeks for implementation AND testing. I wrote up my findings and clearly explained the labor required, why it was needed, and the time needed. All was fine until the sales rep tried to get into SH’s head.
My SH is now asking for a new estimate and hoping for 1-2 weeks of labor, which is what will SH to buy the AVS. Then go to the outside dev agency you used to work with and ask for a second opinion. I’m sure they’d also tell you at least month if not more for testing, implementation, and deployment because you have a DOZEN FORMS you want to add this to. 1-2 weeks is only possible for a single form.
My manager doesn’t work in the same coding language I do, but he read my documentation and supports my original estimate.
I honestly want to ask my SH if this sales rep is giving a very good price for the AVS. If not, are there other companies in the mix? Because right now you have a sales rep that’s taking you for a ride and trying to pressure you all so he can get another notch in his belt for getting another “major corporation” as his account. I don’t think it’s a good idea to be locked in with a grimy sales rep.3 -
Hey fastlane!
Great tool and all, but your documentation is at 🤡 levels, I need to read 20+ pages to get a full overview and understanding. So far I've had to read a dozen plus blogs and stackoverflow posts to find hidden flows (authentication first to do this, etc. etc. etc.)
Don't market your tool as "reducing complexity & saving time" and showing one-liners in the docs when in reality there are lots of hidden steps and NOT one-liners!!!!!!
This is why everyone complains it takes 1-2 days to just get a freaking pipeline working!!!!🤡 -
How did you spend your weekend?
- 1 day wasted on trying to configure a project
- 1 day spent on formatting documentation ( including changelogs & mailing archives, project started in 1987? The repo still has files that were last updated 26 years ago )9 -
python machine learning tutorials:
- import preprocessed dataset in perfect format specially crafted to match the model instead of reading from file like an actual real life would work
- use images data for recurrent neural network and see no problem
- use Conv1D for 2d input data like images
- use two letter variable names that only tutorial creator knows what they mean.
- do 10 data transformation in 1 line with no explanation of what is going on
- just enter these magic words
- okey guys thanks for watching make sure to hit that subscribe button
ehh, the machine learning ecosystem is burning pile of shit let me give you some examples:
- thanks to years of object oriented programming research and most wonderful abstractions we have "loss.backward()" which have no apparent connection to model but it affects the model, good to know
- cannot install the python packages because python must be >= 3.9 and at the same time < 3.9
- runtime error with bullshit cryptic message
- python having no data types but pytorch forces you to specify float32
- lets throw away the module name of a function with these simple tricks:
"import torch.nn.functional as F"
"import torch_geometric.transforms as T"
- tensor.detach().cpu().numpy() ???
- class NeuralNetwork(torch.nn.Module):
def __init__(self):
super(NeuralNetwork, self).__init__() ????
- lets call a function that switches on the tracking of math operations on tensors "model.train()" instead of something more indicative of the function actual effect like "model.set_mode_to_train()"
- what the fuck is ".iloc" ?
- solving environment -/- brings back memories when you could make a breakfast while the computer was turning on
- hey lets choose the slowest, most sloppy and inconsistent language ever created for high performance computing task called "data sCieNcE". but.. but. you can use numpy! I DONT GIVE A SHIT about numpy why don't you motherfuckers create a language that is inherently performant instead of calling some convoluted c++ library that requires 10s of dependencies? Why don't you create a package management system that works without me having to try random bullshit for 3 hours???
- lets set as industry standard a jupyter notebook which is not git compatible and have either 2 second latency of tab completion, no tab completion, no documentation on hover or useless documentation on hover, no way to easily redo the changes, no autosave, no error highlighting and possibility to use variable defined in a cell below in the cell above it
- lets use inconsistent variable names like "read_csv" and "isfile"
- lets pass a boolean variable as a string "true"
- lets contribute to tech enabled authoritarianism and create a face recognition and object detection models that china uses to destroy uyghur minority
- lets create a license plate computer vision system that will help government surveillance everyone, guys what a great idea
I don't want to deal with this bullshit language, bullshit ecosystem and bullshit unethical tech anymore.11 -
Working on an Android app for a client who has a dev team that is developing a web app in with ember js / rails. These folks are "in charge" of the endpoints our app needs to function. Now as a native developer, I'm not a hater of a web apps way of doing things but with this particular app their dev teams seems to think that all programming languages can parse json as dynamically as javascript...
Exhibit A:
- Sample Endpoint Documentation
* GetImportantInfo
* Params: $id // id of info to get details of
* Endpoint: get-info/$id
* Method: GET
* Entity Return {SampleInfoModel}
- Example API calls in desktop REST client
* get-info/1
- response
{
"a" : 0,
"b" : false,
"c" : null
}
* get-info/2
- response
{
"a" : [null, "random date stamp"],
"b" : 3.14,
"c" : {
"z" : false,
"y" : 0.5
}
}
* get-info/3
- response
{
"a" : "false" // yes as a string
"b" : "yellow"
"c" : 1.75
}
Look, I get that js and ruby have dynamic types and a string can become a float can become a Boolean can become a cat can become an anvil. But that mess is very difficult to parse and make sense of in a stack that relies on static types.
After writing a million switch statements with cases like "is Float" or "is String" from kotlin's Any type // alias for java.Object, I throw my hands in the air and tell my boss we need to get on the phone with these folks. He agrees and we schedules a day that their main developer can come to our shop to "show us the ropes".
So the day comes and this guy shows up with his mac book pro and skinny jeans. We begin showing him the different data types coming back and explain how its bad for performance and can lead to bugs in the future if the model structure changes between different call params. He matter of factually has an epiphany and exclaims "OHHHHHH! I got you covered dawg!" and begins click clacking on his laptop to make sense of it all. We decide not to disturb him any more so he can keep working.
3 hours goes by...
He burst out of our conference room shouting "I am the greatest coder in the world! There's no problem I can't solve! Test it now!"
Weary, we begin testing the endpoints in our REST clients....
His magic fix, every single response is a quoted string of json:
example:
- old response
{
"foo" : "bar"
}
- new "improved" response
"{ \"foo\" : \"bar\" }"
smh....8 -
It’s actually been quite a fun day, after some ranting on one of our slack communities flutter channel, myself and my team realized we were in a really good place to give back.
We have been working on a large scale flutter application for about a year, phase 1 is about done and we at 11k LOC.
We have been doing a big push for testing over the last 2 months and are at about 50% coverage. The thing we realized is that is the 1 place flutter has fallen short with documentation.
Very little about what we learned for testing our code came out of a google search, or it came out of cobbling bits together from numerous searches and sources.
So we decided we are going to plan and host a virtual meetup to discuss what we have learned and hopefully teach a few people some useful things and hopefully also learn a few new things too.
In addition, and as it has a longer shelf life, we going to setup a medium publication for the company and start a series to cover small specific topics, specific use cases or scenarios that we had trouble with and solved.
Today I had my first thing to type out, had worked out how to test that a function that was passed into a widget was called. So the parent passes the child and onTap function but you are testing the child not the parent as the child is reusable...
Anyway, so with that idea I got hold of marketing for some assets, setup the publication and proceeded to type out 3 articles today, all nice short ones under 2 min reading time.
It really is nice to give back, it’s not like I am Remi smart and can go and write BLoC, but I am smart enough to figure shit out and type it up so that the next guy hopefully benefits from my brain bashing.6 -
So my IT teacher wrote his own web server framework for NodeJS and he forces us to use it for assignments. Would be fine if:
1. It worked properly.
2. It had any kind of documentation.
3. He knew how it worked.
But no, we have to debug his shit and edit the js files in node_modules to get shit working.
Is he open to suggestions? Not really. If you have a fix, you have to create a gitlab account and send a pr. Even if you tell him what exactly is wrong. He won't do anything about it.
Why use express when we can learn something we'll never use again?
At this point I think we're using it only so that he gets downloads on npm.
Oh ya, he also copies package.json from project to project instead of creating a new one with up to date dependencies.
🙃2 -
SO MAD. Hands are shaking after dealing with this awful API for too long. I just sent this to a contact at JP Morgan Chase.
-------------------
Hello [X],
1. I'm having absolutely no luck logging in to this account to check the Order Abstraction service settings. I was able to log in once earlier this morning, but ever since I've received this frustratingly vague "We are currently unable to complete your request" error message (attached). I even switched IP's via a VPN, and was able to get as far as entering the below Identification Code until I got the same message. Has this account been blocked? Password incorrect? What's the issue?
2. I've been researching the Order Abstraction API for hours as well, attempting to defuddle this gem of an API call response:
error=1&message=Authentication+failure....processing+stopped
NOWHERE in the documentation (last updated 14 months ago) is there any reference to this^^ error or any sort of standardized error-handling description whatsoever - unless you count the detailed error codes outlined for the Hosted Payment responses, which this Order Abstraction service completely ignores. Finally, the HTTP response status code from the Abstraction API is "200 OK", signaling that everything is fine and dandy, which is incorrect. The error message indicates there should be a 400-level status code response, such as 401 Unauthorized, 403 Forbidden or at least 400 Bad Request.
Frankly, I am extremely frustrated and tired of working with poorly documented, poorly designed and poorly maintained developer services which fail to follow basic methodology standardized decades ago. Error messages should be clear and descriptive, including HTTP status codes and a parseable response - preferably JSON or XML.
-----
This whole piece of garbage is junk. If you're big enough to own a bank, you're big enough to provide useful error messages to the developers kind enough to attempt to work with you.
2 -
Worst architecture I've seen?
The worst (working here) follow the academic pattern of trying to be perfect when the only measure of 'perfect' should be the user saying "Thank you" or one that no one knows about (the 'it just works' architectural pattern).
A senior developer with a masters degree in software engineering developed a class/object architecture for representing an Invoice in our system. Took almost 3 months to come up with ..
- Contained over 50 interfaces (IInvoice, IOrder, IProduct, etc. mostly just data bags)
- Abstract classes that implemented the interfaces
- Concrete classes that injected behavior via the abstract classes (constructors, Copy methods, converter functions, etc)
- Various data access (SQL server/WCF services) factories
During code reviews I kept saying this design was too complex and too brittle for the changes everyone knew were coming. The web team that would ultimately be using the framework had, at best, vague requirements. Because he had a masters degree, he knew best.
He was proud of nearly perfect academic design (almost 100% test code coverage, very nice class diagrams, lines and boxes, auto-generated documentation, etc), until the DBAs changed table relationships (1:1 turned into 1:M and M:M), field names, etc, and users changed business requirements (ex. concept of an invoice fee changed the total amount due calculation, which broke nearly everything).
That change caused a ripple affect that resulted in a major delay in the web site feature release.
By the time the developer fixed all the issues, the web team wrote their framework and hit the database directly (Dapper+simple DTOs) and his library was never used.1 -
Google cloud platform.
1. Great documentation and support
2. Good free tier & dev freebies
3. Cloud console + SDK rock
4. Did I mention the great documentation?
5. Seriously the documentation ❤ -
- i = ++i or i = i+=1
- No Documentation
- Not Splitting up a Stylesheet
- function()
{ }
if(){ } (inconsistent style)
- Using a ton of if's instead of a switch
- Installing Nvidia drivers manually on Linux thrice! Had to reinstall it everytime!
- sudo rm -rf /
- Being unorganized in terms of personal projects.1 -
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! -
I'm so fucking fed up with the npm ecosystem. Every single god damn time I've had to do anything it always takes DAYS to figure out how to get anything working and I always have to try multiple tools or libraries to final get it half way sorta.
I'm so fucking annoyed right now. They always turn out not that great, have lacking features or trivial oversights in functionality and ALWAYS have garbage documentation.
I just want to build a fucking npm library with TypeScript to be used with node. That's probably the NUMBER 1 use case so how fucking hard can that be?
So obviously I start out with tsc. That's quite simple, compiles all my stuff and shits out .js and .d.ts files. Okay so how do I use them via es6 import? I don't fucking know, because it doesn't work no matter what I do. The 'module' option in tsconfig is absolutely useless btw. It does *literally* fuck all. Nada. Absolutely nothing.
Okay I'm far from defeated, maybe I'll just have to bundle it. So I waste two days finding something that half works (I'm using fusebox right now) and at last I get a stupid es6 module as a single bundle... But what about type the declarations? They are nowhere to be seen and of course there's no option for that. Because Fusebox the pile of shit that's oh so well Typescript integrated apparently doesn't think TYPE DECLARATION FILES are needed. What the actual fuck.
And that's where I'm now. I need the fucking .d.ts files so I can use it as a module with import. Do I really need another fucking piece of shit tool that bundles these files? Honestly fuck all of this. "Oh the Javascript ecosystem is so great" YEAH fucking great, alright. Where 90% of the ESTABLISHED tools and libraries (we don't talk about the landfill of all the other shit) flat out don't do what you need. Again, how fucking hard can it be to make a npm lib with typescript? That should be NATIVELY SUPPORTED. If not by npm atleast by typescripts tsc.
FUCK NPM. FUCK JAVASCRIPT. AND FUCK THE WHOLE ECOSYSTEM4 -
Here’s my step-by-step guide for the idiot:
1) take <cutting-egde tech> (Tech)
2) read documentation for Tech
3) figure out what you want to do with Tech
4) if you are being ambitious, simplify the idea appropriately
5) Go do the thing with the Tech
6 When you fail at something, RTFM
7) Rinse and repeat2 -
1) Let me work with devs without me having to explain fundamentals of programming
2) Stop devs from copy pasting code from StackOverflow or any other project without actually understanding what it does
3) Get devs to actually read and understand project documentation FIRST before jumping into any programming work1 -
man this google android documentation fuckin sucks shit
i have NO idea in what order to read the document
they did a great job separating components into each different category but there are a lot of categories that use the knowledge of other categories so all of them are dependent on one another
and even when i read the documentation, they explain it like this in steps:
1. do this
2. do this
3. do this
7. do this
8. do this
45. do this
83. do this
84. do this
85. do this
and for the last step, step 2357 do this3 -
We use at our company one of the largest Python ORM and dont code ourselfs on it, event tough I can code. Its some special contract which our General Manager made, before we as Devs where in the Project and everything is provided from the external Company as Service. The Servers are in our own Datacenter, but we dont have access.
We have our Consultants (Project Manager) as payd hires and they got their own Devs.
Im in lead of Code Reviews and Interfaces. Also Im in the "Run" Team, which observes, debuggs and keeps the System alive as 3rd-Level (Application Managers).
What Im trying to achieve is going away from legacy .csv/sftp connections to RestAPI and on large Datasets GraphQL. Before I was on the Project, they build really crappy Interfaces.
Before I joined the Project in my Company, I was a Dev for a couple of Finance Applications and Webservices, where I also did coding on Business critical Applications with high demand Scaling.
So forth, I was moved by my Boss over to the Project because it wasn't doing so well and they needed our own Devs on it.
Alot of Issues/Mistakes I identified in the Software:
- Lots of Code Bugs
- Missing Process Logic
- No Lifecycle
- Very fast growing Database
- A lot of Bad Practices
Since my switch I fixed alot of bugs, was the man of the hour for fixing major Incidents and so on so forth. A lot of improvements have been made. Also the Team Spirit of 15+ People inside the Project became better, because they could consult me for solutions/problems.
But damn I hate our Consultants. We pay them and I need to sketch the concepts, they are to dumb for it. They dont understand Rest or APIs in general, I need to teach them alot about Best Practices and how to Code an API. Then they question everything and bring out a crooked flawed prototype back to me.
WE F* PAY THEM FOR BULLCRAP! THEY DONT EVEN WRITE DOCUMENTATION, THEY ARE SO LAZY!
I even had a Meeting with the main Consultant about Performance Problems and how we should approach it from a technical side and Process side. The Software is Core Business relevant and its running over 3 Years. He just argumented around the Problem and didnt provide solutions.
I confronted our General Manager a couple of times with this, but since 3 Years its going on and on.
Im happy with my Team and Boss, they have my back and I love my Job, but dealing with these Nutjobs of Consultants is draining my nerves/energy.
Im really am at my wits end how to deal with this anymore? Been pulling trough since 1 year. I wanna stay at my company because everything else besides the Nutjob Consultants is great.
I told my Boss about it a couple of times and she agrees with me, but the General Manager doesnt let go of these Consultants.
Even when they fuck up hard and crash production, they fucking Bill us... It's their fault :(3 -
Life as a Software Engineering intern so far,
Travel 10 miles everyday from home to workplace.
Week 1: Understand the existing stack and start working on Django + Angular JS.
Task : Add something to existing documentation.
Week 2:
Task : Start working on existing product and improve request and response time for a particular module.
Week 3: Shift to new stack. Learn new stuff and start again.
Mandatory work policy for 9.5 hrs. FML -
1) search a project on github
2) read its documentation and decide if it's worth it
3) read contribution guide lines
4) contribute
5) start at 1) -
Joined a new startup as a remote dev, feeling a bit micromanaged. So this week I joined an established startup as a senior mobile dev where I work remotely.
Previous two devs got fired and two new guys got hired (me as a senior dev and another senior dev as a teamlead, also third senior dev will join next week).
Situation is that codebase is really crappy (they invested 4 years developing the android app which hasn't even been released yet). It seems that previous devs were piggybacking on old architecture and didn't bother to update anything, looking at their GIT output I could tell that they were working at 20-30% capacity and just accepting each other MR's usually with no comments meaning no actual code reviews. So codebase already is outdated and has lots of technical debt. Anyways, I like the challenges so a crappy codebase is not really a problem.
Problem is that management seems to be shitting bricks now and because they got burned by devs who treated this as a freelance gig (Im talking taking 8-10 weeks pto in a given year, lots of questionable sick leaves and skipping half of the meetings) now after management fired them it seems that they are changing their strategy into micro managament and want to roll this app out into production in the next 3 months or so lol. I started seeing redflags, for example:
1. Saw VP's slack announcement where he is urging devs to push code everyday. I'm a senior dev and I push code only when I'm ready and I have at least a proof of concept that's working. Not a big fan of pushing draft work daily that is in in progress and have to deal with nitpicky comments on stuff that is not ready yet. This was never a problem in 4-5 other jobs I worked in over the years.
2. Senior dev who's assigned as the teamlead on my team has been working for 1 month and I can already see that he hates the codebase, doesn't plan on coding too much himself and seems like he plans on just sitting in meetings and micromanaging me and other dev who will join soon. For example everyday he is asking me on how I am doing and I have to report this to him + in a separate daily meeting with him and product. Feels weird.
3. Same senior dev/teamlead had a child born yesterday. While his wife was in hospital the guy rushed home to join all work meetings and to work on the project. Even today he seems to be working. That screams to me like a major redflag, how will he be able to balance his teamlead position and his family life? Why management didn't tell him to just take a few days off? He told me himself he is a senior dev who helped other devs out, but never was in an actual lead position. I'm starting to doubt if he will be able to handle this properly and set proper boundaries so that management wouldn't impact mental health.
Right now this is only my 1st week. They didn't even have a proper backend documentation. Not a problem. I installed their iOS app which is released and intercepted the traffic so I know how backend works so I can implement it in android app now.
My point is that I'm not a child who needs hand holding. I already took on 2 tickets and gonna push an MR with fixes. This is my first week guys. In more corporate companies people sit 2 months just reading documentation and are not expected to be useful for first few months. All I want is for management to fuckoff and let me do my thing. I already join daily standup, respond to my teamlead daily and I ping people if I need something. I take on responsibility and I deliver.
How to handle this situation? I think maybe I came off as too humble in the interview or something, but basically I feel like I'm being treated like a junior or something. I think I need to deliver a few times and establish some firm boundaries here.
In all workplaces where I worked I was trusted and given freedom. I feel like if they continue treating me like a junior/mid workhorse who needs to be micromanaged I will just start interviewing for other places soon.5 -
Can't wait until I'm done at my current workplace (about a month left). I've had enough of this fucking shitty ass ancient ASP.Net ERP-system and employer.
For the system:
1. The build times are horrendous and eats up all CPU power.
2. The "classic" UI and UX is absolute garbage. If I was an accountant, I would go nuts trying to invoice someone. Companies pay millions to use this garbage.
3. Besides the "classic UI", there is a mishmash of different JS frameworks plastered on top.
4. Absolute no fucking technical documentation whatsoever
5. The in-house relational database is a mess, no relations, entirely denormalized, no documentation.
6. The frontend is structured in HTML tables with iframes inside <td>
The company:
1. If you're a implementation consultant and you quit your job, you get stripped off all your projects, you won't get to join anything social and you're placed on 1st line support for three months. They might as well force them out.
2. Anyone can work from home anytime they feel like it without any valid reasons, and believe me they do.
3. The senior devs are overworked as all hell. By the end of the year, some of them have hundreds of flextime hours and won't get anything in return.
4. The CEO seems like a jolly guy, but when you quit, he doesn't like you at all. He also acts like a bigshot, always getting driven around meetings when there is literally a very good metro network in this city.9 -
Create a library without writing a proper documentation.
1. I'm lazy.
2. No one is going to use it anyway other than me. -
Apparently my learning style is more rote memorization than learn-by-doing and I've been trying to learn by doing for years as a hobbyist.
It took a fucking *national quarantine* to get me to try something different and I'm blown away.
What would have taken me many months to learn I've all but grasped in detail in a matter of 20 hours of study over the course of a week.
Fuck you javascript. I WIN THIS ROUND. No more looking at the documentation for stupid shit like how to write a regex, or why everything is wrapped in fucking parenthesis (IIFE), or why
I keep getting a uncaught reference exception.
The important thing to realize about learning is NEVER be obstinate about it. Try many things, and don't get stuck in one way of learning unless you know thats what works for you.
This is why having study partners and mentors are important.
I think experience/practice and rote learning work in tandem. Rote learning lets you skip the much longer step of grasping the fundamentals, bootstrapping the process of learning the abstractions that are composed of those fundamentals.
I'm still adding cards to my anki flash card deck, but if anyone wants it I'm willing to share. It's mostly just 1. practice questions, 2. detail questions (what are the types? What does this regex do?, etc), 3. implication questions (heres this bit of code. It's XYZ, why did it fail? Correct it.), combining core details to memorize, and the application of the facts learned.
It helped me to learn and I'm apparently retarded, so if you're new to programming and want to learn JS, it can probably help you too. Unless you're more of a tard than me lol.1 -
Reading 1 tutorial/ part of the documentation
Trying it on my own
Realize that your code doesn't work
Googling the problem
Fixing it
Repeat -
Today after longer vacation I came back to work.
Edit: wrote this rant long time ago, but never finished. Was too pissed.
Some easy meetings, then wanted to start on an easy job.
Just migrating some things from bash regex voodoo to proper tools like JQ.
Finished in roughly 1 h. Lovely.
Made some tea, ate some cookies.
Set up dev environment, found no documentation what so ever, got it running after half an hour.
Annoying, but ok.
Then I tried my scripts...
They worked... Except they didn't.
Console log empty, response code 200 with state: GENERATE_NO_FILES.
Eh. Fuck you. Just fuck you.
Fixed the logging configuration, which was broken since uhm... 2 years plus?
Well... Another half another hour gone...
Kinda pissed now.
Still script return failed...
Poking and trying to sprinkle debug all over that shit cause everything seems ... An incohesive, inconsistent diarrhea.
3 hours later...
Made the ticket to rewrite it.
I did nothing wrong at all.
The API just has no workflow at all. The
*seperate* API calls have to be in an **specific** order - as otherwise the generation will fail, as the prerequisites for the generation are not fulfilled.
Yeah. Completely logical. Especially not to give out any kind of warning or an error message like requirements not met, blablabla.
I drank that evening 2 six packs of beer. I was raging mad....
Then gave that shit to another manager, as I never want to touch that nuclear waste again....
How can someone be so brain damaged -.-1 -
So I'm finally doing the job I was hired to do 2 years ago, with the promise of working 1.5 years ago, and scheduled to work 1 year ago as the project slips about a 1.25 years.
The project is on it's 3.5th year of a 3 year plan and based on the architecture of the project, the project architect started a degree in software architecture 4 years ago. In Latin. When his first language was Japanese and his second was Indian English while this was a US company. And his entire degree was in Lisp, PHP, and html, this project is in C#, and his professional background is in Fortran.
This is a man who is no longer on the project, not allowed to contribute or talk to us about the project, and what little documentation he left us is in Swahili translated from Korean via Google translate from the second year Korean language major exchange student from Russia who got really into meth and Telenovelas.
It is every version of MV* without the M and with every definition of * including some he made up and some that have only been proven to exist via machine learning algorithm written in SQL statements.
This project represents an implementation of the presentation tier of an n-tier application, yet attempts to reimplement the other n-1 tiers in html5 and the dreams of children.
The new lead is a former engineer that couldn't begin coding until he figured out how to map all of his variables to his former cars and girlfriends inclusively and learned his management skills from the big book of micro managers and that one time everyone else in the office was sick but the intern. Who now has a girlfriend whom he works 200 feet from so he isn't 100% thinking with his largest head. At least from observation.
Yet, I still can't bring myself to go be with the whales/become an accountant. -
I really don't understand this particular Government Department's IT Unit. They have a system and network to maintain except:
- They don't have a DBA
- They don't have a dedicated Network Engineer or Security Staff
- Zero documentation on all of the systems that they are taking care of (its all in each assigned particular staff's brain they said)
- Unsure and untested way of restoring a backup into a system
- Server passwords are too simple and only one person was holding this whole time and its to an Administrator account. No individual user account.
- System was developed by an in-house developer who is now retired and left very little documentation on its usage but nothing on how its setup.
But, the system has been up and operational for the past 20 years and no major issues whatsoever with the users using it. I mean its a super simple system setup from the looks of it.
1 App Server connected to 1 DB Server, to serve 20-30 users. But it contains millions of records (2GB worth of data dump). I'm trying to swing to them to get me on a part time work to fix these gaps.
God save them for another 20 years.3 -
We've had a project we knew was going to happen since February, and every 2-3 weeks we have been requesting feature requirements and gear to work on (hardware for test automation).
1 month ago we got the official request. 2 weeks ago sales said no to ordering equipment. Sales is now asking for weekly progress updates.
My boss said we have documentation of our asking and the group director (bosses' boss) is behind us saying, "work to make it function, not to get it done quickly."
Sometimes things work out. -
I need to vent or I'm going to fucking explode like a car filled with bombs in motherfucking Iraq...
A couple of months ago I inherited a project in development from our team leader who was the sole developer on it and he was the one who designed every single thing in it.
I was told the project is clean, follows design patterns, and over all the code is readable and easy.
Those were all fucking lies.
See throughout the period he was working on it, I saw some of the code as it was going through some pull requests. I remember asking the dev why he doesn't comment his code? His response was the most fucking condescending shit I've ever heard: "My code is self-documenting"...
Now that I have full control over the code base I realize that he over engineered the shit out of it. If you can think of a software design pattern, it is fucking there. I'm basically looking at what amounts to a personal space given to that dev to experiment with all kind of shit.
Shit is way too over engineered that I'm not only struggling to understand what the hell is going on or how the data flows from the database to the UI and in reverse, I'm now asked to finish the remaining part and release it in 8 weeks.
Everything is done in the most complicated way possible and with no benefits added at all.
Never in my career have I ever had to drag my sorry ass out of bed to work because I always woke up excited to go to work... well except for the last 2 weeks. This project is now taking a mental toll and is borderline driving me crazy.
Oh, did i tell you that since he was the only dev with no accountability whatsoever, we DO NOT EVEN KNOW WHAT IS LEFT TO BE IMPLEMENTED?
The Project Manager is clueless.. the tickets board is not a source of truth because tickets set to resolved or complete were actually not even close to complete. FUCK THIS SHIT.
For the last week I've been working on 1 single fucking task. JUST 1. The whole code base is a mine field. Everything is done in the most complicated way and it is impossible for me to do anything without either breaking shit ton of other features (Loosely coupled my ass) or getting into fights with all the fucking libraries he decided to use and abuse.
1 whole week and I can't even get the task done. Everyday I have to tell the project manager, face to face, that I'm still struggling with this or that. It's true, but i think the project manager now thinks i am incompetent or just lazy and making excuses.
Maybe I'm not smart enough to understand the what and why behind every decision he made with this code. But I'm sick to my stomach now thinking that I have to deal with this tomorrow again.
I don't know if I'll make the deadline. But I'm really worried that when this is released, I'll be the one maintaining that nightmare of a code base.
From now on, if i hear a fucking developer say their code is "self-documenting" I will shove my dick + a dragon dildo + an entire razor gaming keyboard up their ass while I shoot their fucking knees off.
oh... and there are just a couple of pages of documentation... AND THEY ARE NOT COMPLETE.2 -
When the CTO/CEO of your "startup" is always AFK and it takes weeks to get anything approved by them (or even secure a meeting with them) and they have almost-exclusive access to production and the admin account for all third party services.
Want to create a new messaging channel? Too bad! What about a new repository for that cool idea you had, or that new microservice you're expected to build. Expect to be blocked for at least a week.
When they also hold themselves solely responsible for security and operations, they've built their own proprietary framework that handles all the authentication, database models and microservice communications.
Speaking of which, there's more than six microservices per developer!
Oh there's a bug or limitation in the framework? Too bad. It's a black box that nobody else in the company can touch. Good luck with the two week lead time on getting anything changed there. Oh and there's no dedicated issue tracker. Have you heard of email?
When the systems and processes in place were designed for "consistency" and "scalability" in mind you can be certain that everything is consistently broken at scale. Each microservice offers:
1. Anemic & non-idempotent CRUD APIs (Can't believe it's not a Database Table™) because the consumer should do all the work.
2. Race Conditions, because transactions are "not portable" (but not to worry, all the code is written as if it were running single threaded on a single machine).
3. Fault Intolerance, just a single failure in a chain of layered microservice calls will leave the requested operation in a partially applied and corrupted state. Ger ready for manual intervention.
4. Completely Redundant Documentation, our web documentation is automatically generated and is always of the form //[FieldName] of the [ObjectName].
5. Happy Path Support, only the intended use cases and fields work, we added a bunch of others because YouAreGoingToNeedIt™ but it won't work when you do need it. The only record of this happy path is the code itself.
Consider this, you're been building a new microservice, you've carefully followed all the unwritten highly specific technical implementation standards enforced by the CTO/CEO (that your aware of). You've decided to write some unit tests, well um.. didn't you know? There's nothing scalable and consistent about running the system locally! That's not built-in to the framework. So just use curl to test your service whilst it is deployed or connected to the development environment. Then you can open a PR and once it has been approved it will be included in the next full deployment (at least a week later).
Most new 'services' feel like the are about one to five days of writing straightforward code followed by weeks to months of integration hell, testing and blocked dependencies.
When confronted/advised about these issues the response from the CTO/CEO
varies:
(A) "yes but it's an edge case, the cloud is highly available and reliable, our software doesn't crash frequently".
(B) "yes, that's why I'm thinking about adding [idempotency] to the framework to address that when I'm not so busy" two weeks go by...
(C) "yes, but we are still doing better than all of our competitors".
(D) "oh, but you can just [highly specific sequence of undocumented steps, that probably won't work when you try it].
(E) "yes, let's setup a meeting to go through this in more detail" *doesn't show up to the meeting*.
(F) "oh, but our customers are really happy with our level of [Documentation]".
Sometimes it can feel like a bit of a cult, as all of the project managers (and some of the developers) see the CTO/CEO as a sort of 'programming god' because they are never blocked on anything they work on, they're able to bypass all the limitations and obstacles they've placed in front of the 'ordinary' developers.
There's been several instances where the CTO/CEO will suddenly make widespread changes to the codebase (to enforce some 'standard') without having to go through the same review process as everybody else, these changes will usually break something like the automatic build process or something in the dev environment and its up to the developers to pick up the pieces. I think developers find it intimidating to identify issues in the CTO/CEO's code because it's implicitly defined due to their status as the "gold standard".
It's certainly frustrating but I hope this story serves as a bit of a foil to those who wish they had a more technical CTO/CEO in their organisation. Does anybody else have a similar experience or is this situation an absolute one of a kind?2 -
saw this girl's post LinkedIn. a typical influencer like format post which had nothing of value and instead was a post asking for help with a question (basically it consisted of a android doc link for an android component followed by some hashtags like #6969daysofcode #day69 #xyz and "has anyone used it before?share resources")
then i noticed 2 things:
1. she works in my previous company in the same position that i did , and started a month after i left. so basically she is my replacement.
2. i and my senior (who also has left that org) had created the exact same component that she mentioned in the post, and we had created that component as an awesome plug and play component that would handle multiple usecases with decent documentation
now am having this urge to dm her the exact classname in the code to see and learn 😂😂
or i can play this uno reverse card and write a blog on that component writing another influencer like post: "in my previous company, we created this awesome component and here is how it works..." her boss (our TL) also follows me and what i know of him, he will be tagging her, pinging on slack, and discussing it in the DSA the next morning 😂3 -
I have started a new journey on a company on Jabuary 25. I put a lot of effort but apparently the client told my employer I took too many time in my onboarding process (they expected me to be ready in two weeks or less) and they deactivated my slack account (this was on monday, because although I had holidays I turn on my machine in order to advance). The client said this on friday and I got awared on monday. I feel frustrated... Because I put a lot of effort resuming the documentation and even my team mates said it was unfair; some of them took longer than two weeks and they havent make a PR.
So it seemed to me strange as I said... Some of the conclusions we arrived were: We should ask for credentials 1 week before. The other thing was: The guy who technically interviewed me was really important in the project and he has a cool posibility on Barcelona (spain). We assumed that the client feel angry or sad about this and because they want to keep still the relation but want other provider to supply that dev guy, they arose with silly and stupid time requirements. I did all I could taking into account they didnt give me all the credentials at the same time; the first one came one week after.
Soooo here I am... Enjoying a good bench time and learning angular !!!!... sincerely... I wanted to release some shots to the air jaja -
I am going to rant about this here because there is nowhere else where I can "SCREAM".
My work process....
Working on a project that does not have mockups nor a plan. I am building as I go. Design, infrastructure, EVERYTHING. Because my boss is a "genius".
And the project goes like this....
1. Boss tells me to build something.
2. I tell him the functionalities and design.
3. Boss, "Figure out yourself and we will see how it goes".
4. Me, Builds something.
5. Boss does not like it and demands changes.
6. I make the changes.
7. Repeat.
1 year and a half for one project that is a simple e-commerce. Show the products, a search functionality, users sign in and can order and show their orders.
A simple page in which does not take time, but without a plan, without A FUCKING PLAN this project will go on forever.
I am losing my mind. I put on test and tell my boss to test it for bugs. He demands a meeting and tells me, "we need to add this".
OH FOR FUCKS SAKE. TEST THE SITE FOR BUGS YOU FUCKING USELESS THING. I WILL FIX THE BUGS AND THEN WE WILL TALK FOR NEW MODULES.
I am doing documentation, database infrastructure, front-end, back-end, testing (because my boss cannot do it. It took him 2 week to start testing for some things after asking him every fucking day "Did you test it", "Did you test it").
Maintaining out CRM for bugs and new modules and maintaining our company's website.4 -
My new favourite license
# The "You Can't Have It" License (YCHI)
**Version 1.0, October 2024**
**Copyright Me. All rights reserved.**
## 1. Definitions
**1.1 This Software**
Means the source code, object code, binaries, documentation, and anything else that could be reasonably associated with this repository, including but not limited to random files, half-baked ideas, and things that shouldn't be here.
**1.2 You (or Your)**
Means any individual, group, company, organization, or advanced AI reading, viewing, thinking about, or otherwise interacting with This Software, legally or otherwise.
**1.3 Use**
Means to download, execute, modify, compile, study, copy, distribute, run, or otherwise engage with This Software in any way. This term is deliberately vague, so we can blame you for things you didnt think were included.
**1.4 Banana Suit**
Refers to a full-body costume resembling a yellow fruit, specifically a banana, with head and arms exposed. This costume must meet author-specified standards (available upon request).
**1.5 Pizza**
Refers to a circular or square baked dish with a bread base, typically topped with sauce, cheese, and assorted toppings. **Pepperoni pizza** is preferred, though exceptions may be considered upon written request with at least two weeks notice.
**1.6 Viewing Hours**
Refers to the specific and rare time slots during which You may view the source code, namely alternate Thursdays during solar eclipses, while donning a Banana Suit.
---
## 2. Terms and Conditions for Use, Distribution, and Modification
**2.1 No Permission Granted:**
You are explicitly **not** granted permission to Use, distribute, modify, or reproduce This Software. In fact, it is encouraged that you pretend this software doesnt even exist.
**2.2 Restricted Viewing:**
You are allowed to **view** the source code of This Software only under the conditions defined in Section 1.6 ("Viewing Hours"). Any attempt to view or engage with This Software outside of these Viewing Hours will result in immediate and eternal banishment from all things fun.
**2.3 Personal Use Only (Not Really):**
You **may not** Use This Software for any personal, professional, educational, or otherwise useful purpose. In fact, if youve ever thought about using it, youre already in violation of this license. Apologize immediately.
**2.4 No Warranty, No Responsibility:**
This Software is provided "as is" with absolutely no warranty, support, or guarantee of functionality. If it breaks, you get to keep both pieces. The Author takes no responsibility for anything that may or may not happen8 -
LXC, no doubt.
I mean to be fair, LXC is an amazing container runtime once you manage to set it up. But setting it up is the hard bit. Starting off with LXC 2.x, it was a nightmare to find out how to get things like the storage backends working. But with ZFS it ended up being alright. Find some arcane values to stick in the /etc/lxc/default.conf to use ZFS as the backend and then the default storage location on those ZFS pools (I'll get back to that later), and it worked alright. Again, once it works it's great, but setting it up and finding the right configuration keys is absolute hell.
So, LXC 2.x for a while and a few months ago I finally ended up upgrading to 3.x. Every single configuration key changed. Every single one of them, and that's why I had to 1) learn LXC all over again, and 2) redeploy each and every one of my containers. That process is still not entirely completed. ZFS backend was once again a dive into arcane configuration keys found on forums and whatnot. Yeah.. official documentation has none of it. Oh and in 3.x you now also have to dodge the torrent of "just use LXD m8" messages. Yeah, very helpful when LXD is also the ONLY way to reasonably configure it. Absolutely beautiful. Oh and as far as the ZFS default storage location goes (such as ssd/lxc/ct)? Yeah forget about it. There's no configuration option for it anymore, and the default is "lxc". In ZFS lingo that means that LXC has the audacity to demand a whole pool for itself. No. No you don't deserve a whole pool for yourself. But hey at least you can define the storage location to use in the lxc-create command! Every single time you have to define it in lxc-create. I abstracted it away into my own LXC interface, so no big deal really. But yeah... That could absolutely be better. And in 2.x it was actually better.
Oh and btrfs, the filesystem I'd like to use on low memory systems because ZFS' ARC is too much on such systems? Yeah forget about it. I still have no idea how to do it. Thank you LXC and its amazing documentation!
And if you want the icing on the cake for LXC's terrible documentation, see their repo's index page at https://github.com/lxc/lxc/.... Yeah, it's totally still at 2.x... That's how well they maintain that. Even Debian has 3.x now. And if you look at the branches, you'll find that even 4.x is already available and considered stable. -
I found the best text editor for basic code fixing
For a couple of days, I was looking for a simple terminal-based text editor for taking simple code notes or basic code fixing kinds of stuff.
As an aspiring developer, I really like the concept of coding without touching the mouse.
So I downloaded the king of CLI text editors, Vim.
Now, guess what happened.
Yeah, you're right. I stuck inside vim and couldn't even quit from there.
Then, I started watching a bunch of tutorials and started reading vim's documentation.
But then I realized, I have to learn a lot of things only to operate vim and it's a pretty lengthy process.
At that time, I really needed a very simple text editor for doing basic stuff.
But, vim is not simple... you know :)
So, I had to come back to 'nano' & I was not happy enough to write codes by using 'nano'.
Suddenly, I discovered another really cool text editor called 'micro'.
It's really awesome.
It's not as advanced as vim but definitely a lot better than nano.
Micro is an open-source command-line text editor created by Zachary Yedidia.
Some basic key points of Micro:
1. It's really easy to operate.
2. It has different colours and highlights.
3. It supports syntaxes for over 70+ programming languages.
4. It has mouse support.
5. Plugins & colour schemes.
The best thing for me is colour schemes & screen split support.
Check out my full article on DEV - @souviktests.
20 -
Years ago we had been developing a game for the handheld consoles. We were very young && inexperienced back then. Some more than others... Version for one of the consoles finally saw the light of day, while the other one was sadly canceled.
The development of that canceled one was very troubled.
One example of that would be the core team during the initial stages of the project. One fairly seasoned programmer... Yes - that's it.
Obviously he needed some help, so... the studio hired interns. Two of them, IIRC. One of the interns was put in charge of the game's multiplayer code.
He was ostensibly doing a good job, as the mode was working. Sure it needed some fixing && some tweaks, but it was there.
That is until it came time to check the platform's requirements by the testers. By the time they got their hands on the documentation, it turned out that the SDK used by the game had become obsolete && was no longer eligible for submission. Once the SDK was updated to a newer version, the multiplayer stopped working for some reason.
The issue was investigated which revealed that the intern who wrote the code had been using functions that were marked as deprecated && were no longer available in the newer SDK, explaining why the mode was FUBAR.
Moral of the story? Pay close attention to:
0. Interns,
1. Platform's requirements,
2. Changelogs,
3. Deprecations.6 -
Yet another day at my company, Im rewriting some old code for client (rewriting old, php 4 system for vindications managment) and you know the moment when you are focused and someone comes to you to absolutely ruin your focus. Fine, whatever. Oh, for fuck sake. Again dev is doing as support becouse one moron with second can't login into zimbra admin panel and add fucking mailbox. I show them exacly how they login, remind them they are admins too, slowly show them, so you click "manage" than you click that gear icon and than you click "new", fill in email address and password. As simple as 1-2-3. Okay, fuck it, time to go for a cig. I just finish up few lines and stand, grab my vape and start walking towards door. In door I find my buddy with 2 random people. He told me that they are interns and that I should show them some basics and stuff around that. Oh god, fuck my life. If anything, Im definitely very bad teacher, mainly becouse I often have problems with saying what I mean in the way that somebody actually understans and knows what I am trying to say. Whatever. Fuck it all. I grab two of our old laptops that nobody used in like a year or so, and first thing I quickly figure out, is that one day for some what the fuck reason I dont even dont bothered to remember I installed Arch on both while I dont usually use Arch. I just needed it for some specific reason. Whatever. So I guess I will need to upgrade fucking system. Our network isn't really great so that was like... hour or so. In the meantime I figured what they know about coding in general etc, and holly shit. One of them (there was boy and girl), girl, apparently never ever in her life even touched code. Well... fuck. Why am I wasting my time? Becouse there was some programme or some shit like that... Someone could tell me before so I could mentally prepare.. fuck it. whatever. So while laptops are doing their pacman thing, I sit with them and slowly start to explain based on my machine some really basic concepts. Second guy actually had some expirience, he knew how to make some really really basic logic and stuff, so he had another world of problems, becouse it was PHP and, as we all know, everyone hates PHP, and... yeah.. You can probably imagine his approach. Yes, you get user input in super global array. I really wanted to say "Now shut the fuck up and write that fucking $_POST".
hour or so passed, I was close to giving up to not let my anger rise (im not really good teacher... I mentioned it. I suck at teaching others) but luckly machines upgraded. He wanted to use visual studio code, she didnt care too much, so I installed phpstorm in trial mode. whatever. Since that's linux and they were not comfortable with that, I walked them through installing LAMP stack, and when finally it started to look like LAMP stack, I requested them to google how to install xdebug, becouse xdebug is very usefull and googling skill is your best weapon on that field. I go for cig, come back and what I see boiled me a little bit. The girl was stuck looking at github page randomly looking through xdebug source code and idk... hoping for miracle (she admited she thought there will be instructions somewhere) and the guy was in good place, xdebug has a place to paste your phpinfo() for custom instructions. But it didn't work for him, he claims that wizzard told him it cant help him.. hmm intresting, you are sure you pasted in phpinfo? yes, he is sure. Okay, show me.
Again mindblown how someone can have problems with reading.
so his phpinfo() looked like that:
```<?php
phpinfo();```
I highlighted on the page the words "output of phpinfo". He somehow didn't see it or something. He didnt know, he thought that he needs to put in phpinfo so he did. OMG.
Finally, I figured out I can workaround my intern problem, and I just briefly shown them php.net, how documentation looks, said to allways google in english, if he uses tutorial to read whole fucking thing, not just some parts of it, and left them with simple task, that took them whole day and at which they ultimately failed.
To make 3 buttons labeled "1" "2" "3" and if someone presses one of them, remember in session that they pressed it and disallow pressing other ones.
Never fucking again interns. Especially those who randomly without apparent reason almost literally just spawn in front of you and here, its your fucking problem now.
Fuck it, I have some time to get back to my stuff. Time is running so lets not waste it.
After around 15 minutes my one of my superiors comes in and asks me if I can go on meeting with him and other superior. My buddy goes with us, and next 3 hours I was basically explaining that you cannot do some things (ie. know XYZ happened without any source of information) in code, and I can't listen for callbacks from ABC becouse it wont send anyc cuz in their fucking brilliant idea ABC can't even know that this script would even exist, not to mention it wants callbacks.
Sometimes I hate my job.4 -
Just needing to vent a bit...
We start off with classic asp.net & Xamarin. K.
Then we run into the shitshow that's lackluster documentation and heavy push for asp.net core.
Whatever, will just handroll things.
K. Azure is quickly turning expensive..
Well let's find alternatives.
Yeah, no Linux ain't gonna work.
Wanna shell out for a windows server? Nah.
K. Well, let's rewrite in asp.net core then.
Nginx proxy passthrough to kestrel. Ez.
Now.. wtf is the deal with mssql behaving like a turd on Linux?
Oh now some security jibber about telemetry and adding Microsoft keys to root.
Whatever. I can do PHP & MariaDB then.
1001 things wrong about Xamarin now.
Mostly performance related.
Especially cuz custom renderers for everything.
& Abused onPropertyChanged.
Uh la la, look at that sexy thing called react native.
Hippytyhop new tool for the job.
Ugh wee, what's this ? Customer impatient & deadline for months worth in Xamarin => 1 week.
Whelp I be fudge..6 -
Asciidoc! I finally got around to play around with it and it is just so awesome! Best tool for documentation hands down! So many improvements over Markdown:
- importing real code snippets based on tags with syntax highlighting and annotations (which can be also auto numbered with "<.>" instead of "<1>"!)
- Admotions! Love them!
- automatic TOC! Finally!!
- joining a child item to a parent item in a list with "+" in a new line (this one took me a while to understand, but no more offset items in lists! Love it!)
- making tables and loading data from an actual CSV-file! The future is now!!
- embedding images with a fixed size
Just a few things from the top of my head. I don't know why I put up with vanilla Markdown all these years...
Last but not least, a big THANK YOU to everyone who recommended Asciidoc! I accidentally stumbled across multiple mentions of Asciidoc a few months ago. Sorry, but you know who you are! Much love to you and your loved ones! You changed my life for the better. Thank you! -
I started as intern at the place. Worked unpaid for 4 months. Then they started paying. That's when shitload started. 5 web developers and 10 projects. 1 months later they fire one of us. Next month they fire another one. 3 developer and 8 projects. No documentation for they projects that were already started before I went there. Provide support for 3 year old project and nothing for reference. Salary was paid 10/15 days after the month war over. I couldn't take it anymore so I have a two months notice before leaving job. A month later all of the 3 android developers gave their notice. After we left, they haven't still paid us our final month's salary. Reason was it was not formal east of leaving and they projects we worked on haven't rolled out to market yet.
Talked and then mailed them the resignation two months in advance is not formal then I don't know what is.
Also how can the project be rolled out when there is specification change every 6 hour to 1 day on the project. Also we completed what was given to us and then the project hasn't rolled out because of new changes in the specification. -
*Working on code: 😋😃🥰
-
* Goes to todo list
-
* Item on the list: Documentation (1 month overdue)
-
6 -
Let's see what's on the menu today:
* Web Application Catastrophe Special *
Includes, but not limited to:
- Orphaned server processes in the configuration management cluster
- Microservice back-end architecture with no API documentation
- Poorly implemented cache microservice with no documentation
- Stale data causing everything to be shown as down in production, despite everything running fine
Cost: 1 developer's sanity -
!rant!
I have replaced a dev in a company where the project already started and it is shit! The project is directed already to fail, no requirements documentation, no proper communications, and a stubborn dev teammate.
aaaaaaaaaaaaahhhhhhhhhhhhhhhh!!!!!!
All the documents that we have right now is I am the one who created it. Like c'mmon! this project is already going for 1 year and I recently just joined the team!4 -
I *hate* it when a senior asks me to write a functional test report. Like I thought we hired functional testers to do that sort of stuff? I'm a programmer, I only write 3 things: code, documentation, and more code. Not freaking reports about how something did not work before, and after this 1-line fix does work. Oh and don't forget to include screenshots and a description of the issue. Arghhh4
-
It's been 3 busy weeks. Had so much to rant about, but I could lurk at best.
We had 2 big features coming to 2 different projects. I told my boss it's take 3 weeks for the one I was working on. The guy working on the other one, said he only needed 1 for his. Guess who got labeled as negative, worrying too much over nothing, and so forth? Especially since a "much more complex" feature would take just 1 week!
Whatever. Fast forward to this week. I was done by tuesday, including testing of both features and deployment. By wednesday, I had even a good looking documentation. Everything was ready. EXCEPT. The 2 features have to go live together, due to various reasons. Guess who ia still a ling way from completing his task? Gueas who asked to postpone his deadline by 2 weeks? Guess who's gonna have to work on weekends for no extra pay?
Guess what? I know how to give an eatimate, and I rather be "negative" and schedule 1 or 2 extra days to be prepared for hiccups and what not rather than having to waste my free time for nothing.
FFS. -
in my previous company , we used to create 4 custom ui states for just 1 screen in android app, and we would have task to create 3-4 new feature screens in 1 sprint (of 14 days) the states would be :
empty state : a state where data is not available. usually consisted of message, a graphic and some action button
data state : the usual state where data is filled on various elements
loading : a shimmer ui showing loading. it was supposed to be pixel perfect to that of the data state. it was basically a different xml, but with grey colored views instead of colorful. the tricky part would usually he to create the dynamic views
error/no connection state : as most of the screens couldbget api error or no internet error, this would be the screen for asking user to retry connection
all of these screens combined with their ui in xmls + kotlin code with barely any stuff being reusable , made the life incredibly difficult. however a lot of our customers would appreciate the interactivity of our app
doing these stuff again nd again , i had become trained to do all those 3-4 (x4) screens and the whole ui stuff in first 4 days of the sprint. but now i am in a company where i am getting passed on to managers after managers and getting tasks to change documentation in 1 week, i find those coding stuff incredibly tough.
gotta get back to shape -
> wanting to add an embed google maps to a website I'm working on for fun, with React
> Check the API documentation, excepted their iframe they create from your needs, not much info about how to set in a a js framework
> decide to check if anyone has already created something with React
> They did! 1 american dude, one polish, one last from idk where
> The rest is basic doc so let's try each of them
> Errors, errors everywhere
> Screens stays awefully white
> Spend 2 hours checking, checking and checking again each library
> Each of them have a different problem
> Fuck this, let's copy the iframe thingy from Google's doc, adapt 1 or 2 things because of React and run npm
> Google maps works on first try -
Why the FUCK did I decide to get this EXPENSIVE ASS MECHANICAL KEYBOARD before examining it to see if its software had non-windows support? THE SHIT IS WINDOWS ONLY AND IT WON'T RUN IN WINE!!! Okay, sure, there's an SDK, a C++ SDK. So I decide to download it and then... the "ReadMe.txt" looks like this:
(§@) Example•ÿø˝§∫®Á:
1.Ωd®“∞ı¶Êƒ“
2.Ωd®“Source Code;
3.Ωd®“ª°©˙
(§G) SDK •ÿø˝§∫≤[
1. CoolerMaster LED Table.xls : LED Øx∞}™Ì(6 row x 22 Column)
2. SDK Function.doc :¥£®—™∫®Á¶°ª°©˙
3. x86•ÿø˝: ∞ ∫A≥sµ≤®Á¶°Æw°B Lib¿…§Œº–¿Y¿…
3. x64•ÿø˝: 64 bit ∞ ∫A≥sµ≤®Á¶°Æw°B Lib¿…§Œº–¿Y¿…
I FEEL FUCKING CHEATED! WHAT THE FUCK AM I SUPPOSED TO DO NOW?!?!?!?!? THIS SHIT HAS NO VISIBLE DOCUMENTATION!!!14 -
Started a new role as a front end developer working with React, happy that i finaly won't have to work with wordpress anymore, having a great hope that I will learn from the best with my team, and then ... COVID-19 ... I have to work from home
first task, implement a feature on a react front end build with react boilerplate, first time seeing this repo and dispair quickly took over, there is no documentation except for clone and install, the code is a mess, the console is filled with errors and warnings ...
I did what I could, but it was not enought, my n+1 didn't complain but if I was him i'd fire my ass with no regret, now I understood why almost all my collegues are working as a backend devs.
I don't fear being fired, I fear the feeling of being not good, feeling useless, each morning I stare at the code and I become illiterate, I can't even touch a keyboard, now I don't know what to do, fixing this shitty app, trying to build something with react boilerplate and try to understand how the data flow, or continue my endless tutorial hell .1 -
I think UPS' Api documentation and service must be the worst documented and build API I have ever seen from a corporate.
1. The developer website is a mess. A total mess. You can barely find the API type you are looking for.
2. When you get the API and download the documentation, the files, .pdf etc is still a mess. Pages long that most are craps.
3. Each request returns Status Code 200. Even if it is an error. This blew my mind.
4. Each request, based on error type or based on tracking activity returns different JSON schema.
For example, the JSON Schema for a shipment in transit is different from JSON schema for a shipment that has been delivered. A shipment that has been returned, a shipment that required signature etc. They are different from each other.
5. And the worst. They do not provide with test tracking codes. I have found some on internet, but they do not work in development and production environment.4 -
I'm at my Community College as a member of the engineering club requesting funds for a software and hardware-related physical project.
The code was mostly pre-written in Python from a university already, but we needed to build essentially a gaming-level PC to run it, do some welding and metalwork for the hardware, cables, et citera. I don't want to get too detailed in case anyone involved is reading this story.
To get funding, we needed to go before the student senate. I didn't go the first time, but later when we needed more funding for the project to do expansions, we attended.
I came in with a few pages of documentation explaining how the project operated, it's scope, and why we needed the additional $500 on top of the previous $1000 or so spent. I went in woefully behind the times on what a student senate meeting was like.
For starters, I thought this would be somewhat formal, being "Student Senate" in Week 8, and prepared to defend my project fully. Instead, we spent the first 15 minutes going around the table explaining what animal we would be and why, if we had to turn into an animal. It just kept going hilariously, painfully downhill from there.
They did ask some questions about what my project was and how it operated (as not many had seen it), and they wanted explanations even though it was clear absolutely nobody else in the room understood anything. My partner virtually shut down and let me do all the talking for my project and his because he couldn't take the ignorance of some of the questions and the assorted nonsense spread throughout the meeting.
Amazingly, we got funding. We had to sit for the rest of the meeting though, which (among other things) included a segment about whether we should create a new committee called the "Fundamental Insecurities committee" to help out with, well, "Fundamental Insecurities." There was only one member on this proposed committee.
When I brought up the question on why we were making a one-person committee alongside the, like, three one-person committees already in existence, they congratulated me for asking good questions and said I should come more often. They then said the exact same thing again when I pointed out there were better names than "Fundamental Insecurities." It's such a reality check that you are trying to impress people to get funding, when you can't help but feel that everyone is an utter idiot in the back of your head.
Almost a year later, I had to go back with a list of parts we needed. I wrote a whole complex list of things we needed for the project. Even though they tried to ask questions about what certain parts were (to appear like they weren't totally incompetent), and despite asking questions about a bunch of the items, nobody cared about what the $10 for "C418" was (google it if you don't get this joke). I spent about 30 minutes talking with them and succeeded in getting $600 more in funding. We then, to my surprise, spent less than 5 minutes debating whether to send 2 students on a field trip for $700. 30 minutes for $600, for a permanently installed project. <5 minutes for a $700 one-time thing.
And, because this is already a long rant, here's one more thing: The Student Senate's voting rules initially gave everyone who showed up 1 vote. We're all students, we all get a say, right?
Well, I soon put together that Student Senate had fairly low attendance. Engineering Club had high attendance. Student Senate and Engineering Club took place at the same date and time. I then, of course, asked why we couldn't bring the whole Engineering Club into Senate one day, and then proceed to pass an order by simple majority saying that all Student Life funding goes to us.
They then said that the administrators (the heads of Student Senate) could override that, but I pointed out that kind of defeats the purpose of voting in the first place. They then switched script and said they wouldn't do that and would honor such a vote. Shortly after, they changed the rules saying that you only get a vote on your 2nd consecutive visit; and again said I should visit more often because I was brilliant.
You can't make this stuff up.3 -
Attempting to deploy my web application using Heroku. It throws me error code H14 so I add scale web=1 to the web dyno per their documentation. I get this console log thrown at me after attempting to deploy.
I'm starting to get pissed. I may end up just dumping this and deploying my node.js/java application straight to my Linux server.
Edit: Or better yet start learning to use this Docker thing I keep hearing about.
5 -
If not understanding code, read the documentation or debug the code. When trying to modify...
1. Follow proper indentation.
2. Don't make spelling mistakes and follow naming convention.
3. Don't try to write all the code in one line (based on line length set)
4. Simplify if else statements if possible.
5. If value of method call need to be used once, don't store it in a variable. Directly use where ever it is needed.
6. If there is duplicated code, put it in separate method and re-use it if possible.1 -
How to run PHP in a container :
1. Begin a docker file for an existing php cron app (when all you know is php, everything looks like a php app)
2. Set the FROM.. Apt get update .. Do composer install
3. Builds the image
4. Discover I need git
5. Add git to apt get install step
6. Builds the image
7. Launch the php script
8. Fatal : use of undefined constant SOL_UDP
9. Opens the source code of the third party. The there's no mention of where that constant is from.
10. Spend many minutes online to find what's missing.
11. Find the PHP sockets page about that option. Digs into the documentation to find out that's missing from the installed PHP.
12. Find out I need to add a step to install the socket extension in my docker file.
13. Build the image again
14. Execute it, finally it works
15. Remember why I hate php
(for brevity I've omitted the even more complex part of having to set up zlib)
How to install node js in a container image:
FROM node:8
ADD package.json
RUN npm install7 -
I'm fucking annoyed by low contrast bullshit all over the web!!!
Seriously, 1.9:1 contrast ratio for text on a documentation site?
FUCK YOU ASSHOLE. STOP THIS SHIT. IT DOESN'T LOOK GOOD. IT ISN'T USEFUL. IT'S GODDAMN INFURIATING THAT I HAVE TO SQUINT TO READ SOMETHING THAT I'M SUPPOSED TO BE READING AND MAKE MY EYES BLEED!
It's not cool, it never was.
#contrastrebellion5 -
For an exam we have to develop an app starting from the documentation (still the hardest part), like risk plain, timing projection ecc. we did all this stuff in time, except for the app. At the ending of time the professor ask to us how the app was going, and well... we bluffed, we said that we only need more time (at that point we have only installed Android Studio and JFK) but the prof give us an other month for the app, so we decide (me and my friend because in my team (4students) only 2 of us want to do something.. btw we learn how to work on Android Studio an develop a ugly, tiny but working app (the app consists in a remainder for your pet stuff like give it food,water or take it out ecc..). We took the max vote -1 because u know, timing is important ;) and yes, this is the story of my first, ugly, app :D My friend an I are so proud of that tiny shit 😄1
-
GitHub Packages Sucks. Like, it REALLY sucks.
It sounds like the best thing in the world - being able to host your project packages alongside your code! It has full support for Maven, Gradle, Ruby Gems, Node packages, Docker images and even dotnet CLI applications. It even lets you view statistics on how many developers have downloaded a given package! For public repositories, the packages are free to host as well!
So, I decide to use it for my Maven project since it's "so great". I've never used a public Maven repository before, so this was all very new to me. I follow the documentation - simply run "mvn deploy ...." and use a generated GitHub personal access token. No problems there. Deployment is a success and I feel a wave of happiness seeing my packages online. I follow through the various links and it even adds automatically generated usage information for other Maven users - fantastic!
That was, until I decide to try and download one of the files from this package repository. In order to download a file, you must have a GitHub access token. Okay, makes sense I guess? What if another developer wants to use my library? To do so, they have to generate their own GitHub access token, store it in their local ~/.m2/settings.xml file and only THEN can they use my library. So clearly, this is significantly inferior to other public Maven repositories where you don't have to get an access token to simply USE a library.
Upon discovering this, I decide to simply delete all of the packages and continue using whatever previous system I was using. Except of course, they forbid the deletion of public packages because "other projects could depend on it". The only way to delete public packages is to either:
[0] Make the repository private (losing all stargazers and watchers), delete the packages and then make the repository public again
[1] Contact support and ask them to delete the public packages. They say that they'll only do this for "special cases", such as legal issues or GDPR breaches.
I've sent a contact form and I'm currently hoping that they see things in my favor. I mean seriously - a public package repository where in order to use it you have to have a GitHub account and then generate an authentication token - it's absurd!3 -
So today I started looking at an old project (site/api tester) I backlogged due to various blockers.
I started remembering things and after setting up the testing app, I realized it depended on an extraction app that I wrote before that. And this reminds me of the whole start of all this testing stuff going back more then a year ago.
It sorta felt like I just took the cover off a hole? And then remembered how deep it goes.
And thankfully I left myself documentation... Though took me a while to find and still looking... (tracing from 1 project to another) -
We received legacy project for support and fixing.. it had few issues:
1. There was a controller called MainController. This guy was the soul of the project 10k+ lines, heavily dependent on the data from the database.
2. We didnt get the data. Just the database structure (we couldnt run the app at all)
3. At the very end of that controller there was a "simple" eval($_SESSION['somevariable'])
4. We had no documentation and had to guess how it works...
Someone really had fun screwing up this project. Needless to say we got rid of it quickly. :) -
Not my 'first' but the first outside of stupid little toy projects.
I got an internship back in 2016 while I was in 11th grade. Mine was sort of a college doing community outreach, so yeah, not really impressive of an internship.
But my manager handed me a Micro:Bit. At the time, there were like 1000 in the U.S. the U.K. was brainstorming, including them in school curriculums. My manager just told me to experiment and see what I could do with it.
Minimal requirements Minimal guidance outside of ideas now and then (he had doctorate students to manage so I get it lol), so I started just doing stupid small things with the micro python, the language the minimal back then documentation reccomended, like a 'lowest of poly' crazy taxi thing.
But by the end, I hacked together some HORRIBLY written C++ to get 2 of them to communicate. 1 always powered and gets a state from the other at regular intervals. The other is powered by a hand crank and sending the direction of the crank to the other.
I forget what the end goal was. But it was fun to learn, and thinking back, I did a lot in just 8 weeks
My manager gave me the first Micro:Bit on my last day. I don't do anything with it anymore. But it's a fun memory.
It was also around that time I found DevRant and needed you guys to knock my ego down a few pegs when my head over inflated, lol. -
!rant
Continuation from: https://devrant.com/rants/979267/...
My vision is to implement something that is inspired by Flow Based Programming.
The motivation for this is two fold
* Functional design - many advantages to this, pure functions mean consistent outputs for each input, testable, composable, reasonable. The functional reactive nature means events are handles as functions over time, thus eliminating statefulness
* Visual/Diagrammable - programs can be represented as diagrams, with components, connections and ports, there is a 1 to 1 relationship between the program structure and visual representation. This means high level analysis and design can happen throughout project development.
Just to be clear there are enough frameworks out there so I have no intentions of making a new one, this will make use of the least number of libraries I can get away with.
In my original post I used Highland.js as I've been following the project a while. But unfortunately documentation is lacking and it is a little bare bones; I need something that is a little more featureful to eliminate boilerplate code.
RxJS seems to be the answer, it is much better documentated and provides WAY more functionality. And I have seen many reports of it being significantly easier to use.
Code speaks much louder so stay tuned as I plan to produce a proof of concept (obligatory) todo app. Or if you're sick of those feel free to make a request.3 -
How to handle a company in which I work as a junior android dev for the past 7 weeks where there is zero mentoring?
I have 2.5 year experience in android dev and then I had a 1.5 year gap. I was looking for a company where I can get back on track, fill my knowledge gaps and get back in shape. So I accepted lower starting salary because of this gap that I had. Me and manager agreed that I will get a 'buddy' assigned and will get some mentoring but nope..
70% of my scrum team with teamlead are overseas in USA and I have just 2 senior colleagues from my scrumteam that visit office only once a week. Ofcourse there are other scrum teams visiting office daily but I personally dread even going to office.
Nobody is waiting for me in there. What's the point if when I need to ask something I have to always call someone? I can do it from home, no need to go to the office.
My manager dropped the ball and basically disappeared after first 2 days of helping me setting up, we had just two biweekly half-assed 1on1’s where he basically rants about some stuff but doesn’t track my progress at all. I bet he doesn’t even know what I’m working on. Everything he seems to be concerned about is that I come to work into office atleast 3 days a week and then I can work remaining 2 days from home.
I feel like they are treating me as a mid level dev where I have to figure out everything by myself and actual feedback is given only in code reviews. I have no idea what is the expectation of me and wether Im doing good or well. Only my team business analyst praised me once saying that I had a strong onboarding start and I am moving baldly forward… What onboarding? It was just me and documentation and calling everybody asking questions…
My teammates didn't even bother accepting me into a team or giving me a basic code overview, we interact mainly in fucking code review comments or when I awkwardly call them when I already wasted days on something and feel like I'm missing some knowledge and I am to the point where I don't cere if they are awkward, I just ask what I need to know.
Seriously when my probation is done (after 6 weeks) I'm thinking of asking for a 43% raise because I am even sacrificing weekends to catch up with this fucked up broken phone communication style where I have to figure out everything by myself. I will have MR's to prove that I was able to contribute from week 1 so my ass is covered.
I even heard that a fresh uni graduate with 0 android experience was hired just for 15% les salary then me. I compared our output, I am doing much better so I definetly feel that Im worthy of a raise. Also I am getting a hang of codebase and expected codestyle, so either these fuckers will pay for it or I will go somewhere else to work for even less salary as long as I get some decent mentoring and have a decent team with decent culture. A place where I could close my laptop and go home instead of wasting time catching up and always feel behind. I want to see people around me who have some emotional intelligene, not some robots who care only about their own work and never interact.6 -
Oh dang, now that the individual components of Orchid are nearly complete, I should probably improve this ratio.
22 -
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
When integrating our system with a 3rd party company to use their billing system, we had a Hangouts chat so we could ask things about their documentation, API, etc...
Me: *explain the problem and how I tried to solve it without success, and proceed to ask 3 things*
*2h of silence*
3rd.p: Good Morning
Me: Good Morning
*another 2h of silence*
Me: ...and?
*1h of silence*
3rd.p: *answer randomly one of the questions*
Me: ok, and the other two questions?
*silence until the next day*
Me: ???
3rd.p: *answer one question and says that the other will never happen*
Me: but... I've just sent a request to your backend and it happened!!!
*2h of silence*
3rd.p: No, you are reading this wrong, we didn't respond that
Me: This is the endpoint i'm calling and the request's payload, send this to your backend.
*silence until the next day*
(and this continues to almost 2 months to complete the integration that should not need more than 1 week)3 -
Need to use new module or pattern:
1. Read the online documentation
2. Have no fu*kin clue what I just read
3. Try for 2 hours and fail.
4. Go home and sleep
5. Wake up at 3am from a fever dream with the solution to the problem
6. Go to work and implement it in 10 min
I guess I learn when I sleep -
1. For my employer to invest in QA. Honestly, even if I'm 101% confident about my code, if nobody tests it other than me, I would advise against prod-ing(Is that a word?) it.
2. For recruiters so stop expecting a Full stack dev to be perfect in both ends (especially with an entry level salary. Stop taking advantage of them!!). Just stop using the term full stack entirely, please.
3. For API docs of other companies to be deserving of the title 'Documentation'. I'm so tired of figuring out other API parameters via trial and error. Just make your docs as clear as you can please, so we don't have to bother each other with so much email.
That's all for now. Thanks dev Genie.3 -
So we 3 devs working on a real estate system.... The guy who initially wrote the system wrote it in a fucked up state
Project structure was shit so we had a meeting and I suggested we restructure the project and also have some minimal documentation coz the system is growing we adding more features before current ones are finished
We agreed and started polishing up the system coz it seemed more features we wanted were now becoming more and more difficult to implement
So the other guy tells me to pull some updates.... To my surprise he had started documenting the system without restructuring first.... Had to quickly restructure the thing and push updates
How can 1 start documenting the very same design we want to abandon 🤦 -
Day 1 with Chromium OS: Inclusion of packages and stuff
Day 2 with Chromium OS: Setting up CI, and realize Azure is fucking gay because their own agents disconnects after 4 hours.
Just why.
Day 3 with Chromium OS: resolve their shitty problem, now their own agents have no disk space. I blame Google.
Day 4 with Chromium OS: Fix CI in at 10 commits, give up and cry.
Day 5 with Chromium OS: Realized Travis might stood a chance, build time limit reached, now I'm shook.
Day 6 with Chromium OS: Buried myself with endless tabs of Gentoo documentation. Lost count on when's the last time I came out of my room.
Today with Chromium OS: I blame Google for making my life suffer more than the last time I had depression.
Conclusion: Chromium OS is Gentoo with extra steps and I hate it4 -
About 3 years ago, we had 4 different WordPress sites for various clients.
My colleagues thought it'd be a genius idea to keep them all in one repo. Even more genius, for local development, a single installation which implements a switcher for the wp-config.php files so we can switch between sites. Not bad in theory.
Fast-forward to present day. 1 client left; another site got converted to using Laravel because they always asked us to update their content so no point using a CMS; whereas the remaining 2 sites use differing versions of WordPress on their live sites, no less than 18 months out of date, have no dev sites, different collection of plugins and themes and both modified to the deepest darkest depths of fucking hell that's barely recognisable as WordPress anymore and next to no documentation or comments around the changes.
The functions.php file of one of these themes is over 4000 lines long!!!
We're keen to upgrade our servers to use Ubuntu 16.04 which defaults to PHP7, so all the already deprecated WordPress functions will then fail to work completely as will have been removed.
Both of these clients have agreed that they wish to convert Laravel as well so there's not really much point in going through the clean up process of their WordPress sites. Just copy the database nuke it all and start a fresh with Laravel FFS!
They also wish to completely redesign and discuss what features to keep/add/remove. With no date for these redesign meetings in sight, we won't be converting to Laravel any time soon, nor upgrading our servers in the foreseeable future either!
This is all because of one dev in the office and his history of failing to keep on top of breaking changes!
Fuck you! Seriously, fuck you!!!
If I was your superior, then you'd have been fired long ago!3 -
I want to know the name of the evil mastermind who once conceived the "literal" function in Sequelize.
- You design a method to insert pieces of raw SQL exactly the way they are written, no further processing
- You release this method, you call it LITERAL to make sure people know its intended purpose: it is used to insert LITERALLY everything you write, nothing more and nothing less
- Then make sure this "literal" method changes the fucking case of column names. Because that's what "literal" means in the head of this rabid animal: you arbitrarily change the code written by the developer
WHY
WHY ARE ALL AR ORM DESIGNED BY FUCKING ANIMALS
ELOQUENT IS TRASH, SEQUELIZE IS TRASH, TENS OF DEVELOPERS AT WORK TO ALCHEMICALLY CREATE THE MOST ROTTEN CODE THEY POSSIBLY CAN, BECAUSE YOU MUST NOT BE ALLOWED TO WRITE ANY QUERY MORE ADVANCED THAN "SELECT * FROM users WHERE id =1", NOT A FUCKING SHRED OF DOCUMENTATION AND 16 MILLION LAYERS OF ABSTRACTION TO MAKE SURE EVERY BUG FUCKING STAYS THERE, DON'T YOU DARE TO USE A JOIN, DON'T YOU DARE TO TREAT A DMBS LIKE AN ACTUAL FUCKING DBMS INSTEAD OF A HOT STEAMING PILE OF METHODS IMPLEMENTED BY MONKEYS.
6 -
I am trying to implement an API. It has a very good documentation, everything is written clear and simple, along with
- HTTP 401 on unauthorized request and
- Error codes from 1-35 with definitions
Opened the provided sample file, changed the username, password and client code fields to our own in the source, then tried the request. The Response:
HTTP 200
{"ErrorCode":-1,"ErrorDescription":"Unauthorized."}
Well, thank you very much! 🤬2 -
A thing that I am annoyed that people are getting wrong is security by obscurity.
You have heard of it and being told it is bad. It is so bad that it alone is a counter argument. Let me set you straight:
>>>Security by obscurity is the best security you will ever have<<<
There is an asterisk: It is probably not right for your business. But that is for the end.
Security by obscurity means to hide something away. Most security is based on hiding. You hide your private key or your password or whatever other secret there is. If you had a 2048 long sequence of port knocking, that would be fine, too.. Or it would be fine if it wasn't observable. You could write this down in your documentation and it wouldn't be security by obscurity. It would just be security. Weird, but fine.
The real meat of obscurity is: No one knows that there is someone. The server you port knock looks like a harmless server, but suddenly has an open port to a bad application for an IP, but only if that IP went to 25 other ports first.
In the animal kingdom, there are different survival strategies. One of them is being an apex predator or at least so big and lumbering that no predator wants a piece of you. That's our security. It is upstream security. It is the state.
But what is the rest of the animal kingdom going to do? Well, run away. That works. Not being caught. And those not fast enough? Hide! Just be invisible to the predators. They cannot triple check every leaf and expect to be done with the tree before starving. That's security by obscurity. Or hide in the group. Zebras. Easy to see, hard to track in the group. Look like everyone else.
There is a reason why drug smugglers don't have vaults in the carry-on. Arrive at the customs and just refuse to open the vault. If the vault is good enough. Nope, they lack the upstream security by the state. The state is there enemy, so they need obscurity rather than cryptographic safety.
And so, for a private person, having a port knocking solution or disguising a service as another service is a great idea.
Every cryptography course happily admits that the moment they can catch you physically, cryptography is useless. They also teach you about steganography. But they omit to tell you that obscurity is the second best solution to having a stronger army when you cannot rely on your state as upstream security.
Why did I say, not a good idea for companies?
1. It is self-defeating, since you have to tell it to all employees using it. A shared secret is no secret. And therefore it cannot be documented.
2. It makes working with different servers so much harder if there is a special procedure for all of them to access them. Even if it were documented. (See 1.)
3. You're a company, you are advertising your services. How to hide that you run them?
Do you see how those are not security relevant questions? Those are implementation relevant questions.
Here is an example:
Should you have your admins log into servers as normal users before elevating to root or is that just obscurity? Well, not for security purposes. Because that foothold is so bad, if compromised, it makes little difference. It is for logging purposes, so we have a better server log who logged in. Not only always root. But if our log could differentiate by the used private key, there is no issue with that.
If it is your private stuff, be creative. Hide it. Important skill. And it is not either, or. Encrypt it your backup, then hide it. Port knock, then required an elliptic curve private key to authenticate.
It is a lot of fun, if nothing else. Don't do it with your company. Downsides are too big. Cheaper to hire lawyers if needed.1 -
Got VS running, SDL up and running and outputting, and angelscript included. Only getting linker errors on angel at the moment, not on inclusion, but on calling engine initialization.
Who knows what it is. Devs recommended precompiling but I wanted to compile with the project rather than as a dll (maybe I'm doing something stupid though, too new to know).
Goal is to do for sdl, cpp, and angelscript, what LOVE2d did for lua. Maybe half baked, and more just an experiment to learn and see if I can.
Would be cool to script in cpp without having to fuck with compilers and IDEs.
As simple as 1. write c++, 2. script is compiled on load, 3. have immediate access to sdl in the same language that the documentation and core bindings are written for.
Maybe make something a little more batteries-included than what lua and love offer out of the box, barebones editors and tooling and the like, but thats off in the near future and just a notion rather than a solid plan.
Needed to take a break from coding my game and here I am..experimenting with more code.
Something is wrong with me.8 -
I have no specific story to tell (for now. Will post ke if i remember one) but i have had tons of CS teachers that are shit. From ones who don't know shit to ones who are so bad as a human being i am sure thrte are hundreds of people out there to kill them. I have had multiple teachers where all they did was read out a book and we'd have o site everything they read. Whole fucking semester. And not just one person or once. M-U-L-T-I-P-L-E TIMES AND TEACHERS. then I ve had ones who would rejection my code even if it's better, is right, can andle more edge cases, most likely magnitfrs of times faster and isn an eye sore with just effig if-else on op of if-else nested within if-else with many for loops. Then there are those who want you to do just what they want and expect you to not have a life of your own. Those who blatantly abuse their powers. Those who couldn't care less. Those who are not that bad a teacher but their attitude and style just makes you want to leave. There's one currently who wants a group of 4 people in second year to develop a full blown industry level application in mere 3 weeks. AND WE ARE HAVING OUR THEORY PAPRRS INBETWEEN FOR 2 EFFING WEEKS. So that's just like a month. Fortunately I have a group that's good enough that I can have them do the testing and filling up the documentation (did I mention that he needs full documentatiin for software plus a report on how our development process) and have them work on presentation (yup. We need to present this thing) all for just 50 marks. 1 uni credit. Our system still gives 80% weightage to pure theory. Plus the practical part is somewhat theory too.
Our HOD wants us *insists*forces** to stay back at college and work on projects (which is nice but what he ments is use the shitty outdated books from early 2000s to study something). Now I'd be happy to stay back if college provided decent internet (I am not asking for gigabit speeds. Even 1-2Mbps would work) and place to sit. But nope, our college non-teaching staff is eager to send us out of their department and by extention college building. There is literally nowhere you can sit. Plus yup, there is no internet and nowhere for you to plug your laptop in. That's a moot point anyway because they don't want you to use your laptop in college library or anywhere anyways. Plus you don't get much of mobile data too because of the building design. Those work only near windows. Why would I be at college if I can get a 50+Mbps down, area to sit, snacks, port to charge all at home. And you'd say we should talk with him about this – well it's not his issue is all he has to say.
Well, such is life in Indian colleges. And my college/uni is one of the better ones.1 -
Level 1 support moron dishing out bad instructions from his flowchart.
Wanted me to edit config files for a production setup, which would've killed shipping for all stations, in the middle of our shipping rush.
Fixed the problem while in the escalation queue for level 2. L2 confirms the fix, and bemoans the shit documentation L1 provided.
If its a business class (mission critical) system, hire decent support staff! You might try testing people for reading/listening comprehension, and then paying them a decent wage! This isn't good for my blood pressure...undefined l1 support shipping mouthbreathing flowchart monkey cheap business support bullshit outsourcing -
Just spent 1 week following the upgrade tutorial from one framework to the next. Using their upgrade tool and following the documentation.
Finally finish the work, most things are working it just doesn't seem to work quite right. Must have missed something.
After some digging it turns out they completely removed a function that I rely heavily upon. No mention in the upgrade document, no possible work around. Every forum post about it either has no replies or it says "it's a new feature".
Well fuck you.
The whole project is now useless.
Fml 😭4 -
Hugo framework:
1 hour to set it up
1 day to read the documentation
1 eternity to actually fucking deploy it5 -
TLDR: I didn't & still not sure if it is..
I love bug hunting & fixing & figuring out how stuff works, but many will argue this is not even real programming..
Long version how I ended up programming:
Back in highschool, I was deciding between english and mathematics & computer science.. I filled in the form for the latter. Got a change of hearts but I already gave the extra/backup empty form to schoolmate..
Figured it's for the better because it's a hell to get a job as an english teacher/prof anyways + I dislike comunications with people + documentation (if any) is in english etc..
At the end of first year, I didn't even apply for all the exams because you had to have both programming 1&2 to pass or even be eligible to take the year again.. I figured I'd fail them, so once I actually passed both (& actually not with bad grades), I was fucked.. had to retake the year, which means I lost time + still had to pay the rent etc.. decided to drop out and return home and do the IT engineer course instead to at least have some formal education to help me find a job. Finished that without problems, I 'specialised' in network administration.
I got a job straight out of school as a web developer.. the irony.. got some conflicts with the boss and was terminated (material for another rant).
Later I sought out admin jobs, but got declined because I was overqualified and had programming experince. FML, right?
Ended up sending out mandatory job applications for IT administration & programming to not lose the bonuses & got called up to a meeting in the company I work for since then.
No qualifications for .net & MS technologies, but they liked my CV so the ended up setting up the interview anyway. I didn't know half of the technologies and concepts by proper name, but they figured I understand enough of the content to give me a try. A few years later, I got the most fucked up project they have because of my love for new thigs and trying to understand everything. It's aaaalmost bearable now.. still needs a lot of work, but I'm happy where I am. Saddly, I'm still second guessing if I'm doing a proper job as a dev, but they seem to be very ok with my work. (:6 -
Incoming rant.
I have 4 years professional experience at a small shop working on a web application for property and liability insurance. The application is ASP.NET with C# as the code-behind. I have a BCS and will finish my MSIS fall 2017. I have no idea why I have the degrees. I know that when I enrolled, it seemed like they would be a nice addition to an otherwise empty resume. I was lucky enough to land my first and only development job during my sophomore year of my undergraduate program. Is this enough experience to land a new job?
I feel like I'm learning nothing at my current job. The specs that come in seem very vague to me. When asked for clarification, there is often push back, and I don't know whether that's because I don't have enough experience to parse what the client means in the two sentence spec I got or if it's because the client does not actually know what they want.
I hate my current job. My productivity is low because I spend more time trying to figure out what the client wants and analyzing an 8 year old system that has 0 documentation. I know some of you will just say, "Suck it up" at this point, but I really want another job. The only thing I like about this job is that it's 100% remote. It also pays $60k a year, so a replacement should be at least that salary.
Most postings I see require professional experience of 5 years or more, and knowledge of other frameworks. I can work on getting knowledge of the other frameworks, but will have no professional experience with them. I don't live in an area with a lot of software development jobs, and the ones I see are for non-IT organizations that want 1 person to run a distributed system from 10 or more locations. A hospital system out here wants to pay $30k a year for a guy to be both software developer for new tools as well as the helpdesk and IT support guy that's on-call for four locations in the county. I made more than that before I got into the development industry, for less work, and would rather leave than settle for something like that.
I've thought about moving to somewhere near San Francisco or San Jose, but I have my daughter to think about. I have joint custody of her, and would have to give that up in order to move out of the county.
I like programming and using it to solve problems. I like designing architectures and how all the components will interface. I like designing and normalizing databases. I like taking part in coding competitions for employers that are well-known (Amazon, Facebook, Uber, Twitch, etc.), even though I often just place middle of the pack. When that happens, I feel like I'm an imposter in this industry.
I think I have the most fun just working on small projects for personal use. My latest is an assistant calculator for the game Transport Fever to figure out cargo throughputs per annum based on the in-game timing information. Past projects have also been small. Ones I could use in a portfolio are a sudoku solver desktop application, PC/Web game in Unity that is a 3D FPS remake of Duck Hunt that allows open world exploration but locks the camera's viewpoint for shooting events, and a building assistant for Rome II: Total War that maps out all the bonuses/perks of user-specified building combinations in provinces so users can record their long term building plans without using all their turns to see the final results.
I seem to be an unproductive, average developer who dabbles in projects here and there.
This is what I want from other Ranters. Just say something. I don't care if it is, "Suck it up and get better." It could be your tips for finding and securing a new position. It could even be empathy, if such a thing exists on the Internet. Whatever you want, just say something that will help get me thinking of what the next steps in my career should be. -
Would love to share my experience with tutorial hell.
A year ago, if there is no tutorial teaching me how to do something, I am totally lost and stuck for days. Then, I decided to see how people got out of it.
The answer turned to be simple, get comfortable reading documentation AFTER you determine what you are trying to accomplish.
In other words:
1- Determine the problem and the desired end result.
2- Break the problem down into multiple smaller ones.
3- Determine the end result of the solution of each of those problems.
4- Read the documentation concerning what you need to use to solve each problem.
5- Execute.
Over time, you would find the need for a tutorial much less in order to solve a problem. Plus, documentation would ideally give the optimal solution for your problem.
Would still be cool if you find a tutorial explaining something hard to grasp, but never depend on finding one.2 -
How stupid am i?
1. I tried to learn programming language.
- It just so freaking hard for me to understand. Failed at logic.
2. Tried to learn aws.
- Technically know how it works but often forgot the services name. (Was thinking to get aws cert).
3. Tried to learn OpenSource DB.
- Can do up to db setup only. Else i didnt understand sh*t.
4. Tried to learn cybersecurity.
- Ended up bunch of unwanted process in my vm.
I was envy that some of my friend only read documentation once & he is like know what to do.
Guys, any pro tips for poor man here?
I want to code, but somehow i stuck.
I feel dumb...12 -
I've almost had enough of Atlassian. So, our customers want us to integrate Jira / Confluence support into our software.
I initially thought it would be a great addition to the other providers we support, so I explored it further.
After trying Confluence – and already knowing first-hand how horrendous Jira is from a previous role – I left in absolute disgust at not only how horrendously slow, buggy and overengineered Confluence is (just like Jira), but how horrendously FUCKING SHIT their developer / API documentation is. I suspended the project at this point. No fucking way was I allowing time to be sucked away because another company can't get their shit together.
Customers kept asking for integration support, so I authorized the team to revisit Jira integration support a few weeks ago. Nothing has changed. Documentation is as shit as before, software as slow as before and the platform as overengineered as before. No surprises.
Here's the problem:
1. You can't set multiple auth callback URLs so you can actually test your implementation.
2. You can't revoke access tokens programmatically. Yes, really.
3. You need to submit a ticket to get your integration approved for use by others, because automating this process is clearly fucking impossible. And then they ask questions you've already answered before. They don't review your app or your integration beyond the information you provided in the ticket.
4. Navigating the Atlassian developer documentation is like trying to navigate through a never-ending fucking minefield. Go on, try it: https://developer.atlassian.com/clo.... Don't get too lost.
I was so very FUCKING CLOSE to terminating this integration project permanently.
Atlassian, your software is an absolute fucking joke. I have no idea why our customers use your platform. It's clearly a sign of decades of lazy and incompetent engineering at work, trying to do too much and losing yourself in the process.
You can't even get the fundamental shit right. It's not hard to write clean, maintainable code and simple, clear and concise API documentation.1 -
Which is better:
1. Developers who develop software writing documentation for the software they developed
2. Marketing people who market stuff writing documentation for the software the developers developed1 -
1) Browse high level documentation on the matter.
2) Find a semi-guided source of in-depth material (usually a book).
3) Start working with the technology.
4) Supplement with YouTube tutorials if necessary.
5) Fail initially.
6) Eventually succeed after much persistence.3 -
Is exclusively being assigned bug tickets only for a whole sprint (they're not my bugs) while another dev does feature work a bad sign? I'm a Senior SDE but my domain Knowledge is far weaker than the other SDE 2, so he can get feature work done faster. Bug fixes are general project ones that are either suddenly very critical or lower priority and leads me to keep debugging some other aspect of the system (not much documentation sadly so have to check whole flow slowly to understand it, very financial based).
My manager also just yesterday said as a senior my expectation is to lead a project and we'll discuss the requirements of my role. This is my direct manager, the one who assigned me all the bugs is the project manager, who also acts a bit like an SDE sometimes. The problem is I want to deliver work my main manager suggests but I simply don't get the time due to suddenly high priority bugs occurring (last night 1 hour before I log off, other manager says to find root cause analysis of a high priority bug), this isn't an oncall rota or task either, just normal bugs all the time.
Is this a bad sign? Am I about to be PiPed?9 -
Interesting definitions
1. Project Manager is a Person who thinks nine Women can deliver a baby in One month.
2. Developer is a Person who thinks it will take 18 months to deliver a Baby.
3. Onsite Coordinator is one who thinks single Woman can deliver nine babies in one month.
4. Client is the one who doesn’t know why he wants a baby.
5. Marketing Manager is a person who thinks he can deliver a baby even if no man and woman are available.
6. Resource Optimization Team thinks they don’t Need a man or woman; They’ll produce a child with zero resources.
7. Documentation Team thinks they don’t care whether the child is delivered, they’ll just document 9 months.
8. Quality Auditor is the person who is never happy with the PROCESS to produce a baby.
9. Tester is a person who always tells his wife that this is not the Right baby. -
Conversation at work
Colleague 1: "Have you added it to our documentation system?"
Colleague 2: "Not yet."
Colleague 1: "The Sumerians created the first writing systems 5000 years ago, but sadly, not everyone got the memo."1 -
#Suphle Rant 3: Road to PHP8, Flow travails
Some primer: Flows is a feature that causes the framework to bypass handling the request now but read it from cache. This cache entry is meant to be populated without warming, based on the preceding request. It's sort of like prefetching but done on the back end
While building Suphle, I made some notes on some chapters about caveats and gotchas I may forget while documenting. One such note was that when users make the Flow request, the framework will attempt to determine who user is, using authentication mechanism defined on the first module (of the modular monolith)
Now, I got to this point during documentation and started wondering whether it's impossible for the originating request to have used a different authentication mechanism, which would result in an empty entry for returning user. I *think* it's possible cuz I've got something else called "route mirroring", where web based routes can be converted to API routes. They'll then return JSON, get served under defined API path, use JWT, all automatically. But I just couldn't connect the dots for the life of me, regarding how any of this could impact authentication on the Flow request
While trying to figure out how to write the test for this or whether it was even necessary (since I had no use case), it struck me that since Flow requests are not triggered by an actual user, any code attempting to read authenticated user will see nothing!
I HATE it when I realize there's ambiguity or an oversight, after the amount of attention and suffering devoted. This, along with a chain of personal troubles set off despondency for a couple of days. No appetite for food or talk. Grudgingly refactored in this update over some days. Wrote some tests, not all passed. More pain. May have to convert them to unit tests
For clarity, my expectation is, I built this. Nothing should be impossible for me
Surprisingly, I caught a somewhat lucky break –an ex colleague referred me to the 1st gig I'm getting in 1+ year. It's about writing a plugin for some obscure forum software. I'm not too excited cuz it's poorly documented and I'll have to do a lot of groping, they use arrays instead of objects etc. There's no guarantee I'll find how to implement all client's requirements
While brooding last night, surfing the PHP subreddit, stumbled on a post about using Rector to downgrade a codebase. I've always been interested in the reverse but didn't have any incentive to fret over it. Randomly googled and saw a post promising a codebase can be upgraded with 3 commands in 5 minutes to PHP 8. Piqued my interest around 12:something AM. Stayed up all night upgrading it, replacing PHPSTAN with Psalm, initializing the guy's project, merging Flow auth with master etc. I think it may have taken 5 minutes without the challenge of getting local dev environment to PHP 8
My mood is much lighter than it was, although the battle is not won yet –image tests are failing. For some weird reason, PHP8 can't read generated test images. Hope I can ride on that newfound lease on life to study the forum and get the features working
I have some other rant but this is already a lot to digest in one sitting. See you in rant #4 -
True story:
While doing a CR stumbeled upon the following line, with no documentation attached:
CONST = "{0}{1}{3}//{4}{5}{6}//{7}.{8}" -
Fuck undocumented shit!
I was wondering how to use this one method of the "interface". Googled the name of the program and the specific method.
Got two results.
From the same page.
It's a comment complaining that this shit is undocumented and doesn't work.
If you build something that others use, please, motherfucking please, document your code.
At least some auto generated javadoc, how hard can it be?
You are using the atlassian suite for everything and you have confluence so use it already! The only documentation that actually exists it about a hundred years old, totally useless and covers about 1% of what your product can do.
I like your product but fuck me sideways your documentation sucks balls! Fuck!
That needed to get out. -
Hy to all,
I managed to install Archlinux after 3 days of continues documentation but I still have some problems that I need to solve.
1. Any idea how to run gnome-terminal?
I've set the locale if you guys are wondering and installed vt3.
2. Couldn't install visual studio code.
3. How do I install themes. I have gnome gui.
I've read the arch documentation but still can't figure out how to solve some of the problems. If you guys have a website with a good guide or any tips that would be great.
Thx in advance.1 -
In reply to this:
https://devrant.com/rants/260590/...
As a senior dev for over 13 years, I will break you point by point in the most realistic way, so you don't get in troubles for following internet boring paternal advices.
1) False. Being go-ahead, pro active and prone to learn is a good thing in most places.
This doesn't mean being an entitled asshole, but standing for yourself (don't get put down and used to do shit for others, or it will become the routine) and show good learning and exploration skills will definitely put you under a good light.
2)False. 2 things to check:
a) if the guy over you is an entitled asshole who thinkg you're going to steal his job and will try to sabotage you or not answer acting annoyed, or if it's a cool guy.
Choose wisely your questions and put them all togheter. Don't be that guy that fires questions in crumbles, one every 2 minutes.
Put them togheter and try to work out the obvious and what can be done through google or chatgpt by yourself. Then collect the hard ones for the experienced guy and ask them all at once. He's been put over you to help you.
3) Idiotic. NO.
Working code = good code. It's always been like this.
If you follow this idiotic advice you will annoy everyone.
The thing about renaming variables and crap it's called a standard. Most company will have a document with one if there is a need to follow it.
What remains are common programming conventions that everyone mostly follows.
Else you'll end up getting crazy at all the rules and small conventions and will start to do messy hot spaghetti code filled with syntactic sugar that no one likes, included yourself.
4)LMAO.
This mostly never happens (seniors send to juniors) in real life.
But it happens on the other side (junior code gets reviewed).
He must either be a crap programmer or stopped learning years ago(?)
5) This is absolutely true.
Programming is not a forgiving job if you're not honest.
Covering up mess in programming is mostly impossible, expecially when git and all that stuff with your name on it came out.
Be honest, admit your faults, ask if not sure.
Code is code, if it's wrong it won't work magically and sooner or later it will fire back.
6)Somewhat true, but it all depends on the deadline you're given and the complexity of the logic to be implemented.
If very complex you have to divide an conquer (usually)
7)LMAO, this one might be true for multi billionaire companies with thousand of employees.
Normal companies rarely do that because it's a waste of time. They pass knowledge by word or with concise documentation that later gets explained by seniors or TL's to the devs.
Try following this and as a junior:
1) you will have written shit docs and wasted time
2) you will come up to the devs at the deadline with half of the code done and them saying wtf who told you to do that
8) See? What an oxymoron ahahah
Look at point 3 of this guy than re-read this.
This alone should prove you that I'm right for everything else.
9) Half true.
Watch your ass. You need to understand what you're going to put yourself into.
If it's some unknown deep sea shit, with no documentations whatsoever you will end up with a sore ass and pulling your hair finding crumbles of code that make that unknown thing work.
Believe me and not him.
I have been there. To say one, I've been doing some high level project for using powerful RFID reading antennas for doing large warehouse inventory with high speed (instead of counting manually or scanning pieces, the put rfid tags inside the boxes and pass a scanner between shelves, reading all the inventory).
I had to deal with all the RFID protocol, the math behind radio waves (yes, knowing it will let you configure them more efficently and avoid conflicts), know a whole new SDK from them I've never used again (useless knowledge = time wasted and no resume worthy material for your next job) and so on.
It was a grueling, hair pulling, horrible experience that brought me nothing in return execpt the skill of accepting and embracing the pain of such experiences.
And I can go on with other stories. Horror Stories.
If it's something that is doable but it's complex, hard or just interesting, go for it. Expecially if the tech involved is something marketable.
10) Yes, and you can't stop learning, expecially now that AI will start to cover more and more of our work.2 -
Working with a library developed by a koworker, which should be at its final release (and working). Every error code is -1, and the documentation explains it as "lol". I've spent the last hour reading ugly php code, with the only kind of comments being "sorry for this workaround, i had little time". I'm about to flip the table :<
-
*Researching Multi-model database options for my tech-stack*
*finds ArangoDB*
*goes on homepage*
*gets greeted by a dude waving his hand and pointing towards a CTA*
*whatthefuck.gif*
*closes the pop-up*
*doesnt close, shrinks to the corner of the screen*
*dude keeps waving his hand*
*cant read documentation for 1 minute without getting distracted by an uncloseable pop-up*
*closes tab*
*crosses out ArangoDB*
Dear ArangoDB,
please invest in your product, instead of brainfarts from a marketing intern.1 -
Spring for .net's documentation was last updated on 8/1/11...
Now I know, why nothing is working.
Fuck this.1 -
To add a bit more context to my last rant.
The following situation happened today and similar situations are at the moment common as fuck.
Situation started roughly 1 1/2 months ago as a deployment failed.
Seemed to be a DNS problem for the devs, so my basic assumption was that they checked their shit.
As I was and I am currently more than swamped, told them it had to wait if it is an DNS issue...
Well.
Backstabbing product manager complained to upper management as it took so long.
Backstabbing manager even went so far to propose alternative solutions - think of switching product to work around issue and throwing away a year of development of a 5 man team...
So additional to my work I had to deescalate and prevent complete nonsense.
Today I finally found time for the problem.
After 2-3 hours of turning every stone inside the DNS setup, cloudflare, loadbalancers, etc...
Well. Devs. Don't trust them.
Turned out the devs misconfigured the environment entirely.
Its not so obvious in this product as it is rather complicated, though the devs documentation explicitly mentioned that if one overrides the configuration for e.g. several languages, one has to make sure to set two env variables for TLS mode...
There was only one set.
:(
8 fucking weeks of backstabbing and blaming others while they could have just read their own fucking documentation and fixed that shit in 5 minutes.2 -
So our app uses some service to validate users & the validation response is received either by a callback url or by polling. Since their documentation states callbacks are rather unstable and "should not be completely relied upon", we only use polling. Client, however, wants to use the callback url and use polling only "after we are sure that callback has not been received". WTF. When we asked how will we know callback has not been received because it has not been received, we were told to start polling after like 1 hour.
?!?!?!?!?!?! -
nothing new, just another rant about php...
php, PHP, Php, whatever is written, wherever is piled, I hate this thing, in every stack.
stuff that works only according how php itself is compiled, globals superglobals and turbo-globals everywhere, == is not transitive, comparisons are non-deterministic, ?: is freaking left associative, utility functions that returns sometimes -1, sometimes null, sometimes are void, each with different style of usage and naming, lowercase/under_score/camelCase/PascalCase, numbers are 32bit on 32bit cpus and 64bit on 64bit cpus, a ton of silent failing stuff that doesn't warn you, references are actually aliases, nothing has a determined type except references, abuse of mega-global static vars and funcs, you can cast to int in a language where int doesn't even exists, 25236 ways to import/require/include for every different subcase, @ operator, :: parsed to T_PAAMAYIM_NEKUDOTAYIM for no reason in stack traces, you don't know who can throw stuff, fatal errors are sometimes catchable according to nobody knows, closed-over vars are passed as functions unless you use &, functions calls that don't match args signature don't fail, classes are not object and you can refer them only by string name, builtin underlying types cannot be wrapped, subclasses can't override parents' private methods, no overload for equality or ordering, -1 is a valid index for array and doesn't fail, funcs are not data nor objects when clojures instead are objects, there's no way to distinguish between a random string and a function 'reference', php.ini, documentation with comments and flame wars on the side, becomes case sensitive/insensitive according to the filesystem when line break instead is determined according to php.ini, it's freaking sloooooow...
enough. i'm tired of this crap.
it's almost weekend! 🍻1 -
I took over an application that consisted of 4 MSSQL (2005 at the time) databases, hundreds of tables, thousands of stored procedures, maybe a 1/4 of them actual still being used, external links to more than 20 other databases (MSSQL, Oracle and DB2) which all ran from a single "master" stored proc that was kicked off nightly by scheduled job.
The existing documentation consisted of a single word document, about three pages long, describing how to set up the application... on the Sql Server 6 server it had been originally created on two generations ago. -
Currently debugging a project that was written over 4 years ago...
At first all was well in the world, besides the ever present issue off our goddamn legacy framework. This framework was written 7 years ago on top of an existing open source one, because the existing one was 'lacking some features' & 'did not feel right'.
Now those might be perfectly fine reasons to write a layer on top of a framework, but please, for all future devs sanities, write fucking documentation and maintain it if you're going to use said framework in all major projects!!
Anyhow back to the situation at hand, I'm getting familiar with the project, sighing at the use of our stupid legacy framework, attempting to recreate the reported bugs...
Turns out I can't, well I get other bugs & errors, but not the reported ones. I go to the production server, where I suddenly do can reproduce them...
Already thinking, fuck my life, and scared for the results... I try a 'git status' on the production server....
And yep, there it is, lo and behold, fucking changes on production, that are not in git, fuck you previous dev who worked on this and your stupid lazy ass modifcations on production!
Bleh, already feeling royally pissed, there's only 1 thing I can do, push changes back to git in a seperate branch, and pray I can merge them back in master on my dev environment without to much issues...
Only I first have to get our sysadmi. to allow pushing from a production server back to our git server...
Sigh, going to put on my headphones, retreat to my me space and try to sort out this shitpile now... -
[POLL] How do you develop stuff?
1 - just write code. It doesn't need to be organized, it just need to work how you thought it would, and THEN you start organizing things, like editing/creating new files, letting things DRY, optimizing the sutff you did earlier;
OR
2 - you surgically write code, making sure you keep everything is organized from the beginning. Basically you only write when you are sure.
Or maybe it's a blend between the two or something.
I'm asking because I do like the #1 and I feel uncomfortable when people see my code when it's under development. It's a mess, there are tons of comments everywhere and a bunch of repetition. But, when I find the right stuff, I start writing modules to make my code work better, remove unnecessary things, add documentation, and so on.
My development process is not the best of the best, but I get things done with it.
7 -
Productivity hack - For me, it’s mostly a single word - planning. I wasn’t always good at it, definitely not yet a “master” of it, but breaking that proverbial elephant up into smaller pieces, and organizing a plan of action for dealing with them is the #1 productivity “hack” for me. Sorry that it’s not an actual shortcut, or anything…I personally don’t believe in those anymore. Complementary habits to this are thoroughly commenting code, having descriptive commit messages, file names, and variable names, maintaining documentation. Use that Readme.md. This is true of any project, even if I’m the only developer - never underestimate your own ability to totally forget shit.1
-
1. Music, something fast paced with minimal to zero lyrics (usually a GOA radio station in my case)
2. No distractions around (use a "do-not-disturb" flag or something to hang on your monitor or show on your desk)
3. No chats or other communication/social media visible, best case those apps / tabs are completely closed or muted
4. Having a clear goal to achieve, might even be only a sub-goal for the current coding session.
5. Structure your code before your actually write it, I usually create step-by-step comments in each file, documenting my thought process and what steps the current file/class/whatever should do.
6. Try to code your stuff in the same order as the aforementioned comment step-by-step list dictates (unless there is a reason to change the coding order)
7. Only windows open: IDE/Editor, Browser
8. Also keep only the browser tabs needed for your work open (testing clients, documentation, music if using a browser client, etc.)
At least that's what works for me2 -
Really need to make it a habit to read every single piece of documentation and included read me file for a plugin and framework that I'm using even if they essentially say the exact same thing...wasted so much time just to find out I literally needed 1 line of js instead of all kinds of custom code -_-
-
Why are big software documentations versioned by url rather than adding the most current update to relevant sections and signifying it as such?
1) only select parts of the software is updated in between major version updates. Why duplicate the entire docs for only sparingly updating those parts?
2) references hold versioned urls that could go out of date. I imagine it takes some effort to have a banner on each page indicating whether this is the most up-to-date version of the software
3) deprecated documentation is redundant since it's no longer maintained. Why does it continue to exist? Not everyone has upgraded, you say. That, and I guess, it costs the maintainers nothing to have an idle folder 6 major versions behind the most recent
I already have a folder for my v1 but I'm considering pulling them into a permalink. What challenges or disadvantages are there to doing so?6 -
Browse to ionic page when it's in version 1. Scroll down to their documentation , almost there about to complete reading their documentation, ionic releases version 2. Get your system setup for ionic 2. Browse through their page for native nom packages , find ionic V3 there... !!! What the fuck .!!!??? Am I the only one experiencing this ?1
-
You work in a team, for a team to move forward successfully the team should work in sync. A team always has a goal and a plan to get to it. There are times when the team needs to take a different direction therefore the set path should always be available for change because our environments dictate it.
We all have different styles of working and different opinions on how things should work. Sometimes one is wrong and the other is right, and sometimes both are wrong, or actually sometimes both are right. However, at the end of it all, the next step is a decision for the team, not an individual, and moving forward means doing it together. #KickAssTeam
The end result can not come in at the beginning but only at the end of an implementation and sometimes if you’re lucky, during implementation you can smell the shit before it hits the fan. So as humans, we will make mistakes at times by using the wrong decisions and when this happens, a strong team will pull things in the right direction quickly and together. #KickAssTeam
Having a team of different opinions does not mean not being able to work together. It actually means a strong team! #kickAssTeam However the challenging part means it can be a challenge. This calls for having processes in place that will allow the team members to be heard and for new knowledge to take lead. This space requires discipline in listening and interrogating opinions without attachment to ideas and always knowing that YOUR opinion is a suggestion, not a solution. Until it is taken on by the team. #KickAssTeam We all love our own thinking. However, learning to re-learn or change opinions when faced with new information should become as easy to take in and use.
Now, I am no expert at this however through my years of development I find this strategy to work in a team of developers. It’s a few questions you ask yourself before every commit, When faced with working in a new team and possibly as a suggestion when trying to align other team members with the team.
The point of this article, the questions to self!
Am I following the formatting standard set?
Is what I have written in line with official documentation?
Is what I am committing a technical conversion of the business requirement?
Have I duplicated functionality the framework already offers?
I have introduced a methodology, library, heavily reusable component to the system, have you had a discussion with the team before implementing?
Are your methods and functions truly responsible for 1 thing?
Will someone you will never get to talk to or your future self have documentation of your work?
Either via point number 2, domain-specific, or business requirements documentation.
Are you future thinking too much in your solution?
Will future proof have a great chance of complicating the current use case?
Remember, you can never write perfect code that cures every future problem, but what you can do perfectly is serve the current business problem you are facing and after doing that for decades, you would have had a perfect line of development success.1 -
Do you have multiple screens? If yes, in what orientation?
I'm personally using 2. 1 horizontal and 1 vertical.
The vertical one is nice for long documentation and the horizontal one is mainly used for gaming.9 -
To most non-dev people, being hit with error after error when fixing one small problem out of a much bigger collection of problems would probably be infuriating.
To me, it's a huge loop of:
for(var failsAtLine = 1; failsAtLine < lines.length; failsAtLine++;) {
changeSomething();
runTest();
readErrors();
cry();
comtemplateMeaningOfLife();
}
openChampagne();
Would help if deployer.org had better documentation and bigger support community.
-
I didn't get into GSoC while writing code which was to be a major aspect of the next release of SymPy. I tell you this org. is maintained by 1 maintainer and 4-5 other members. While most don't understand the code written but will teach you to write some decorator class. I don't want to name that sucker,but he made some changes and then other reviewed and told to change back to what I had originally done. I wanted to cut his throat while I had to made him understand the code. After some 10 days,when I asked that it is ready to be merged,he says "I don't understand this part of code". Fucking bastard if you didn't understand,then why the fuck were you reviewing mine? The people who just did beginner changes but were from October got selected. This org. doesn't check your ability to resolve issues and understand code,but basically wants more number of commits,whether the commit may be mere change in documentation or so, doesn't matter. Again,these people want to help and reviewed my pr,but there should a valid argument. They meaninglessly just wanted to add their name to reviewers for making their proposal strong without helping or say by just showing off. I wrote unit tests, doctests, wrote a full-fledged function, resolved many PRs,and was working alone on one pr which was for the main release of SymPy,but I didn't get selected. Why? Because I started contributing in March. When will these guys understand what matters is how much you contribute not when you start to contribute. The substance and difficulty level of PRs should be considered not just no. of PRs. Hope this org. becomes more beginner friendly and open to more clear discussions rather than showing off.
☮️
Thanks. -
I'm building a script parser to make mods for a game I like. The first step is to write an importer.
The documentation is nonexistent and I'm delving into byte manipulation, which I'm not familiar with - at all. I'm porting existing code from Java to C#, and everything is similar but different enough that I can't always just to a 1:1 transfer.
I get everything working, cleaned up and split into classes so I can write the exporter.
I do an import and the file won't parse. I try all previously know working files and still no good. I clean, rebuild, clean rebuild, run, debug, restart my computer, clear my cache, clean, rebuild. No good.
IT WAS WORKING 5 MINUTES AGO
Proceed to revert to every version from the last hour. No dice.
I was in the wrong folder the whole time.
Navigate to the proper folder, open the filename I know to be good and bingo, works like a charm.
The same project caused me headaches because I had a "== -1", when it should have been "== 1". Between my inexperience with byte manipulation and my untreated astigmatism, I was nearly sent to the shadow realm fixing that.3 -
Today, me and my boss finally made an SDK work properly on power android and iOS project. This was one though week and a half.
Now the rant part. This took us 1 week and a half because the documentation wasn't entirely correct. The worst, and for me the most irritating part, is the fact that my boss had to be on the telephone with his contact of the other company (the one behind the SDK) only in the end to hear his contact talking to.one of their developers about the flow of the communication.
Long story short, after getting the result from the SDK, we should use that information in another service that's not specified the documentation!!!!
The most annoying is when my bosses contact said to the dev that the service wasn't in the docs, his response was
"One thing is the documentation, the other is real life"
Fuck you, you dev piece of shit, you've wasted over a week of my life trying to make something work following your shitty docs!!!! -
Newt OS is a fucking abomination
1. stack apis are fucked up
2. Abstraction architecture is horrible
3. Have to configure 50 different yml files with 1000 different vars to make if work for the target it already say it supported
4. Was up for last 32 hours to make a simple application work, such poorly made documentation !!!!
Looks like some web developer made whole thing
Ewww..... horrible
Also don’t think they follow spec at all!!4 -
looking for suggestions for a self hosted CMS. I tried Ghost, and it looks real nice, but there's no option to have just 1 section be private, you can only make the whole thing private. I tried Drupal but honestly it's just way too complicated for what I need, and doesn't look very aesthetically pleasing.
basically, here's the features I'm looking for:
- ability to set privacy/access control on a per-page or per-section basis
- Markdown for content editing
- ability to use regular HTML when needed
- ability to upload content via an API (so that I can publish documentation via my gitlab CI)4 -
Multer is shit.
Do you know how to validate file size + mime type of the file before saving it to the disk?
Here is an instruction:
1. In one place you provide a it a fileFilter function that will validate the mime type, but this function can not validate file size or send user response.
2. In second place provide it a config limits file, that will validate file size, but can not validate mime type
3. In third place you provide middleware to capture any errors caused by previous 2 places and send response back to the user.
4. Go google for what is cb in multer because their shit documentation says nothing about it
Such simple thing as request->validation->response is split into 3 different parts, each of different type: callback, config file and middleware.
Why do so much people use this shit written by a braindead retarded morons?
3 -
Is docker even suitable for anything that isn't deployment?
So much time, so much effort, so much trial and error, and I still feel like I don't know what Docker is for.
I had a development VirtualBox machine, which I used just to compile my code and test my application. So I said "why don't I just use Docker? It would be way simpler". Also because that fucking Virtualbox image was like 10GB, and it was slow af.
The VirtualBox machine wasn't created by me, but it was just given to me by a previous developer, so I just had to imagine what I needed and pick up the pieces. In few hours I was ready with my Dockerfile.
So I tried it, and....... obviously it didn't work. I entered inside my container and I tried to manually execute commands in order to see where it breaks, and I tried to fix each of them. They were just the usual Linux dependencies problems, incompatibility among libraries, and so on.
Putting everything in order, I started over again with a virgin Ubuntu image, and I tried to fix every single error that appeared, I typed something like 1 hundred commands just to have my development machine up and running.
Now I have a running container that works, I don't know how to reproduce it with a Dockerfile, and I don't know what I'm supposed to do with it, because I'm afraid that any wrong command could destroy the container and lose all the job I did. I can't even bind folders because start/exec doesn't support bindings, so I've to copy files.
Furthermore, the documentation about start/exec is very limited, and every question on StackOverflow just talks about deployment. So am I wrong? Did I use containers for something that wasn't their main purpose? What am I supposed to do now? I'm lost, I feel so much stupid.
Just tell me what to do or call a psychologist8 -
posting this again because n one seen it the first time
The website I'm building is like a crypto flavored kickstarter/gofundme.
What I need assistance is figuring out how to write python code for this process:
1. There will be an intermediary wallet used to gauge the funds in order to payout [like kickstarter]- the second function of this intermediary wallet is to deduct it's commission
2. For each user account post a unique ID is created and that is now linked to the wallet used to deposit their final funds in.
I don't need you to do the work for me... I just need guidance on how to visualize a process to write this out.. maybe some relevant documentation? i've already attempted but was outa luck. What language would be best used in this case? im thinking python but let me know.20 -
It is incredibly frustrating to work with SDK with no proper documentation and less community support.
I have been struggling with errors and there's no Post online by someone getting a similar layer.
FUCKING HELL SNAPDRAGON NEURAL ENGINE WHY THE FUCK DO YOU HAVE TO BE SUCH A CUNT. WHY ARE YOU THE WAY YOU ARE.
DONT EVEN GET ME STARTED ON THE DOCUMENTATION AND EXAMPLE.
I FEEL LIKE CRYING. FROM 1 WEEK IM GETTING NEW FUCKING ERRORS AND RESOLVE THEM, GET ANOTHER UNIQUE ASS FUCKING ERROR.
Kmn. -
Importing data from 1 system to another with minimal documentation. I need to map the price field in the new system from price1 in the old system... or is it price2?... or price3?, or is it cost?
Well fuck you too. -
So I may be getting a great job offer by the end of this week. The best thing is that it's a remote company since start and they have proper documentation and processes.
The current company has no idea that I am planning to leave. And they are planning some things around me for this month.
Should I hint that I have a job offer hovering around. I don't see anything bad about mentioning that.
1) Even if I don't get the new job, current company might offer to increase salary and accept my demands.
2) I will be able to get out of current job as soon as possible when I get the new job. I don't intend to complete next September at current company.
Any thoughts? Is it wise to mention about leaving before I have confirmation of new job?7 -
I'm working in a project that seems to be like a Multiplayer Tetris of Little Poo:
- figure out what the heck you have to code, because there is no debugging, the deploy to your devenv takes ages, the documentation does not exist or is unreadable, plus you are new and you are in a different timezone
- once you have your code, slowly pass the reviews of your remote team that will complain for every little extra line you've added for readability, slowly converting your code into a poo-like form, until it is completely shaped as shit
- repeat steps 1-2 until you pass the linter
- the carefully place your shit-shaped-code in the right place of the pile of shit
- wait for someone else to complain (like 'please rebase' 'new lint rule please fix' - oh, did I mention that? lint rules do not match between local, review and deploy?
- repeat from step 1 until you quit your job (which will happen in a few weeks) -
Scootmobiel Centrum Arnhem: Your Expert in Customized Mobility Scooters in the Netherlands
At Scootmobiel Centrum Arnhem, we are committed to providing mobility solutions that enhance your independence and mobility. Whether you need a scootmobiel via de gemeente (mobility scooter through the municipality), an overdekte scootmobiel (covered mobility scooter), a vaste scootmobiel (fixed mobility scooter), or a scootmobiel op maat (customized mobility scooter), we have the expertise and products to meet your needs. Our business is conveniently located at Stenograaf 1, 6921 EX Duiven, Netherlands, and we are always available to assist you with all of your mobility scooter needs.
Why Choose Scootmobiel Centrum Arnhem?
As a leading scootmobiel specialist, we offer a wide selection of high-quality scooters designed to provide comfort, safety, and reliability. We understand that every customer has unique mobility needs, and we are here to help you find the perfect solution, whether you are purchasing a scooter through the municipality or looking for a specialized scooter to match your lifestyle.
Scootmobiel via de Gemeente: Accessible Mobility Solutions
If you're interested in obtaining a scootmobiel via de gemeente, our team at Scootmobiel Centrum Arnhem can help you navigate the process. Many municipalities in the Netherlands offer funding or support to help individuals with mobility challenges access a scooter. We can assist you with the application process, ensuring that you have all the necessary documentation and information to apply for a scooter through your local municipality.
Overdekte Scootmobiel: Protection for All Seasons
For those who enjoy outdoor activities or need to use their mobility scooter in all weather conditions, an overdekte scootmobiel is the ideal solution. These scooters come with a protective cover, ensuring that you stay dry and comfortable during rain or snow. Whether you’re running errands or enjoying a day out, an overdekte scootmobiel provides a sheltered ride, keeping you safe from the elements while still offering the convenience of a high-performance mobility scooter.
Vaste Scootmobiel: A Reliable Long-Term Solution
If you need a vaste scootmobiel (fixed mobility scooter), we have durable options designed for long-term use. These scooters are ideal for individuals who require a sturdy, dependable mobility solution for daily tasks, whether it’s getting around the neighborhood, visiting family, or shopping. With a fixed scooter, you can count on a reliable, stable, and comfortable ride every time.
Scootmobiel op Maat: Tailored to Your Needs
At Scootmobiel Centrum Arnhem, we understand that every person has unique mobility requirements. That’s why we offer scootmobiel op maat (customized mobility scooters) to suit your specific needs. Whether you need adjustments for height, comfort, or added features, we can tailor the scooter to fit your lifestyle. Our expert team will work with you to ensure that your scooter is optimized for maximum comfort and performance, so you can enjoy full independence.
The Benefits of Choosing Scootmobiel Centrum Arnhem
When you choose Scootmobiel Centrum Arnhem, you’re choosing a business that truly cares about your mobility and independence. Here are just a few of the many benefits we offer:
Expert Guidance: Our experienced team is dedicated to helping you find the perfect scooter, whether you’re applying through the municipality or customizing your scooter.
Wide Selection: From overdekte scootmobielen to vaste scootmobielen and everything in between, we offer a wide range of options to suit various mobility needs.
Customized Solutions: We offer scootmobielen op maat, ensuring that your scooter meets your unique requirements for comfort and convenience.
Support with Applications: We can assist you with the process of obtaining a scootmobiel via de gemeente, helping you access the mobility support you need.
Visit Us Today
Ready to explore the world of mobility scooters? Visit Scootmobiel Centrum Arnhem at Stenograaf 1, 6921 EX Duiven, Netherlands. Our friendly and knowledgeable team is ready to assist you in finding the perfect mobility scooter, whether you’re purchasing, leasing, or customizing.
For more information or if you have any questions, feel free to contact us at +31854000172. We are here to help you live a more independent, mobile life with the perfect scooter that meets your needs.
Let Scootmobiel Centrum Arnhem be your trusted partner in mobility!9 -
WIZARD ASSET RECOVERY THE BEST EXPERTS FOR BITCOIN AND CRYPTO
Empowering Recovery: Wizard Asset Recovery as Your Trusted Bitcoin and Crypto Expert
In the vast and evolving landscape of cryptocurrency, the unfortunate reality of scams, hacks, and thefts looms large, posing significant risks to investors worldwide. Amidst the chaos, the need for reliable and effective recovery services has never been more crucial. Join us on a comprehensive exploration as we unveil Wizard Asset Recovery as the ultimate solution for recovering lost Bitcoin and crypto assets, empowering individuals and businesses to reclaim what is rightfully theirs and restore financial security.
Understanding the Challenges of Cryptocurrency Recovery
Cryptocurrency recovery presents a myriad of challenges, from navigating complex blockchain transactions to dealing with elusive hackers and fraudulent schemes. The decentralized nature of cryptocurrencies, coupled with the anonymity they provide, often makes it challenging to trace and recover lost funds. Additionally, the lack of regulatory oversight and jurisdictional issues further complicate recovery efforts, leaving victims feeling overwhelmed and helpless. In the face of these challenges, the expertise of a trusted recovery expert becomes invaluable.
Introducing Wizard Asset Recovery: Your Trusted Partner in Cryptocurrency Recovery
Wizard Asset Recovery emerges as a beacon of trust and expertise in the realm of cryptocurrency recovery, offering a comprehensive suite of services designed to address the unique needs of each client. As a leading recovery expert, Wizard Asset Recovery boasts a team of seasoned professionals with extensive experience in navigating the complexities of cryptocurrency theft and fraud. Their proven track record of success, coupled with their commitment to client satisfaction, sets them apart as the go to solution for recovering lost Bitcoin and crypto assets.
Why Choose Wizard Asset Recovery?
1. Expertise and Experience: With years of experience in cryptocurrency recovery, Wizard Asset Recovery possesses the knowledge, skills, and resources necessary to tackle even the most challenging cases with precision and efficiency.
2. Comprehensive Services: From initial consultation to forensic analysis and legal advocacy, Wizard Asset Recovery offers a comprehensive range of services tailored to meet the unique needs of each client.
3. Transparency and Communication: Throughout the recovery process, Wizard Asset Recovery maintains transparent communication with clients, providing regular updates and guidance every step of the way.
4. Proven Track Record: With numerous successful recoveries and satisfied clients, Wizard Asset Recovery has established itself as a trusted leader in the field of cryptocurrency recovery, earning accolades for its dedication to excellence and client satisfaction.
How Wizard Asset Recovery Works:
1. Initial Consultation: Contact Wizard Asset Recovery via email or WhatsApp to schedule an initial consultation. Provide details about the loss of your Bitcoin or crypto assets, including any evidence or documentation you may have.
2. Assessment and Proposal: Upon engagement, Wizard Asset Recovery will conduct a thorough assessment of your case and provide a tailored proposal outlining their recommended approach to recovery and associated costs.
3. Recovery Process: Leveraging advanced technology and forensic analysis, Wizard Asset Recovery will work tirelessly to trace and recover your lost Bitcoin or crypto assets, keeping you informed and updated on the progress of your case.
4. Resolution and Support: Throughout the recovery process, Wizard Asset Recovery will provide ongoing support and guidance, advocating for your interests and ensuring a satisfactory resolution to your case.
Reclaiming Financial Security with Wizard Asset Recovery
In the face of cryptocurrency theft or fraud, Wizard Asset Recovery stands as a trusted partner for individuals and businesses seeking restitution. With their expertise, dedication, and client centric approach, Wizard Asset Recovery empowers clients to reclaim their lost Bitcoin and crypto assets, restoring financial security and peace of mind. Don't let the complexities of cryptocurrency recovery deter you – trust in Wizard Asset Recovery to guide you through the process with confidence and expertise.
Contact Information:
Email: wizardassetrecovery@gmx.us
Reclaim your financial sovereignty today with Wizard Asset Recovery. Let their team of experts navigate the complexities of cryptocurrency recovery on your behalf, allowing you to reclaim what is rightfully yours and move forward with confidence.7 -
**THE STEPS TO RECOVERING MONEY FROM A CRYPTO INVESTMENT SCAM - CONSULT HACKATHON TECH SOLUTIONS.**
If you have fallen victim to a Bitcoin or crypto investment scam and have lost funds, it can be a devastating experience. However, there are steps you can take to try and recover your lost funds. One option is to contact Hackathon Tech Solutions, a reputable company that specializes in recovering funds lost in scams.
Here are some steps you can take to recover your lost funds with the help of Hackathon Tech Solutions:
1. Contact Hackathon Tech Solutions: Reach out to Hackathon Tech Solutions through their website or contact information to explain your situation and provide any relevant details about the scam you fell victim to.
2. Provide necessary information: Be prepared to provide any documentation or information related to the scam, such as transaction records, communication with the scammer, and any other relevant details that can help in the recovery process.
3. Work with Hackathon Tech Solutions: Once you have contacted Hackathon Tech Solutions and provided the necessary information, they will work on your behalf to investigate the scam and attempt to recover your lost funds.
By following these steps and working with a reputable company like Hackathon Tech Solutions, you have a better chance of recovering your lost funds from a Bitcoin or crypto investment scam. Their contact information is listed below,
Email: info (@) hackathon tech solution (.) com
Website: www (.) hackathon tech solutions (.) com
Whatsapp: + 3 . 1 . 6 . 4 . 7 . 9 . 9 . 9 . 2 . 5 . 6
Telegram: (@) hackathon tech solutions1 -
SoSoLoveTech: Comprehensive Tech Solutions for Modern Needs
In the dynamic world of technology, finding reliable and innovative tools to streamline tasks is paramount. SoSoLoveTech emerges as a prominent name in the tech landscape, offering a suite of solutions that cater to diverse needs. This platform positions itself as a one-stop destination for practical and user-friendly tools designed to enhance productivity, simplify complex processes, and empower users across the globe.
A Vision of Excellence
At its core, SoSoLoveTech embodies a commitment to providing tech solutions that bridge the gap between complex technological demands and user-friendly implementations. Whether you are a developer, a digital marketer, or a general user, SoSoLoveTech offers resources that can elevate your efficiency and enable seamless execution of tasks.
Features That Define SoSoLoveTech
1. User-Centric Design
The platform is built with the user in mind. Its tools and features are structured to be intuitive, accessible, and effective. Whether you're a tech-savvy professional or someone with minimal technical knowledge, SoSoLoveTech ensures that you can navigate and utilize its offerings without hassle.
2. Diverse Range of Tools
SoSoLoveTech offers a wide array of tools, each designed to solve specific problems. Some of the notable tools include:
Dummy Image Placeholder Generator: Simplifies design workflows by allowing users to generate placeholder images for web and app development projects.
Hex to RGB Color Converter: A precise tool for designers and developers to switch between color formats effortlessly.
YouTube Thumbnail Downloader: Enables users to download high-quality thumbnails from YouTube videos with ease.
QR Code Decoder: A convenient tool for scanning and decoding QR codes to retrieve data quickly.
Bank Details to IFSC Code Converter: Assists in locating IFSC codes based on bank details, simplifying financial transactions.
3. Speed and Reliability
In today’s fast-paced world, speed matters. The tools on SoSoLoveTech are optimized for swift performance, ensuring that users can complete their tasks in record time. Moreover, the platform prioritizes reliability, ensuring uninterrupted access to its resources.
4. SEO-Friendly Resources
For digital marketers and content creators, SoSoLoveTech provides tools that enhance search engine optimization (SEO) efforts. By enabling quick access to critical utilities, the platform becomes a valuable companion for those looking to improve their online visibility.
Exploring Key Tools on SoSoLoveTech
Dummy Image Placeholder Generator
Web developers often require placeholder images during the design phase. The Dummy Image Placeholder Generator on SoSoLoveTech allows users to generate images of specific dimensions, colors, and formats. This tool saves time and ensures consistency in design mockups, making it an indispensable resource for UI/UX designers and developers.
Hex to RGB Color Converter
Designers frequently switch between color models to meet project requirements. This converter simplifies the process of transforming hexadecimal color codes into RGB format. Its precision and ease of use make it a favorite among graphic designers and frontend developers.
YouTube Thumbnail Downloader
A tool for content creators, the YouTube Thumbnail Downloader provides an easy way to save thumbnails in high resolution. Whether for reference or reuse, this tool ensures that users have quick access to video thumbnails without compromising quality.
QR Code Decoder
QR codes are omnipresent in the digital world, from marketing campaigns to payment systems. The QR Code Decoder on SoSoLoveTech allows users to scan and decode these codes effortlessly, revealing the embedded information within seconds.
Bank Details to IFSC Code Converter
For individuals and businesses managing multiple transactions, finding accurate IFSC codes is often a challenge. SoSoLoveTech addresses this with its Bank Details to IFSC Code Converter, ensuring quick access to accurate banking information, thus simplifying transactions.
Why Choose SoSoLoveTech?
SoSoLoveTech distinguishes itself through its commitment to innovation, accessibility, and reliability. Here's why it's a preferred platform for many users:
Free and Accessible Tools: Most tools on the platform are available free of cost, making them accessible to a global audience.
Continuous Updates: The team behind SoSoLoveTech ensures that the tools are regularly updated to meet evolving technological standards.
Comprehensive Documentation: Each tool is accompanied by detailed guides and FAQs, ensuring that users can make the most of its features.
Mobile-Friendly Interface: The platform’s design is responsive, ensuring seamless access across devices, including smartphones and tablets.
Future Prospects
As the digital landscape evolves, SoSoLoveTech is poised to expand its offerings. -
CRYPTOCURRENCY RECOVERY FIRM FOR HIRE - FUNDS RETRIEVER ENGINEER
On Mother’s Day, I became a victim of a sophisticated cryptocurrency trading scam that initially promised HUGE returns but ultimately left me unable to access my funds. The ordeal began when an admin from a Telegram group, boasting 800 members, reached out to me. The group was filled with discussions about cryptocurrency trading strategies and success stories of members profiting from signals provided by the group's leaders. Captivated by their claims of high returns and the group's apparent transparency, I decided to join. The scammers presented a 30-day investment cycle, assuring me that I could withdraw my initial investment along with any profits at the end of the period. Trusting their assurances, I deposited $58,000 in USDT to their Bitcoin address. Everything seemed to be going well, and my account balance quickly soared to $800,000. However, things took a drastic turn when I attempted to withdraw my profits. I was informed that I couldn’t access my funds until I paid a supposed “tax” on my earnings. This tax requirement had never been mentioned during my initial investment discussions. When I pressed for clarification, I received vague responses and delays, making it clear that the scammers were stalling, hoping to extract more money from me. Despite my persistent efforts to reach out to them, the group disappeared, leaving me with no means of contact. It became painfully obvious that I had been scammed. Feeling lost and desperate, I began searching for ways to recover my lost funds. After extensive research, I came across FUNDS RETRIEVER ENGINEER, a service dedicated to helping victims of online scams. Their team was not only knowledgeable but also compassionate, guiding me through the recovery process step by step. I gathered the necessary documentation and details about my case. They worked tirelessly to trace my funds and liaised with financial institutions on my behalf. To my immense relief, they successfully helped me recover a significant portion of my funds. This taught me a crucial lesson about the importance of conducting thorough research regarding investment opportunities. I learned to be skeptical of promises that seemed too good to be true and to verify the legitimacy of any platform before investing. Thanks toFUNDS RETRIEVER ENGINEER, I was able to regain my financial stability and approach future investments with newfound caution. I now advocate for others to be informed, sharing my story to help prevent others from falling victim to similar scams.
For help
W H A T S A P P: +1 8 0 2 9 5 2 3 4 7 0
EmaIL F U N D S R E T R I E V E R [@] E N G I N E E R. C O M
OR
S U P P O R T @ F U N D S R E T R I E V E R [@] E N G I N E E R. C O M2 -
I just want to rant about my teacher who did not teach us on software engineering principles especially on version control and how we handle our code.
[This is Tl;dr section so I won't take your time to read] I just want your advice or opinions on students required to learn version control.
Now that there are many freshmen in our school, I want to teach them the very basics on version control. Our flaws as a group, when we are in developing our project is, there's only 1 person who handles all of the code and that's not very effective, the others were busy on the documentation and project management but not the code that the person wrote. I can relate to that person but I'm actually doing other task and review it. My group mates didn't review my code because it was written in Ecma Script(I refer to them as javascript). I put comments on every functions, conditions, and variables so that they could understand, but they don't.
So If you have any ideas please reply. I will read them and evaluate. -
HOW TO RECOVER STOLEN CRYPTOCURRENCY CONTACT ADRIAN LAMO HACKER
In early 2024, I found myself entangled in a high-stakes forex trading scheme that promised substantial returns but ended up being a disastrous ordeal. Despite my initial confidence, the investment spiraled into a €400,000 loss, exacerbated by constant fee demands and manipulative tactics designed to keep me pouring money into a sinking ship. The sense of desperation and helplessness was overwhelming, leaving me feeling as if I had lost control of my financial future. After exhausting all personal avenues and facing mounting stress, I began searching for professional help. That's when I came across ADRIAN LAMO HACKER. Their reputation for tackling complex fraud cases caught my attention, and I decided to reach out for assistance. From the initial consultation, I was impressed by their professionalism and deep understanding of the financial fraud landscape. The key figures in my case were Alex Matthews and Sarah Johnson from ADRIAN LAMO HACKER. Alex, the senior recovery specialist, took charge of my case with a meticulous approach, while Sarah, the legal expert, provided invaluable advice on navigating the legal aspects. Their combined expertise gave me a renewed sense of hope. Alex started by conducting a comprehensive investigation into the fraudulent forex scheme. His thorough examination uncovered several crucial details about the operations of the scam, including the identities of key players and the mechanisms they used to extract funds. Sarah, on the other hand, focused on the legal ramifications, preparing the necessary documentation and strategies to challenge the fraudulent entities. The efficiency of ADRIAN LAMO HACKER was astounding. Within just 28 hours, ADRIAN LAMO HACKER managed to recover a significant portion of my lost funds. Their ability to act swiftly and decisively was a testament to their dedication and skill. The process involved coordinating with various financial institutions and legal entities, and their seamless execution made a stressful situation much more manageable. The recovery of €400,000 was a remarkable achievement and a profound relief. It not only alleviated my immediate financial concerns but also restored my faith in the possibility of justice. Alex and Sarah's relentless efforts and expert handling of the case were instrumental in achieving this outcome. I am sharing my experience to offer hope and guidance to others who may find themselves in similar situations. Financial fraud can be devastating, but professional recovery services like ADRIAN LAMO HACKER can make a significant difference. Their expertise in navigating the complexities of fraud recovery and their commitment to client success can turn a seemingly hopeless situation into a triumphant recovery. For anyone facing similar challenges, I highly recommend reaching out to ADRIAN LAMO HACKER via Email: Adrianlamo @ consultant . com / WhatsApp: +1 (909) 739‑0269
TELEGRAM Username: @ADRIANLAMOHACKERTECH Their proven track record and dedicated team can provide the support and results needed to reclaim lost funds and regain control of your financial future. -
BITCOIN / USDT AND ETH HACKER FOR HIRE: CONSULT FUNDS RECLAIMER COMPANY
My friend introduced me to the intriguing world of cryptocurrency, and I was immediately captivated by its potential for substantial returns. When I stumbled upon a token presale that appeared legitimate, I was eager to invest. I committed $84,600, enticed by the polished website and the seemingly credible team behind the project. However, my initial excitement swiftly morphed into despair when, after the launch, the website vanished, the team disappeared, and all communication channels were severed. I realized I had fallen victim to a sophisticated scam, and my investment felt irretrievably lost. Looking for help, I
discovered FUNDS RECLAIMER COMPANY through a fellow investor who had successfully reclaimed their funds. I reached out to them, and from our very first interaction, I felt a renewed sense of hope. Their team of experts promptly commenced tracing the flow of Ethereum that I had invested. They employed advanced blockchain analysis techniques to meticulously track my funds, which was both impressive and reassuring. FUNDS RECLAIMER COMPANY diligently analyzed the transaction history, identifying the wallets that had received my funds post-presale. They crafted a comprehensive report detailing the movement of my investment, which proved crucial for any potential recovery efforts. Their unwavering dedication and expertise were evident throughout the process, and I felt supported at every juncture. What truly distinguished FUNDS RECLAIMER COMPANY was their commitment to collaboration. They worked closely with law enforcement and cryptocurrency exchanges to freeze the assets in the identified wallets. Thanks to their thorough documentation and compelling evidence, they successfully demonstrated that the funds were obtained through fraudulent means. I am elated to share that FUNDS RECLAIMER COMPANY facilitated the recovery of my lost funds. I regained my entire $84,600 investment, which I had feared was gone forever. This experience has imparted valuable lessons about the importance of vigilance in the cryptocurrency space, but it has also illuminated the possibility of recovery, even after falling prey to a scam. I wholeheartedly recommend FUNDS RECLAIMER COMPANY to anyone who has been ensnared by a cryptocurrency scam. Their expertise, professionalism, and unwavering support made an indelible difference in my journey from loss to recovery. Thank you, FUNDS RECLAIMER COMPANY, for restoring my faith and my investment.
MORE INFO:
Telegram: + 1 (8 1 8) 4 7 4 - 1 7 3 12 -
Saclux Comptech Specialst: A Legitimate and Trusted Crypto Recovery Service. We used Blockchain as a crucial step in cryptocurrency recovery. Here's an overview of the process:
1. Gathering Information: Collect relevant data, such as wallet addresses, transaction IDs, and any other pertinent information.
2. Identifying the Blockchain: Determine which blockchain the lost cryptocurrency is associated with (e.g., Bitcoin, Ethereum, etc.).
1. Transaction Tracking: We Use blockchain explorers to track the movement of the lost cryptocurrency.
2. Address Clustering: Identify clusters of addresses associated with the lost funds to understand the transaction flow.
3. Transaction Pattern Analysis: We Analyze transaction patterns, such as frequency, amount, and timing, to identify potential leads.
4. Blockchain Visualization: We Use visualization tools (e.g., GraphSense, BitCluster) to represent the transaction flow and identify connections.
# Investigation and Recovery
1. Identifying Suspects: Based on the analysis, we identify potential suspects or entities involved in the transaction.
2. Collaboration with Exchanges: We also Work with cryptocurrency exchanges to gather more information and potentially recover funds.
3. Recovery Strategies: We Develop a recovery strategy, which may involve negotiating with the suspect, collaborating with law enforcement, or using other tactics.
4. Recovery Execution: We will Execute the recovery strategy, which may involve a combination of technical, legal, and social engineering efforts.
# Post-Recovery
1. Secure Storage: Once recovered, we will store the cryptocurrency in a secure wallet or storage solution.
2. Documentation: We will Keep detailed records of the recovery process and any subsequent transactions.
3. Follow-up: We will Monitor the recovered funds and be prepared to take further action if necessary.
If you’ve fallen victim to a cryptocurrency scam, turn to Saclux Comptech Specialst for trusted and effective assistance.6 -
Innovative Bitcoin Recovery Solutions - How CRC is Revolutionizing Scam Recovery
Breakthrough Methods for Bitcoin Recovery
As cryptocurrency scams become more sophisticated, CipherRescue Chain (CRC) has developed cutting-edge techniques to recover stolen Bitcoin that set new industry standards:
1. Smart Contract Exploit Reversal
Deploys counter-exploit protocols
Utilizes time-delay transaction analysis
Implements blockchain-level interventions
2. AI-Powered Forensic Tracking
Machine learning wallet clustering
Predictive movement algorithms
Cross-exchange behavior mapping
3. Legal Pressure Strategies
Real-time asset freezing technology
Multi-jurisdictional seizure orders
Exchange compliance enforcement
Why CRC Leads in Bitcoin Recovery Innovation
1. Certified Cutting-Edge Technology
Patent-pending recovery algorithms
Blockchain Intelligence Group partnership
Regular technology audits by Kaspersky Labs
2. Transparent & Ethical Operations
Flat 12% recovery fee structure
14-day action guarantee
No hidden costs
Full legal compliance documentation
3. Unmatched Success Metrics
94% success rate for recent scams
$420+ million recovered since 2019
3,200+ wallets successfully traced
78% faster recovery times than industry average
The CRC Recovery Process
Phase 1: Digital Triage (48-72 Hours)
Blockchain snapshot analysis
Threat actor profiling
Recovery probability assessment
Phase 2: Active Recovery (7-21 Days)
Smart contract interventions
Exchange coordination
Dark web monitoring
Legal pressure campaigns
Phase 3: Asset Return (3-14 Days)
Multi-signature escrow returns
Anonymity protection
Tax documentation
Security consultation
About CipherRescue Chain (CRC)
CRC represents the next generation of cryptocurrency recovery with:
Technological Advantages:
Quantum-resistant tracing systems
Behavioral analysis engines
Real-time alert networks
Expert Team Includes:
NSA cryptography specialists
Former blockchain protocol developers
International cybercrime prosecutors
Financial intelligence analysts
For advanced Bitcoin recovery solutions:
📧 Contact: cipherrescuechain @ cipherrescue .co .site
CRC maintains revolutionary standards for:
Zero-knowledge client verification
Non-invasive recovery methods
Continuous technology updates
Global regulatory cooperation
Having developed 17 proprietary recovery techniques in the past three years alone, CRC continues to redefine what's possible in cryptocurrency recovery. Their combination of technological innovation and legal expertise provides scam victims with recovery options that simply didn't exist until recently.
Note: While CRC's methods are groundbreaking, they maintain complete transparency about each case's realistic recovery potential during free initial consultations.2 -
Property Specialists Group: Your Trusted Property Manager in Brisbane
If you're a property owner or investor in Brisbane, you understand the importance of effective property management to maximize the value of your investment. Whether you’re renting out a residential property, commercial space, or looking to streamline your property portfolio, you need a property manager you can trust. This is where Property Specialists Group comes in.
Located at Building 1, Level 2/107 Miles Platting Rd, Eight Mile Plains QLD 4113, Australia, Property Specialists Group is your go-to partner for all things property management in Brisbane. With a proven track record and a deep understanding of the local market, we specialize in delivering personalized, reliable, and efficient property management services to our clients.
What We Do
At Property Specialists Group, we offer a wide range of property management services, tailored to meet the unique needs of property owners and investors. Here’s what sets us apart:
1. Tenant Screening and Selection
Finding the right tenant is key to ensuring the long-term success of your investment. We conduct thorough background checks, reference verifications, and credit assessments to ensure your property is in safe hands. Our goal is to place reliable, responsible tenants who will treat your property with care and respect.
2. Rental Collection and Financial Management
We take the stress out of rental collection by handling payments, providing monthly financial statements, and ensuring that rents are paid on time. Our transparent and accurate accounting practices help you keep track of your property’s financial performance.
3. Property Inspections and Maintenance
Regular property inspections are a part of our comprehensive service. We check on the condition of your property, monitor for any damage, and arrange for timely maintenance. From routine repairs to emergency fixes, we ensure that your property remains in top condition at all times.
4. Marketing and Advertising
Our marketing experts use proven strategies to attract quality tenants quickly. From online listings to traditional advertising methods, we ensure your property gets the exposure it deserves, reducing vacancies and boosting your return on investment.
5. Lease Management and Documentation
Managing leases can be complex and time-consuming. Our team takes care of lease agreements, renewals, and legal documentation. We ensure that all paperwork is compliant with Queensland’s property laws, giving you peace of mind and protecting your investment.
Why Choose Property Specialists Group?
Expertise in Brisbane’s Property Market
As a locally-based property management team, we have a deep understanding of Brisbane's ever-evolving real estate market. We provide valuable insights into local trends, rental prices, and regulations, ensuring your property remains competitive and compliant.
Personalized Service
At Property Specialists Group, we believe that every property is unique, and so are our clients. We offer a customized approach to property management, tailoring our services to suit your specific needs, goals, and investment strategy.
Dedication to Customer Satisfaction
We pride ourselves on our high level of customer service. Our team is responsive, approachable, and committed to resolving any issues quickly and efficiently. Whether you're a first-time investor or a seasoned property owner, we treat your investment with the same care and attention as we would our own.
Contact Us Today
If you’re looking for professional, reliable property management in Brisbane, look no further than Property Specialists Group. With our hands-on approach and local market expertise, we are here to help you maximize the potential of your property.
Visit us at Building 1, Level 2/107 Miles Platting Rd, Eight Mile Plains QLD 4113, or give us a call at +61721039366 to learn more about how we can assist you in achieving your property investment goals.2 -
The Possibility Of Recovering Scammed Bitcoin Is Real With Help Of Lee Ultimate Hacker
As an electrician, I’ve always prided myself on my hard work and dedication. Unfortunately, I learned the hard way that not all investments are what they seem. I lost over $1,000,000 to fraudulent brokers and so-called account managers who deceived me into trusting them with my money. What began as an opportunity to grow my savings quickly turned into a devastating experience. It all started with a seemingly legitimate investment offer. The brokers made convincing claims, and the initial returns were encouraging, so I decided to invest more. They assured me that the more I invested, the higher my returns would be. I felt confident about the decision and followed their advice, thinking I was making smart financial moves. However, when I tried to withdraw my earnings, things quickly took a turn for the worse. The brokers began requesting additional funds before they would process any withdrawal. At first, I hesitated, but their constant push made me feel like it was a necessary step to access my money. Each time I complied, they would come up with new excuses and demand even more funds. Eventually, when I tried to withdraw everything, they disappeared. All my attempts to contact their customer support went unanswered, and it became clear I had been scammed. The loss was overwhelming, especially as an electrician with a family to support and bills to pay. But I wasn’t ready to give up. I began researching ways to recover my funds and stumbled upon a YouTube video that explained how victims of online scams could get their money back. That video led me to Lee Ultimate Hacker, a service that specializes in helping people who have been scammed. I reached out to them and received a response within hours. They requested all the details of my investment and the communication I had with the fraudulent brokers. I followed their instructions and provided the necessary documentation. To my surprise and relief, Lee Ultimate Hacker was able to successfully recover my entire investment, including the profits I had earned during the time I was involved. Thanks to their expertise, I was able to get my financial security back. This experience has been eye-opening, and I am sharing it now to help others avoid falling into the same trap. If you’re facing withdrawal issues or suspect you’ve been scammed on a trading platform, I highly recommend reaching out to Lee Ultimate Hacker on telegram: L E E U L T I M A T E, or w h @ t s a p p + 1 ( 7 1 5 ) 3 1 4 - 9 2 4 8 & Support @ l e e u l t i m a t e h a c k e r . c o m)
They helped me when I thought all hope was lost, and I’m confident they can do the same for others. Please recovery is possible if fall victim.4 -
Boosting my business’s visibility was a top priority, and after searching for solutions online, I came across a seemingly legitimate business listing service that promised to give my business the exposure it needed. The website looked professional, with impressive testimonials and convincing marketing claims. It seemed like the perfect opportunity, so I decided to invest $1,200,000 in the service, believing it would be a game changer for my business. However, shortly after making the payment, everything started to unravel. The business listing service vanished. The website went offline, and all my attempts to reach their customer support went unanswered. I felt completely duped that what seemed like a promising investment had turned out to be a scam, and I was left with nothing. I was devastated. As an entrepreneur, that kind of financial loss was a huge blow, and I didn’t know where to turn. That’s when I found ASSET RESCUE SPECIALIST . I was initially unsure if there was any chance of recovering my funds, but their reputation for helping people in similar situations gave me hope. The team at Asset Rescue Specialist jumped into action right away. They quickly identified the fraudulent website, recognizing it as part of a broader network of scams targeting unsuspecting business owners like myself. They didn’t waste any time and immediately began working with my payment platform to investigate the situation. ASSET RESCUE SPECIALIST handled everything, from gathering the necessary documentation to filing a formal claim. Their expertise and experience in dealing with fraud became clear thanks to their thorough approach, they were able to ensure that all the details were in place for a successful recovery. To my relief, ASSET RESCUE SPECIALIST was able to recover the full $1,200,000 that I had lost. It was an incredible feeling to get my money back, and I was extremely grateful for the team’s hard work and dedication. They were professional, transparent, and kept me updated throughout the process, so I never felt like I was in the dark. Looking back, if it weren’t for ASSET RESCUE SPECIALIST, I would have lost my money with no way of getting it back. Their ability to navigate the complexities of online fraud and recover my funds was nothing short of amazing. I highly recommend their services to anyone who finds themselves in a similar situation.
Company: ASSET RESCUE SPECIALIST
Whats-app:+ 1 9 0 3 5 5 9 1 7 3 3.
1 -
DIGITAL TECH GUARD RECOVERY, EXPERTS IN CRYPTO WALLET RECOVERY
After engaging with a trading company based in Canada, which was managing my trading account, I entered into an agreement where we would share profits on a 50/50 basis. Initially, everything seemed to be progressing well, and I was optimistic about the potential returns from the trades. However, without warning, the company began withholding my assets, leaving me unable to access my funds. There was no clear explanation or communication from their side, which led me to suspect something was amiss. Despite several attempts to reach out and clarify the situation, my funds remained locked, and the company’s responses became increasingly evasive. As the situation grew more concerning, I began to worry that I had fallen victim to a scam. The inability to access my own money after months of trading left me feeling helpless. Desperate for a solution, I decided to explore professional recovery services. That's when I came across DIGITAL TECH GUARD RECOVERY, a highly reputed expert team known for their work in reclaiming withheld or scammed cryptocurrency. They specialize in situations exactly like mine, where assets are locked or taken by fraudulent entities, and they require legal trade details to help initiate the recovery process. I reached out to DIGITAL TECH GUARD RECOVERY, and from the outset, their team was both professional and reassuring. They requested the necessary legal trade documentation, including transaction IDs, proof of the trading agreement, and communication records with the company. Though it felt overwhelming to gather all the required information, the team at DIGITAL TECH GUARD RECOVERY guided me every step of the way, ensuring I had everything in order to begin the process.
WhatsApp: +1 (443) 859 - 2886 Email @ digital tech guard . com
Telegram : digital tech guard recovery . com website link : digital tech guard . com1 -
CONSULT TECHNOCRATE RECOVERY GET BACK STOLEN FUNDS-CRYPTO ASSETS
Am a student working in New York town, I lost €27,000 through Coingain due to several issues I encountered while using the app for transactions. Initially, I was excited about the potential of the platform, but things took a turn for the worse when I faced difficulties withdrawing my funds. Despite my best efforts to resolve the issues on my own, I quickly found myself in a frustrating situation that seemed impossible to navigate. I felt trapped in a situation that I couldn’t control. In my quest for help, I stumbled upon [TECHNOCRATE RECOVERY] I read positive testimonials from others who had faced similar issues and successfully recovered their funds through them. Skeptical yet desperate, I decided to reach out to them for assistance. The initial consultation was reassuring; they listened to my story and assured me they had the expertise to help me navigate the recovery process. TECHNOCRATE RECOVERY’s team was professional and empathetic. They guided me through every step, helping me gather the necessary documentation and information to build my case. Their communication was clear and prompt, which made a significant difference in my overall experience. I finally felt like I had someone on my side who understood the complexities of the situation. After several weeks of diligent work, I was thrilled to learn that they had successfully assisted me in recovering my lost funds. The relief I felt was immense, and I cannot express enough gratitude for their support during such a challenging time. If you find yourself facing similar issues with Coingain or any other platform, I highly recommend reaching out to TECHNOCRATE RECOVERY. Their expertise and dedication made a significant difference in my situation, and I believe they can help others as well. Don’t hesitate to seek help; there is hope and support available out there..
Company Email [t echnocratrecovery@contractor. net]
WhatsApp [+1 573 356 3708] -
BITCOIN SCAMS CONTACT SPARTAN TECH GROUP RETRIEVAL FOR RECOVERY
COMPANY CONTACT INFO:
WhatsApp:+1 (971) 4 8 7 - 3 5 3 8
Email: spartantechretrieval (@) g r o u p m a i l .c o m
Telegram:+1 (581) 2 8 6 - 8 0 9 2
How I Overcame a Sophisticated Online Scam: A Recovery journey with Spartan Tech Group Retrieval. Thank heavens I listened to a broadcast that explained how scam victims could use Spartan Tech Group Retrieval to reclaim their money. After contacting the information provided for assistance, I received a prompt response. They asked me to supply all pertinent legal details regarding my investment. Following their instructions meticulously, I was astonished to discover that I successfully got my money back. My ordeal began when I fell victim to a sophisticated online scam. At first, everything seemed legitimate. The website was professional-looking, the representatives were friendly, and the potential returns on my investment were enticing. I invested a substantial amount, fully convinced I was making a wise financial decision. However, when I attempted to withdraw my funds, I encountered numerous obstacles. The website became unresponsive, and each time I reached out for support, I received vague excuses about technical difficulties. It soon became clear that I had been scammed. Feeling helpless and frustrated, I took to the internet, searching for any possible recovery options. That’s when I stumbled upon a broadcast discussing the services offered by Spartan Tech Group Retrieval. Intrigued, I listened intently as the host detailed how they had successfully assisted countless victims in recovering their lost funds. The testimonies of others who had regained their money sparked a glimmer of hope within me. The process began with a simple consultation. The representatives at Spartan Tech Group Retrieval guided me through the necessary steps, emphasizing the importance of gathering all relevant documentation related to my investment. This included transaction records, emails, and any communication I had with the scam operators. They assured me that they had the expertise and resources to handle my case effectively. Once I submitted all the required information, I was kept updated throughout the process. Their team worked diligently, leveraging legal avenues and online recovery strategies to pursue my case. It was a tense waiting game, but their professionalism reassured me. Finally, after what felt like an eternity, I received the news I had been hoping for: my funds were successfully recovered. This experience taught me the importance of vigilance and the necessity of seeking help when faced with adversity. Thanks to Spartan Tech Group Retrieval, I not only regained my money but also learned valuable lessons about online investments and fraud prevention. Their dedication to helping scam victims like me is truly commendable, and I encourage anyone in a similar situation to seek their assistance.
-
EXPERT FOR BITCOIN AND LOST ASSETS RECOVERY STARTS WITH SPARTAN TECH GROUP RETRIEVAL
The reality of crypto recovery is a complex and often misunderstood topic, as I've come to learn through my own personal experience. When I found myself in the unfortunate position of having lost my cryptocurrency holdings, I felt overwhelmed and uncertain about the path forward. That's when I discovered Spartan Tech Group Retrieval on web then contacted them on Telegram:+1 (581) 2 8 6 - 8 0 9 2, a service that claimed to specialize in retrieving lost or inaccessible digital assets. At first, I was skeptical - the world of crypto can be fraught with scams and false promises. But after thoroughly vetting the company and reading testimonials from past clients, I decided to take a chance. The process was meticulous and time-consuming, requiring me to provide extensive documentation and cooperate closely with the Spartan Tech Group Retrieval team. But to my immense relief and gratitude, they were ultimately able to recover the funds I had feared were lost forever. This experience taught me that crypto recovery, while challenging, is indeed possible with the right expertise and diligence. Spartan Tech Group Retrieval demonstrated a level of technical prowess and perseverance that far exceeded my expectations, restoring my faith not only in the possibility of recovering digital assets, but in the integrity of the crypto industry as a whole. It's a testament to the fact that even when all seems lost, there are professionals out there dedicated to helping navigate the complexities of this rapidly evolving financial landscape. I still can’t fully describe the emotions I felt in that moment—relief, joy, and a sense of amazement that something I had given up on was now within my reach once again. It felt like a second chance. Spartan Tech Group Retrieval didn’t just help me recover my Bitcoin; they restored my faith in the possibility of overcoming seemingly insurmountable challenges. Looking back on the entire experience, I realize just how lucky I was to find them. My journey with Bitcoin had been a rollercoaster of highs and lows, but this was undoubtedly one of the most stressful periods of my life. I had almost given up hope after multiple failed attempts, but thanks to Spartan Tech Group Retrieval, I was able to reclaim what I thought was lost forever. To anyone out there who feels hopeless or defeated by the idea of recovering their lost Bitcoin or cryptocurrency, I urge you to consider this service. Spartan Tech Group Retrieval provided me with the expertise and determination I lacked, and they never gave up when I was ready to. If you’re stuck in the same frustrating position I was, I can’t recommend them enough. They gave me a lifeline, and for that, I will always be grateful. Send a message to them on WhatsApp:+1 (971) 4 8 7 - 3 5 3 8
3 -
LOST OR STOLEN BITCOIN CAN BE RECOVERED - VISIT RAPID DIGITAL RECOVERY FOR HELP
RAPID DIGITAL INFO
EMAIL: support(@) rapiddigitalreco very .org
EMAIL: contact (@)rapiddigitalrecove ry. org
WHATSAPP: +1 (41 4) 80 7-14 85
In the rapidly evolving world of trading, binary options have become a popular choice for many investors, promising high returns and straightforward strategies. Unfortunately, this simplicity has also made it a target for fraudulent schemes. Many traders have fallen victim to unscrupulous brokers who exploit their trust and manipulate their investments. If you’ve been scammed by a binary options broker, it’s crucial to act wisely and explore options for recovering your lost funds. One of the most pressing issues in the binary options market is the risk of encountering fraudulent brokers. These scammers use a variety of tactics to lure investors, such as offering attractive bonuses, promising unrealistic returns, and creating manipulated trading environments. Once they’ve gained your trust and secured your funds, they may implement strategies that prevent withdrawals or create obstacles requiring additional deposits before you can access your money. I personally experienced the devastating effects of such a scam. I lost $185,250 USD to an unregulated online broker who manipulated my account and blocked my access to my investments. This scenario is unfortunately all too common, and many traders find themselves in similar distressing situations. Fortunately, there is hope for those who have been defrauded. I was able to recover all my lost funds with the help of a specialized recovery service known as Rapid Digital Recovery. This organization is dedicated to assisting victims of financial fraud in reclaiming their assets. They provided me with the expertise and support necessary to navigate the complex process of recovering funds from an unregulated broker. Rapid Digital Recovery is a well-regarded service specializing in recovering funds for individuals who have been scammed by financial brokers. Their track record includes successfully helping clients who face challenges such as manipulated accounts, blocked withdrawals, and demands for additional deposits. If you’re in a similar predicament, reaching out to Rapid Digital Recovery could be a pivotal step toward regaining your lost investments. The process of recovering funds from a fraudulent broker generally involves several key steps. First, you need to gather detailed information about your investment, including all communications with the broker and evidence of fraudulent activity. This documentation is critical for recovery specialists to build a strong case and determine the best course of action. Next, recovery experts will evaluate your situation and develop a strategy to recover your funds. This might include legal actions, negotiations with the broker, or other methods to pressure the fraudulent entity into returning your money. During this process, maintaining close contact with your recovery specialist and providing any additional requested information or documentation is crucial. Being aware of red flags associated with fraudulent brokers can also help protect you. Common warning signs include unregulated platforms, persistent pressure to deposit more money, and difficulty accessing your funds. If you encounter these issues, it is wise to exercise caution and seek assistance if you’ve already been affected. while the binary options market offers significant opportunities, it also presents substantial risks of fraud and manipulation. If you have been scammed by a binary options broker, resources are available to help you recover your lost funds. Rapid Digital Recovery is one such resource with a proven track record of assisting defrauded individuals. By seeking expert help and remaining vigilant, you can take steps to recover your investments and guard against future scams. If your broker is demanding additional deposits or blocking access to your account, it is crucial to act swiftly and seek professional assistance. Remember, you do not have to face this challenge alone—team like Rapid Digital Recovery are available to guide you through the process of reclaiming your funds and ensuring that justice is served. -
HOW TO SUCCESSFULLY RECOVER YOUR STOLEN BITCOIN WITH THE HELP OF SALVAGE ASSET RECOVERY
At first, Derived seemed like a reliable and trustworthy investment platform. The staff was friendly, and their consultations were convincing, offering detailed information that gave me confidence in the company. The process seemed well-organized, and their promises of high returns made me eager to proceed. However, it wasn’t long before things took a concerning turn.After I made my deposit, I was immediately asked to submit a range of documents to verify my identity. At first, I assumed this was just part of their standard process, but the requests kept coming. What started as a few simple documents turned into a constant stream of increasingly complex paperwork. Despite submitting everything they asked for, I was still asked for more, which only made me more uneasy about their intentions.To make matters worse, my CAD 15,000 balance was frozen, and every attempt to withdraw my funds was met with delays and vague responses. The company claimed that my withdrawal was in progress, but days turned into weeks without any movement. It quickly became clear that they had no intention of allowing me to access my own money, and their communication became more evasive with each passing day.It soon became evident that Derived was not the trustworthy company I had initially thought it was. Their constant demands for documentation and their refusal to process my withdrawal felt like deliberate tactics to prevent me from retrieving my funds. I felt completely trapped and frustrated, unable to move forward or recover my money.That’s when I decided to reach out to Salvage Asset Recovery. They came highly recommended, and after a thorough consultation, I felt confident that they could help me. The Salvage Asset Recovery team acted quickly, taking charge of the situation and handling all communication with Derived. Their professionalism, expertise, and dedication were evident at every step, and they were ultimately able to recover my entire investment.Thanks to Salvage Asset Recovery, I was able to get my CAD 15,000 back. They worked tirelessly to ensure that Derived could no longer delay or deny my withdrawal. I am deeply grateful for their support and for helping me reclaim what was rightfully mine.If you find yourself in a similar situation, I strongly recommend reaching out to Salvage Asset Recovery. Their commitment to helping clients recover their funds is unmatched, and without their assistance, I would have never gotten my money back. They made all the difference when I needed help the most.
Visit Salvage Asset Recovery via below contact details.
WhatsApp-----.+ 1 8 4 7 6 5 4 7 0 9 6
TELEGRAM---@Salvageasset
13 -
BITCOIN / USDT AND ETH HACKER FOR HIRE: CONSULT FUNDS RECLAIMER COMPANY
My friend introduced me to the intriguing world of cryptocurrency, and I was immediately captivated by its potential for substantial returns. When I stumbled upon a token presale that appeared legitimate, I was eager to invest. I committed $84,600, enticed by the polished website and the seemingly credible team behind the project. However, my initial excitement swiftly morphed into despair when, after the launch, the website vanished, the team disappeared, and all communication channels were severed. I realized I had fallen victim to a sophisticated scam, and my investment felt irretrievably lost. Looking for help, I discovered FUNDS RECLAIMER COMPANY through a fellow investor who had successfully reclaimed their funds. I reached out to them, and from our very first interaction, I felt a renewed sense of hope. Their team of experts promptly commenced tracing the flow of Ethereum that I had invested. They employed advanced blockchain analysis techniques to meticulously track my funds, which was both impressive and reassuring. FUNDS RECLAIMER COMPANY diligently analyzed the transaction history, identifying the wallets that had received my funds post-presale. They crafted a comprehensive report detailing the movement of my investment, which proved crucial for any potential recovery efforts. Their unwavering dedication and expertise were evident throughout the process, and I felt supported at every juncture. What truly distinguished FUNDS RECLAIMER COMPANY was their commitment to collaboration. They worked closely with law enforcement and cryptocurrency exchanges to freeze the assets in the identified wallets. Thanks to their thorough documentation and compelling evidence, they successfully demonstrated that the funds were obtained through fraudulent means. I am elated to share that FUNDS RECLAIMER COMPANY facilitated the recovery of my lost funds. I regained my entire $84,600 investment, which I had feared was gone forever. This experience has imparted valuable lessons about the importance of vigilance in the cryptocurrency space, but it has also illuminated the possibility of recovery, even after falling prey to a scam. I wholeheartedly recommend FUNDS RECLAIMER COMPANY to anyone who has been ensnared by a cryptocurrency scam. Their expertise, professionalism, and unwavering support made an indelible difference in my journey from loss to recovery. Thank you, FUNDS RECLAIMER COMPANY, for restoring my faith and my investment.
MORE INFO:
Telegram: + 1 (8 1 8) 4 7 4 - 1 7 3 15 -
My Bitcoin wallet was compromised in a single, catastrophic transaction, resulting in the irrevocable loss of my Ethereum and Bitcoin holdings. The moment I grasped the magnitude of what had transpired, I was engulfed in a torrent of disbelief and despair. With approximately $525,000 vanished in an instant, I felt utterly adrift and uncertain about my next steps.I reached out to various Bitcoin support teams, but my efforts were met with silence, leaving me feeling abandoned in a labyrinth of confusion. I even ventured to my local police station to file a report regarding the theft, but unfortunately, the officers explained that cryptocurrency-related crimes often fall outside their jurisdiction. As I stood there, grappling with frustration and helplessness, a kind woman approached me. Sensing my distress, she handed me a note with an email address for BLOCKCHAIN CYBER RETRIEVE claiming that this recovery company could potentially help me reclaim my lost funds.I decided to reach out to BLOCKCHAIN CYBER RETRIEVE using the email address she provided. I meticulously detailed my situation and submitted all the requisite documentation concerning my cryptocurrency holdings and the theft. To my astonishment, I received a response from BLOCKCHAIN CYBER RETRIEVE within a mere 48 hours. They informed me that they had successfully traced my lost funds and identified the perpetrators responsible for the theft. This revelation was a beacon of hope in an otherwise bleak and disheartening situation.This taught me that while the world of cryptocurrency can be fraught with challenges and risks, it is indeed possible to recover lost funds if you connect with the right professionals, like those at BLOCKCHAIN CYBER RETRIEVE, and adhere to the appropriate procedures. I learned the paramount importance of acting swiftly and seeking assistance from specialists who understand the intricacies of cryptocurrency recovery.Although the journey was riddled with anxiety and uncertainty, I am profoundly grateful for the support I received from BLOCKCHAIN CYBER RETRIEVE. My story serves as a poignant reminder that even in the face of significant loss, there are avenues for recovery and support. I hope that by sharing this, others who find themselves in similar predicaments will realize they are not alone and that help is indeed available through dedicated services like BLOCKCHAIN CYBER RETRIEVE
CONTACT INFO:WhatsApp: + 1 52 0 564 8300
Email: blockchaincyberretrieve@post{.}com2 -
Was working as the only frontend developer ona project having 4 "senior" developers. They use Laravel to make an API feeding the angular app.
Why the documentation sucked?
Half the API call params where missing, and not one time did I come across an example stating that the API expects a boolean only to find out 20 minutes later that they mean int 1 or 0 not true or false. Best part however was sending arrays in POST by sending the elements as comma separated values (e1,e2,e3...). Oh and not documentation but while at it a rant... There are other response codes except 200 for fucks sake -
Writting some documentation and asked for feedback, soon I felt cheated since "suggestions" were:
1 - Hey, this isn't implemented yet! I'm cutting it out...
2 - Hey! You shouldn't say this is how it works, we were in meeting and discussed that this is how it's gonna be, you need to change it...
Single reviewers, please consider consistency, thank you very much, bye -
Hey everyone, I want to take a moment to share my personal experience with a scam that many might find relatable. A few months ago, I fell victim to a binary options trading scam that cost me a staggering $120,000. It’s a story of deception, vulnerability, and ultimately, hope. As a computer technician, I’m usually pretty savvy when it comes to online activities. However, I was looking for investment opportunities and came across a slick website that promised quick returns through binary options trading. The site looked professional, and the testimonials seemed genuine. Encouraged by the potential profits, I started investing small amounts, gradually increasing my investment as I thought I was seeing success.However, things took a turn for the worse. My initial profits began to dwindle, and soon I was facing losses. Despite my instincts warning me, I kept pouring in more money, convinced that I could turn things around. The brokers were persuasive, often promising me that a big win was just around the corner. It felt like I was on the brink of success, but in reality, I was sinking deeper into a financial abyss.When I finally realized I was being scammed, it hit me hard. I felt a mix of anger, shame, and desperation. I had lost not just money but also my sense of security and trust in online investments. It was one of the darkest periods of my life, as I struggled to comprehend how I could have been so easily fooled.In my search for solutions, I confided in a friend who works in the FBI. He encouraged me to seek professional help and recommended a recovery service called Spylord Crypto Recovery. Initially skeptical, I decided to reach out to them, hoping they could assist in reclaiming some of my lost funds.To my surprise, the team at Spylord Crypto Recovery was incredibly supportive and knowledgeable. They guided me through the recovery process step by step, helping me gather necessary documentation and communicating with the banks and financial institutions involved. Within a few weeks, I was relieved to find out that they had successfully recovered about 70% of my lost funds.This experience has taught me a valuable lesson about the importance of vigilance and skepticism in online investments. I’m sharing my story not only as a cautionary tale but also to remind others that there is help available. If you’ve lost money to a scam, don’t hesitate to seek professional assistance. Recovery is possible, and you don’t have to navigate this difficult journey alone.Stay safe, and trust your instincts!
Contact them on whatsApp +1(507)6069477 -
WHATSAPP +1 561.726.36.97
EMAIL Tech cybers force recovery @ cyber services . com
I Thought I Was Too Smart to Be Scammed, Until I Was. I'm an attorney, so precision and caution are second nature to me. My life is one of airtight contracts and triple-checking every single detail. I'm the one people come to for counsel. But none of that counted for anything on the day I lost $750,000 in Bitcoin to a scam.
It started with what seemed like a normal email, polished, professional, with the same logo as my cryptocurrency exchange's support team. I was between client meetings, juggling calls and drafting agreements, when it arrived. The email warned of "suspicious activity" on my account. My heart pounding, I reacted reflexively. I clicked on the link. I entered my login credentials. I verified my wallet address.
The reality hit me like a blow to the chest. My balance was zero seconds later. The screen went dim as horror roiled in my stomach. The Bitcoin I had worked so hard to accumulate over the years, stored for my retirement and my children's future, was gone.
I felt embarrassed. Lawyers are supposed to outwit criminals, not get preyed on by them. Mortified, I asked a client, a cybersecurity specialist, for advice, expecting criticism. But he just suggested TECH CYBER FORCE RECOVERY. He assured me that they dealt with delicate situations like mine.
I was confident from the first call that I was in good hands. They treated me with empathy and discretion by their staff, no patronizing lectures. They understood the sensitive nature of my business and assured me of complete confidentiality.
Their forensic experts dove into blockchain analysis with attention to detail that rivaled my own legal work. They tracked the stolen money through a complex network of offshore wallets and cryptocurrency tumblers tech jargon that appeared right out of a spy thriller. Once they had identified the thieves, they initiated a blockchain reversal process, a cutting-edge method I was not even aware was possible.
Three weeks of suffering later, my Bitcoin was back. Every Satoshi counted for. I sat in front of my desk, looking at the refilled balance, tears withheld.
TECH CYBER FORCE RECOVERY not only restored my assets, they provided legal-grade documentation that empowered me to bring charges against the scammers. Today, I share my story with colleagues as a warning. Even the best minds get it. But when they do, it is nice to know the Wizards have your back.1 -
As an artist, I’ve always been focused on my creative pursuits and never really ventured into the world of high-risk financial investments. But, like many others, I was drawn to the idea of making money quickly through Forex trading. Unfortunately, I fell victim to a Forex scam and lost a large portion of my savings. The financial loss was devastating, but the emotional toll was even worse. I felt betrayed, and hopeless, and wasn’t sure where to turn next. One day, while browsing through Red Note, a platform where people connect over shared experiences, I came across a post from someone who had gone through a similar situation. They shared how they managed to recover their lost funds through a company called Tech Cyber Force Recovery. Desperate for a solution, I decided to reach out to them and explain what had happened to me. I was initially skeptical, unsure whether this was just another scam or if it could be the real deal. To my surprise, the team at Tech Cyber Force Recovery was professional, compassionate, and genuinely interested in helping. They listened carefully to my story and assured me that they had the expertise and resources to help recover my lost funds. The process would take time, they said, and I’d need to provide some documentation, but they were confident that they could help. After several conversations and a thorough investigation, they started working on my case. The results were incredible. Within a relatively short period, Tech Cyber Force Recovery managed to recover nearly all of the funds I had lost. It wasn’t an easy process, and it required patience, but the team’s dedication, attention to detail, and methodical approach paid off. I felt an overwhelming sense of relief and gratitude. What had once seemed like a permanent loss was now being reversed, thanks to the help of Tech Cyber Force Recovery. Not only did the recovery restore my financial situation, but it also restored my sense of trust and confidence. I had almost given up hope, but now, with my funds recovered, I feel like I can move forward. I’ve learned valuable lessons from this experience, and I’m more cautious about my financial decisions in the future. What began as a desperate search on Red Note turned into a life-changing recovery. Thanks to Tech Cyber Force Recovery, I now feel more hopeful about my financial future, with the knowledge that recovery is possible.
telegram (@)techcyberforc
texts (+1 5.6.1.7.2.6.3.6.9.7)3 -
HIRE A BITCOIN HACKER TO RECOVER LOST BITCOIN WALLET-CONTACT RAPID DIGITAL RECOVERY
My name is Linda Springer, and I am part of an ultra-high-net-worth family in the United Kingdom. Managing our wealth has always been a top priority, and I’ve always looked for opportunities to grow and diversify our investments. When I was introduced to an offshore banking investment program called Market Fund, it seemed like the perfect opportunity to enhance our portfolio. The program promised impressive returns, and with professional advisors and seemingly legitimate documentation, I felt confident that it was a secure investment. However, my trust in Market Fund quickly proved to be misplaced. Initially, everything seemed to go smoothly. Reports showed strong growth, and I was reassured by the continuous updates from the program’s advisors. But when I tried to withdraw my funds, everything took a sharp turn. The Market Fund website became unresponsive, and all my attempts to reach the advisors through emails and phone calls went unanswered. It was then that I realized I had fallen victim to a scam, and the £60,000 I had invested was gone. Feeling devastated and unsure of what to do next, I turned to a friend I had met at a club called The Vault. During one of our conversations, Alex, a fellow club-goer, mentioned how Rapid Digital Recovery had helped them recover funds from a similar fraudulent scheme. Intrigued by their success story, I decided to reach out to Rapid Digital Recovery....Whatsapp: +1 4 14 80 71 4 85.. hoping they could help me recover my money as well. From the moment I contacted them, the team at Rapid Digital Recovery took immediate action. They began investigating the scam and used advanced technology to trace the origins of Market Fund. Through their efforts, they uncovered a network of fake websites and shell companies that had been designed to deceive investors like myself. Thanks to their persistence and expertise, Rapid Digital Recovery successfully recovered the £60,000 I had lost.....Email: rapid digital recovery (@) execs. com.. Not only did they restore my financial security, but they also exposed the fraudulent operation behind Market Fund, preventing others from falling victim to the same scam. While the experience was incredibly stressful, it served as an important reminder of the need for due diligence and professional oversight when dealing with offshore investments. I am incredibly grateful to Rapid Digital Recovery for their support, expertise, and determination in recovering my funds.
Telegram: h t t p s: // t. me /Rapiddigitalrecovery11 -
#Suphle Rant 6: Deptrac, phparkitect
This entry isn't necessarily a rant but a tale of victory. I'm no more as sad as I used to be. I don't work as hard as I used to, so lesser challenges to frustrate my life. On top of that, I'm not bitter about the pace of progress. I'm at a state of contentment regarding Suphle's release
An opportunity to gain publicity presented itself last month when cfp for a php event was announced last month. I submitted and reviewed a post introducing suphle to the community. In the post, I assured readers that I won't be changing anything soon ie the apis are cast in stone. Then php 7.4 officially "went out of circulation". It hit me that even though the code supports php 8 on paper, it's kind of a red herring that decorators don't use php 8 attributes. So I doubled down, suspending documentation.
The container won't support union and intersection types cuz I dislike the ambiguity. Enums can't be hydrated. So I refactored implementation and usages of decorators from interfaces to native attributes. Tried automating typing for all class properties but psalm is using docblocks instead of native typing. So I disabled it and am doing it by hand whenever something takes me to an unfixed class (difficulty: 1). But the good news is, we are php 8 compliant as anybody can ask for!
I decided to ride that wave and implement other things that have been bothering me:
1) 2 commands for automating project setup for collaborators and user facing developers (CHECK)
2) transferring some operations from runtime to compile/build TIME (CHECK)
3) re-attempt implementing container scopes
I tried automating Deptrac usage ie adding the newly created module to the list of regulated architectural layers but their config is in yaml, so I moved to phparkitect which uses php to set the rules. I still can't find a library for programmatically updating php filed/classes but this is more dynamic for me than yaml. I set out to implement their library, turns out the entire logic is dumped into the command class, so I can neither control it without the cli or automate tests to it. I take the command apart, connect it to suphle and run. Guess what, it detects class parents as violations to the rule. Wtflyingfuck?!
As if that's not bad enough, roadrunner (that old biatch!) server setup doesn't fail if an initialization script fails. If initialization script is moved to the application code itself, server setup crumbles and takes the your initialization stuff down with it. I ping the maintainer, rustacian (god bless his soul), who informs me point blank that what I'm trying to do is not possible. Fuck it. I have to write a wrapper command for sequentially starting the server (or not starting if initialization operations don't all succeed).
Legitimate case to reinvent the wheel. I restored my deleted decorators that did dependency sanitation for me at runtime. The remaining piece of the puzzle was a recursive film iterator to feed the decorators. I checked my file system reader for clues on how to implement one and boom! The one I'd written for two other features was compatible. All I had to do was refactor decorators into dependency rules, give them fancy interfaces for customising and filtering what classes each rule should actually evaluate. In a night's work (if you're discrediting how long writing the original sanitization decorators and directory iterator), I coupled the Deptrac/phparkitect library of my dreams. This is one of the those few times I feel like a supreme deity
Hope I can eat better and get some sleep. This meme is me after getting bounced by those three library rejections
-
How I Recovered My Stolen Crypto With The Help Of Lee Ultimate Hacker
If you’ve fallen victim to online scammers who have deceived you into investing your hard-earned money through fraudulent Bitcoin schemes, know that you're not alone. Countless individuals have been misled by scammers using various tactics to swindle money through deceptive investment platforms or promises of high returns. These scams often come in the form of fake cryptocurrency investments, Ponzi schemes, or phishing scams designed to steal your Bitcoin and other assets. Unfortunately, many victims suffer not only financial loss but also the psychological toll of realizing they’ve been taken advantage of. In some cases, scammers go even further, threatening legal consequences or using intimidation to keep victims silent. However, all hope is not lost. There are ways to recover your funds and potentially even bring those responsible to justice. One promising resource that can assist in reclaiming lost funds is Lee Ultimate Hacker, a trusted platform designed to help victims of online fraud. This service specializes in helping individuals who have been scammed through cryptocurrency investments or similar schemes. The platform’s expertise can help you navigate the process of recovering your money, giving you a chance to fight back against those who’ve wronged you. To begin the recovery process, it’s important to gather any proof of payment or transaction history involving the scammers. This evidence is crucial in tracing the flow of funds and identifying the scam operation behind it. Once you have collected your documentation, you can reach out to Lee Ultimate Hacker via LEEULTIMATEHACKER @ AOL . COM or wh@tsapp +1 (715) 314 - 9248 for assistance. They offer professional services to investigate fraudulent schemes, track Bitcoin transactions, and work to reverse fraudulent transfers. The recovery process can be complex and requires expert knowledge of blockchain technology and financial investigations, but with the help of a dedicated team, you’ll have a better chance of seeing your funds returned. In addition to helping you recover your assets, Lee Ultimate Hacker also works towards identifying the scammers and reporting them to the appropriate authorities. They understand the urgency of halting these fraudsters before they can victimize others. With their assistance, you not only increase the chances of recovering your funds but also play a part in holding cybercriminals accountable. If you've been affected by Bitcoin scams or other fraudulent online activities, reaching out to a service like Lee Ultimate Hacker can provide hope and a clear path forward. Their team can guide you through the recovery process, offering expert support while you take steps to reclaim what you’ve lost. It’s time to take action and work toward reclaiming your hard-earned money.1 -
Cryptocurrency trading and forex investments have captured the attention of many, promising high returns and financial freedom. However, for those unfamiliar with the intricacies of these markets, the risks can be substantial. My own experience serves as a cautionary tale for anyone considering entering this space. A few months ago, I was drawn into the allure of investing in cryptocurrency through a forex platform that promised extraordinary returns. I was convinced by persuasive marketing tactics and the testimonies of seemingly successful traders. Believing that this was a golden opportunity, I decided to invest a significant portion of my life savings—an amount totaling nearly $530,000. At first, everything seemed promising. My investments appeared to be growing, and I was encouraged by the initial profits I saw. However, my optimism was short-lived. When I tried to access my profits, I found that I could no longer log into my account. Attempts to reach customer service were met with silence; my calls and emails went unanswered. It became increasingly clear that something was terribly wrong. It was at this point that I realized I had been scammed. The platform that had seemed so reliable and trustworthy was nothing more than a fraudulent scheme designed to exploit unsuspecting investors. The sense of betrayal and loss was overwhelming. I spent countless hours in distress, trying to find a solution to recover my lost funds. My situation seemed hopeless until I discovered the existence of recovery agencies that specialize in retrieving lost assets from fraudulent schemes. One such agency that I found and reached out to was Lee Ultimate Hacker at tele gram: L E E U L T I M A T E w h @ t s a p p + 1 ( 7 1 5 ) 3 1 4 - 9 2 4 8 . Lee Ultimate Hacker is a legitimate organization known for its expertise in recovering funds lost to scams. They have a reputation for helping individuals in situations similar to mine, where traditional avenues for recovery have failed. After explaining my predicament to their team, I was cautiously optimistic yet hopeful. They assured me that they could assist in retrieving my lost funds, a promise that was both reassuring and daunting. The process with Lee Ultimate Hacker involved a detailed review of my case. They required documentation and information regarding the transactions and communications I had with the fraudulent platform. Their team worked diligently, leveraging their skills and resources to trace and recover the stolen funds. Their approach was methodical and professional, focusing on the technical and legal aspects of fund recovery. To my relief, Lee Ultimate Hacker delivered on their promise. Within a relatively short period, my lost funds were returned to my wallet account. The recovery process was both swift and efficient, thanks to their expertise and dedication. This experience was a stark contrast to the frustration and helplessness I had previously felt. For anyone who finds themselves in a similar situation, it’s important to proceed with caution. Scams and fraud are prevalent in the cryptocurrency and forex markets. Always conduct thorough research before investing and be skeptical of offers that seem too good to be true. If you do fall victim to a scam, seeking professional help from a reputable recovery agency like Lee Ultimate Hacker can be a viable solution. To contact Lee Ultimate Hacker, you can reach them through their official contacts. It’s advisable to use their secure contact methods to ensure that your communication is handled safely and professionally. while the world of cryptocurrency and forex trading can be profitable, it’s fraught with risks. My experience underscores the importance of vigilance and due diligence. Finding a trustworthy recovery service like Lee Ultimate Hacker provided me with a sense of resolution and relief. Their expertise played a crucial role in recovering my funds, and I am grateful for their assistance.
