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 - "data entry"
-
Lads, I will be real with you: some of you show absolute contempt to the actual academic study of the field.
In a previous rant from another ranter it was thrown up and about the question for finding a binary search implementation.
Asking a senior in the field of software engineering and computer science such question should be a simple answer, specifically depending on the type of job application in question. Specially if you are applying as a SENIOR.
I am tired of this strange self-learner mentality that those that have a degree or a deep grasp of these fundamental concepts are somewhat beneath you because you learned to push out a website using the New Boston tutorials on youtube. FOR every field THAT MATTERS a license or degree is hold in high regards.
"Oh I didn't go to school, shit is for suckers, but I learned how to chop people up and kinda fix it from some tutorials on youtube" <---- try that for a medical position.
"Nah it's cool, I can fix your breaks, learned how to do it by reading blogs on the internet" <--- maintenance shop
"Sure can write the controller processing code for that boing plane! Just got done with a low level tutorial on some websites! what can go wrong!"
(The same goes for military devices which in the past have actually killed mfkers in the U.S)
Just recently a series of people were sent to jail because of a bug in software. Industries NEED to make sure a mfker has aaaall of the bells and whistles needed for running and creating software.
During my masters degree, it fucking FASCINATED me how many mfkers were absolutely completely NEW to the concept of testing code, some of them with years in the field.
And I know what you are thinking "fuck you, I am fucking awesome" <--- I AM SURE YOU BLOODY WELL ARE but we live in a planet with billions of people and millions of them have fallen through the cracks into software related positions as well as complete degrees, the degree at LEAST has a SPECTACULAR barrier of entry during that intro to Algos and DS that a lot of bitches fail.
NOTE: NOT knowing the ABSTRACTIONS over the tools that we use WILL eventually bite you in the ASS because you do not fucking KNOW how these are implemented internally.
Why do you think compiler designers, kernel designers and embedded developers make the BANK they made? Because they don't know memory efficient ways of deploying a product with minimal overhead without proper data structures and algorithmic thinking? NOT EVERYTHING IS SHITTY WEB DEVELOPMENT
SO, if a mfker talks shit about a so called SENIOR for not knowing that the first mamase mamasa bloody simple as shit algorithm THROWN at you in the first 10 pages of an algo and ds book, then y'all should be offended at the mkfer saying that he is a SENIOR, because these SENIORS are the same mfkers that try to at one point in time teach other people.
These SENIORS are the same mfkers that left me a FUCKING HORRIBLE AND USELESS MESS OF SPAGHETTI CODE
Specially to most PHP developers (my main area) y'all would have been well motherfucking served in learning how not to forLoop the fuck out of tables consisting of over 50k interconnected records, WHAT THE FUCK
"LeaRniNG tHiS iS noT neeDed!!" yes IT fucking IS
being able to code a binary search (in that example) from scratch lets me know fucking EXACTLY how well your thought process is when facing a hard challenge, knowing the basemotherfucking case of a LinkedList will damn well make you understand WHAT is going on with your abstractions as to not fucking violate memory constraints, this-shit-is-important.
So, will your royal majesties at least for the sake of completeness look into a couple of very well made youtube or book tutorials concerning the topic?
You can code an entire website, fine as shit, you will get tested by my ass in terms of security and best practices, run these questions now, and it very motherfucking well be as efficient as I think it should be(I HIRE, NOT YOU, or your fucking blog posts concerning how much MY degree was not needed, oh and btw, MY degree is what made sure I was able to make SUCH decissions)
This will make a loooooooot of mfkers salty, don't worry, I will still accept you as an interview candidate, but if you think you are good enough without a degree, or better than me (has happened, told that to my face by a candidate) then get fucking ready to receive a question concerning: BASIC FUCKING COMPUTER SCIENCE TOPICS
* gays away into the night53 -
I work in a company where I'm the only developer, with everyone being designers or marketing or sales. Typically like the scene from Silicon Valley.
Moto was to create a ticket selling website for their products, and make sure they worked as well. It was all fine, until deadlines were discussed. They wanted it done within 2 weeks, the entire backend dashboard, API and front end.
I told them it's almost impossible to do it, but they insisted on it. So, I made a minimal dashboard and told them, I haven't completed a few things, such as if you edit data in one place, it won't reflect in other tables. So, be careful while editing the data.
They nodded their head for everything, yesterday was site launch and 2 hours before that one bastard decided to changed the product names to something "catchy" but failed to change the same in other places.
I had used the name as foreign key, so querying other DBs became a fuck all issue, and eventually API stopped giving any response to front end calls.
I got extremely pissed, and shouted at that dude, for fucking everything up. He said, you're the tech guy and you should've taken all this into account.
I sat and hardcoded all the data into database again, made sure site is live. Once it was live, these guys call a company meeting and fire me saying I was incompetent in handling the stressful situation.
At that moment, I lost my shit and blasted each of those people. The designer started crying since her absurd designs(though great) couldn't be realised in CSS that too within 2 weeks time.
One of the worst experience for working for a company. I could've taken the website down, and told them to buzz off if they'd called, I couldn't get myself to do it, hence ranting here.
I seriously feel, all these tech noob HRs need to get a primer course on how to deal with problems of a programmer before they get to hire one, most of these guys don't know what we're trying to tell in itself.
I find devRant to be the only place where I can get someone to understand the issues that I face, hence ranted.
TL;DR: Coded ticket selling site in 2 weeks. 3 hours to launch, data entry dude fucks up. I clean all the mess, get the site online. Get fired as soon as that happens.
Live long and prosper. Peace.16 -
I recently joined the dark side - an agile consulting company (why and how is a long story). The first client I was assigned to was an international bank. The client wanted a web portal, that was at its core, just a massive web form for their users to perform data entry.
My company pitched and won the project even though they didn't have a single developer on their bench. The entire project team (including myself) was fast tracked through interviews and hired very rapidly so that they could staff the project (a fact I found out months later).
Although I had ~8 years of systems programming experience, my entire web development experience amounted to 12 weeks (a part time web dev course) just before I got hired.
I introduce to you, my team ...
Scrum Master. 12 years experience on paper.
Rote memorised the agile manifesto and scrum textbooks. He constantly went “We should do X instead of (practical thing) Y, because X is the agile way.” Easily pressured by the client to include ridiculous (real time chat in a form filling webpage), and sometimes near impossible features (undo at the keystroke level). He would just nag at the devs until someone mumbled ‘yes' just so that he would stfu and go away.
UX Designer. 3 years experience on paper ... as business analyst.
Zero professional experience in UX. Can’t use design tools like AI / photoshop. All he has is 10 weeks of UX bootcamp and a massive chip on his shoulder. The client wanted a web form, he designed a monstrosity that included several custom components that just HAD to be put in, because UX. When we asked for clarification the reply was a usually condescending “you guys don’t understand UX, just do <insert unhandled edge case>, this is intended."
Developer - PHD in his first job.
Invents programming puzzles to solve where there are none. The user story asked for a upload file button. He implemented a queue system that made use of custom metadata to detect file extensions, file size, and other attributes, so that he could determine which file to synchronously upload first.
Developer - Bootlicker. 5 years experience on paper.
He tried to ingratiate himself with the management from day 1. He also writes code I would fire interns and fail students for. His very first PR corrupted the database. The most recent one didn’t even compile.
Developer - Millennial fratboy with a business degree. 8 years experience on paper.
His entire knowledge of programming amounted to a single data structures class he took on Coursera. Claims that’s all he needs. His PRs was a single 4000+ line files, of which 3500+ failed the linter, had numerous bugs / console warnings / compile warnings, and implemented 60% of functionality requested in the user story. Also forget about getting his attention whenever one of the pretty secretaries walked by. He would leap out of his seat and waltz off to flirt.
Developer - Brooding loner. 6 years experience on paper.
His code works. It runs, in exponential time. Simply ignores you when you attempt to ask.
Developer - Agile fullstack developer extraordinaire. 8 years experience on paper.
Insists on doing the absolute minimum required in the user story, because more would be a waste. Does not believe in thinking ahead for edge conditions because it isn’t in the story. Every single PR is a hack around existing code. Sometimes he hacks a hack that was initially hacked by him. No one understands the components he maintains.
Developer - Team lead. 10 years of programming experience on paper.
Writes spaghetti code with if/else blocks nested 6 levels deep. When asked "how does this work ?”, the answer “I don’t know the details, but hey it works!”. Assigned as the team lead as he had the most experience on paper. Tries organise technical discussions during which he speaks absolute gibberish that either make no sense, or are complete misunderstandings of how our system actually works.
The last 2 guys are actually highly regarded by my company and are several pay grades above me. The rest were hired because my company was desperate to staff the project.
There are a 3 more guys I didn’t mention. The 4 of us literally carried the project. The codebase is ugly as hell because the others merge in each others crap. We have no unit tests, and It’s near impossible to start because of the quality of the code. But this junk works, and was deployed to production. Today is it actually hailed as a success story.
All these 3 guys have quit. 2 of them quit without a job. 1 found a new and better gig.
I’m still here because I need the money. There’s a tsunami of trash code waiting to fail in production, and I’m the only one left holding the fort.
Why am I surrounded by morons?
Why are these retards paid more than me?
Why are they so proud when all they produce is trash?
How on earth are they still hired?
And yeah, FML.8 -
Well, here's the OS rant I promised. Also apologies for no blog posts the past few weeks, working on one but I want to have all the information correct and time isn't my best friend right now :/
Anyways, let's talk about operating systems. They serve a purpose which is the goal which the user has.
So, as everyone says (or, loads of people), every system is good for a purpose and you can't call the mainstream systems shit because they all have their use.
Last part is true (that they all have their use) but defining a good system is up to an individual. So, a system which I'd be able to call good, had at least the following 'features':
- it gives the user freedom. If someone just wants to use it for emailing and webbrowsing, fair enough. If someone wants to produce music on it, fair enough. If someone wants to rebuild the entire system to suit their needs, fair enough. If someone wants to check the source code to see what's actually running on their hardware, fair enough. It should be up to the user to decide what they want to/can do and not up to the maker of that system.
- it tries it's best to keep the security/privacy of its users protected. Meaning, by default, no calling home, no integrating users within mass surveillance programs and no unnecessary data collection.
- Open. Especially in an age of mass surveillance, it's very important that one has the option to check the underlying code for vulnerabilities/backdoors. Can everyone do that, nope. But that doesn't mean that the option shouldn't be there because it's also about transparency so you don't HAVE to trust a software vendor on their blue eyes.
- stability. A system should be stable enough for home users to use. For people who like to tweak around? Also, but tweaking *can* lead to instability and crashes, that's not the systems' responsibility.
Especially the security and privacy AND open parts are why I wouldn't ever voluntarily (if my job would depend on it, sure, I kinda need money to stay alive so I'll take that) use windows or macos. Sure, apple seems to care about user privacy way more than other vendors but as long as nobody can verify that through source code, no offense, I won't believe a thing they say about that because no one can technically verify it anyways.
Some people have told me that Linux is hard to use for new/(highly) a-technical people but looking at my own family and friends who adapted fast as hell and don't want to go back to windows now (and mac, for that matter), I highly doubt that. Sure, they'll have to learn something new. But that was also the case when they started to use any other system for the first time. Possibly try a different distro if one doesn't fit?
Problems - sometimes hard to solve on Linux, no doubt about that. But, at least its open. Meaning that someone can dive in as deep as possible/necessary to solve the problem. That's something which is very difficult with closed systems.
The best example in this case for me (don't remember how I did it by the way) was when I mounted a network drive at boot on windows and Linux (two systems using the same webDav drive). I changed the authentication and both systems weren't in for booting anymore. Hours of searching how to unfuck this on windows - I ended up reinstalling it because I just couldn't find a solution.
On linux, i found some article quite quickly telling to remove the entry for the webdav thingy from fstab. Booted into a root recovery shell, chrooted to the harddrive, removed the entry in fstab and rebooted. BAM. Everything worked again.
So yeah, that's my view on this, I guess ;P31 -
Manual Data Entry: Most boring job
This reminds me of one conversation with one of my faculty..
Faculty: Why not try some Machine Learning Project?
Me: Cool. Any ideas you have already thought
Faculty: Comes up with a really noble idea
Me: Awesome idea. But we need data
Faculty: Don't worry. I will get it. Just help me setup Hadoop (see the irony.. no data yet, and he wants big data setup)
Me: But we don't have data. Let's focus of data collection, Sir
Faculty: I will get it. Don't worry. Trust me.
( I did setup for him twice coz he formatted the system on which I did the setup first time)
After 6 months,
Me: (same question) Sir, Data??
Faculty: I got it.
Me: Great. Give me, I can start looking into it from today.
Faculty: Actually, it's in a register written manually in a different language (which even I can't understand) I will hire data entry guys to convert it into English digital contents.
Me: *facepalm*
Road to Manual data entry to Big Data
Dedicating this pencil to the individuals keeping the register up to date and Sir in hopes of converting it into big data..
Long way to go..4 -
Q: Your data migration service from old site to new site cost money.
A: Yes, I have to copy data from old database and import to the new one.
Q: Can I just provide you content separately so you don’t need to do that?
A: Yes, but I will have to charge you for copying and pasting your 100 pages of content manually.
Q: Can it come with part of the web development service and not as an additional service?
A: Yes, but the price for web development service will have to be increased to combine the two. If you don’t want to pay for it, I can just set up a few sample pages with the layout and you can handle your own content entry. Does that work for you?
Q: Well, but then I will have to spend extra time to work on it.
A: Yes you will. (At this point I think she starts to understand the concept of Time = Money...)3 -
I took a one month intern position for a company doing data entry. They had thousands of rows in dozens of spreadsheets, and they needed the data entered, row by row, into two different sites, and then link the two entries together.
After the first day I was ready to lose my mind. But... I'm a developer. You know where this is going 😉
At noon the next day, I emailed my employer: "hey, I finished all three spreadsheets you gave me, and I'm ready for more." A few minutes later I received an absolutely astonished phone call.
Long story short, I had all the spreadsheets entered by the end of the day (unfortunately putting the rest of the interns out of a job!), got paid a decent sum for the thousands of $ I saved them, and received a permanent position, where I'm still working today :)6 -
I wrote a database migration to add a column to a table and populated that column upon record creation.
But the code is so freaking convoluted that it took me four days of clawing my eyes out to manage this.
BUT IT'S FINALLY DONE.
FREAKING YAY.
Why so long, you ask? Just how convoluted could this possibly be? Follow my lead ~
There's an API to create a gift. (Possibly more; I have no bloody clue.)
I needed the mobile dev contractor to tell me which APIs he uses because there are lots of unused ones, and no reasoning to their naming, nor comments telling me what they do.
This API takes the supplied gift params, cherry-picks a few bits of useful data out (by passing both hashes by reference to several methods), replaces a couple of them with lookups / class instances (more pass-by-reference nonsense). After all of this, it logs the resulting (and very different) mess, and happily declares it the original supplied params. Utterly useless for basically everything, and so very wrong.
It then uses this data to call GiftSale#create, which returns an instance of GiftSale (that's actually a Gift; more on that soon).
GiftSale inherits from Gift, and redefines three of its methods.
GiftSale#create performs a lot of validations / data massaging, some by reference, some not. It uses `super` to call Gift#create which actually maps to the constructor Gift#initialize.
Gift#initialize calls Gift#pre_init (passing the data by reference again), which does nothing and returns null. But remember: GiftSale inherits from Gift, meaning GiftSale#pre_init supersedes Gift#pre_init, so that one is called instead. GiftSale#pre_init returns a Stripe charge object upon success, or a Gift (and a log entry containing '500 Internal') upon failure. But this is irrelevant because the return value is never actually used. Pass by reference, remember? I didn't.
We're now back at Gift#initialize, Rails finally creates a Gift object using the args modified [mostly] in-place by all of the above.
Another step back and we're at GiftSale#create again. This method returns either the shiny new Gift object or an error string (???), and the API logic branches on its type. For further confusion: not all of the method's returns are explicit, and those implicit return values are nested three levels deep. (In Ruby, a method will return the last executed line's return value automatically, allowing e.g. `def add(a,b); a+b; end`)
So, to summarize: GiftSale#create jumps back and forth between Gift five times before finally creating a Gift instance, and each jump further modifies the supplied params in-place.
Also. There are no rescue/catch blocks, meaning any issue with any of the above results in a 500. (A real 500, not a fake 500 like last time. A real 500, with tragic consequences.)
If you're having trouble following the above... yep! That's why it took FOUR FREAKING DAYS! I had no tests, no documentation, no already-built way of testing the API, and no idea what data to send it. especially considering it requires data from Stripe. It also requires an active session token + user data, and I likewise had no login API tests, documentation, logging, no idea how to create a user ... fucking hell, it's a mess.)
Also, and quite confusingly:
There's a class for GiftSale, but there's no table for it.
Gift and GiftSale are completely interchangeable except for their #create methods.
So, why does GiftSale exist?
I have no bloody idea.
All it seems to do is make everything far more complicated than it needs to be.
Anyway. My total commit?
Six lines.
IN FOUR FUCKING DAYS!
AHSKJGHALSKHGLKAHDSGJKASGH.7 -
Boss's son (who, despite being 19 and having no formal education or experience, was head of the technical team, consisting of one ops guys, one part-time web developer, and one part-time data entry/programmer) brought a cross bow to work. Just strolled in with it one day and took it back to his office, walking past all the visibly uncomfortable employees. One of the marketing ladies said to him "wow that's a bit scary" but it had no effect. He also wore a trench coat and kept a flying squirrel in a sock in his pocket.
At another place (not doing dev work) I had my manger tell me to type more slowly to get all my hours in, as I was promised 20/wk but they had about 3 hours of work for me to do. I quit after a month.7 -
I've been fairly lucky with my bosses of late since I've progressed in my programming career. But my absolute worst boss was when I first started working in an office environment doing data entry. My boss at the time was terrible, and she was always against innovation or process improvement. She also always tried to make herself look good and taking credit for the accomplishments of others. If she screwed up it was your fault, and she was "always buried in email" so she could never respond to you for pto requests, or escalation of issues between departments. My whole family pretty much worked in various roles in the department and she fired my brother after my mother left the company for no reason, saying he was "sleeping", but I worked right next to him and he's tall and had to slouch just to comfortable see his computer screen since the same manager refused to approve work station improvements for him.
Our workflow was to receive daily spreadsheets of health care claims that we had to manually process and enter into the system. So being the lazy innovator that I am, and trying to find ways I can efficiently work, I delved into studying visual basic and programmed a few functions and tools in excel to analyze, highlight, and process some of the data since the claims on the spreadsheets always had a specific pattern. This was all before I had any formal education in computer science so the program was very basic and clunky but it tripled my efficiency. When I brought it up to my boss to spread it among the rest of our team so they could use it after a short 20 minute training, she struck it down saying any training or use of it would be a waste of resources since it was too technical and complex to be used and if I were to keep improving it or use it I would be fired. It was literally copy and paste from one spreadsheet to the other en masse and clicking a button to sort and fill in the blanks. Eventually I showed it to the director of the department when working on a large data entry project with her, and I was later offered a job as a technical analyst where I was responsible for the codebase that generated the reports for the department and specifically all the reports my old boss used where I would occasionally mess with her to get back at all the crap she gave me and my brother. Since all the reports were blind carbon copied to everyone, I would send out her reports on a delay while everyone else got them on time. It eventually got her in so much crap she had to step down as a manager. She still works in the same company that I started working at again earlier this year, and like the many careers she's ruined she eventually ruined her own within the company 😂4 -
Forgive me father, for I have sinned. Alot actually, but I'm here for technical sins. Okay, a particular series of technical sins. Sit your ass back down padre, you signed up for this shit. Where was I? Right, it has been 11429 days since my last confession. May this serve as equal parts rant, confession, and record for the poor SOB who comes after me.
Ended up in a job where everything was done manually or controlled by rickety Access "apps". Many manhours were wasted on sitting and waiting for the main system to spit out a query download so it could be parsed by hand or loaded into one of the aforementioned apps that had a nasty habit of locking up the aged hardware that we were allowed. Updates to the system were done through and awful utility that tended to cut out silently, fail loudly and randomly, or post data horrifically wrong.
Fuck that noise. Floated the idea of automating downloads and uploads to bossman. This is where I learned that the main system had no SQL socket by default, but the vendor managing the system could provide one for an obscene amount of money. There was no buy in from above, not worth the price.
Automated it anyway. Main system had a free form entry field, ostensibly for handwriting SELECT queries. Using Python, AutoHotkey, and glorified copy-pasting, it worked after a fashion. Showed the time saved by not having to do downloads manually. Got us the buy in we needed, bigwigs get negotiating with the vendor, told to start developing something based on some docs from the vendor. Keep the hacky solution running as team loves not having to waste time on downloads.
Found SQLi vulnerability in the above free form query system, brought it up to bossman to bring up the chain. Vulnerability still there months later. Test using it for automated updates. Works and is magnitudes more stable than update utility. Bring it up again and show the time we can save exploiting it. Decision made to use it while it exists, saves more time. Team happier, able to actual develop solutions uninterrupted now. Using Python, AutoHotkey, glorified copy-pasting, and SQLi in the course of day to day business critical work. Ugliest hacky thing I've ever caused to exist.
Flash forward 6 years. Automation system now in heavy use acrossed two companies. Handles all automatic downloads for several departments, 1 million+ discrete updates daily with alot of room for expansion, stuff runs 24/7 on schedule, most former Access apps now gone and written sanely and managed by the automation system. Its on real hardware with real databases and security behind it.
It is still using AutoHotkey, copy-paste, and SQLi to interface with the main system. There never was and never will be a SQL socket. Keep this hellbeast I've spawned chugging along.
I've pointed out how many ways this can all go pearshaped. I've pointed out that one day the vendor will get their shit together they'll come in post system update and nothing will work anymore. I've pointed out the danger in continuing to use the system with such a glaring SQLi vulnerability.
Noone cares. Won't be my problem soon enough.
In no particular order:
Fuck management for not fighting for a good system interface
Fuck the vendor for A) not having a SQL socket and B) leaving the SQLi vulnerability there this long
Fuck me for bringing this thing into existence5 -
The riskiest dev choice...
How about "The riskiest thing you've done as a dev"? I have a great entry for that. and I suppose it was my choice to build the feature afterall.
I was working on an instance of a small MMO at a game company I worked for. The MMO boasted multiple servers, each of them a vastly different take on the base game. We could use, extend, or outright replace anything we wanted to, leading to everything from Zelda to pokemon to an RP haven to a top-down futuristic counterstrike. The server in this particular instance was a fantasy RPG, and I was building it a new leveling and experience system with most of the trimmings. (Talents, feats/perks, etc. were in a future update.)
A bit of background, first: the game's dev setup did not have the now-standard dev/staging/prod servers; everything ran on prod, devs worked on prod, players connected and played on prod, etc. Worse yet, there was no backup system implemented -- or not really. The CTO was really the only person with sufficient access. The techy CEO did as well, but he rarely dealt with anything technical except server hardware, occasionally. And usually just to troll/punish us devs (as in "Oops ! I pulled the cat5 ! ;)"). Neither of them were the most reliable of people, either. The CTO would occasionally remote in and make backups of each server -- we assumed whenever he happened to think of it -- and would also occasionally do it when asked, but it could take him a week, sometimes even up to a month to get around to it. So the backups were only really useful for retreiving lost code and assets, not so much for player data.
The lack of reliable backups and the lack of proper testing grounds (among the plethora of other issues at the company) made for an absolutely terrible dev setup, but that's just how it was, and that's what we dealt with. We were game devs, afterall. Terrible or not, we got to make games! What more could you ask for!? It was amazing and terrible and wonderful and the worst thing ever, all at the same time. (and no, I'm not sharing the company name, but it isn't EA or Nexon, surprisingly 😅)
Anyway, back to the story! My new leveling system also needed to migrate players' existing data, so... you can see where this is going.
I did as much testing and inspection of my code as I could, copied it from a personal dev script to the server's xp system, ... and debated if I really wanted to click [Apply]. Every time I considered it, I went back to check another part or do yet more testing. I ended up taking like 40 minutes to finally click it.
And when I did... that was the scariest button press of my life. And the scariest three seconds' wait afterwards. That one click could have ruined every single player's account, permanently lost us players ...
After applying it, I immediately checked my character to see if she was broken, checked the account data for corruption or botched flags, checked for broken interactions with the other systems....
Everything ended up working out perfectly, and the players loved all of the new features. They had no idea what went into building them, and certainly had no idea of what went into applying them, or what could have gone wrong -- which is probably a good thing.
Looking back, that entire environment was so fragile, it's a wonder things didn't go horribly wrong all the time. Really, they almost never did. Apocalypses did happen, but were exceedingly rare, and were ususally fixed quickly. I guess we were all super careful simply because everything was so fragile? or the decent devs were, at least. We never trusted the lessers with access 😅 at least on the main servers where it mattered. Some of the smaller servers... well, we never really cared about those.
But I'm honestly more surprised to realize I've never had nightmares of that button click. It was certainly terrifying enough.
But yay! Complete system overhaul and migration of stored and realtime player data! on prod! With no issues! And lots of happy players! Woooooo!
Thinking back on it makes me happy 😊rant deploying straight to prod prod prod prod dev server? dev on prod you chicken migration on prod wk149 git? who's a git? you're a git! scariest deploy ever game development1 -
Once, at my first job, the CEO of the company sent a group email in which he essentially lambasted my ability to do my job.
I wasn't even hired as a programmer, I was a data entry guy who learned how to code on the job, and at this point I was literally the only person writing code for the company. I regularly worked 12+ hours every day, and even though I had to learn practically everything on my own I was still getting things done -- at least, I would have gotten things done if the CEO didn't keep pulling me off of my projects to work on whatever his latest ultra-important-idea-of-the-week was. I was even working for an 8 hr/day, 5 day/week salary, putting in extra hours for free.
But no, my sacrifices and hard work weren't good enough in the CEO's eyes, and he chose to say that to multiple people in an email, including investors in our startup. I don't remember exactly what was said, but whatever it was made me so livid I couldn't do any work; every time I sat down to code, I thought about that email and it so infuriated me that I couldn't concentrate. It took me twelve hours just to calm down enough to get back to coding.
After that, I refused to communicate with the CEO except through my boss, the CTO.7 -
From a design meeting yesterday:
MyBoss: "The estimate hours seem low for a project of this size. Is everything accounted for?"
WebDev1: "Yes, we feel everything for the web site is accounted for."
-- ding ding...my spidey sense goes off
Me: "What about merchandising?"
MerchDevMgr: "Our estimate pushed the hours over what the stakeholders wanted to spend. Web department nixed it to get the proposal approved."
MyBoss: "WTF!? How the hell can this project go anywhere without merchandising entering the data!?"
WebDev2: "Its fine. We'll just get the data from merchandising and enter it by hand. It will only be temporary"
Me: "Temporary for who? Are you expecting developers to validate and maintain data?"
WebDev1: "It won't be a big deal."
MyBoss: "Yes it is! When the data is wrong, who are they going to blame!?"
WebDev1: "Oh, we didn't really think of that."
MerchDevMgr: "I did, but the CEO really wants this project completed, but the Web VPs would only accept half the hours estimated."
Me: "Then you don't do it. Period. Its better to do it right the first time than half-ass. How do think the CEO will react to finding out developers are responsible for the data entry?"
MerchDevMgr: "He would be pissed."
MyBoss: "I'm not signing off on this design. You can proceed without my approval., but I'll make a note on the document as to why. If you talk to Eric and Tom about the long term implications, they'll listen. At the end of the day, the MerchVPs are responsible to the CEO."
WebDev1: "OK, great. Now, the database, it should be SQLServer ..."
I checked out after that...daydreamed I was a viking.1 -
$50,000+ Computer Science fucking diploma, yet here I am on a Sunday evening doing data entry coz there is no one else to do it!11
-
I didn’t realise that SQL Developer was actually secret code for data entry monkey.
I’m sick to the back teeth doing data entry work and not getting any actually fucking development to do7 -
-Welcome to our entry level positing with Xyz company. I know we told your recruiter we are very hands on with developers. But we aren’t. Also you will be the only developer and there is no team.
-uh…. Okay..
-for the first part of your interview we are going to have you write a program in node that will reach out to our api and sort medical data with our clients.
-so you want me to create something live, and you’re going to be using it before you hire me in the actual work place?
-if it works, yes. Then we will decide on if we will hire you or not.
Wtaf?8 -
Ok, so when I inherit a Wordpress site I've really stopped expecting anything sane. Examples: evidence that the Wordpress "developer" (that term is used in the loosest sense possible) has thought about his/her code or even evidence that they're not complete idiots who wish to make my life hell going forwards.
Have a look at the screen shot below - this is from the theme footer, so loaded on every page. The screenshot only shows a small part of the file. IT LITERALLY HAS 3696 lines.
Firstly, lets excuse the frankly eye watering if statement to check for the post ID. That made me face palm myself immediately.
The insanity comes for the thousands of lines of JQuery code, duplicated to hell and back that changes the color of various dividers - that are scattered throughout the site.
To make things thousands of times worse, they are ALL HANDED CODED.
Even if JavaScript was the only way I could format these particular elements I certainly wouldn't duplicate the same code for every element. After copy and pasting that JQuery a couple of times and normal developer would think one word, pretty quickly - repetition.
When a good developer notes repetition ways to abstract crap away is the first thought that comes to mind.
Hell, when I was first learning to code god knows how long ago I always used functions to avoid repetition.
In this case, with a few seconds though this "developer" could have created a single JQuery handler and use data attributes within the HTML. Hell, as bad as that is, it's better than the monstrosity I'm looking at now.
I'm aware Wordpress is associated with bad developers due to it's low barrier to entry, but this site is something else.
The scary thing is that I know the agency that produced this. They are very large, use Wordpress exclusively and have some stupidly huge clients that would be know nationally.
Wordpress truly does attract some of the most awful "developers" and deserves it's reputation.
If you're a good developer and use Wordpress I feel sorry for you, as you're in small numbers from my experience.
Rant over, have vented a bit and feel better. Thanks Devrant.6 -
At work:
Why is there no refresh when we submit data into the tables?
Me: there is, but there is no page refresh, as it should be.
Them: but how do we know if the data is being added?
Me: well you can see it in the table right? Look there is even a small message over here **points at message** that indicates the entry code and position.
Them: yeah but how can we tell? Can you make it to where there is a page refresh?
Me:12 -
This brings joy
https://reddit.com/r/technology/...
Bypass paywall:
A series of scandals and missteps has damaged Facebook's reputation so much that the company is being forced to pay ever larger compensation to hire and retain workers, according to industry recruiters, former employees, and data reviewed by Insider.
The company has always competed aggressively for talent, and the tech job market in general is on fire. But a deteriorating public image means the social-media giant now has to outbid other major tech companies, such as Google.
"One thing Facebook can still do is pay a lot more," said Jose Guardado, an experienced tech recruiter and the founder of Build Talent. "They can easily throw more compensation at people they currently have, and cover any brand tax and pay a little more to get people to come on."
Silicon Valley companies thrive or whither based on their ability to recruit the smartest employees. Without a steady influx of engineers and other technical experts, new products and important updates take longer to release, and rivals can quickly get ahead. Then there's the financial cost: In 2022, Facebook projected, expenses could jump as high as $97 billion from $70 billion this year, in large part because of "investments in technical and product talent." A company spokesperson did not respond to a request for comment.
Other companies, and even whole industries, have had to increase compensation to overcome hiring and retention problems caused by scandal and shifting public perceptions, said Alan Johnson, a managing director at the compensation consulting firm Johnson Associates. "If you're an oil company, if you make cigarettes, if you're in cattle or Wells Fargo, sure," he said.
How well this is working for Facebook is debatable as the company has more than 4,300 open jobs and has seen decreasing rates of acceptance on job offers, according to internal documents reported by Protocol. It's also seen dozens of high-level executives leave this year, and recruiters say employees are now more open to considering jobs elsewhere. Facebook used to be a place that people rarely left, given its reach, pay, and perks.
A former Oculus engineer who left last year said Facebook could now be seen as a "black mark" on someone's career. A hardware engineer who exited in 2020 shared similar sentiments: They said they quit because of concerns about misinformation on the platform and the effect of that on children. Another employee said their department was dissolved in late 2019 by Facebook and, although the company offered another position that paid more, they left last year anyway for a different industry. The workers, and many other people who spoke with Insider for this story, asked not to be identified because of the sensitive nature of the topic.
For those who stick around and people who take new jobs at Facebook, base pay and stock grants have gone up a "sizable" amount in the past year, said Zuhayeer Musa, cofounder of Levels.fyi, a platform that collects pay data based on verified offers and compensation disclosures.
During the second quarter of 2021, the median compensation for an upper-mid-level engineer, an E5, was $400,000, up from $380,000 a year earlier. For an E4, the median pay jumped to $276,000 from $256,000 in the same period. For both groups, the increases were double the gains between 2018 and 2019, Levels.fyi data showed.
Musa, who's firm also offers pay-negotiation coaching, said previously that the total compensation ceiling for an E5 engineer at Facebook was $450,000. "We recently had a client get up to $510,000 for E5," he added.
Equity awards at the company are getting more generous, too. At the group-director and VP levels, Facebook staff are getting $3 million to $6 million in restricted stock units each year, another tech recruiter said. Directors and managers are getting on average $1 million a year. In engineering, a high-level engineer is getting $600,000 in stock and a $75,000 bonus, while even an entry-level engineer is getting $50,000 to $100,000 in stock and a $20,000 to $50,000 bonus, Levels.fyi data indicated.
Even compared to Google, Facebook's stock awards are generous and increasing, Levels.fyi data shows. While base pay is about the same, Facebook offers more in stock grants, significantly increasing total compensation. At Google, entry-level equity awards range from $20,000 to $38,000, while Facebook grants are worth $40,000 to $60,000. Sign-on bonuses at Facebook are often about $50,000, while Google gives about $20,000, according to the data.
"It's not normal, but it's consistent with the craziness that's happening in the market right now," said Aalap Shah, a managing director focused on the tech industry at the consulting firm Pearl Meyer.10 -
Oh gosh.. i can finally understand the CV and application nightmare stories... We're getting new people in, and there are quite a few interesting ones.
0) pages of randomly placed info. PAGES. I'm lost in there!!
1) no basic info whatsoever. Like, no nationality(we're recruiting internationally), no birthdate, barely his name and email. I know that the first ones are not really needed for the job, but they're still customary.
2) entry level back and/or frontend job. This guy's a phd graduate, working research with big data in a bio-something department. We're a web startup.
3) there are some listing so much unrelevant stuff, I'm not even sure if they meant to apply to us.
4) (my favourite) email subject: application, email body: empty, attached: short_application.doc ("hi, this is an application to the posted job. Best regards, Name") WAIT WHAT?6 -
Today I experienced cruelty of C and mercy of Sublime and SublimeLinter.
So yesterday I was programming late at night for my uni homework in C. So I had this struct:
typedef struct {
int borrowed;
int user_id;
int book_id;
unsigned long long date;
} entry;
and I created an array of this entry like this:
entry *arr = (entry*) malloc (sizeof(arr) * n);
and my program compiled. But at the output, there was something strange...
There were some weird hexadecimal characters at the beginning but then there was normal output. So late at night, I thought that something is wrong with printf statement and I went googling... and after 2 hours I didn't found anything. In this 2 hours, I also tried to change scanf statement if maybe I was reading the wrong way. But nothing worked. But then I tried to type input in the console (before I was reading from a file and saving output in a file). And it outputted right answer!!! AT THAT POINT I WAS DONE!!! I SAID FUCK THIS SHIT I AM GOING TO SLEEP.
So this morning I continued to work on homework and tried on my other computer with other distro to see if there is the same problem. And it was..
So then I noticed that my sublime lint has some interesting warning in this line
entry *arr = (entry*) malloc (sizeof(arr) * n);
Before I thought that is just some random indentation or something but then I saw a message: Size of pointer 'arr' is used instead of its data.
AND IT STRUCT ME LIKE LIGHTNING.
I just changed this line to this:
entry *arr = (entry*) malloc (sizeof(entry) * n);
And It all worked fine. At that moment I was so happy and so angry at myself.
Lesson learned for next time: Don't program late at night especially in C and check SublimeLInter messages.7 -
The IT guy at client made a spaghetti code website to replace their time entry software. I come in to “finish it up in a week to two” (just me). I start by removing 1200+ lines of convoluted data access code that doesn’t work, SQL injection prone too. I quickly gave up and started from scratch; just copyied some of his actually decent HTML.
Friday, he proceeded to try to install node on the server and run main.JS. Now he’s all concerned my repo is too complex because he can’t deploy a static website 🙁
He didn’t ask me how it gets deployed nor did he listen when I said “node is NOT THE BACKEND we have .NET core for that”.🤦♂️
I’m gonna spend a week writing documentation at 5th grade level and hand holding him so he understands how this code works because he’s going to be the one maintaining it.1 -
So a few months ago, I had this massive feature to add to one of the projects I look after. That’s usually not a problem, turning a sprint into a month+ but what ever, this feature was going to save hours of data entry and is extremely needed!!!
Come to present day, this feature hasn’t been used once, and probably won’t be for another 6 months. I just love deploying “needed” things that don’t get used. -
Long but hilarious:
I was deeply concerned about how we have a single, non-paginated call to a backend service, returning hundreds of entries, which has to be enriched with constant data fetched from our db for each entry. FOR EACH ENTRY. AND FOR EACH REQUEST.
I voiced my concerns to my PM, who called me a "rage prophet" for it.
As expected, the call took 20-something seconds to complete.
Ten minutes before the CEO comes over to have a look, another dev changes his loosely-related service, and the entire super-heavy, sprawling abyss of enrichment pipeline returns in sub-second timing!!!
CEO: guys, this is too fast. You have to slow it down a bit. It doesn't seem reliable that we're able to get all this data immediately.
PM: you see, rage prophet, it all worked out in the end
Me: #$@%$&!!!!!2 -
Amazing client.
Want to add parallax effect to whole website (yes I also don't understand) after everything is done and final.
After they have moved up the launch date.
After they have asked me to also do the data entry not only the development.
After I specifically asked for ssh access, PHP7+ server and then they asked me to deploy it to their shared hosting through cpanel.
After ...
After ....
After .....11 -
Just hired an entry level developer in my company. Just graduated. He doesn't know what is code debugging, does not know difference between IDE and text editor like atom.
He doesn't know what is Bootstrap and git.
Gave him a task in AngularJS 1. Gave him 3 weeks and a half time. Read data from webservice, show them in table, filter, sorting and show details per record (which is easy in AngularJS. I got the same task years ago and finished in 2 days after I finished my AngularJS 1 tutorials). He did not finish any of those.
I know I'm judging but come on. What have you done these three years university? Only partying? Have not bothered reading something online? FOR THREE YEARS?
P.S. I have learned everything myself. Coding, debugging, structuring etc. I've had the bad luck that my 2 first bosses and team leader used to tell me "Do not ask anyone for help here in the office. Google is your best friend." And he encourage all developers not to help each other.
Ad I am writing this, I told him to download and install PyCharm and get back to me. It's been one hour and I have not heard anything from him. 1 Hour to download and install something. Imagine how long will it take to do a task.
Even my girlfriend (Yes, I have one), who dislikes computers can do this.
That's why I'm so frustrated.
I am thinking of firing him. Or should I give him more time?
I mean, if he can not do a simple task only by showing data in a table (which he can find them on Google, worst case scenario, how can he do more complex code, structuring it, etc ?)13 -
During an internship, I spent some time automating reports with VBA. Basically, imagine a few big excel sheets with 1000 formulas and a few thousand lines of VBA.
One of the reports was handed directly to the bosses boss of our boss. After 4 weeks, he came to me and asked why the table entry in row 23 or so was always 84. Well.. I dont know. This data is automatically calculated / retrieved from a database. Went and checked, already sweating, and found that
THE OTHER INTERN COULDNT FIX A FORMULA SO HE OVERRODE IT WITH PLAIN TEXT. WITH A FUCKING PLAIN VALUE OF 84. A FOOKING EXCEL SHEET WITH A THOUSAND DIFFERENT FORMULAS AND LOTS OF VBA. Needless to say, everything is password protected now.1 -
TL;DR: Stop using React for EVERYTHING. It's not the end-all solution to every application need.
My team is staffed about 50/50 with tenured devs, and junior devs who have never written a full application and don't understand the specific benefits of different libraries/framworks. As a result, most of these junior devs have jumped on the React train, and they're under the impression that React is the end-all answer to any possible application need. Doesn't matter what type of app is, what kind of data is going to be flowing through the app, data scale, etc. In their eyes, React is always the answer. Now, while I'm not a big fan of React myself, I will say that it does its job when its tasked with a data-heavy application that needs to be refreshed/re-rendered dynamically and frequently (like Facebook.) However, my main gripe is that some people insist on using it for EVERYTHING. They refuse to acknowledge that there can be better library/framework choices (Angular, Vue, or even straight jQuery,) and they refuse to learn any other frameworks. You can hit them with countless technical reasons as to why React isn't a good choice for a particular application, and they'll just spout off the same tidbits from the "ReactJS Makes My Nips Hard 101" handbook: "React is the future," "Component-based web architecture is the future," (I'm not arguing with that last one) "But...JSX bro.," "Facebook and Netflix use it, so that's how you know it's amazing." They'll use React for a simple app, and make it overly-complex, and take months to write something that should have taken them a week. For example, we have one dev who has never used any other frameworks/libraries apart from React, and he used React (via create-react-app) to write what is effectively a single form and a content widget inside of a bootstrap template. It took him 4 MONTHS to write this, and it still isn't fully functioning. The search functionality doesn't really work (in fact, it's just array filtering,) and wont return any results if you search for the first word in an entry. His repo is a mess, filled with a bunch of useless files that were bootstrap'd in via create-react-app. We've built apps like this in a week in the past using different libraries/frameworks, and he could have done the same if he didn't overly-complicate the project by insisting on using React. If your app is essentially a dynamic form, you don’t need a freaking virtual DOM.
This happens every time a big new framework hits the scene. New young developers get sucked into it, because it's the cool hip new framework (or in React's case, library.) and they use it for everything, even when it's not the best choice. It happened with Angular, Rails, and now it's happening with React.
React has its benefits, but please please please consider which library/framework is the best choice from a technical standpoint before immediately jumping on the React train because "Facebook uses it bro."2 -
You build a system to integrate into an API to save the client hours of data-entry per day and reducing the number of fields needed to be filled manually by 75% and querying for the rest of the data and filling in the blanks. It took weeks of building and researching and bug fixing and when you're finally done the client looks at you unimpressed.
The same client gets a small piece of js that gets users location(by ip address) and uses it to customize a hello message on the home page and they think 'yer a wizard, Harry!' and jump for joy over the "cool factor" of this simple hack. -
Worked as a student in a big company. Just doing data entry and checking product data. It was a nice part time job at the same time with computer science study. After a year I asked for something else and switched to the Android Team. I said I could do a little bit of Java and wrote for another half year Unit Tests. That was the point where I really learned coding and got experienced. Would never learned so much in my study because I was lazy. Now I can call me a Android Developer. Still love the company for giving me this opportunity.
-
Welcome to Part III of WHY WOULD I WANT TO WORK WITH YOU?, a saga of competence, empathy and me being dick, even tho I didn't want to be one.
This is a follow-up to: https://devrant.com/rants/2363551. It's title is: "Mt 13:12".
We left off the story in the very moment I had received feedback from 3 companies that decided to interview me. A, B and C. We won't talk about A from now on, since I refused their offer to offer me unpaid internship.
It's December 20, 18:00. I am returning home. Earlier that day I emailed guys at C that I need some time with my decision, because I have another offer that suits me better. It was awaiting response from B, obviously. That day they called me and offered me... full-time job. As a fullstack. On a project for a big company, that they described by something like: "They may not be one of the famous X of the market, but they're probably X+1, yeah". Needless to say, that was some bad marketing. I googled them up later tho. Anyway, my response didn't change, altho thing seemed a little big better for me. Except that I was a little suspicious of them too. Were they *that* desperate for a worker?[1]
It is December 24th. 10 am. My phone rings. It's guy from B. He tells me "saito, the recruiter guy is still sick. Since I don't know if we can hire you for sure, it may be better for you to accept another offer, if you got any. I'll keep you updated." That was pretty cool of him. Remember the quote from part II? That's the empathy part. He called me, even tho he didn't really have to. If you read this, monsieur, you're the best. Back to the story now. I emailed guys at C that I am willing to start the job anytime. They told me that CEO is back January 7th, 2020.
It is January 4th 2020, 10 am. Unkonwn number calls. It's actually a guy from B, but the other one. The one that was sick previously. He tells me that he wants to talk about my employment. He talked with the senior dev and he just wants a talk and a small code test in typescript. He told me that it's no prob that I don't know typescript, since it will be entry level and I have time to learn the basics. And so I do. We decide to meet at January 7th. Later on that day guys from C email me that they want to sign the contract n January 7th.
And here we get to the culmination and the lesson of those posts. What should I do? On one side I have a job that isn't 100% comfirmed, but I'm pretty positive about it. The people at B are great, I love them. During my interview I learned some stuff about the project I would participate in, so I didn't go in blindly. It was my field of interest. I was hyped for the possibility itself to work with that senior dev. On the other hand guys at C had their contract ready. They finally were ready to start. I still didn't know for shit what would I do. I knew that I would need to learn basics of data science and stuff. Their interview and CEO left me with a quite bad impression. I didn't really like them. But it was a job.
What I did I consider the best thing I could do for myself. I told guys from C to meet someday later. I visited B yesterday, January 7th. I've done the test. It had some code refactoring and implementing some React elements. Basic shit indeed. I am almost positive I would do it even if I didn't visit typescript docs during the weekend. We then talked about it. The dev told me what he would change in the solution, but didn't consider it bad. Then they told me I'm hired. And I emailed C that I can't accept their offer. The guy was pretty pissed. I can understand it, they seemed to be ready to start with me and I pulled out last day, in the evening. I am truly sorry for that. But also I feel no regrets. I have chosen those whom I trusted more. I've chosen guys who took notes of my CV and talked about it in my interview over people who didn't even get that I applied for a frontend positin. That's competence for you. I've chosen guys who actually wanted to talk wih me about me making music over people who sat me down at a computer and told me: "code". That's empathy for you.
Dear recruiters. If you want to attract best candidates, show your competence and empathy.
Dear recruitees. If you're looking for a good job, it may take some time. Also, knowing people helps a lot.
1 – Actually, I wouldn't be surprised, if they really needed someone to help them out on their projects and they didn't get a lot of attention. Why? Well, their webpage was unfinished and kinda sucked, their interview sucked also. I still don't know whether they're a startup or what. I just can't help but feel bad seeing HR and Marketing that bad. Because the guys actually might do a lot of good stuff, and their potential employees didn't get to know that.5 -
User: This web page form is too hard to use and is prone to have wrong data filled out.
Me: Uh...ok. Here is a redesign. You literally fill out one text field and a date picker.
User: Oh this is great, thanks.
*checks the database and the very first entry they created had the wrong date.*
Fuck me.6 -
It's a job description for an entry level Software Developer role at Apple.
Basically they want
- A Front end dev
- A back end dev
- An iOS expert
- A Gimp/photoshop designer
- A streaming data expert
- An Oracle/Teradata expert
- A Kafka expert ( Not shown in the picture)
And on top of that the guy should be able to learn new tech faster.
Do they want a developer or a fucking terminator?5 -
PIM systems https://dinarys.com/blog/... provide a centralized location for businesses to store and manage their product data, including descriptions, specifications, images, and other important information. PIM systems are designed to improve the accuracy and consistency of product data across multiple channels, including e-commerce websites, marketplaces, print catalogs, and other marketing materials.
They help businesses ensure that their product information is up-to-date, complete, and relevant to their target audience. Here are some of the key benefits of using a PIM system: Centralized data management: PIM systems provide a single location for businesses to store and manage their product data. This makes it easier to ensure that the data is accurate, consistent, and up-to-date across multiple channels.
Improved data quality: PIM systems help businesses ensure that their product data is accurate, complete, and relevant to their target audience. This can lead to improved customer experiences and higher conversion rates. Increased efficiency: PIM systems automate many of the processes involved in managing product data, such as data entry, formatting, and translation. This can save businesses time and reduce the risk of errors. Greater scalability: PIM systems are designed to handle large amounts of product data and can scale as businesses grow and add new products. PIM systems are particularly useful for businesses that sell products across multiple channels and need to ensure that their product data is accurate and consistent across all channels. They can help businesses improve their operational efficiency, reduce costs, and improve the customer experience.6 -
/*
"Not wk135, but blah blah blah"
Please don't misuse wk135 (Sorry)
It's about coding tests
Thank you. */
=>
A company took their technical test on this really weird website. There was a Windows Narrator guy's voice giving instructions while a timer was running. I had to flash my ID to the webcam and then fit my head on an outline on the screen. It was for a web dev position. I had to speak into the microphone to answer the Narrator's questions and then send the video to them. The questions were weird and hypothetical, mostly. I just thought that their process was dumb and unnecessary.
=>
I don't like aptitude and algebraic tests. One company, I remember, had their test on Google Forms. For some multiple choice questions, they put check boxes instead of radio buttons. So, I could just blaze through it selecting all options. Some of the questions had their first option as "All of the above" 🤔. Fortunately, I didn't pass the test.
=>
The company I'm interning with, starting from next month, had a good interview process. They asked me questions on JavaScript, CSS, and a few on algorithms and data structures. I was also given a task where I had to make a css animation of trees. I'm glad they didn't have an algebra entry test.
😊 -
"hey i want to print hello world to the terminal, can someone help me?"
>You should use ai for this, construct a neural network and feed it data.
>node has a great framework for printing to the terminal, use npm i termprinter && tp create-app
>*20 line bash script with esoteric unix tools nobodys heard of*
>hey i did this in unity, heres a link to my 30 minute long youtube tutorial
I somehow feel like the barrier of entry for programming has been lowered way too drastically.10 -
In "Sprint Planning", the team is supposed to come up with stories, break those down into tasks, estimate those tasks as a team, then let devs choose what tasks they want to work on based on the stories pulled into that particular sprint.
Instead, our manager creates the stories. He assigns the stories to each developer and then has that developer announce his theoretical tasks (without any research on feature's or project's requirements!) in front of the entire team. So, when I say, "I think it will take me 6 hours to implement this feature", he says, "6 hours? I think it will take 3." and then types the estimate as 3. I have so much rage when that happens. Then we continue to sit in the room for 2.5 hours where we go through this long data entry mess of him typing out tasks and second guessing estimates. There is no team deliberation or collaboration, its whatever the manager says.
While there are many issues I take with this approach, my pet peeve would be the second guessing of the estimates. It would make sense for teams members to second guess estimates as long as they are the same teammates who have the ability and possibility to take on the tasks themselves.
But I disagree with a manager seconding guessing an implementation feature that "I" definitely have to do alone, and they do not possess the immediate knowledge to implement it themselves.5 -
At one of my previous gigs, the IT director was just some guy that dated the bosses daughter. When she inherited the company he went from entry level data analyst to his new director position. IF he decided to show up to work at all it would be at just in time for lunch, and then he'd head out shortly after.
This guy would ask for an estimate on development and then start the timer when marketing started working on the project. This would often lead to us estimating something like 4 months on a project, and then waiting on marketing for 3 of those months, leaving us with 30 days left.1 -
So, currently I am on Vacation and my dad asked me to train two of his staff members to use computer for data entry and basic usage stuff.
Now both guys are total noobs and have never used a computer before.
So I decided to take this opportunity to conduct a simple experiment. I am training one on Windows and other on Ubuntu to check out which one performs better.
The windows guy is winning.5 -
The shady company that tried to interview me for a data entry job when I applied as a software developer called me. They left a message asking if I was still interested in a help desk position. Like nope and I never was. Been working at my current job as a software engineer for over a month. Try finding people who actually want the jobs you're offering!6
-
Since my first post was a success, here's another shameless hack-- in this case, ripping a "closed" database I don't usually have access to and making a copy in MySQL for productivity purposes. That was at a former job as an IT guy at a hardware store, think Lowes/Rona.
We had an old SCO Unix server hosting Informix SQL (curious, anyone here touched iSQL?), which has terminal only forms for the users to handle data, and has keybindings that are strangely vi based (ESC does commit changes. Mindfsck for the users!). To add new price changes to our products, this results to a lengthy procedure inside a terminal form (with ascii borders!) with a few required fields, which makes this rather long. Sadly, only I and a colleague had access to price changes.
Introducing a manager who asks a price change for a brand- not a single product, but the whole product line of a brand we sell. Oh and, those price changes ends later after the weekend (twice the work, back at regular price!)
The usual process is that they send me a price change request Excel document with all the item codes along with the new prices. However, being non technical, those managers write EVERYTHING at hand, cell by cell (code, product name, cost, new price, etc), sometimes just copy pasted from a terminal window
So when the manager asked me to change all those prices, I thought "That's the last time I manually enter all of this sh!t- and so does he". Since I already have a MySQL copy of the items & actual (live) price tables, I wrote a PHP backend to provide a basic API to be consumed to a now VBA enhanced Excel sheet.
This VBA Excel sheet had additional options like calculating a new price based on user provided choices ("Lower price by x $ or x %, but stay above cost by x $ or x %"), so the user could simply write back to back every item codes and the VBA Excel sheet will fetch & display automatically all relevant infos, and calculate a new price if it's a 20% price cut for example.
So when the managers started using that VBA sheet, I had also hidden a button which simply generate all SQL inserts for the prices written in the form, including a "back to regular price" if the user specified an end date, etc.
No more manual form entry for me, no more keyboard pecking for the managers with new prices calculated for them. It was a win/win :)1 -
It took me two full weeks to study this complex system (the system is a nice piece of work) and learn about graph theory to trace this bug reported by the client in order to find out that it was a data-entry issue. I had to trace x and y coordinates to debug this issue.
Although the result was a bit frustrating, it made feel capable and responsible. It was a good feeling in the end. -
TL;DR
I signed in at a few sites like freelancer.com , you did it you understand this nightmarish post.
for every fucking job, there was a full team of fucking lowcostshitters that took it for 0,50 $ . When I say this number, I mean it literally.
Translations
Data Entry
Ios app
Android app
Java
Python
Websites
Games
Scripts
System Manager
DB creation
Porting
...
And if you think this was the only nightmarish thing, you have to check the jobs descriptions and their spec.
You'll loose your sleep for sure.2 -
Well after having a major sense of humour failure last week https://devrant.com/rants/1365062/...
My company has an internal application that is used for billing clients and customers. There are several versions.
Starting next week the consultant who wrote this and I will be sitting down together for about 2 hours or so twice a week to start going through the code stuff etc.
I already have a job to start testing a new version this program, and this version is going to be handed over to me and will be my baby.
Things are starting to look up, I’m still trying to get them to swap my PC for a laptop though, so I can do work from home etc. -
A friend of mine asked me yesterday for help for his bachelor thesis.
He wants to write about MySQL internals in regards to BLOB storage / usage.
We had a veeeerrrry long discussion....
And found a loooot of scary internet pages.
It's so .... Insane....
What some people with doctor titles or higher education generate...
Isn't content. More poo...
Most "blogs" / "articles" or whatever the author named it were missing all kinds of relevant data (version, configuration, anything relevant) but full of opinionated / biased bullshit.
Highlights were:
- we store lot of BLOB data, Backups take long and require more space
(you store additional data in an database, whaddya expect???!!!!)
- interesting guesswork about locking without any reference (interesting since it was sometimes so far away from reality that it looked more like quantum physics)
- storing blobs means that _each_ blob entry will be stored in a separate file (without any reference, but if an RDBMs did that... It would end in an amazing fireball I guess)
- BLOB's bad since it can represent only the file content, the database cannot distinguish wether it's an MP3 / MPG or anything like that...
(Ehm. Yeah. And an database cannot distinguish if you store under "Name" an Name or gibberish?!)
I somehow think that some people made an doctor and post this gibberish nonsense so people stay dumb to give them a job...
Like the TV repair men who steals the batteries from the remote.
Even conspiracy theories were more convincing -
I'm ashamed of it, but I want to share my tifu-story:
My colleague asked me if I could rename his windows user name because he married and changed his last name. I changed it in the Active Directory, but he got some problems when he wants to log on. On every startup his old name appears. Simpliest task. Let me google that.
Easy going, let me just change this registry entry. Reboot. Old behaviour. Okay, I changed some of the other entries. Reboot. Yeah, his new name appears. But wait a moment. Windows just nulled his entire user profile and deleted all the data. "oh, haha you have a backup, right?" - "no, I saved everything on the desktop, all my work is gone!"
But at the end, the boss was mad at HIM, because he doesn't used the file server or any backup system.
i am not a smart man5 -
At the time I had been squatting, arrested, driven 300 miles across country only to be released - mistaken identity with just the clothes on my back. Decided to stay and lined up a couple of interviews. I got offered both but took the one which meant 2 busses and a ferry and 2 hours each way for a data entry position.
They were migrating to a new database and my job was to type it in to a screen so from print outs. Didn’t take long for me to work through that and they were struggling to find stuff for me to do, I mean at one point I was filing paper files. So I saw the 2 it guys doing the same thing with loads of excel files , hours and hours a month just wasted. I wrote a vba excel macro to do it for them at the click of a button and suddenly a position opened up as a junior programmer. Still at the same place 16 years later and were still using software I wrote 15 years ago (.net 1.1) quite happily on win10 surprisingly. -
its day 4 of updating documentation and consolidating data.
The webclient has broken on average 4 times a day.
The database took 20+ seconds on updating a password entry.
I explained to my boss the real cost of interrupting my attention with these pauses. I figure it's caused my productivity to go from record high last week to being literally losing about 4 hours a day lost, plus extra time in having to go back through and verify things worked.
The technicians and developers who are working on fixing the database system are apparently quitting left right and center; their company acquired it awhile back, so they don't actually have native developers on it. Yet they still are pushing out new integration features rather than fixing anything.
Yesterday, one of the other people on the documentation project lost half a days work due to the angular updating the local cache, but it never reaching the backend. He came back from lunch, reopened his browser, and all his work was gone. (at least thats what we think happened). So we are hard resetting the program every 10 minutes or so just to make sure it is updating the backend.
The good news is that when it is done, we theoretically will be able to use this to cut back onboarding time and update times by about half, and it'll mean our new nano-server deployment project should be able to spin out with standards that can be referenced properly by everyone, not just the guy with the powershell script that he tinkered with for a particular project and never told anyone else what he did.
Theoretically. -
When you want to resign to your full time job but you are having difficulty on making decision.
Reasons to resign:
1. They are giving tasks that are not related to web development such as data entry.
2. I can't see a good future ahead on this company. It feels like it doesn't have a goal to grow. The boss is not focusing on this line and instead she is focusing on her other businesses. The boss also has admitted that she can only give 20% of her time. We don't have new projects and challenging tasks.
3. 4 months have been passed and still we haven't receive the yearly salary increase. It should be effected on February.
Reasons to stay:
1. No salary deduction if you are late or didn't complete 9 hours / day. Sometimes I just work for 7 or 8 hours a day.
2. Office is just 30 mins away from my house.
3. When I don't have a task, I usually do my freelance project at the office secretly. So even though there are no challenging tasks at the office, my freelance project helps a lot.
4. You can play games with your friends when you feel exhausted or you don't have assigned tasks.
I recently received an offer from my remote part-time job to work full time 8-10 hours a day and the salary is twice higher compare to current one.7 -
Haven't ranted for awhile but here it goes...
In a meeting with a front end user yesterday. They don't like the entry screens on our Oracle ERP system. They want us to provide them with a tool so they can create new entry screens to replace those they dont like. They want full autonomy over that tool and no interference from IT. Oh, and they want unfettered database access to the production data, including full ability to execute DML. I so wanted to say 'Are you high?'.1 -
Spent all morning debugging a script I wrote to compare 2 CSVs of tables from 2 different dbs.
It generates a unique key for each row using the data.
For some reason couldn't match 1 in each...
After all morning of debugging and scrutinizing the data in the dbs itself... I found the root cause....
One for loops in the program skips the first entry... -
I work for an investment wank. Worked for a few. The classic setup - it's like something out of a museum, and they HATE engineers. You are only of value if work on the trade floor close to the money.
They treat software engineering like it's data entry. For the local roles they demand x number of years experience, but almost all roles are outsourced, and they take literally ANYONE the agency offers. Most of them can't even write a for loop. They don't know what recursion is.
If you put in a tech test, the agency cries to a PMO, who calls you a bully, and hires the clueless intern. An intern or two is great, if they have passion, but you don't want a whole department staffed by interns, especially ones who make clear they only took this job for the money. Literally takes 100 people to change a lightbulb. More meetings and bullshit than development.
The Head of Engineering worked with Cobol, can't write code, has no idea what anyone does, hates Agile, hates JIRA. Clueless, bitter, insecure dinosaur. In no position to know who to hire or what developers should be doing. Randomly deletes tickets and epics from JIRA in spite, then screams about deadlines.
Testing is the same in all 3 environments - Dev, SIT, and UAT. They have literally deployment instructions they run in all 3 - that is their "testing". The Head of Engineering doesn't believe test automation is possible.
They literally don't have architects. Literally no form of technical leadership whatsoever. Just screaming PMOs and lots of intern devs.
PMO full of lots of BAs refuses to use JIRA. Doesn't think it is its job to talk to the clients. Does nothing really except demands 2 hour phone calls every day which ALL developers and testers must attend to get shouted at. No screenshare. Just pure chaos. No system. Not Agile. Not Waterfall. Just spam the shit out of you, literally 2,000 emails a day, then scream if one task was missed.
Developers, PMO, everyone spends ALL day in Zoom. Zoom call after call. Almost no code is ever written. Whatever code is written is so bad. No design patterns. Hardcoded to death. Then when a new feature comes in that should take the day, it takes these unskilled devs 6 months, with PMO screaming like a banshee, demanding literally 12 hours days and weekends.
Everything on spreadsheets. Every JIRA ticket is copy pasted to Excel and emailed around, though Excel can do this.
The DevOps team doesn't know how to use Jenkins or GitHub.
You are not allowed to use NoSQL database because it is high risk.2 -
Long story ahead
Background:
I recently started a job in a smallish startup doing web development in a mostly js stack as an entry-junior engineer/dev. I’m the only person actively working on our internal tools as my Lead Engineer (the only other in house dev) is working on other stuff.
Now I was given a two week sprint to rebuild a portion of our legacy internal app from angular 1.2 with material-ui looking components with no psd’s or cut-outs of any kind to a React and bootstrap ui for the front end and convert our .net API routes into Node.js ones. I had to build the API routes, SQL queries (as there were plenty of changes and reiterations that I had to go through to get the exact data I needed to display), and front end. I worked from 9am until 11pm every day for those two weeks including weekends as our company has a huge show this upcoming week.
I finish up this past sunday and push to our staging environment. The UI is 5.5/10 as we’re changing all of our styling to bootstrap and I’m no ui expert. The api has tests and works flawlessly (tm).
So we go into code review and everything is working as expected until one tab that I made erred out and was written down as a “Needs to be fixed.”
This fix was just a null value handler that took three minutes and a push back to staging, but that wasnt before a stupendous amount of shit being flung my way for the ui not looking great and that one bug was a huge deal and that he couldnt believe it slipped through my fingers.
Honestly, I’m feeling really unmotivated to do anything else. I overworked myself for that only to be shit on for one mistake and my ui being lack-luster with no guides.
Am I being a baby about this or is this something to learn from?1 -
Designing with "real" data
In Interaction Design Uni i've got this assignment to design a prototype for an "Ebay for used books". A requirement is that we have use "real" Data and not lorem ipsum for our design prototype tools. Which is a fair point but....
It's about 50 book categories (crime, history, romance) we have to cover, and for every category the prof wants at least 2 Books.
I've don't have the time to type in the (meta)data for 100 books at 30 JSON properties by hand. What would be your advice?
Do you maybe know a easy to use online bookshop API? (remember I'm a tech savy designer not a dev)
Or do you know someone in a low income country who does data entry? Or any experience with hiring someone on fiverr?
Thank you for your help. :)undefined fiver sketch data entry design uni json database framer studio school assignment protoyping invision craft9 -
Did the simplest corridor gen I could think of. The tile that makes up corridors is different than the tile that makes up the rooms. They are drawn the same here though. In the floor data structure they are different types. This will allow me to easily place doors the like. The dots are potential door placements.
Now that I have simple room gen working I can work on filling it with 3d models to make up walls, doors, etc.
Most of the time the rooms connect on the whole map. But once in a while they do not. I like this as I will incorporate mining. The final map will be much bigger. This is 32x32 and I want 256x256. I will need to figure out how to determine room density versus grid size.
I need to spend some time cleaning up the code and try and generalize the code. I will need to allow for pregenned rooms as well with defined entry points. The entry points on these rooms is all random. It will probably be tricky to do random room to pregenned room corridors. Proximity seems to work. So prox to a predefined door location should work.5 -
Ok, so I need some clarity from you good folk, please.
My lead developer is also my main mentor, as I am still very much a junior. He carved out most of his career in PHP, but due to his curious/hands-on personality, he has become proficient with Golang, Docker, Javascript, HTML/CSS.
We have had a number of chats about what I am best focusing on, both personally and related to work, and he makes quite a compelling case for the "learn as many things as possible; this is what makes you truly valuable" school of thought. Trouble is, this is in direct contrast to what I was taught by my previously esteemed mentor, Gordon Zhu from watchandcode.com. "Watch and Code is about the core skills that all great developers possess. These skills are incredibly important but sound boring and forgettable. They’re things like reading code, consistency and style, debugging, refactoring, and test-driven development. If I could distill Watch and Code to one skill, it would be the ability to take any codebase and rip it apart. And the most important component of that ability is being able to read code."
As you can see, Gordon always emphasised language neutrality, mastering the fundamentals, and going deep rather than wide. He has a ruthlessly high barrier of entry for learning new skills, which is basically "learn something when you have no other option but to learn it".
His approach served me well for my deep dive into Javascript, my first language. It is still the one I know the best and enjoy using the most, despite having written programs in PHP, Ruby, Golang and C# since then. I have picked up quite a lot about different build pipelines, development environments and general web development as a result of exposure to these other things, so it isn't a waste of time.
But I am starting to go a bit mad. I focus almost exclusively on quite data intensive UI development with Vue.js in my day job, although there is an expectation I will help with porting an app to .NET Core 3 in a few months. .NET is rather huge from what I have seen so far, and I am seriously craving a sense of focus. My intuition says I am happiest on the front end, and that focusing on becoming a skilled Javascript engineer is where I will get the biggest returns in mastery, pay and also LIFE BALANCE/WELLBEING...
Any thoughts, people? I would be interested to hear peoples experiences regarding depth vs breadth when it comes to the real world.8 -
To me this is one of the most interesting topics. I always dream about creating the perfect programming class (not aimed at absolute beginners though, in the end there should be some usable software artifact), because I had to teach myself at least half of the skills I need everyday.
The goal of the class, which has at least to be a semester long, is to be able to create industry-ready software projects with a distributed architecture (i.e. client-server).
The important thing is to have a central theme over the whole class. Which means you should go through the software lifecycle at least once.
Let's say the class consists of 10 Units à ~3 hours (with breaks ofc) and takes place once a week, because that is the absolute minimum time to enable the students to do their homework.
1. Project setup, explanation of the whole toolchain. Init repositories, create SSH keys for github/bitbucket, git crash course (provide a cheat sheet).
Create a hello world web app with $framework. Run the web server, let the students poke around with it. Let them push their projects to their repositories.
The remainder of the lesson is for Q&A, technical problems and so on.
Homework: Read the docs of $framework. Do some commits, just alter the HTML & CSS a bit, give them your personal touch.
For the homework, provide a $chat channel/forum/mailing list or whatever for questions where not only the the teacher should help, but also the students help each other.
2. Setup of CI/Build automation. This is one of the hardest parts for the teacher/uni because the university must provide the necessary hardware for it, which costs money. But the students faces when they see that a push to master automatically triggers a build and deploys it to the right place where they can reach it from the web is priceless.
This is one recurring point over the whole course, as there will be more software artifacts beside the web app, which need to be added to the build process. I do not want to go deeper here, whether you use Jenkins, or Travis or whatev and Ansible or Puppet or whatev for automation. You probably have some docker container set up for this, because this is a very tedious task for initial setup, probably way out of proportion. But in the end there needs to be a running web service for every student which they can reach over a personal URL. Depending on the students interest on the topic it may be also better to setup this already before the first class starts and only introduce them to all the concepts in a theory block and do some more coding in the second half.
Homework: Use $framework to extend your web app. Make it a bit more user interactive with buttons, forms or the like. As we still have no backend here, you can output to alert or something.
3. Create a minimal backend with $backendFramework. Only to have something which speaks with the frontend so you can create API calls going back and forth. Also create a DB, relational or not. Discuss DB schema/model and answer student questions.
Homework: Create a form which gets transformed into JSON and sent to the backend, backend stores the user information in the DB and should also provide a query to view the entry.
4. Introduce mobile apps. As it would probably too much to introduce them both to iOS and Android, something like React Native (or whatever the most popular platform-agnostic framework is then) may come in handy. Do the same as with the minimal web app and add the build artifacts to CI. Also talk about getting software to the app/play store (a common question) and signing apps.
Homework: Use the view API call from the backend to show the data on the mobile. Play around with the mobile project to display it in a nice way.
5. Introduction to refactoring (yes, really), if we are really talking about JS here, mention things like typescript, flow, elm, reason and everything with types which compiles to JS. Types make it so much easier to refactor growing codebases and imho everybody should use it.
Flowtype would make it probably easier to get gradually introduced in the already existing codebase (and it plays nice with react native) but I want to be abstract here, so that is just a suggestion (and 100% typed languages such as ELM or Reason have so much nicer errors).
Also discuss other helpful tools like linters, formatters.
Homework: Introduce types to all your API calls and some important functions.
6. Introduction to (unit) tests. Similar as above.
Homework: Write a unit test for your form.
(TBC)4 -
I started out as a data entry guy. I learned VBA because dealing with thousands of products in excel by hand was a pain in the ass. Among other things, I wrote a macro to combine multiple products into an importable Magento custom product. From there I learned HTML, CSS, JS, and PHP and never looked back.1
-
my co-worker (data entry) doesn't know what an hdmi looks like... so she's brining in her laptop tomorrow for me to tell her which port is hdmi so she can hook it up to her tv at home
She's only in like her 40's so that seems kinda weird to me she doesn't know what an hdmi looks like I showed her the hdmi on my computer and she thought it was the 'jump drive' port8 -
rant && !rant
Our timetable for lectures are online as "rapla" eventsystem. I want to write a small app including a timetable. As I didn't found any way to get the lectures as JSON (Bad documentation of API) but only as formated (and ugly) HTML View, I just wrote a small node module that parses the html body with cheerio and fetches all needed data of each entry in a week. Worked out pretty well, will add more functionality.
Never felt so independent 🙌🏻 -
48 hours.
We had 3 weeks of "manual data collection": pencil, paper and a dozen of people around all the offices of the company with the task to collect serial numbers of every piece of equipment used.
Then we had 3 weeks of data entry, a dozen of people copying all handwritten data to a custom made VB form.
And then there was me, the guy that was in charge of verifying, zipping and sending the data to the client. I spent 48h non stop to go through everything, finding, fixing or delete unusable data.
I had to delete at least 25% of the data because incomplete or completely unusable (serial numbers too short or too long, for example).
48h in the office.
The data was then delivered to the customer. 2 days after, when I finally woke up, everyone was in panic because:
- serial numbers were not matching
- addresses were wrong
- the number of delivered records was smaller than expected
What did I learn from this experience?
When your deadline is tomorrow, and you need 4 weeks to complete your work, ignore the deadline and inform everyone at any level that you are ignoring the deadline. And then resign and find a better job.
Ah, yes, pencils and paper are powerful tools, but rat poison too. You just need to use them in the right place. The only data collection that can be trusted when done with a pencil is the one involving checkboxes.1 -
Working for a large client converting paper forms to the web. Stated goals, simplify data entry for clients, improve data quality, reduce resourcing in backend human processing.
We met to review prototype and discuss workflow questions. Crazy deadlines, with the usual changing scope creep.
We start to point out the need for data validation, to shorten # of questions based on answers.
Business says no. All forms should be submittable regardless of what user enters, don’t put validations in because all that warning messaging confuses them and takes up more time.
Web form should behave like the paper copy....
Welcome to 1975!!! This is why 2018 won’t be like 2018...1 -
pandas can suck my balls.
N
I
H
I'd rather roll my own.
edit: but also xgboost can suck my balls.
Treating every OBVIOUSLY continuous-valued entry as a 'category'.
All searches for this problem turn up tutorials and documentation on how to CONVERT continuous and numeric values into classes or categories.
Not a single fucking document addresses the problem of when pandas or xgboost refuses to treat numeric inputs as numerics and insists on pushing an error that your data is categorical when every fucking inspection shows the type as numeric.10 -
I currently work on a legacy system for a company. The system is really old - and although I was hired as a programmer, my job is pretty much glorified data entry. To summarise, I get a bunch of requirements, which is literally just lots of data for each month on spreadsheets and I have to configure the system to make it work, which is basically just writing a whole bunch of SQL scripts.
It’s not quite as simple as that, because whoever wrote the system originally really wrote it backwards, and in fact, the analysts who create the spreadsheets actually spend a fair bit of time verifying my work because the process is so tedious that it’s easy to make a mistake.
As you can guess, it is pretty much the most boring job ever. However, it’s a full time job with decent pay, and I work remotely so I can stay home with my son.
So I’ve been doing it for about 18 months and in that time, I’ve basically figured out all the traps to the point where I’ve actually written a program which for the past 6 months has been just doing the whole thing for me. So what used to take the last guy like a month, now takes maybe 10 minutes to clean the spreadsheet and run it through the program.
Now the problem is, do I tell them? If I tell them, they will probably just take the program and get rid of me. This isn’t like a company with tons of IT work - they have a legacy system where they keep all their customer data since forever, and they just need someone to maintain it. At the same time, it doesn’t feel like I’m doing the right thing. I mean, right now, once I get the specs, I run it through my program - then every week or so, I tell them I’ve completed some part of it and get them to test it. I even insert a few bugs here and there to make it look like it’s been generated by a human.
There might be amendments to the spec and corresponding though email etc, but overall, I spend probably 1-2 hours per week on my job for which I am getting a full time wage.
I really enjoy the free time but would it be unethical to continue with this arrangement without mentioning anything? It’s not like I’m cheating the company. The company has never indicated they’re dissatisfied with my performance and in fact, are getting exactly what they want from employing me.5 -
Data wrangling is messy
I'm doing the vegetation maps for the game today, maybe rivers if it all goes smoothly.
I could probably do it by hand, but theres something like 60-70 ecoregions to chart,
each with their own species, both fauna and flora. And each has an elevation range its
found at in real life, so I want to use the heightmap to dictate that. Who has time for that? It's a lot of manual work.
And the night prior I'm thinking "oh this will be easy."
yeah, no.
(Also why does Devrant have to mangle my line breaks? -_-)
Laid out the requirements, how I could go about it, and the more I look the more involved
it gets.
So what I think I'll do is automate it. I already automated some of the map extraction, so
I don't see why I shouldn't just go the distance.
Also it means, later on, when I have access to better, higher resolution geographic data, updating it will be a smoother process. And even though I'm only interested in flora at the moment, theres no reason I can't reuse the same system to extract fauna information.
Of course in-game design there are some things you'll want to fudge. When the players are exploring outside the rockies in a mountainous area, maybe I still want to spawn the occasional mountain lion as a mid-tier enemy, even though our survivor might be outside the cats natural habitat. This could even be the prelude to a task you have to do, go take care of a dangerous
creature outside its normal hunting range. And who knows why it is there? Wild fire? Hunted by something *more* dangerous? Poaching? Maybe a nuke plant exploded and drove all the wildlife from an adjoining region?
who knows.
Having the extraction mostly automated goes a long way to updating those lists down the road.
But for now, flora.
For deciding plants and other features of the terrain what I can do is:
* rewrite pixeltile to take file names as input,
* along with a series of colors as a key (which are put into a SET to check each pixel against)
* input each region, one at a time, as the key, and the heightmap as the source image
* output only the region in the heightmap that corresponds to the ecoregion in the key.
* write a function to extract the palette from the outputted heightmap. (is this really needed?)
* arrange colors on the bottom or side of the image by hand, along with (in text) the elevation in feet for reference.
For automating this entire process I can go one step further:
* Do this entire process with the key colors I already snagged by hand, outputting region IDs as the file names.
* setup selenium
* selenium opens a link related to each elevation-map of a specific biome, and saves the text links
(so I dont have to hand-open them)
* I'll save the species and text by hand (assuming elevation data isn't listed)
* once I have a list of species and other details, to save them to csv, or json, or another format
* I save the list of species as csv or json or another format.
* then selenium opens this list, opens wikipedia for each, one at a time, and searches the text for elevation
* selenium saves out the species name (or an "unknown") for the species, and elevation, to a text file, along with the biome ID, and maybe the elevation code (from the heightmap) as a number or a color (probably a number, simplifies changing the heightmap later on)
Having done all this, I can start to assign species types, specific world tiles. The outputs for each region act as reference.
The only problem with the existing biome map (you can see it below, its ugly) is that it has a lot of "inbetween" colors. Theres a few things I can do here. I can treat those as a "mixing" between regions, dictating the chance of one biome's plants or the other's spawning. This seems a little complicated and dependent on a scraped together standard rather than actual data. So I'm thinking instead what I'll do is I'll implement biome transitions in code, which makes more sense, and decouples it from relying on the underlaying data. also prevents species and terrain from generating in say, towns on the borders of region, where certain plants or terrain features would be unnatural. Part of what makes an ecoregion unique is that geography has lead to relative isolation and evolutionary development of each region (usually thanks to mountains, rivers, and large impassible expanses like deserts).
Maybe I'll stuff it all into a giant bson file or maybe sqlite. Don't know yet.
As an entry level programmer I may not know what I'm doing, and I may be supposed to be looking for a job, but that won't stop me from procrastinating.
Data wrangling is fun.1 -
Day 2 of fetching data from external sources: someone entered an entry on 2006.41.12 (YYYY.MM.DD). People will do everything to fuck with API users3
-
Not sure if it should be a joke or a rant, but something rather funny (at least to me) happened today.
TL;DR; Someone's outlook was crippled by 100k+ of warning notifications
So we have developed a server that has an internal database that wraps around an elastic search instance, that is managed by a POS vault/storage solution, that we have to use for legal reasons. The elastic search is "provided" by the software, but we keep this internal database just to be sure and totally not because it's unreliable POS.
Anyways, they take data integrity very seriously, so every warning our server produces is emailed to someone in charge to review it and if necessary forward it to us. This will be important later on.
Couple of days ago we got error forward when trying to write an entry into the POS software we get an error, because an object we tried to write already existed. After some investigation we concluded an entry was missing when the internal database was created, so we asked them to repopulate elastic search to solve this problem.
When start the server we always sync the internal database to the elastic search and emit a warning when an entry is missing in internal database or vice versa. And well... almost all of them were missing, which caused our server to emit ~40 warnings/ms. Poor outlook. Still investigating for the cause, but damn, I never expected I'd take down someone email account by accident -
So I promised a post after work last night, discussing the new factorization technique.
As before, I use a method called decon() that takes any number, like 697 for example, and first breaks it down into the respective digits and magnitudes.
697 becomes -> 600, 90, and 7.
It then factors *those* to give a decomposition matrix that looks something like the following when printed out:
offset: 3, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('2')]]
offset: 2, exp: [[Decimal('2'), Decimal('1')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('1')]]
offset: 1, exp: [[Decimal('7'), Decimal('1')]]
Each entry is a pair of numbers representing a prime base and an exponent.
Now the idea was that, in theory, at each magnitude of a product, we could actually search through the *range* of the product of these exponents.
So for offset three (600) here, we're looking at
2^3 * 3 ^ 1 * 5 ^ 2.
But actually we're searching
2^3 * 3 ^ 1 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
2^3 * 3 ^ 1 * 5 ^ 0
2^3 * 3 ^ 0 * 5 ^ 2.
2^3 * 3 ^ 1 * 5 ^ 1
etc..
On the basis that whatever it generates may be the digits of another magnitude in one of our target product's factors.
And the first optimization or filter we can apply is to notice that assuming our factors pq=n,
and where p <= q, it will always be more efficient to search for the digits of p (because its under n^0.5 or the square root), than the larger factor q.
So by implication we can filter out any product of this exponent search that is greater than the square root of n.
Writing this code was a bit of a headache because I had to deal with potentially very large lists of bases and exponents, so I couldn't just use loops within loops.
Instead I resorted to writing a three state state machine that 'counted down' across these exponents, and it just works.
And now, in practice this doesn't immediately give us anything useful. And I had hoped this would at least give us *upperbounds* to start our search from, for any particular digit of a product's factors at a given magnitude. So the 12 digit (or pick a magnitude out of a hat) of an example product might give us an upperbound on the 2's exponent for that same digit in our lowest factor q of n.
It didn't work out that way. Sometimes there would be 'inversions', where the exponent of a factor on a magnitude of n, would be *lower* than the exponent of that factor on the same digit of q.
But when I started tearing into examples and generating test data I started to see certain patterns emerge, and immediately I found a way to not just pin down these inversions, but get *tight* bounds on the 2's exponents in the corresponding digit for our product's factor itself. It was like the complications I initially saw actually became a means to *tighten* the bounds.
For example, for one particular semiprime n=pq, this was some of the data:
n - offset: 6, exp: [[Decimal('2'), Decimal('5')], [Decimal('5'), Decimal('5')]]
q - offset: 6, exp: [[Decimal('2'), Decimal('6')], [Decimal('3'), Decimal('1')], [Decimal('5'), Decimal('5')]]
It's almost like the base 3 exponent in [n:7] gives away the presence of 3^1 in [q:6], even
though theres no subsequent presence of 3^n in [n:6] itself.
And I found this rule held each time I tested it.
Other rules, not so much, and other rules still would fail in the presence of yet other rules, almost like a giant switchboard.
I immediately realized the implications: rules had precedence, acted predictable when in isolated instances, and changed in specific instances in combination with other rules.
This was ripe for a decision tree generated through random search.
Another product n=pq, with mroe data
q(4)
offset: 4, exp: [[Decimal('2'), Decimal('4')], [Decimal('5'), Decimal('3')]]
n(4)
offset: 4, exp: [[Decimal('2'), Decimal('3')], [Decimal('3'), Decimal('2')], [Decimal('5'), Decimal('3')]]
Suggesting that a nontrivial base 3 exponent (**2 rather than **1) suggests the exponent on the 2 in the relevant
digit of [n], is one less than the same base 2 digital exponent at the same digit on [q]
And so it was clear from the get go that this approach held promise.
From there I discovered a bunch more rules and made some observations.
The bulk of the patterns, regardless of how large the product grows, should be present in the smaller bases (some bound of primes, say the first dozen), because the bulk of exponents for the factorization of any magnitude of a number, overwhelming lean heavily in the lower prime bases.
It was if the entire vulnerability was hiding in plain sight for four+ years, and we'd been approaching factorization all wrong from the beginning, by trying to factor a number, and all its digits at all its magnitudes, all at once, when like addition or multiplication, factorization could be done piecemeal if we knew the patterns to look for.7 -
I have to go through roughly 700 data entries and adjust the system's data accordingly ... by hand.😑
We don't have the tools to automate this reliably, the only available tool, tells you that an error occured and what happened but not where. That would've been kinda helpful...
The problem is that the respective data object of the data entry often contains a phone number, which has to be in a standardized format ... which it is not. Every number is formatted in like 10 variations!? A dozen different separators like spaces, commas, slashes and hyphens. And it must be edited manually 😖
My solution: built a goddamn chrome extension to format the string on click. Done. Saves a few seconds each time and a lot of headache in future. Of course given the correctness of the extension.4 -
Portfolio websites...are they good, bad, or meh?
As I’m already contemplating making a move from my current (first) dev job due to the fact I’m a glorified data entry clerk, I got thinking about creating a personal/portfolio website.
I already have a domain name, I registered it years ago and just keep renewing it. So I’ve pointed that to my GitHub pages site, and will do some work on this over the weekend.
My question is, are they worth the effort? Would a prospective employer bother to take a look if it was on my cv or linked in?
What pitfalls should I avoid?4 -
So there is this website called 100daysofrunning.in one of the worst design seen ever. They've a submit page which is another app that opens in an iframe.
If you're part of challenge, everyday you've to submit a form. Distance, time, Strava link, date and it's a pain to do so every day.
On the 50th day they restricted the date to7 days, so you cannot post data older then 7 days.
Being a programmer it would have been insult had i entered data manually.
Thanks to casperjs, meteorjs i was able to automate fetch from strava and post on this dumb page.
One day due an error, the script failed and I've missed one day of data entry. That's 2km of running gone invain and I'm out of the challenge.
Programming has mad me lazy. Screw programming. I should've been a dumb idiot to manually add data spending fkin 30 mins, atleast life would be simple. -
Sometimes I really hate offshore desktop support... yes I know Visual Studio 15 was installed, and works. But now Python tools was uninstalled in a forced update that corrupted my VS and now I can't install PTVS(not that I need VS has the vim emulator that I can install at work, it's a whole mess of weird security policies.) fucking hate windows and visual studio. Fucking listen what Im telling you the issue is. I need your dumbass to uninstall this shit software so I can do a clean install since the shitty as software management system doesn't so shit when it say's "uninstalling".
On a side note, this fuckwit just tried to explain what the screenshot tool and how to use it... it's only pinned to my taskbar and menu for shits and gigs since I don't use it everyday to tell the stupid data entry analysts I deal with to fuck off. -
Been working on trying to get JMdict (relatively comprehensive Japanese dictionary file) into a database so I can do some analysis on the data therein, and it's been a bit of a pain. The KANJIDIC XML file had me thinking it'd be fairly straightforward, but this thing uses just about every trick possible to complicate what one would think would be a straightforward dictionary file:
* Readings and Spellings/Kanji usage are done in a many-to-many manner, with the only thing tying them together being an arbitrary ID. Not everything is related, however, as there can be certain readings that only apply to specific spellings within the group and vice versa. In short, there's no way to really meaningfully establish a headword fora given entry.
* Definitions are buried within broader Sense groups, which clumsily attach metadata and have the same many-to-many (except when not) structure as the readings/spellings.
Suffice to say, this has made coming up with a logical database schema for it a bit more interesting than usual.
It's at least an improvement over the original format, however, which had a couple different ways of setting up the headword section and could splatter tagging information across any part of a given entry. Fine if you're going to grep the flat file, but annoying if you're looking for something more nuanced.
Was looking online last night to see if anyone had a PHP class written to handle entries and didn't turn anything up, but *did* find this amusing exchange from a while back where the creator basically said, "I like my idiosyncratic format and it works for me. Deal with it!": https://sci.lang.japan.narkive.com/...
Grateful to the creator for producing the dictionary I've used most in my studies over the years, but still...3 -
Business managers not taking ownership for quality of data. If systems are not designed with proper data validation controls at each upstream data entry point them downstream processes and revenue will suffer. You will have a continuous data cleanup black hole.2
-
Back in the day I was a website administrator. At one point it involved cropping images in Photoshop for 6 months then doing data entry to new website. Man that sucked.
Encouraged me to learn to program then became a web developer at the same company. -
I would like to learn how to better automate workflows. I find it fascinating that you can control one program with another. Especially GUI apps. I have automated apps before to reduce human error and boring data entry work. It would be amazing to take this to a new level. Perhaps even automate specific programming work.
Machines programming machines would be fascinating as well. -
Ever given access to production data to correct a data entry that doesn't have a PATCH api ready?
Ever ran UPDATE table set COLUMN="value"; without WHERE condition?
Ever done both of these sequentially?
Yeah. DB snapshots cost a bomb to restore :( -
Heres some research into a new LLM architecture I recently built and have had actual success with.
The idea is simple, you do the standard thing of generating random vectors for your dictionary of tokens, we'll call these numbers your 'weights'. Then, for whatever sentence you want to use as input, you generate a context embedding by looking up those tokens, and putting them into a list.
Next, you do the same for the output you want to map to, lets call it the decoder embedding.
You then loop, and generate a 'noise embedding', for each vector or individual token in the context embedding, you then subtract that token's noise value from that token's embedding value or specific weight.
You find the weight index in the weight dictionary (one entry per word or token in your token dictionary) thats closest to this embedding. You use a version of cuckoo hashing where similar values are stored near each other, and the canonical weight values are actually the key of each key:value pair in your token dictionary. When doing this you align all random numbered keys in the dictionary (a uniform sample from 0 to 1), and look at hamming distance between the context embedding+noise embedding (called the encoder embedding) versus the canonical keys, with each digit from left to right being penalized by some factor f (because numbers further left are larger magnitudes), and then penalize or reward based on the numeric closeness of any given individual digit of the encoder embedding at the same index of any given weight i.
You then substitute the canonical weight in place of this encoder embedding, look up that weights index in my earliest version, and then use that index to lookup the word|token in the token dictionary and compare it to the word at the current index of the training output to match against.
Of course by switching to the hash version the lookup is significantly faster, but I digress.
That introduces a problem.
If each input token matches one output token how do we get variable length outputs, how do we do n-to-m mappings of input and output?
One of the things I explored was using pseudo-markovian processes, where theres one node, A, with two links to itself, B, and C.
B is a transition matrix, and A holds its own state. At any given timestep, A may use either the default transition matrix (training data encoder embeddings) with B, or it may generate new ones, using C and a context window of A's prior states.
C can be used to modify A, or it can be used to as a noise embedding to modify B.
A can take on the state of both A and C or A and B. In fact we do both, and measure which is closest to the correct output during training.
What this *doesn't* do is give us variable length encodings or decodings.
So I thought a while and said, if we're using noise embeddings, why can't we use multiple?
And if we're doing multiple, what if we used a middle layer, lets call it the 'key', and took its mean
over *many* training examples, and used it to map from the variance of an input (query) to the variance and mean of
a training or inference output (value).
But how does that tell us when to stop or continue generating tokens for the output?
Posted on pastebin if you want to read the whole thing (DR wouldn't post for some reason).
In any case I wasn't sure if I was dreaming or if I was off in left field, so I went and built the damn thing, the autoencoder part, wasn't even sure I could, but I did, and it just works. I'm still scratching my head.
https://pastebin.com/xAHRhmfH33 -
the industry we try to make for them their first inhouse app, is having a lot of data that we need to import to the app. (machines, workers, materials, products, etc). The problem is that they want to give them to us in excel files, instead of making data entry. So thats ok for start, but after some point of complexity and relations we figured out that it turns to be a deadend.
How do you manage situations like this, with huge old fashion companies??4 -
after an hour of facebooking when i decide to back to my data entry work it turns out services are down.2
-
```
section .text
global _start ;must be declared for linker (ld)
_start: ;tells linker entry point
mov edx,len ;message length
mov ecx,msg ;message to write
mov ebx,1 ;file descriptor (stdout)
mov eax,4 ;system call number (sys_write)
int 0x80 ;call kernel
mov eax,1 ;system call number (sys_exit)
int 0x80 ;call kernel
section .data
msg db 'Hello, world!', 0xa ;string to be printed
len equ $ - msg ;length of the string
```
I've never seen such a terrible way to print "hello world"8 -
So, we're preforming a re-write an application. It's on an application (actual mortgage application, not 'app') that has 4 different entry points. We have the most common entry point converted to our re-written application with plans to have the next couple done over the next several weeks. Yesterday, the old version broke. It was under the impression that it could grab any row that matched the borrower and then check against a hash of that data to see if it could proceed. It can't. You can't hash data set 1 and expect it to be the same as the hash for data set 2. Not a thing. When asked, the only answer we could give right away was "We'll fix it, give us a couple of minutes" and "Sorry, bad {{appName}} is bad. We don't know root cause yet. We'll let you know when we do." Was pulled aside by my manager and told my answer was unsatisfactory and I shouldn't give answers like that. I get it, "Bad {{appName}} is bad" isn't great, but it's not like we were going to give that and leave it! We needed some time!2
-
I'm interning at a mech eng company. Our products have many possible permutations that customers can choose from a spec sheet.
The backend for us mechanical designers is equivalent to copying and pasting the same code (with slight changes) into a massive switch statement depending on the program's options. So many near duplicate drawings. Each with individual settings that need to be tweaked and linked to other new duplicates every time a new order comes in.
As a programmer it drives me absolute bonkers! I've talked to them about automating it but "we've just always done it this way, so it probably won't change". Well, as soon as I'm done grinding this current project, I'm hoping to put together a practical demo to change their minds.2 -
Why the flying fuck does a resultset get returned with the pointer going to BEFORE the first fucking entry? And why does the error say "no data available"????
I saw the stinking values in the debugger, you fat cunt, don't tell me there is nothing there.
But hey, at least now my boss doesn't have any expectations whatsoever. I sure am dense motherfucker.1 -
I was wondering if anybody working for a larger Company in 3rd-Level faces the same personal problems as me?
We got alot of our own developed software and process. Regulary some Keyuser fucks something up by importing something wrong, which skews the master data. Its intended to be managed by the Keyuser.
Fast Forward, my Keyusers are so dumb, that they fuck up the master data import wrongfully. The process behind that then have wrong Data to operate (a numeric value neeeds to be set).
The Enduser then opens a Ticket for problem XYZ. Then the Keyuser forwards us the issue.
We already had that same issue X amount of times and its always the same reply. I made a FAQ, Knowledgebase entry, etc.
Nothing works, 2 weeks pass and a similiar tickets comes in...
Memory Capacity of the User exceeded after 1 Day. FML
Anybody facing the same shit?6 -
Thoughts after a security conference.
The private sector, no matter the size, often plays a role (e.g. entry vector, DDoS load generating botnet, etc.) in massive, sometimes country-wide attacks. Shouldn't that make private businesses' CyberSec a matter of national security? Shouldn't the government create and enforce a security framework for private businesses to implement in their IT systems? IMO that'd also enforce standardised data security and force all the companies treat ITSec with at least minimal care (where "minimal" is set by the gov)
What are your thoughts?10 -
Looking back I realise I had Lego Mindstorms. That had basic drag and drop programming for the robot. I could say I started there, but really only messed with it for my pretend play. Then I did data entry in HS. Never messed with until my wife made me pick a major so i would stop being a professional student. Started C++ in college. Where I work uses Excel, so I have been messing with the macros using VBA. Currently building websites for another class.
-
If your manager asks you to write a raw algorithm based on raw data in order to properly structure, sort and filter that data, how long do you take on average to complete said task?
Example:
Here's a text file with a bunch of continuous data like: john doe 5555 my street 123 karen wiscott 12347 her street 22 peter wright
..and then you first have to start identifying boundaries for each data entry (which is a task on its own, with comparators and shit), solve its bugs.. then you have to make sure it's properly getting sorted.. sort those bugs.. Yeah, it just takes a long time for me to figure all that out.
It takes me 4-5 days on average since I'm a junior but managers expect it to only take 1-4 hours.. madness..4 -
New data structure:
Map with repeated keys allowed. Values of repeated keys will be stored in an array.
Calling get(key) will get the array, pick a random entry in said array, and return it.
Use: Finding what the "number one rule of x," the "greatest thing ever," the "most unbelievable event," and more is. -
I'm writing a minor productivity app which consumes and modifies a vbscript file on a network drive which apparently gets included in other productivity tools to drive the business, as well as updates the relevant DNS entry the field is associated with, and because I care about making the world a better place now writes the data out to what I hope becomes the authoritative source for said data which eventually replaces these who-the-knows-why-they-are-there network drive files and snippets.
The tool removes the need for an ISP tech in the field to make TWO phone calls when they update network equipment. One for the vbscript tweak, one for the DNS update.
Oh, did I mention that some PHP app under a L1 helpdesk guy's desk that the company has made absolutely necessary for their business (and I subsequently moved to a god damn server) consumes the vbscript file and parses it into something PHP can understand?
You can't make this shit up.
The only saving grace is that I have my team rewriting all of this ridiculous shit in Haskell. Type safety and long term refatorability will keep us sane. -
Back when I was starting out in a full stack role, I worked on a fairly big chunk of functionality that would trigger off a few entry points. It was wonderful for a few months. As we approached go live, our QA team started reporting weird intermittent issues. The logic wouldn't "trigger" the first time, but would on subsequent saves. Worse yet, the state required resetting of data every time we needed to test. Three weeks later, it boiled down to a 2 second time difference between the database's GETDATE() values and the new Date() object we passed in from our application.
I'll never forget that one system should be the source of truth again. -
Every time you give me a CSV to import, why is it arranged differently to the last one, missing info that is required for the point of the thing I'm importing it into, and I have to spend 2 hours going through it with a text editor and even a hex editor? Your data entry is about as clean as my arse after a particularly spicy burrito.2
-
I installed Ubuntu... I messed up and I deleted the EFI entry of a NTFS hard drive in which I have all my important data... The NTFS deasapeared... Do you have any tool to recommend to recover my data... 😫😫3
-
Helo everyone , I am planning on learning some new tools and languages side by side working on this project which would be an application for creating or managing some lists for any tasks or some web series and categorize them as on going or completed or planning for now and . I want to web scrap information about that task with some pictures and text information whenever you add an entry to make it catchy and informative.
For example if I add any series name like FRIENDS and label it as on going so to make that entry not look boring my app will add some pictures and texts from google using web scraping.
So which language and tools would be helpful for developoy such application ?
Thank you.
Ps: i am pursuing my undergraduate computer science engineering .
I have basics of python and c++ with some data structures as well as basics of Mysql data base.
I am planning to start web or android development by learning kotlin or JavaScript .7 -
In my college project I am stuck with dumbos. I thought because of of experience in industry I would make them learn something. They don't anything other data entry, a lot of which can be automated. And I work the code which involves building APIs and 2 different Android apps. They are 3 and I am one. Till today they never bother to install the dev environment. Today I told them to get their laptops so they could connect to my laptop server and work with it. But no one bothered to get their laptops. All of them were using my one laptop. Can you imagine 3 people sitting on one machine instead of 3. And I have to sit there doing nothing😑. I went out to chill for sometime knowing that I could do nothing useful without my laptop. And when I return I find that instead of adding new entries, these people kept on editing old entries.🤦🏻 I mean how dumb could anyone be. Power of 3 brains. I can handle 0 work done, but this is negative work. I could done it myself by writing some automation script. And these people tell people behind my back to my friends that they do all the work😡. I have reached the limits.2
-
I hate that I'm having a SHITLOAD of work to do but apparently I need to work with data entry because the clients are too retarded to use a motherfucking CMS. JUST TYPE THOSE CHANGES INTO THE BOX YOURSELF, NO NEED TO INVOLVE 3 PEOPLE, YOU JUST NEED TO TYPE THAT BULLSHIT, THE BOX IS RIGHT THERE, NICE AND RECTANGLE, YOU'VE BEEN USING IT BEFORE HOLY FUCK2
-
Question for Work at home peeps. For Data Entry positions. Do companies send you stuff to your house to do the job. Like laptop with software installed?. I was offered a data entry through Upwork. Just looking to get my front into the whole freelance thing. They asking for like address and Email. Is this normal1
-
So, some data need to be prepared during the summer and the diverse departments' elected data processors got shared in a Google spreadsheet they will need to fill with some basic data IT needs. Simple, straightforward data entry, with nothing private nor confidential. Just another divide-and-conquer-style large amount of data to enter & organise, that's all.
Today, I received a new comment notification as the owner of the spreadsheet. You can imagine my surprise when I saw that, for some f*cked up reasons, one of the guys just wrote the super-admin username & pw for one of the main data systems we use in a freaking comment in the spreadsheet... WTF...
Oh, and also, juuust in case, he also wrote the pin code that is normally required to pass through the device-check when you log-in as a super-admin from an unknown device and/or location.
Fortunately I could catch it on time, but this just ruined half of my day.
I am supposedly on freaking annual leave. Ha Ha. Ha. -
I am feeling a lot doubtful right now.
I am an average undergrad student who has been dedicating efforts in java/Android for most of my college life.
As of now i have decent command over java , launched 2 simple apps on playstore, worked as an android dev intern in 3 companies and make decent medium complexity apps. I will say i am 40-60% down the path of an expert native Android dev.
However apart from Android, am dumb as a stick. I know shit about ai,ml, web dev, js , react, hybrid stuff, and am not very good with competitive programming and system topics ( os, Algorithms, networking, etc)
So this closes a lot of doors for me. I can't apply to some top tier companies as they would either want expert competitive skills or expert Android dev skills.
I had bad experiences with startups which are usually willing take rejected students like me for the post of a droid dev... there is usually low packages , high pressure, and treatment like a slave
So i am very unsure what to do next. I have tried to learn web dev/ ai-ml-data sciences. They are not very interesting to me, but again, what is interest really :/
What should be my focus now?
A) I could be learning competitive and other interview related topics so that i could crack interviews of top companies , and later try to get a position of android developer there.
B) i could focus on become better in Android and start learning things that i don't know like rx, kotlin, etc. I could then hope to crack interview of medium sized app dev companies which would mainly focus on my android knowledge in their interviews
C) i could increase my skill set and learn web dev or ai/ml topics to increase my recruiter pool. It would be like option B, but i will have more medium sized companies willing to take me.
Currently i am in a shit storm. I am about to go into a mass recruiter company in which i have heard would be doing more or less data entry work2 -
Hey peeps just asking for some suggestions. We are currently having difficult times financially. My dad used to have food business but its now completely shut down and he is doing some sales job. My mom is somewhat educated (she completed till class 12th i guess) and knows very little abouts computers and stuff but she is interested in getting some job that's remote and computer based.
What things should i give her to learn that she could land a job in computer field?
Like am not talking about programming or development but other non tech fields people get paid for... Like data entry , emails writings etc. Currently i have given her courses to learn ms excel, ms word and basic English.
(Personally am also looking for a job but i know how you guys hate job postings . Checkout my website if you have something for me)3 -
Persisterising derived values. Often a necessary evil for optimisation or privacy while conflicting with concerns such as auditing.
Password hashing is the common example of a case considered necessary to cover security concerns.
Also often a mistake to store derived values. Some times it can be annoying. Sometimes it can be data loss. Derived values often require careful maintenance otherwise the actual comments in your database for a page is 10 but the stored value for the page record is 9. This becomes very important when dealing with money where eventual consistency might not be enough.
Annoying is when given a and b then c = a + b only b and c are stored so you often have to run things backwards.
Given any processing pipeline such as A -> B -> C with A being original and C final then you technically only need C. This applies to anything.
However, not all steps stay or deflate. Sum of values is an example of deflate. Mapping values is an example of stay. Combining all possible value pairs is inflate, IE, N * N and tends to represent the true termination point for a pipeline as to what can be persisted.
I've quite often seen people exclude original. Some amount of lossy can be alright if it's genuine noise and one way if serving some purpose.
If A is O(N) and C reduces to O(1) then it can seem to make sense to store only C until someone also wants B -> D as well. Technically speaking A is all you ever need to persist to cater to all dependencies.
I've seen every kind of mess with processing chains. People persisting the inflations while still being lossy. Giant chains linear chains where instead items should rely on a common ancestor. Things being applied to only be unapplied. Yes ABCBDBEBCF etc then truncating A happens.
Extreme care needs to be taken with data and future proofing. Excess data you can remove. Missing code can be added. Data however once its gone its gone and your bug is forever.
This doesn't seem to enter the minds of many developers who don't reconcile their execution or processing graphs with entry points, exist points, edge direction, size, persistence, etc.2