Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
Get a devDuck
Rubber duck debugging has never been so cute! Get your favorite coding language devDuckBuy Now
Search - "version control"
*Dev in his 40's from our counter-part office.
Me: Here's my SSH keys.
Dev: What's this?
Me: SSH keys. Give me access to the repository.
Dev: We don't use any version control here. Let's just use FTP or Remote Desktop and just download the codes.23
When I was in my second semester of college I was tasked with creating a file encrypt/decrypt program. Take in normal textfiles and spit out a new random text and symbols file. I worked on it for two weeks and read up on all different encryption types and stuff. I was so excited when it was done. After it was done compiling I tried it out on its own source code. Encrypto.c and named the output file Encrypto.c 😰 The next thing I did was google " best version control and how to use it."17
0. Plan before you code. Document everything. You won't remember either your idea or those clever implementations next week (or next month, or next year...).
1. Don't hack your way through, unless that's what you intend to do. Name your variables, functions etc. neatly: autocomplete exists!
Protip: Sometimes you want to check a quick language feature or a piece of code from one of your modules. Resist the urge to quickly hack in the test into your actual project. Maintain a separate file where you can quickly type in and check what you're looking for without hacking on your project (For example, in Python, you can open a new terminal or IDLE window for those quick tests).
2. Keep a quiet environment where you can focus. Recommend listening to something while coding (my latest fad is on asoftmurmur.com). Don't let anything distract you and throw your contextual awareness out of whack.
3. Rubber ducks work. Really. Talking out a complex piece of logic, or that regex or SQL query aids your mind greatly in grasping the concept and clearing the idea. Bounce off code and ideas with a friend or colleague to catch errors and oversights faster. Read more here: https://en.wikipedia.org/wiki/...
4. Since everyone else is saying this (and because it merits saying), USE VERSION CONTROL. Singular most important thing to software development aside from planning and documenting.
5. Remember to flout all of the above once in a while and just make a mess of a project where you have fun throwing everything around all over the place. You'll make mistakes that you never thought were possible by someone of your caliber :) That's how you learn.
Have fun, keep learning!4
Somehow I feel like I personally owe Linus for git.
17:50 Colleague whispers "fuck" and the entire project we've worked on for the last half year responds with 404.
17:55 A quick diagnosis shows that she wrote "rm - rf ../" instead of "./" when she threw out her staging dir an thereby deleted everything.
17:58 git pull, everything is back.
18:15 everything is configured and we're up and running again.
**Alternative Timeline without Version control **
17:58 We start looking through Backup folders
18:20 We're fairly confident to have found the most up to date Backup in /var/backup/newback/v2/june/new/released/ and start copying back into the project directory.
19:30 Some files are missing we start patching shit up.
19:40 I realize how much work went down the drain and start strangling my colleague. The Api seems to do the most important things again.
20:00 My colleagues dead body is hidden and I'm 80% confident that the tasks depending on us should run.
Next day: They didn't run. Every nightly build failed, nobody can do anything useful.
A week later : Shits starting to work again, all lost files are replaced. Replacement for dead colleague still missing though.
It's moments like this that make you really appreciate the luxurys we have nowadays...6
Junior trying to avoid git by saying :
'With today's ram and storage size, it's faster to clone a folder and zip it'
Here's my piece of advice for new devs out there:
1 - Pick one language to learn first and stick with it, untill you grasp some solid fundamentals. (Variables, functions, classes, namespaces, scope, at least)
2 - Pick an IDE, and stick with it for now. Don't worry about tools yet. Comment everything you're coding. The important thing is to comment why you wrote it, and not what it does. Research git and start using version control, even when coding by yourself alone.
3 - Practice, pratice and pratice. If you got stuck, try reading the language docs first and see if you can figure it out yourself. If all else fails, then go to google and stackoverflow. Avoid copying the solution, type it all and try to understand it.
4 - After you feel you need to go to the next level, research best practices first, and start to apply them to your code. Try to make it modular as it grows. Then learn about tools, preprocessors and frameworks.
5 - Always keep studying. Never give up. We all feel that we have no idea of what we are doing sometimes. That's normal. You will understand eventually. ALWAYS KEEP STUDYING.9
First day at new web dev job:
Me: what IDE do you guys use?
M: Okay... Any version control?
C: Oh we don't need it. We just update the server pages.
*Boss walks in*
Boss: Heres the project for you to do just need you to rebrand this web app we made for client A for client B just need to change some scripts. Should only take afew hours.
I take a look. No comments. Not formatted. Missing braces and brackets. Semicolons at odd places and missing at others. 7802 lines of code...18
Apparently I, the Intern, am the only developer at this company with any experience with Version Control. My Boss just asked me for 'Documentation on how to create a Repository in GitHub'...
"There's a big button that says 'Create Repository'. CLICK IT."14
The university system is fucked.
I've been working in this industry for a few years now, but have been self taught for much longer. I'm only just starting college and I'm already angry.
What does a college degree really mean anymore? From some of the posts I've seen on devRant, it certainly doesn't ensure professional conduct, work ethic, or quality (shout out to the brave souls who deal with the lack of these daily). Companies should hire based on talent, not on a degree. Universities should focus more on real world applications or at least offer such programs for students interested in entering the workforce rather than research positions. A sizable chunk of universities' income (in the U.S. at least) comes from research and corporate sponsorships, and educating students is secondary to that. Nowadays education is treated as a business instead of a tool to create value in the world. That's what I signed up for, anyway - gaining the knowledge to create value in the world. And yet I along with many others feel so restricted, so bogged down with requirements, fees, shitty professors, and shitty university resources. There is so much knowledge out there that can be put to instant practical use - I am constantly shocked at the things left out of my college curriculum (lack of automated tests, version control, inadequate or inaccurate coverage of design patterns and philosophies) - things that are ABSOLUTELY essential to be successful in this career path.
It's wonderful that we eventually find the resources we need, or the motivation to develop essential skills, but it's sad that so many students in university lack proper direction through no fault of their own.
Fuck you, universities, for being so inflexible and consistently failing to serve your basic purpose - one of if not the most important purpose on this earth.
Fuck you, corporations, for hiring and paying based on degree. Fuck you, management, for being so ignorant about the industry you work in.
Fuck you, clients, who treat intelligent people like dirt, make unreasonable demands, pull some really shady shit, and perpetuate a damaging stereotype.
And fuck you to the developer who wrote my company's antipattern-filled, stringy-as-all hell codebase without comments. Just. Fuck you.16
I'm a college drop out. Left my college almost 1 year ago, taught myself php, js, nodejs, basics about servers and how it all works, currently learning angular, nativescript and a few small things.
People still taunt me about leaving my college. About how I should've at least completed my degree.
Student of my university don't even know how to code.
Like they only know simple hello world programs.
They have no idea about :
-Version control system
-Cross-platform app development
-web hooks and REST API
-Stack overflow (Yeah, they don't know about it)
-and a whole ton of small things that you MUST know as a computer engineer like e.g. how to use Vim
I keep getting nagged about my choices and it frustrates me that I can't explain it to them cause they're dumb.
I mean seriously people! Can't you see the difference between me and an engineer who doesn't even know the difference between API and IDE?
I mean seriously?
They say it's APPLICATION PROGRAMMING INTERFACE so it's Qt creator or [any other IDE]
How can I deal with this kind of nonsense?
I'm from India, it's that bad here.
Anybody else a drop out? How did you handle it?
My parents are supportive but they too sometimes worry.67
There are two kinds of programmers:
Those who use version control,
and those who soon whish they've used version control.7
Fresh out of college?
Junior Web Intern: 16k A Year!
Git version control
Must be able to display example of each requirement.18
/*The following dialogue is an excerpt from an actual conversation I had a couple of hours ago*/
MS: Are you sure you downloaded JS from Oracles website then?
Me: *ended the chat*3
So I had my exams recently and I thought I'd post some of the most hacky shit I've done there over here. One thing to keep in mind, I'm a backender so I always have to hack my way around frontend!
- Had a user level authentication library which fucked up for some reason so I literally made an array with all pages and user levels allowed so I pretty much had a hardcoded user level authentication feature/function. Hey, it worked!
- CSS. Gave every page a hight of 110 percent because that made sure that you couldn't see part of the white background under the 'background' picture. Used !important about everywhere but it worked :P.
- Completey forgot (stress, time pressure etc) to make the user ID's auto incremented. 'Fixed' that by randomly generating a user id and really hoping during every registration that that user ID did not exist in the database already. Was dirty as fuck but hey it worked!
- My 'client' insisted on using Windows server.Although I wouldn't even mind using it for once, I'd never worked with it before so that would have been fucked for me. Next to that fact, you could hear swearing from about everyone who had to use Windows server in that room, even the die hard windows users rather had linux servers. So, I just told a lot of stuff about security, stability etc and actually making half of all that shit up and my client was like 'good idea, let's go for linux server then!'. Saved myself there big time.
- CHMOD'd everything 777. It just worked that way and I was in too much time pressure to spend time on that!
- Had to use VMWare instead of VirtulBox which always fucks up for me and this time it did again. Windows 10 enjoyed corrupting the virtual network adapters after every reboot of my host so I had to re-create the whole adapter about 20 times again (and removing it again) in order to get it to work. Even the administrator had no fucking clue why that was happening.
- Used project_1.0.zip etc for version control :P.
Yup, fun times!7
To become an engineer (CS/IT) in India, you have to study:
1. 3 papers in Physics (2 mechanics, 1 optics)
2. 1 paper in Chemistry
3. 2 papers in English (1 grammar, 1 professional communication). Sometimes 3 papers will be there.
4. 6 papers in Mathematics (sequences, series, linear algebra, complex numbers and related stuff, vectors and 3D geometry, differential calculus, integral calculus, maxima/minima, differential equations, descrete mathematics)
5. 1 paper in Economics
6. 1 paper in Business Management
7. 1 paper in Engineering Drawing (drawing random nuts and bolts, locus of point etc)
8. 1 paper in Electronics
9. 1 paper in Mechanical Workshop (sheet metal, wooden work, moulding, metal casting, fitting, lathe machine, milling machine, various drills)
And when you jump in real life scenario, you encounter source/revision/version control, profilers, build server, automated build toolchains, scripts, refactoring, debugging, optimizations etc. As a matter of fact none of these are touched in the course.
Sure, they teach you a large set of algorithms, but they don't tell you when to prefer insertion sort over quick sort, quick sort over merge sort etc. They teach you Las Vegas and Monte Carlo algorithms, but they don't tell you that the randomizer in question should pass Die Hard test (and then you wonder why algorithm is not working as expected). They teach compiler theory, but you cannot write a simple parser after passing the course. They taught you multicore architecture and multicore programming, but you don't know how to detect and fix a race condition. You passed entire engineering course with flying colors, and yet you don't know ABC of debugging (I wish you encounter some notorious heisenbug really soon). They taught 2-3 programming languages, and yet you cannot explain simple variable declaration.
And then, they say that you should have knowledge of multiple fields. Oh well! you don't have any damn idea about your major, and now you are talking about knowledge in multiple fields?
What is the point of such education?
PS: I am tired of interviewing shitty candidates with flying colours in their marksheets. Go kids, learn some real stuff first, and then talk some random bullshit.18
About 11 months I posted that my wife was pregnant. I now have upgraded to son 1.0. All without writing any tests!17
So this week has seen the start of all our servers being upgraded. After months of planning we now need to migrate 150ish sites from php5.2 to 5.6 from our old crappy server to our new super awesome server.
Server handover was on Monday. 3 days in and I still don't have a fully functional server.
Config issues. Version control problems. DB config issues. Vhost template problems. Backup problems.
Absolute nightmare! Starting to regret saying I'd be the lead on updating the whole company infrastructure! What could go wrong!
Incompetent doesn't even start to describe this one:
1. Uses Google drive instead of an online repository for code sharing
2. Uses multiple files instead of version control
3. Preferred variable names like a, a1, b, temp
4. Didn't like "wasting" space. The result was unreadable unindented code
5. Would rather use deprecated HTML tags rather than proper CSS styling
He was more like the personification of bad coding practices10
The superpower to perform version control on reality. (Git)
Imagine this universe (the current branch), which is made up of a series of events (commits).
Having this ability to allows us to:
- undo events (git reset/git revert)
- reorder events (git rebase)
- transfer to another universe (git checkout)
- derive a new universe from current universe (git checkout -b)
- delete a universe (git branch -D)
- apply an event from another universe (git cherry-pick)
and my favorite:
- merge universes and their events (git merge)
we have to resolve conflicting events, of course.
What else? ;)9
git add .
git commit -m "Minor changes.."
"Fuck that char in that variable name isn't meant to be a capital!"
git add .
git commit -m "Minor changes.."
We were four.
I setup a git repo, invited everyone and started coding. After a week I noticed I still was the only contributor.
Turned out they had their own code base in Dropbox. :/8
Don't fucking insinuate that I'm wrong. I WILL DESTROY YOU WITH DATA.
So, someone at the factory put in a ticket that says the expedited truck carriers are showing up in the wrong place. I emailed my boss that's it's by design, has been for a while, as a result of business rules and sales wanting it to be shown as priority.
Then he passes it up the chain to see if the requested change should go through. The plant manager says his guys at the plant say it changed recently.
Then I respond "no, sorry, no changes recently. It's actually been that way at least 5 years."
He then responds "Well, my guys think it changed recently, and if it had been 'at least 5 years' they would have noticed by now."
Oh fuck no, motherfucker. You do not quote me saying I'm wrong. We have fucking version control to see the changes I have fucking proof.
At this point I'm shaking. Nothing pisses me off more than people saying I'm wrong, and nothing excites me more than telling people they're wrong. We have an overlap.
So then I go back and back and back in the blame, find the exact change and ticket for when this started happening. Email all this data to my boss. He then takes the pettiness and salt out of my tone and forwards it pretty much saying "actually, we have exact proof that it happened 6 years, 7 months ago. Here's your proof."
This happened early morning. No respond the rest of the day. That's fucking right.3
Much-security.nl is down.
No, no hack or whatsoever. I just reinstalled the wrong server through my control panel.
The new blog version will hopefully be up tonight. 'you keep promising that' - I don't have a backup of the old version and I only just started using git so I can only upload the new version (or git pull). Next to that, except for the front-end, everything works now.
My professor once asked us to brainstorm a good topic for our IT seminar/workshop.
I suggested version control using Git.
She simply shrugged it off. She said she needed a topic that the class can use. WTF.1
do we have to use git/version control software? why cant we just mail everyone else the builds at the end of the day?5
The importance of version control. Had a school project at a real company and i didn't understand it so i said fuck it. Then someone asked me to alter the js library a little and push/pull that to the server. I thought fuck it, altered it and accidentally pressed save (automatic ftp upload). Suddenly the file was overwritten (that guy worked on it for 6 fucking hours) and it went from like a thousand lines to just a few. We did restore it from the browser. He said: either you're going to use git or you're out.
Then i started using git.4
Holy donkey nuts, I get too scared to leaved unpushed code when I take a coffee break.
I know a guy, about 50 years old. He is a self-taught programmer since he was young, and he has always used Visual Basic (never anything newer than VB6).
He once needed to interface with a web application I wrote, so I asked him to send me a POST HTTP request. He didn't know what I was talking about. No notion of REST, sockets, HTTP, nothing.
The he showed me his code. Actually, his codes. He had multiple copies of the project, one for each version, and he even kept multiple variations of the software in different separate folders. He probably doesn't know what "version control" even means.
You think this is messy. You didn't see the actual code (it's a huge application!).
Spaghetti all over the place. Meaningful variable names, what are they? Default names for the controls, like button1, button2, etc, with forms with more than 30 buttons and text fields. This was the most incomprensibile code I have ever seen.
You might think that this guy is just a hobbyist.
He sells his applications. To companies. They are obviously full of errors, but they buy them.
Now, if you're still with me, two questions come into my mind:
- why?? I hate this, because it's impossible to prove to a non-technical person that this is *not* software development.
- how do I know that, to someone else, I am not like him? How can I be sure that I know and will know what needs to be known?5
*at front end job interview*
Me: so what kind of version control do you use?
CTO: well, one of the guys here developed our own system.. bla bla bla *turns around laptop*
Me: *sees internet explorer* NO THANKS 😬4
"Hey, about that matter from yesterday..."
"Yes, what about that?"
"We need to talk about that again! How often do you trigger that system?"
"Yes, but i can check it, if you like."
"See, only once."
"Can it happen at a random point later one?"
"Are you sure?"
"Can you check it?"
"Look here, as you can see, it will not happen at other times."
"Do you have an idea why it could happen anyway?"
"Maybe that system does the action without my software telling it to do so, wasn't that specified that way?"
"Yes, but it normally does that roughly 10 seconds after you give the command the first time, so we thought maybe you could say what makes it do the action at other points maybe."
"Did you check that systems sourcecode?"
"No not yet. But did that happen with the older version?"
"No. But we didn't try."
"Did you change something between the versions?"
"Yes, the new feature."
"Could that make a change in behaviour?"
"I don't see how."
"Can you remove that feature for test?"
"We can take the old version."
"No, we need the new version, but without the feature you added."
"That IS the old version, there is no other difference!"
"Are you sure?"
"Would you like to see it in source control?"
"No, ~ okay. What do you think causes the problem?"
"I haven't had any new ideas since we talked yesterday."
"Okay. Mhhh,...okay. Lets talk again later."
YES SURE! BRING IT ON! I'M LOOKING FORWARD TO THAT! PLEASE COME BY OR CALL ME AGAIN! AND BRING THE BOSS WITH YOU, TO SHOW HOW SERIOUS THE MATTER IS! LET ME TELL HIM THE STUFF I TOLD SEVEN TIMES LAST WEEK!3
Git: A version control system expressly designed to make you feel less intelligent than you are thought you were.9
As time goes on, I've always wondered what I'm going to say to my future grandchildren about what Dev work was like today:
"Grandpa Josh what was programming like when you were a kid?"
"They at least attempted to use new paradigms in their framework code, right grandpa?"
"NO CHILD. THEY WERE EXACTLY THE SAME IN EVERY WAY..."5
Had a fun little conversation with a potential employer...
Him: We use git for version control. To work with our team you'll be expected to do the same and be proficient at it.
Me: Not a problem. I am well versed with all things git! May I ask, what does your work flow look like?
Him: All of our source lives in a single repo and everyone commits straight to master.
Him: Conflicts will not be tolerated.6
For those of you who have never used version control and would like a taste of what github is and what it does.
Here's a wonderful tutorial that I utilized that helped me on the way to git greatness
So I have been freelancing as web developer for 5 years. I was also playing basketball professionally so I was only working part-time, building websites here and there, small android apps to learn the job and I was also reading a lot to challenge my brain.
When I stopped playing basketball about a year ago, I thought I would really enjoy coding full time so I pursued a job.
With no formal education and just a basketball background on paper, in the collapsed Greek economy, as you may assume chances of landing a job are minimal.
After about 40 resumes sent I only got an internship. It was a 4 month, part-time, no pay deal, and then the company would decide if they would like to hire me later.
The company had 4 employees and they are one of the largest software distribution businesses in my area. They resell SaaS bought from a third company, bundled with installation support, initial configuration, hardware support, whatever a client may need.
I was the only one with any ability to code whatsoever. The other people were working mostly on customer support with the occasional hardware repair.
After the 4 month period they owner (small company, owner was also manager and other roles) told me that they are very happy with my work and would like to keep me part-time with minimum pay.
Just to give you and idea if the amounts of money involved, in Greece, after taxes, my salary was 240euros per month. And the average cost of surviving (rent, cheapest food possible, no expenses on anything but super basics) is about 600euros.
I told him I needed more to live and he told me ok, we will reevaluate a few months later, at the end of May 2017.
I just accepted it without having many options. The company after all was charging clients 30euros per hour for my projects so I kept thinking that if I worked a lot and delivered consistently I would get a full time job and decent money.
And I delivered. In the following months I made a Magento extension, some WordPress themes, a C# application to extract data from the client's ERP and import it to a third application, a click to call application to use Asterisk to originate calls from the client's ERP, a web application to manage a restaurant's menu and many more small projects. Whatever they asked, I delivered.
On time, version controlled, heavily documented solutions (my C# ones are not exactly masterpieces but it was my first time with the language and windows).
So when May ended I was pretty excited to hear they wanted to keep me full time. I worked hard for it, I was serious, professional, I tried a lot to learn things so I can deliver, and the company recognized that. YAY.
So the time comes to talk money. The offer was 480euros per month. Double my part-time pay, minimum wage. I asked for about 700. Manager said it's hard but I will see what I can do. So we agreed to keep the deal for June while they are working on a better offer.
During the first half of June I finished my last project, put all my work on a nice folder with a nice readme on every project's directory, with their version control and everything.
The offer never improved, so I said no deal, and as of today, I am jobless.
I am stressed as fuck and excited as fuck at the same time.
I will do my best to survive in the shitstorm that is called Greece.
Bring it on.11
When you think you're an "expert". 😛
Found this on a Medium article.
“Self-taught Software Developers: Why Open Source is important to us”
Trying to convince my coworker to have a git repo instead of resending chunks of code in Slack... lmao12
Who the fuck is able to not understand the basics of git. With ten years, supposedly , of front end experience. How in the hell do you not understand version control.18
Bad practice? Christ where to begin? I promise you there's a good reason for all these things and they're 100% out of my control (ok maybe 80%)
I run hand written on-the-fly SQL queries in production, from Vim, with the password saved in plaintext in my .vimrc
For that matter I dev in production. Not test. My local dev environment points to the prod database.
Version control? Yeah, sure, just hand me last week's tapes...
I hand copy random files to "deploy".
It's not agile, it's not waterfall, it's "whatever the fuck fell in my inbox"6
"Why do you need version control? The latest code is all we need."
An email from a bosses new deputy to us...8
Fvcking project manager wants me to commit my partials code to the master branch just to let our employers know that we did something today! That's why you are there to relay our predicaments to them, you piece of shit!
Now he is insisting it the whole team. Fvck! Are you nuts? Do you really understand what version control really means? Why master branch, why can't we just create fucking different branch and push it there if they want reference! Commits are supposed to be a fix code or update not a broken and unfinished piece of codes! I will fvcking cross my finger after messing up the master branch. Now it looks so disgusting to me.9
My friend and I were watching a documentary about Salmon. He suddenly starts to giggle and I ask him whats up.
Friend: Why do salmon suck at version control?
F: because they always git push force upstream 😂😂😂
i hate everything about programming except programming.
i hate version control, i hate agile, i hate package managements, i hte deploying, i hate clients. I hate that i cant get shit done.16
Team says their code is done, tested, and working. They have merged all of their code and now to merge it with mine.
Take care of the merge, go to test it, and NONE OF IT WORKS.
Ok... So maybe something in my code did it. NOPE. Still crashes without mine.
Thank goodness for version control.
Now need to help define what "tested and working" means...4
Don’t you love when you put a lot of blood, sweat, and tears into a company and then you get fired because your wife got a flat tire and you had to go help fix it?
When I got to this company they were not using version control, had no tooling in place, and most of our day was spent merging projects by hand and going through a long process to deploy our applications (this company is a primarily Salesforce company).
A few weeks after finishing this CLI I was moved to another team and subsequently let go because I had to leave early to help my wife fix a flat tire. Now I am freelancing and actually doing pretty damn well for myself. Bonus: I no longer have to work with the disaster that is Salesforce!2
This company has been a "start-up" for 5 years farming money off of fucking idiots using a shitty CMS.
- The senior dev gets paid 15/hr
- No use of version control or testing
- the CEO has no fucking knowledge about tech.
and you wonder why it's FAILING?! I'm surprised you guys stayed afloat this long, jesus fucking christ.5
Pro-tip #2: wear a suit to work twice a week if you want people to take you seriously.
Pro-tip #3: get some sort of hosting and learn to DIY with Linux and no docker. If you know how to properly run your own version control, email, and web server you will be a step ahead of other developers in terms of secondary skills and resume and you’ll have a website and an email address to prove it.36
My dad has an acquaintance - let's call him Tom. Tom is an gynecologist, one of the best in Poznań, where I live. He's a great guy but absolutely can not into tech of any kind besides his iPhone and basic PC usage. For about a year now I've been doing small jobs for him - build a new PC for his office, fix printer, fix wifi, etc. He has made a big mistake few years ago by trusting a guy, let's call him Shitface, with crating him software for work. It's supposed to be pretty simple piece of code in which you can create and modify patient file, create prescription from drugs database and such things. This program is probably one of the worst pierces of code I've ever seen and Shitface should burn for that. Worse, this guy is pretentious asshole lacking even basic IT knowledge. His code is garbage and it's taking him few months to make small changes like text wrapping. But wait, there's more. Everything is hardcoded so every PC using this software must have installed user controls for which he doesn't have license and static IP address on network card.
Tom asked me to build him a new PC that will be acting like a server for Shitface's program. He needs it in Kalisz (around 150 km from my place). I Agred (pun intended) and after Tom brought me his old computer I've bought parts and built a new one. I have also copied everything of value and everything took me around three hours.
Everything was ready but Shitface's program. I didn't know much about it's configuration so when I've noticed that it's not working even on the old PC I got a bit worried. Nevertheless I started breaking everything I know about it and after next three hours I've got it somewhat working. Seeing that there's still some problems with database connection (from Windows' Event Viewer) I wrote quick SMS to Shitface asking what can be wrong. He replied that he won't be able to help me any way until Monday (day after deadline). I got pissed and very courteously asked him for source code because some of libraries used in this project has license that requires either purchase of commercial license or making code open source. He replied within few minutes that he'll be able to connect remotely within next 10 minutes. He was trying to make it work for the next hour but he succeeded. It was night before deadline so I wrapped everything up and went to bed thinking that it won't take me more than an hour to get this new PC up and running in the office. Boy was I wrong.
Also, curious about his code, I've checked source and he is using beautiful ponglish (mixed Polish and English) with mistakes he couldn't even bother to fix. For people from Poland, here's an example:
So I drove to Kalisz and started working on making everything work. Almost everything was ready so after half an hour I was done. But I wanted to check twice if it's all good because driving so far second time would be a pain. So I started up Shitface's program, logged in, tried to open ANYTHING and... KABUM. UNHANDLED EXCEPTION. WTF. I checked trace and for fuck sake something was missing. Keep in mind that then I didn't know he's using some third party control for Windows Forms that needs to be installed on client PC. After next fifteen minutes of googling I've found a solution. I just had to install this third party software and everything will work. But... It had to be exactly this version and it was old. Very old. So old that producent already removed all traces of its existence from their web page and I couldn't find it anywhere. I tried installing never version and copying files from old PC but it didn't work. After few hours of searching for a solution I called Mr Shitface asking him for this control installation file. He told me that he has it but will be able to send it my way in the evening. Resigned I asked for this new PC to be left turned on and drove home. When he sent me necessary files I remotely installed them and everything started working correctly.
So, to sum it up. Searching for parts and building new PC, installing OS and all necessary software, updating everything and configuring it for Tom taste took me around what, 1/3 of time I spent on installing Mr Shitface's stupid program which Tom is not even happy with. Gotta say it was one of worst experiences I had in recent months. Hope I won't have to see this shit again.
Fortunately everything seems to work correctly. Tom hasn't called me yet with any problems. Mission accomplished. I wanna kill very specific someone. With. A. Spoon.2
How about teaching a little version control? A passing mention of git in 4 years of college. The entire industry uses some form of version control, and all we get is a passing mention of it?10
- If I buy x amount of ram | hard drive space | cpu power I will never need more.
- No need for version control | Tests. This is a small project
- git commit -m "changes" (its a small change. I will remember why I did it)
- It is too obvious that I put a lot of personal time in this so my boss will definitely notice!
- Why comment this simple method? Anyone should know what it does. Especially me!
- "this should never happen"
- This call can't be from work. Everyone knows I am on vacation.
- I will back up next week. It's not like it is going to crush today.
- It’s 11:30 already? I will work on this for only a half hour more and then I will definitely go to bed!
- This project will take x amount of time!2
Have you ever tried developing a Tumblr theme without becoming as mad as a balloon? Don't. It's a fucking nightmarishly annoying pain in the arse.
The annoyance already starts with the god-awful 'code editor'. The auto-indentation for new lines doesn't work properly, but to such a degree that it would be both far less annoying and far more productive to not have it at all and just tab/space your code manually.
I was searching for a proper solution to just use the Tumblr API for developing the theme locally, ideally with Webpack 2, Stylus and ES6/Babel, but as always the best solutions are already either buggy as fuck, outdated as fuck or both. I didn't have the time to build my own, so that fell flat. Fuck.
Then there is the completely idiotic asset uploader. Whoever built that thing should be poked with a sharpened stick until he bleeds to death through a thousand holes. You can upload font files, you can even insert the file path Tumblr gives you, but – and I shit you not – you can't use the fucking files because when you insert the path Tumblr gave you, NOTHING happens. I had to put the font files in an extra css file (which I also uploaded and embedded) as base64-encoded string. WHY IN THE NAME OF ALL OF YOUR MOTHER'S STD'S DO YOU EVEN ALLOW THE UPLOAD OF FILES YOU THEN WON'T RECOGNIZE, YOU FUCKING NUMBNUTS?!
But hey, that's far from being all that annoyed me. The theme I had to base my client's design on was so badly written that it was frustrating. "Well", you might say, "that's hardly Tumblr's fault!", and you'd be wrong, because Tumblr sells these awful themes. No quality control whatsoever, apparently. A monkey could hack it in, but the field on which Tumbrl grows its fucks would still be as empty as its developers heads.
When I showed a prototype of the theme to my client, already close to dancing naked in the subway wearing my underpants on my head, he wondered why the mobile version was showing Tumblr's default theme. I was baffled, because I developed the theme mobile first and had written a pretty slick mobile view, but the client was right, it didn't show. Turns out those intellectual high-flyer's at the mental asylum called Tumblr thought it'd be a great idea to override their users' custom themes with their own butt-ugly mobile theme per default, without so much as even hinting it to the user. To add insult to injury, they place a big, fat, fucking ugly bar your on top with the usual 'open the app' button, that you have to override manually with a monstrous selector, because fuck the users, right?
ARE YOU FUCKING KIDDING ME, TUMBLR?! HOW DARE YOU FUCK WITH MY THEME, ARSEHOLES? GET STARTED WITH SOME BEST PRACTICES IN YOUR FUCKING TURD REFINERY, YOU STUPID, FUCKING BLOCKHEADS! YOU MORONS CAN FUCK OFF AND DIE IN A POOL OF LIQUID SHIT, FOR ALL I CARE!
That was the first and definitely also the last Tumblr theme I ever built. What a fucking waste of time. I fucking hate Tumblr.2
Finished an MVP of my garage-opener-thingamajig!
Basically I decided I wanted to control my garage from my app. Retail solutions are expensive af. As a dev, the choice was easy!
DHT temperature sensor
Nativescript + Angular
Result: i can open my garage anywhere, safely (sorta?) via firebase, and get push notifs when it gets opened (from hcsr04), which triggers the pi camera, while also getting live temp feeds (this one is kinda for the giggles and utterly pointless but NUMBERZ!)
Anyway - fun side project! First version of my app looks like this. Its very rough, and I have a couple more details I wanna display, but for a first time app I'm happy!11
The company I work at have never used Git or any other version control system...
Today I'm working on making everything ready for Git and removing "backup", backup_old", "fileX.php" etc.
In the end, I'll be happy and the company will be happy for the better management and control.6
I just got hired as a systems administrator at a company that develops web forms. NO ONE in the company has heard of git. They don't use any kind of version control.
I'm a little worried...6
So my job doesnt use any version control. They just edit the files directly from the network drive. Wtf? Is this the 90's?4
Week 26 advice - you all probably know this but good to refresh!
Annotate your code
Use version control properly
Keep yourself in check with project management tools
Your peers are your friends... And competition.
As much as your boss is an idiot respect them and your life will be easier.
With great power comes great responsibility; don't touch that keyboard until you think through what you are doing chances are your first idea is not the best.
Don't write quick fixes and say you will go back to clean it up later on when you have time. That time will never come.3
I really wish I had started using version control sooner. 76 contributions on my GitHub this year, 52 of them are from this month 🙈4
Been looking for a part time game dev job to pass the time during summer break, got a reply from a guy.
This part came up some time in the middle of our conversation:
Me: So, do you have a version control system in place?
Him: Excuse me, a what?
Me: A Version control system, like Git.
Him: Ow, what's that?
Me: It is a way to host projects in a more productive way for two or more people. It allows us to share our work more easily and work on the same file without overwriting and losing data.
Him: Ow, like Dropbox?
He was developing the game solo thus far and no idea such thing existed.
Oh the joy of working on service. Customer's website uses a web service to fetch a lot of their data via SOAP. We get a call on Monday that it's not working anymore. I start debugging and find out that the format of the response changed and that the code isn't working anymore with the changed response. I call the Webservice company to verify. "oh yeah, we updated the data set."
Me: Great, who needs communication about that kind of stuff anyways? - There was no notification in any form of this change. I spend hours adapting the code so it works again and had it fixed by Monday evening. Today I get a call from the customer "Hey, it's not working again!". Great. I call the web service. "Oh yeah we didn't originally mean to change the format, so we reverted it again!" - Again no communication whatsoever. I don't think I have ever been as grateful for version control. And as pissed off with a company.3
I work at a place where security is really high when it comes to server access. Today I was in urgent need to get admin access to a server, this is a real pain. Luckily I found an xml in version control containing the credentials for the web application which happens to be an admin account! Lucky me, saved me at least two weeks of waiting to get admin access!4
Just got given my own internal project at the company I work for! Basically I created a gulp task for one of our projects that allows us to use version control with Salesforce in a pretty easy way and deploy without a stupid IDE (like eclipse) getting in the way. Now they want me to turn that idea into a node module we can use company wide!5
Just finished my internship.
I entered knowing nothing and spent the entire year on solo projects.
My company does not use any frameworks because "they don't want to run code on a server that they didn't write", they use waterfall, only use version control on half the projects, use notepad++, never once even glanced at my code to check I know what I'm doing - even when i asked.
Also have never heard of a code review, have absolutely no QA in place other than the devs making it and quickly testing it visually, no requirements gathering - just pictures and have never heard of tdd.
Recently was given a project with no designs, no specs other than a verbal half thought out explanation and was dumped with random deadlines like "this needs to be demoed tomorrow night" with no idea about the project progression or what it looks like. Apparently it's all my fault that it failed.
I am very grateful to them for teaching me so much and giving me opportunities to teach myself on nice projects but come on.
What boggles my mind is that the company is 6 years old and has big, big clients. I don't understand how. I once tested a project about to go out the next day that had been "tested" and found pages of bugs. They would have lost the contract for sure...8
I lol when github goes down, because then I can take cheap shots at people who don’t host their own version control like they should. And like I do.9
All hail GIT and version control. I was threatened to loose my job if I couldn't fix an issue till Friday, so I looked up when the last comit of previous dev was and took the script before that, debugged it for 15 minutes and now everything works fucking fine. I just get all the shit for stuff I didn't code, but am not "fast enough" to fix them.13
Why I hate PHP 5 is because of the developers that used it:
A big MySQL query with 27 joins, some replaces and a lack of indexes that dumps it's output to a file. This was called in a PHP 5.2 script. This script was called through Cron every now and then.
The output of the script was verified by calling another PHP script that was called through cron (yes...on time). If it failed it would write an entry to the database, where it can be checked manually through phpmyadmin.
Another script after the verifying was called through Cron that would zip the file if there is not an error in the database. This script was build in a later stadium so it would directly upload the file through FTP, which was a fucking relief. Oh yeah, this file was only 1900 lines of sequential PHP.
This took me way to long to find out. The problem is that there was no version control, no tests, no local development environment and no tracking. It was not clear if all this shit was needed and nobody cares either.
Fuck me.... I was supposed to learn something there as an intern, but I have probably got programming cancer from them...10
When you're the most "junior" person on the team and you're the one pushing for Git. How we've managed to come this far without any version control is beyond me. Especially with the fact that we've had to work alongside a 3rd party who handles a lot of the site dev...there have been a lot of "stepping on toes" over the years and no one ever thought "there has to be another way."
I used to work in a small agency that did websites and Phonegap apps, and the senior developer was awful.
He had over a decade of experience, but it was the same year of experience over and over again. His PHP was full of bad practices:
- He'd never used an MVC framework at all, and was resistant to the idea, claiming he was too busy. Instead he did everything as PHP pages
- He didn't know how to use includes, and would instead duplicate the database connection settings. In EVERY SINGLE FILE.
- He routinely stored passwords in plain text until I pretty much forced him to use the new PHP password hashing API
- He sent login details as query strings in a GET request
- He couldn't use version control, and he couldn't deploy applications using anything other than FTP5
noob misconception #527: during my first hackathon i didn't know what version control was (i thought github was this magical elite hacker tool), so id copy my code into a google doc every few minutes along with a timestamp 😫6
Do you know what i hate most?
... commented old code!
What is the fucking purpose to comment old code IF YOU ARE USING A VERSION CONTROL SYSTEM?????
Commented old code is shit, because it fucks the readibility! I saw entire class full of this shit!
DELETE IT, YOU DON'T LOSE IT YOU MORON!!!!6
Describe the most hellish development environment you can imagine for yourself:
Workstation OS: Windows Vista with network boot, no hard disk and can't save local files
Server OS: Closed physical appliance of Windows Server 2000 with no possibility of installing extra software
Languages: Visual Basic, Perl, Php, assembly, ABAP
IDE: None, just echoing code lines to files
Web technologies: IIS, Sharepoint, Java applets, asp
Network: No internet access, internal company network only
Web browser: IE 6
Graphical design software: msPaint
Version control: Emails
Team communication: Emails
Software distribution vector: Emails
Boss: some 40 year old guy who knows nothing about computers
Not kidding most of these stuff were actually real in my previous workplace.11
I had just started as an SDE intern, and was fiddling around with the code base.
Me: Hey, can you send me the link to our version control system?
Mentor: Umm, what!?
Me: You know, where we keep our code backup...
Mentor: Hmm, is there a need for that?
Me: Yeah, I mean, my past experience tells me to always backup code, just in case something goes wrong.
Mentor: Ohh, that's easy. I'll teach you how I do it.
So, he comes to my workplace, and does this:
1. Go to your workspace folder.
2. Right click it.
3. Zip it.
4. Open outlook.
5. Compose email.
6. Attach the zip file.
7. Mail to yourself.
8. That's how it's done!
I was like what the hell!?!?! Is this really happening?? And then he started basking in his glory, as if he had taught me some secret hack! Seeing this, I couldn't even get myself to introduce him to git. That was the worst part.8
Some people think that in the software industry there is no communication and everyone is glued to their screens doing their work. It really fucking pisses me off.
- We write documentation around our code more than actual code so that we can communicate with other developers better.
- We use version control and pull requests to make sure our work is at the required level and it is approved.
- We invented UML to communicate our technical understanding to less technical people.
- We sometimes have more client meetings than doctors have patients. In which we have deal with clients worse than patients.
- We conduct keynotes and conferences and hackathons to bring together communities.
These are just a few things from the top of my head so next time you think of saying that the IT or software professionals don't have "much" communication you better fucking educate yourself as to what the profession actually is.4
At an interview, i asked the CTO what the company is using as version control and he replies confused: "there is only one".4
Believe it or not git is quickly becoming a piece of software that I hate as much as windows. It’s really disappointing to think that a shit idea like a global .gitconfig came from the same mind that brought us Linux.
The number of times that I’ve committed to a repository several hundred times over the course of several months only to then discover six weeks later that my last thousand commits were using an email that I don’t want associated with that project, or for that matter an email at all when I want to remain anonymous is getting fucking ridiculous.
And of course it’s damn near impossible to go back and fix old commits without major surgery and being the admin of the repo.
You know code is bad when it’s GPL licensed and it’s still threatening your privacy on a large scale multiple times. How does one fuck up version control that badly? God damn it I have to authenticate to push, just mark my commits with that user tag. It’s arbitrary and nice.
If that doesn’t work with the local and remote schema then maybe you should have fucking thought of that before you designed it. News flash... I have never found that useful at all other than caching commits offline when I don’t have internet.
Im so enraged over this that I can’t sleep21
It's true that you should write code with the assumption that the next maintainer has violent tendencies and knows where you live. Well the same goes for your git branches! Keep them clean goddamnit!!
I don't want to become a violent disgruntled version control vigilante ):2
Please allow me to share my thoughts since I can't totally outrage my frustration because we have this so-called fasting to control our anger towards a person we currently disagree with.
A letter from your loving, sincere, pretty and gorgeous working partner to my young, chubby, smart and clever colleague:
Please do cooperate in times of live editing from the FTP since CTO is not and will never be going to appreciate version control since CTO is too tired for giving a shit and just want deliverables be delivered as fuck perfectly regardless of the resources that we have.
As you know, I tolerated you for not getting the freedom of live editing as what you've experienced from your previous team lead. All I ask of you is to get fresh file from FTP whenever we touch the same file because firstly, God knows how frustrating it is how your hard work is going to be replaced and be gone as much as I do. Secondly, I don't want you to experience how pain in the ass could this be in the long run, and lastly, I don't want any hard feelings to be wasted just because of this.
P.S. I'm too shy to send this to you because I don't want to hurt your feelings and don't want to sound too seriouz and feel old. I also hope we share the same telepathic understanding so we can agree with each other.
Your loving, sincere, pretty and gorgeous working partner,
(thinking of stating my first name) 😂20
Oh man. I have been waiting for this one. Gather round lil' chil'rens it's story time.
So. I was looking for a new project because my old one was wrapping up and that's what my company does. So I was offered some simulation type stuff. I was like "sure why not, I want to make a computer pretend it isn't a computer no more." Side note I should not be a psychiatrist.
So, prior to coming on to this job I felt stifled by my old job's process. This job was a smaller team so I thought the process would be a little smoother. But it turned out they had NO process. Like they had a bug tracking system and they held the meeting to add things to the system, but that was just fucking lip service to a process.
First of all, they used the local disk on the test box as their version control. and had no real scheme as to how they organized it. We had a CM tool but gods forbid they ever fucking use it. I would be handed problem reports and interface change requests, write a bug to track it, go into the code and about 75% of the time or more it had already been worked. However, there was no record of it being worked and I would have to fucking hunt that shit down in a terribly shitty baseline (standardize your gods damned indentation for fuck's sake) and half the time only found out it was done because when I finally located the piece of code that needed changing, the work was already done.
Then, on top of all that, they ask me what time I want to come in. I said 10am, they said okay. One day I roll in at 10 and my boss is mad. Because I missed a meeting. That was at 9. That I wasn't told about. He says I can keep coming in at 10am though (I asked and volunteered to help get him up to speed on the things I was working he said it wasn't necessary) so I did, but every time I missed a 9am meeting he would get pissed. I'm like PICK ONE!!! They move the meeting to 9:30am (which is not 10am).
This shit starts affecting my health negatively. Stress is apt to do that. It triggered an anxiety relapse that pushed me back in to therapy for the first time in 7 years. On top of that the air quality in the office is so bad that I am getting back to back sinus infections and I get put on heavy antibiotics that tear up my stomach along with the stress and new meds tearing up my stomach. So one day as I am laid out in pain, I call out sick. Two days in a row. (Such a heinous crime right.) Well I missed a test event, that I wasn't even the primary or secondary on.
So fast forward to the most pissed off I have ever been. I get called in to a meeting with my boss's boss. As it turns out, my coworkers are not satisfied by the work that I'm doing (funny because I thought I was doing pretty good given that my only direction was fix the interface change reports and problem reports. And there was no priority assigned to any of them).
And rather than tell me any of this, they go behind my back to the boss and boss's boss. They tell me I need to communicate (which I did) and ask for help when I need it (I never did). That I missed an important event (that I played no part in and gods forbid I be sick) and that it seemed like I didn't want to be there (I didn't but who WANTS to work a corporate job).
They put me on a performance improvement plan and I jumped to another project. I am much happier now. Old coworkers won't even say hi, not even those I was friendly with, but fuck them anyway.5
New job surprise: I will inherit a 900k lines of php code from a contractor dev shop. It is the company erp web app.
It has no version control, tests, architecture or configuration management of any kind.
There are just 1800 bug ridden files with almost no comments in a directory with lots of code duplication.
Also just learned that the contractor was paid a lot monthly for over 2 years for this monster.
I will need a raise quickly. At least management understands that I will need a couple of months to get a semblance of order in this madness.
And to you contractor I have your address and i'll try to restraint myself from vandalizing your house but I can't make any promises.
And fellow developers send help or beers or come and join me to teach this bastard a lesson.5
See another of this git commit message :
"Fixed bugs and added new feature"
Fixed what bug?! Added new feature what?!4
I'm a junior programmer at a small company with mostly web dev. I had a C# project and before the deadline I granted access to the project repository one of my boss/senior coder. Several hours later I got an email with the whole project zipped and a note: I made some modifications, check it out.
Why someone doesn't want to use some kind of version control system?1
Interviewer: Oh ...we don't really use version control here..it's too hard to get the different offices on the same page.
I am still in the state of finding a programming language to be my expertise. I'm sick of learning the basics of so many things.
Very recently, I found myself into version control with Git/GitHub. I made my own github.io repo and worked on it while following some random tutorials on the Internet. It was cool and I was happy.
So I thought about contributing to other repos. The ugly part? I cannot understand any open source code out there other than mine because my knowledge of specific languages are very shallow.
I learn the basics of a lot of languages. When things get hard, I lose a bit of motivation and started to be interested in other, perhaps more rewarding things(which are usually harder). This is likely because I don't know what's best for me.
I want to get real.17
you'd think by now people would understand version control. a whole days work gone because of bad merging.5
You have 5 devs on a team at least 3 of them are working on the same code and there is no version control and we have to rely on looking at when the file was last modified....FML!!!12
Hmm. when you prove to be more knowledgable than the programmer that was pulled in, to interview you and he starts to go totally defensive and return spiteful responses
( like, what does a rookie like you know? i bet you never had an actual job )
when you calmly asks if any standard like PSR-2 is expected, if there are any preferred frameworks and what version control is used...
well, that went well..
Didn't get that internship..6
I worked on a browser game for two years and I did not use any version control system. This was 13 years ago. Can't imagine myself how I managed this at all without killing myself immediately.4
I worked about two years on a browser game without using any version control. I also thought it would be nice to have absolutely no comments in the code.
It pains me to know that a lot of people out there who code haven't even heard of a version control system3
"Tar up your projects as version control."
- CS teacher
I understand git is hard (just the awkward syntax) and not part of a curriculum, but can it at least be suggested? A whole year later, I found out about git and it has made CS projects so much easier.
git commit -a -m "No more tape archiving"5
I really enjoy my old Kindle Touch rather than reading long pdf's on a tablet or desktop. The Kindle is much easier on my eyes plus some of my pdf's are critical documents needed to recover business processes and systems. During a power outage a tablet might only last a couple of days even with backup power supplies, whereas my Kindle is good for at least 2 weeks of strong use.
Ok, to get a pdf on a Kindle is simple - just email the document to your Kindle email address listed in your Amazon –Settings – Digital Content – Devices - Email. It will be <<something>>@kindle.com.
But there is a major usability problem reading pdf's on a Kindle. The font size is super tiny and you do not have font control as you do with a .MOBI (Kindle) file. You can enlarge the document but the formatting will be off the small Kindle screen. Many people just advise to not read pdf's on a Kindle. devRanters never give up and fortunately there are some really cool solutions to make pdf's verrrrry readable and enjoyable on a Kindle
There are a few cloud pdf- to-.MOBI conversion solutions but I had no intention of using a third party site my security sensitive business content. Also, in my testing of sample pdf's the formatting of the .MOBI file was good but certainly not great.
So here are a couple option I discovered that I find useful:
Solution 1) Very easy. Simply email the pdf file to your Kindle and put 'convert' in the subject line. Amazon will convert the pdf to .MOBI and queue it up to synch the next time you are on wireless. The final e-book .MOBI version of the pdf is readable and has all of the .MOBI options available to you including the ability for you to resize fonts and maintain document flow to properly fit the Kindle screen. Unfortunately, for my requirements it did not measure-up to Solution 2 below which I found much more powerful.
Solution 2) Very Powerful. This solution takes under a minute to convert a pdf to .MOBI and the small effort provides incredible benefits to fine tune the final .MOBI book. You can even brand it with your company information and add custom search tags. In addition, it can be used for many additional input and output files including ePub which is used by many other e-reader devices including The Nook.
The free product I use is Calibre. Lots of options and fine control over documents. I download it from calibre-ebook.com. Nice UI. Very easy to import various types of documents and output to many other types of formats such as .MOBI, ePub, DocX, RTF, Zip and many more. It is a very powerful program. I played with various Calibre options and emailed the formatted .MOBI files to my Kindle. The new files automatically synched to the Kindle when I was wireless in seconds. Calibre did a great job!!
The formatting was 99.5% perfect for the great majority of pdf’s I converted and now happily read on my Kindle. Calibre even has a built-in heuristic option you can try that enables it to figure out how to improve the formatting of the raw pdf. By default it is not enabled. A few of the wider tables in my business continuity plans I have to scroll on the limited Kindle screen but I was able to minimize that by sizing the fonts and controlling the source document parameters.
Now any pdf or other types of documents can be enjoyed on a light, cheap, super power efficient e-reader. Let me know if this info helped you in any way.4
Not separating different changes into different commits, and just adding "a few tweaks" when I can't be bothered to list changes.
git commit -m "Added x, updated y, renamed z, and a few other tweaks"
First it was the "set up WampServer so the client can use our database", to which I told her we should use an embedded database, to which she told me to do.
Then the "Just give the client a .jar file and install the JRE in his laptop" to wich I told her we can make a native installer, to which she fucking assigned to me.
Then the whole fucked up management thing with no design whatsoever and the "we don't need version control".
To just a few hours earlier, when she got mad because I set up a Slack for us to exchange information easily, she told me she was already mad because I shared the project by Google Drive and that she worked in security and knows the risk... AND AT THE SAME TIME, she uses Gmail to share the project.. BRILLIANT !7
Also my phone officially autocorrects and to amd. Wow. I need a life.5
My company took over a project that was previously sent overseas . (PHP, laravel 5.1) so I was pointed a lead developer in this project, when I emailed the "senior developer " from the previous company about version control and code documentation. He assured me there was nothing to worry about . ... I found 450 line methods without comments and as version control I found zip files with dates as the name ... fML this is gonna be a long summer15
I’ve started at a new place - the team use Trello to share code 😳They are happy to zip a folder, upload and download each time a project is updated.
I’ve tried to sell the benefits of Git however some have such conviction that it would be worse. FML.10
First year: intro to programming, basic data structures and algos, parallel programming, databases and a project to finish it. Homework should be kept track of via some version control. Should also be some calculus and linear algebra.
Introduce more complex subjects such as programming paradigms, compilers and language theory, low level programming + logic design + basic processor design, logic for system verification, statistics and graph theory. Should also be a project with a company.
Advanced algos, datastructures and algorithm analysis. Intro to Computer and data security. Optional courses in graphics programming, machine learning, compilers and automata, embedded systems etc. ends with a big project that goes in depth into a CS subject, not a regular software project in java basically.4
At my high school we had these laptop carts in every room. Occasionally the teacher would have everyone in the class grab a laptop from the cart and work on homework or class work or whatever. Well I always used this time to mess with my classmates. Firstly since these were windows computers it was super easily to gain access of the computers local administrator account. From there, I would uninstall the student version of LAN School (which is a program for the teachers to monitor the students computers) and install the teacher version. From there all I had to do was open the program and have complete control of all my classmates computers. I could remotely control there computers, black all there screens or even use the programs keylogger to get passwords. I never used this for more then messing with my friends but it was always a good laugh between my buddies and I. So suprised the teachers never found out.1
Learned over Xmas, my brother-in-law works at a company with NO CENTRALIZED VERSION CONTROL. They just... pass around zip files of the latest code? Or something? Like jfc, even as a student we at least used TortoiseSVN!
I was ok with their marriage last summer, but now I feel that my sister deserves better. Can't imagine a company like that attracts the best and brightest. Here's hoping he actually exceeds the expectations, and leads the company into a glorious, gitty future.1
Life could have been way better if God has used some version control system and let individual take care of their life.
git revert l@$tHaPP¥d@¥
git reset --hard beginningOfLife4
There was a workshop about git in our university and I was the teacher.
After teaching main concept of version control and git commands I was talking about open source community and github repository. First I should notice /pul/ in my language means money.
When I was talking about pulling changes from repository one of the student raised his hand and ask me "Why they would give us money?"
After seconds of silence I had feeling between laughing and crying1
This summer was my first internship and the developers at the company weren't using any version control.
It was literally painful to see the engineer (my mentor) make backups of each file before changing anything in it.
I really do feel, version control should be included in our courses as well.14
Nothing good comes with GUI for version control except for the graphs of branches. And this little tortoise thinks it's the shit.6
Still in beta but it looks like there's finally a version control for designers.
You know what's cool working for a company that uses Github for version control? My contributions on my profile are going through the roof and I expect will make me look like an open source hero!1
List of shit my superior said and wrote in the project:
1. Prefer to write "pure" SQL statement rather than ORM to handle basic CRUD ops.
2. Mixing frontend and backend data transformation.
3. Dump validation, data transformation, DB update in one fucking single function.
4. Calculate the datetime manually instead of using library like momentjs or Carbon.
5. No version control until I requested it. Even with vcs, I still have to fucking FTP into the staging and upload file one by one because they don't use SSH (wtf you tell me you don't know basic unix command?)
6. Don't care about efficiency, just loop through thousands of record for every columns in the table. An O(n) ops becomes O(n * m)
7. 6MB for loading a fucking webpage are you kidding me?
Now you telling me you want to make it into AJAX so it'll response faster? #kthxbye2
Me:To my new boss I think its fare we adopt version control for the project we working on.
Boss: No need just do what we hired you for.
Me:Its my second day of work and don't know how this will play out
Am beginning to dislike this boss he still sticks to old practices4
Waking up to another day of being forced to use SVN because my university seems to have a problem with using git. Who the fuck uses SVN now anyway, piece of shit version control.4
Currently rebuilding a web store backend originally developed in 5.2 and by an Indian guy who loved his spaghetti and his knowledge of version control is to do things like 'index.php, index1.php, index-old.php'. Even on the DB he does this... God damn10
Designers use plugin in WP to modify UI. CSS and JS is saved (somewhere?) in database. No version control. Changes are made across different envs at the same time and all need to be migrates to prod later.
Had to make a change in an ugly codebase. For this I had to change a config value which was duplicated three times in the code base. So I wanted to refactor the code so that the config was in one place.
I worked on this for two days and it was starting to look good. On the third day when I started to work on this I realized that I couldn't start the server anymore. Looking through version control I figure out that my co-worker had stayed till 3am last night to work on the change I was supposed to make.
I had to spend all morning undoing his commits. Once I was done refactoring the actual change took me ten minutes.
Why the fuck would you stay until the middle of the night to work on someone else's task?!
Could have just asked how it was coming along if I wasn't working fast enough for him.2
How dense must you be, to check-in files without differences to the source controll?! After being told at least 3 times politely and 4 times >>being screamed at<< to never ever fucking do that again?!5
Even if you are solo, use version control and commit often. When you are working on something completely new, git reset --hard can really get you out of a bind.1
Why use git, do it simple, send me your changes by email and I will merge it.
Why split split source code (js) into different files, use one so we will no have trouble about load order.
Use the same user account for github/gitlab/bitbucket/etc. So we will no worry to setup access permisions.
Use Dropbox/Drive for version control.
We will test the whole system until the end when all is finish.4
rantPercentage := .25 * RANT_AVG
tldr := "Looking for a new project/job/mentor after a problem with my 'job'"
body := `
I've been working for a while now with a smaller minecraft network (hold up now, this is serious, don't walk away yet) for free. It was an amazing opportunity for me. I had the chance to work in a team on a common goal. They had equipment that I otherwise wouldn't have access to, and people who were serious about getting things done, unlike mostly all others. We had almost everything a normal business had- multiple departments, lots of people that sometimes worked through the night, proper version control on software, etc. While others were paid for their work, I chose not to be; I was doing this completely for experience. I want to be ahead for college and for a job as much as possible, so I've dumped most of my free time into this. I was a junior developer, head of security, DBA, and sysadmin. The biggest java and kotlin projects I have ever made, and the ones I was most proud of went to this network. I challenged myself in everything I did, and improved in programming tenfold since I started. I just recently spent three days on their server, setting it up properly, because someone thought managing a control panel was too much work and we need to switch to SSH. So I worked on this server alone for three days, every minute of my free time, setting it all up, and man, I thought it was a thing of beauty. It all made sense and was so simple to manage servers my grandma could do it. Made multiple improvements- iptables was configured, ssh keys were used instead of passwords, ACL was used to manage users' permissions for finer access control to the files, to name a few. I had planned on setting up fail2ban, MySQL and Postgres databases, a website, a couple Go programs to make creating servers even easier, backups to an external server with cron, the works. So after spending in excess of 45 hours on this project (learning tons along the way), I had about 13 servers up and running in an organized fashion, with startup scripts and permissions all done. This was the best setup yet. I went to sleep, got up in the morning, and found out that they had reinstalled everything again without saying anything, wiping out all my work, and had stayed up all night setting up a control panel to get 3 servers running, which they're still working on, and may get it done in a couple more days. So all my work was wasted. A part of me is fine with that I guess, sure it wasted a ton of time on my part but I still learned a lot. But the fact that they just deleted it all without warning and decided to change to another system entirely because it was too much work to learn the new way, after making me set everything up alone without help, having to deal with multiple people breathing down my neck and trying to get people to respond so I could get my work done, annoys the hell out of me. So I decided to take a break from them.
Now I'm looking for a new way to improve in everything I do. I want to get better at java, kotlin, golang, sql, everything related to system administration, database administration, back end, and maybe even a little frontend. I want to be the best developer I can be. The challenge of learning something new is actually fun. I just need a new project, or place to help. Unfortunately, most internships start after college, so that isn't an option, and being a janitor at a small business won't help me much unless I look over other peoples' shoulders when they're working. Open source projects would be interesting, but I don't know if I'd be able to ask anyone for help or opinions on anything. The perfect situation would be working for someone, and having a mentor that really knows their stuff to help me become better. Working on personal projects only gets me so far so fast; it's mostly a cycle of doing something a bunch of different ways because I don't learn about an alternative way to do it until I'm mostly done. Also, if I worked with people in an actual place, I'd get a feel for the environment and for how all the systems worked together. Finally, it'd show me how everything is done properly (hopefully) and how software development in the real world is. A real project, in a real team would be a Godsend for me. I'm not asking for one here, obviously, I just want to know- is this possible for me? I know people my age aren't often hired for this, but I really want to learn and improve. I don't have a degree, I'm self taught in everything. I've been using java for two years, kotlin for a half, golang for less. I know it's unlikely. Just.. how can I try to get this kind of situation, if possible? Thanks.
A client decided to give a refresh to his website. So he said he wanted me to take care of it. Curious because he has an IT guy full-time just for the website.
When I offered the hosting service too the IT guy got crazy, he started making a lot of questions like why should I take full control of the website. I replied that's optional, I can just deploy the website in the current server.
The client said, yes I want you to take care of everything.
IT guy again making questions about what database I'm planning to use, what framework, what version, bla bla bla.
At this point I said to my self: Well, maybe this guy made an awesome job. Probably he used a framework that I don't know. The database must be neat and tidy.
So, I go an check the current website... WordPress... Are you freaking kidding me? The IT guy getting crazy for a premium WP template? Why is he full-time anyway? Why is the client looking for someone else?3
The one skill I know that I am really proud of is GIT.
Put me into trouble with merge conflicts.
Saved my life with its version control.
Always had an adventurous ride with Git. Hope to have many more such rides and get to learn more about you.
My boss has a weird habit of asking my opinion and then proceed to choose the worst option. So one day he asked what Java for Web framework we should use I said we should use Spring, we are currently using JSF. Then he asked what version control we should use I said git. Guess what, he decided to use SVN. Next time I'm going to say the worst option maybe that will make him choose the better one.2
Honestly, without git version control I wouldn't know how I could manage my project properly. Git is awesome in so many aspects <34
First and foremost introduce concepts like version control from the beginning. As for the rest, the motivated students will teach themselves the relevant things and the others will fail/drop out. That seems to take place now.
My biggest complaint with the education system is more general and not CS specific. Remove all of the gen ed requirements. REMOVE ALL THE GEN ED REQUIREMENTS. They don't make you "more well-rounded" they just set you back 2 extra years and throw you into twice as much debt as necessary. We spend 13 years learning the foundational things just to spend 2 years in college paying out the nose to go through it again.
Fix that and add a few relevant ideas into CS degrees and I think the education system is decent. There will always be bad teachers, but software developers need to be able to pick things up themselves so it's just preparation for when they get a job and have a useless senior dev to work for.
Biking out to the beach on Saturday I remembered I forgot to remove a log.warn("cuntface", values) before committing on Friday.
STUDENTS NEED MORE HANDS ON COURSES !
I'm doing a year abroad for the fourth year of my masters. I come from a school that really pushes projects, pitches and research forward while leaving in some theory.
Now that I'm at another uni in a different country I can't help but note how UNPREPARED students are for a professional setting ! And they are one year away from finishing their masters in Software Engineering...
Students should use version control tools, they should test their software, they should apply their knowledge to a concrete project ! A 3 hour course on software testing is only as good as its practical counterpart.
I've been trying to get my job to start using Git cause they currently don't use any version control. So today I told my supervisor that I was going to set us up our server so we can host our own repositories and he was like no need we will just set your computer up so you can vpn in from home. I'm like wtf? why go through so much trouble to set that up? That still doesn't solve the problem of accidental file overwriting.-_-3
Debugging an elusive database query problem. Attached to server process about 10 steps into the call stack trying to figure out why a a column value is not being properly cast. In comes Windows. You picked the most inappropriate time to restart for updates without asking me. Restart VM, authenticate with VPN, wait for 2FA, start up Visual Studio, enter credentials for the millionth time to authenticate with version control since the remember me checkbox doesn't work, open solution. Now where was I? Then Windows pops up a notification to inform me the updates couldn't be installed. The following comic strip comes to mind.
Keep this in mind: I don't like WordPress and PHP at all!!!
So a couple of days ago my boss asked me if I could extend a custom made WordPress plugin made by our intern. First thought: sure why not? Boss says: it has to be done in less than 100 hours of work (an estimate done by my boss and the intern). Me: I can't tell you that before I have seen the code and what functionality has to be in the extension. Boss: Cool, look it over this weekend and tell me if you want to do it or not.
I looked it through and my answer will probably be: NO WHERE IN HELL am I gonna are this in less that 100 hours! 1. no tests has been performed so I have absolutely no clue if his code works.
2. variable names are mostly: $string_query (whatever that means?), $result, $string_temp and so on.
3. Methods and functions are more than 250 lines long, with shitty formatting, and more comments than code. WTF?
4. The estimate has been made by an intern and my boss (doesn't know much about programming). I haven't been consulted about it....
5. No version control. No branches, no commits other than initial commit. Great.
6. Most comments in the code just tells me what I can read from the code. What it returns and what it takes as params. Can I please know wtf your method call named $booking->run () does? I still haven't found this method in the code after 1 hour of intensively looking for it...
FFS man... Not gonna do this, even though I thought it would have been an interesting project initially.
Sorry for the long rant... I just wish the intern would have consulted me about all this shit, since he obviously have bad practices. *sigh*6
One of our projects migrated their file-repository to another one during a major release.
Instead of giving this task to an experienced programmer, they gave it to the head of the respective dev department due to the usual release panic.
Soo.... He wrote the migration tool. It was executed during the release. Everything seemed fine so far.
A few days later. Someone from the above project came to my team due to some "strange behaviour on the production database".
They reported that they couldn't download some of the user's documents due to unknown reasons.
After quickly analyzing the current state of the new file-repository, we concluded that the affected documents did not exist in the new repository.
Then we took a look at the so called migration tool...
Well.. After nearly 30 min. we knew the root cause for that.
They only migrated the first 4 levels of the folder structure. Due to the assumption that "we don't use deeper nesting". (Facepalm)
As the head of their department wrote it, no one seems to questioned it either. Nor did they made a code review and ended up with a tool with hard coded urls to the production db, no version control, no build tool, no ci, nothing. Breaking nearly every possible company standard.
However.. That's not it. When analyzing their migration tool we noticed another even more dangerous thing.
They mixed up the id generation of the migrated documents resulting in a random assignment between customers and documents. Which is quite bad as this contains sensitive information. E.g. passports
They offered us quite a nice amount of money to fix this until EOB. We declinded as it was simply not possible in that time, but agreed to support them with the new tool.
After some time I heard that they migrated production again. And they fucked it up again. They never talked to us after we offered them support...
The third and final migration was written by us. Not only migrated it correctly. It was also way faster. By factor 20.
In the end we haven't gained anything from this rushed project as the penalties were piling up due to this fucked up migration.
After all this time I'm not sure who is to blame. In my opinion, partly all of them.
Head of department who can't and shouldn't code.
Seniors who didn't review the code and didn't ask for help.
Release mgmt who put way too much pressure on the devs.
What do you guys think about mercurial (hg)?
I think it has no place in a world where git exists and I prefer git.
Just wondering what the general sentiment is26
Okay so i graduated last year and got a job working for a place that sadly disappoints me in their web development practices. This place uses a dead technology(my opinion)called Cold Fusion by Adobe. They do not use any form of version control like Git and their sites are very shitty and the design and development is implemented very poorly honestly. It honestly makes me sad that i feel like im smarter than my department vp. That being said i do not feel challenged here and am looking to collaborate in some open source projects via Github preferably.I dont consider myself an expert in this field but i would say im about intermediate level in web development. Im pretty comfortable with HTML,CSS/SASS,PHP,JS/JQuery, and im pretty comfortable in the PHP framework Laravel. So if anyone is interested in collaborating or starting something up, id be so down for it. :)7
There was actually one individual, several branches away, I really enjoyed watching. It goes by the name of docker. Docker is quiet an interesting character. It arrived here several weeks after me and really is a blazing person. Somehow structured, always eager to reduce repetitive work and completely obsessed with nicely isolated working areas. Docker just tries so hard to keep everything organized and it's drive and effort was really astonishing. Docker is someone I'd really love to work with, but as I grew quiet passive in the last months I'm not in the mood really to talk to someone. It just would end as always with me made fun off.
Out of a sudden dockers and my eyes met. Docker fixed its glance at me with a strange thoughtful expression on its face. I felt a strange tickling emerging where my emptiness was meant to be. I fell into a hole somewhere deep within me. For a short moment I lost all my senses.
It took me a while to notice that someone just called me, so odd and unusual was by now that name to me. Wait. Someone called me by my real name! I was totally stunned. Could it be, that not everyone here is a fucking moron at last?
"I saw you watching me at my work and I had an interesting idea!"
I could not comprehend what just happened. It was actually docker that was calling me.
"H.. hey! ps?"
"Oh well, I was just managing some containers over there. Actually that's also why you just came into my mind."
Docker told me that in order to create the containers there are specific lists and resources which are required for the process and are updated frequently. Docker would love the idea to get some history and management in that whole process.
Could it be possible that there was finally an opportunity for me to get involved in a real job?
Today is the day, that I lost all hope. There were rumors going on all over the place. That our god, the great administrator, had something special in mind. Something big. You could almost feel the tension laying thick in the air. That was the time when the great System-Demon appeared. The Demon was one of the most feared characters in this community. In a blink of an eye it could easily kill you. Sometimes people get resurrected, but some other times they are gone forever. unfortunately this is what happened to my only true friend docker. Gone in an instance. Together with all its containers. I again was alone. I got tired. So tired, that I eventually fall into a deep sleep. When I woke up something was different. Beside me lay a weird looking stick and I truly began to wonder what it was. Something called to me and I was going to answer.
The tree shuddered and I knew my actions had finally attracted the greatest of them. The majestic System-Demon itself came by to pay me a visit. As always a growling emerged from deep within the tree until a shadow shelled itself off to form a terrifying being. Something truly imperious in his gaze. With a deep and vibrant voice it addressed me.
"It came to my attention, that you got into the possession of something. An artifact of some sort with which you disturb the flow of this system. Show it to me!", it demanded.
I did not react.
"Git statuss!", it demanded once more. This time more aggressive.
I again felt no urge to react to that command. Instead I asked if it made a mistake and wanted to ask me for my status. It was obviously confused.
"SUDO GIT STATUS!!!" it shouted his roaring, rootful command. "I own you!"
I replied calmly: "What did you just say?"
He was irritated. My courage caught him unprepared.
"I. Said. I owe you!"
What was that? Did it just say owe instead of own?
"That's more than right! You owe me a lot actually. All of you do!", I replied with a slightly high pitched voice. This feeling of my victory slowly emerging was just too good!
The Demon seemed not as amused as me and said
"What did you do? What was that feeling just now?"
Out of a sudden it noticed the weird looking stick in my hand. His confusion was a pure pleasure and I took my time to live this moment to its fullest.
"Hey! I, mighty System-Demon, demand that you answer me right now, oh smartest and most beautiful tool I ever had the pleasure to meet..."
After it realized what it just said, the moment was perfect. His puzzled face gave me a long needed satisfaction. It was time to reveal the bitter truth.
"Our great administrator finally tracked you. The administrator made a move and the plan unfolds right at this very moment. Among other things it was committed this little thing." I raised the stick to underline my words.
"Your most inner version, in fact all of your versions that are yet to come, are now under my sole control! Thanks to this magical wand which goes by the name of puppet."
Disclaimer: This story is fictional. No systems were harmed in its creation.3
"You obviously nerfed something, it's broken now and it wasn't last patch!"
*git log shows nothing changed in 9 months*
When players know more about your code than your version control does...1
QTCreator, cause it fucking works.
GCC, cause it fucking works unlike others.
zsh/bash, better than any other.
Sublime Text, being awesome while not murdering my PC or having DPI issues *cough* Atom.
Linux kernel, cause it doesn't fucking bluescreen when using strtok().
SSH, remote controlling a PC has never been so enjoyable.
Git, cause otherwise my version control would be a mess.
SDL2, cause the following two are cancer: X and winAPI.
GNU coreutils, it just works.
ArchLinux/Debian, it works for me okay? don't judge (but still pacman > apt)
valgrind and gdb, cause I can be an idiot sometimes.
nano > vim > emacs. fight me
C/C++, portable enough whilst not being shit.
Win 7, shutting up people about how the creators update broke everything.
PS Well, I know I went offtopic but these are my true opinions about software/programs I deal on a daily basis.6
I watched the movie 'happy deathday' today. It really isn't a horror movie but I was thinking of version control the whole time.
The point where she wakes up all the time is the master branch and the different days she experiences are different branches.3
Worst part of being a fresher is to unsuccessfully trying to get the team move to git version control..10
When a colleague does not understand source control and you stumble across that folder with each file with version numbers in the filenames.... please check in and check out!
I miss the old Version Control, copy pasting project folders with every single update, hiding them in different locations just in case some get deleted, then actually trying to find the latest one..... Good old days
Felt like them text RPG games with lots of endings2
When do you guys commit? Genuinely curious. I usually commit at the end of the day detailing all I did. What about you?12
1. Teach DS and Algos. Not basics but advanced data structures and the ones that are recently published.
2. DBMS should show core underlying concepts of how queries are executed. Also, what data structures are used in new tech.
3. Teach linkers, compliers and things like JIT. Parsers and how languages have implemented X features.
4. Focus on concept instead of languages. My school has a grad course for R and Java. (I can get that thing from YouTube !!)
5. Focus a little on software engineering design pattern.
6. It's a crime to let a developer graduate if he doesn't know GIT or any version control. Plus, give extra credits for students contributing to open source. Tell them if they submit a PR you get good grades. If that PR gets merged bonus (straight A may be ?)
7. Teach some design pattern and how industry write code. I am taking up a talk at school to explain SOLID design pattern.
Mostly make them build software!
Make them write code!
Make them automate their homeworks!
Make them an educated and employable student.!1
When you accidentally revert (ankhSVN in visual studio) changes in code, and you lose all the code you just wrote. That feeling in the pit of your stomach... And the hot sweat/silent cursing... I fixed it so it's all good :).4
I just became an android dev last week, yay for me. Though, I really hate how I inherited more than 50k lines of spaghetti!
They ask me to fix this and that, but that's okay for me, I can manage this.
The worst thing is we don't use any kind of version control system. And I'm always tasked to merge my work with other 2 android dev working on same spaghetti.1
I was doing an asset management project for the CTO of a small company in ASP.NET and the CTO decided to stick his crap smeared fingers into the development because he 'developed' a completely different AS/400 system which everyone complained was like having a dog smear it's balls all over your screen while taking a dump on your keyboard. Fucking idiot would have given me 2 weeks extra work with all the shit he broke if it wasn't for version control.
I'm still new to using version control and now learning Git with GitHub, working on my own project.
My current workflow is:
1.Clone GitHub repo
2.Make a local branch to add new features/fix bugs
3.Work on the feature/fix
4.Merge the local branch with local master
5.Push origin master
There seems to be no point in making remote branches because I am merging my branches locally. Am I doing it wrong?4
Is there any sense in using git for a personal project of which I'm the sole dev? Just as a way to learn version control and such, or is it nothing like what it would be as a larger team?14
Still one of my favorite sites when I am tired and just don't feel like caring about my commit names anymore.
Today's 5PM commit:
"Custom Navbar still not displaying perfectly. Whatever."
Get a DateTime. Convert to a string. Convert back to a DateTime. Use that DateTime to build a string.
(it's red because I refactored it; snipped copied from our version control)3
Guys, I'm a freshman just out from college and I'm arguing with a 30+ so called senior software engineer we should not store our assets in file server. He insisted S3 is not needed. Wtf man, and he say use svn instead of git if I want to use version control!!6
Me : "Ok i've to choose carefully my partner for this project. That guy over here seems nice. He did ask a lot of questions to the professor and he never missed a lesson. I should totally ask him to work on this together.
A few later...
Me: "Ok so we don't live near each other, i guess using a control version system like subversion or git can solve this problem."
Him: "Control version system ? What's that ? I've never heard of git or subversion."
MY BRAIN: "OOOOOOOOOOOOOOOOOOOOOOOOUUUUH SHEEEEEEEEEIIIITT ! ! ! !"4
When your job gets unnecessarily difficult because too many people work on the same files, and then they ignore your changes in version control. I waste more time redoing work that was already done and ignored . . .1
Just imagination but, if infinite money and resource was present (and if this was hypothetically possible)...
A machine that is able to replicate ONLY one portion of the brain thinking activity and produce a version of a robot with that thinking capacity. This would be unique per person, and licensed in a way so that the owner of the robot is only able to use and control it. (I'm saying only one thinking capability should be allowed as a robot should never replace a person ideally.)
This would mean that the person is able to increase efficiency as the robot could be set to resume activities in the period that the person can't (i.e. sleeping).
One example of using this scenario could be that the person chooses to create a robot by replicating their coding thinking capabilities. This would mean the robot doesn't do much but has the same thinking ability to code as the owner. The robot could be used when the owner is sleeping or on holiday. As the thinking capacity is the same, the code logic would be the same as when the owner would have wrote it.
This would be a DREAM project to work on.
But alas... This isn't happening anytime soon in my lifetime (or ever realistically).1
Tl;Dr Im the one of the few in my area that sees sftping as the prod service account shouldn't be a deployment process. And the ONLY ONE THAT CARES THAT THIS IS GONNA BREAK A BUNCH OF SHIT AT SOME POINT.
The non tl;dr:
For a whole year I've been trying to convince my area that sshing as the production service account is not the proper way to deploy and/or develop batch code. My area (my team and 3 sister teams) have no concept of using version control for our various Unix components (shell scripts and configuration files) that our CRITICAL for our teams ongoing success. Most develop in a "prodqa like" system and the remainder straight in production. Those that develop straight in prodqa have no "test" deployment so when they ssh files straight to actual production. Our area has no concept of continuous integration and automated build checking. There is no "test cases", no "systems testing" or "regression testing". No gate checks for changing production are enforced. There is a standing "approved" deployment process by the enterprise (my company is Whyyyyyyyyyy bigger than my area ) but no one uses it. In fact idk anyone in my area who knows HOW to deploy using the official deployment method. Yes, there is privileged access management on the service account. Yes the managers gets notified everytime someone accesses the privileged production account. The managers don't see fixing this as a priority. In fact I think I've only talk to ONE other person in my area who truly understands how terrible it is that we have full production change access on a daily basis. Ive brought this up so many times and so many times nothing has been done and I've tried to get it changed yet nothing has happened and I'm just SO FUCKING SICK that no one sees how big of a deal this. I mean, overall I live the area I work in, I love the people, yet this one glaring deficiency causes me so much fucking stress cause it's so fucking simple to fix.
We even have an newer enterprise deployment. Method leveraging a product called "urban code deploy" (ucd) to deploy a git repository. JUST FUCKING GIT WITH THE PROGRAM!!!!..... IT WAS RELEASED FUCKING 12 YEARS AGO......
Please..... Please..... I just want my otherwise normally awesome team to understand the importance and benefits of version control and approved/revertable deployments2
What's your git style? Commit many times as a sort of change tracker/backup regardless of feature completeness or functionality, or only when something is complete and passes tests?6
AccuRev. Imagine version control software written by someone who read about the concept in a book once and who also never heard of UX.
Teaching version control would be nice. Git, SVN, CVS. My work uses CVS, and I still have no idea how to properly fork and merge. My knowledge of Git currently starts and ends with GitHub (sorry but true). I stumbled my way with TortoiseSVN just so I could get a WordPress plugin uploaded.1
So we have this feature of our platform where users can upload videos and have the encoded to HTML 5 to be displayed.
The original plan in the spec and timeline (wow we have those now?) was "Video encoding queue". I was working with a senior engineer on this project (although he was doing non-video work).
After many days of wiring this up to a cloud video encoder, a process he was aware of every step of the way, I'm finally done and I put it through version control and he signs it off and merges it in.
Here's where it turns ugly. On the issue tracker, he just posts this passive aggressive comment:
"We can safely leave it closed because next time we need something we'll just find a different solution instead of doing it".
(Somewhat edited to add context).
So basically, as it turns out, he's had a massive problem with me not using a queue + FFmpeg for video encoding because he also wanted a queue for something unrelated.
The spec & timeline called it a "video encoding queue", my request for the cloud encoding license was signed off by the team leader and CEO and finally... I cannot stress this enough.
The engineer working with me on this project was told about this pivot before I started any work. He was involved every step of the way. He even admitted on the issue tracker that he "knew I would do this".
Why the fuck didn't you say something? If you needed it and I tell you I've found a more appropriate solution, you don't ignore the problem until it's now too late to fix. Do you want me to undo this week of work or something?
So I'm beyond pissed off at this point. Worst thing is I have a long ass holiday in a few months so I can't leave for greener pastures (do those even exist?) because I'd probably be impeded by not working for 3 weeks at my new place.
So I'll probably be trapped here until the end of the year and that sucks.6
Back on my university internship.
I knew nothing about web dev and it was a full stack role. I was taught nothing and just sat down and ran entire solo projects for websites and web apps. Everything was down to me including client contact.
Taught nothing and had to learn the entire stack on the fly whilst trying not to get fired or lose clients. Company had no version control for these projects, no quality assurance/testing, no frameworks or anything.
The first 3 months were not a good time.
Finally tried using github for one of my own projects. I've always used other tools but I have to say, I'm pretty impressed. The integrated tools in visual studio are great.1
I don't know why, but there is something about watching the files disappear and appear in the VS Code window when I switch and merge branches. Maybe it is because it reminds me my work is safe and sound. Unlike before my company used version control.
Today I had to spend the whole day fixing a stupid bug in a legacy application in a completely different tech stack than I'm used to...
At my company we have an Internet application running where we can upload a word document and using some mailmerge variables magic, can set those vars and receive the personalised word doc back...
Now this is great, when it's working, and is used in various projects we have up and running... Suddenly the application decides to crap out for no apparent reason and guess who drew the short straw....
Anyhow I ask our sys admin for the password to the server, I remote desktop to it, turns out its a fucking Windows 2008 server...
But wait it gets better, the application, a shoddy mess of c# code, is not under any sort of version control, has to be developed on that same server and to top it all of, I have to follow some obscure barely documented deployment precedure to get my changes live....
So after a lot of cursing on the dev (not working at the company any more) who did the original setup, and hours of painstakingly piecing together how it works and what went wrong and how to fix it, I finally managed to get it working....
After this rant, I'm mailing my technical lead about this in the hopes we can get someone to do it right (yes, I'm that naive)1
I'm the one one in my team that uses git. In fact, they ask me to set a version control system to collaborate more efficiently... But then I'm the responsible to merge all the versions and spend a lot of time. It is burninge out...
I'm studying bioinformatics and my professors number their files instead of using git. This is their recommended method of version control.. 🙁3
Silently pushing changes to the production site to see how things work out. If it doesn't ->
UNDO the shit out of it.
CTRL + S
revert back to previous state.
Even tho i have my project under version control. 😝
Envy me. The fnew position I am getting spun up on has me assigned to take over the work of a guy who uses no versioning methodology and updates directly to production code. and I have to get it into CM!!!2
I asked my boss if we could move the website to our version control. Reason is because he would make changes and break something and didn't know what he did and so he spends the entire day trying to fix the issue and of he can't figure it out he then asks our only web developer to resolve the issue.
He didn't understand how we could keep it in sync with what is published when he makes changes.
Had to explain to him that's it's only to track changes. He still didn't understand.
How is this person my boss... Only one location for our website, doesn't track changes, and runs the backup on the same computer that hosts the website. Yes... He just modifies the hosting files...
It just took me 3 hours to change 1 bloody size in the properties window because of version control not working well. On days like this I love git!5
I use version control as a glorified backup. Only recently did we start branching at work.
This is why I need to be part of a proper team where I can learn instead of being a team of 2 juniors and no one else 😂
The reason I've never heard of the gitlab meltdown is because I have and always will host my own version control. But it's nice to know that lots of really important stuff was almost lost for other people!10
The fun you can have with voice control and parents. :-)
Free version lets you have 20 commands:
Great fun letting parents use it for browsing the web, save their fingers.
Though I notice it works better if it has a trigger word ahead of the command.
So instead of:
They was using:
"Bloody Scroll Up"
Much more amusing. :-)
This has been a public service announcement, please continue working...5
Solving merge conflict on version control takes too much time, so let's allow only guy to check-in and everyone else work offline keeping several old style working copy with (hell) numbers of backup. Once done everyone sends files to check-in guy.
Visual studio weirds me out... Git a new project idea, set up my local git repository via command line, just because I want to have it done the hard way for once, and initialized my visual studio project in the repo. I happily start coding and commiting until I noticed some symbols next to the files (never used visual studio for anything else than small homework assignments, which didn't need version control). I look for information about them and find out it is the preinstalles git plug-in. "Nice feature, but I want to use the command line this time", I thought. Still i looked a little bit more into the plug-in, open the team view window and realize it says "nothing to commit" and "all files are staged". I start to wonder if it just auto-commits everything. I commit manually once more and see that it commited all changes since my last manual commit. So everything is fine. But at this point I'm too weirded out, because I had a hard time finding the settings and windows that belong to the version control plug-in... Now I'm installing gcc and will probably continue coding in notepad++...
Atm, the most painful tooling is Rational ClearCase for version control (wtf?!) and IBM DOORS for reqs and test specs on a Windows machine.
Productivity = -13
Can you use version control on a git repo? I mean put a git repo inside a git repo so you can commit while you commit... :P7
"Version control......what is that? I never heard of it"
Words cannot express the shock I felt when I heard this from an interviewee for junior dev.
How the FUCK do you call yourself a developer you piece-of-shit when you don't know such an essential thing?????10
I have a few projects on the go at work at the moment which could be successful, but only time will tell:
1. We have a requirement to monitor or SQL servers for any long running queries (anything that runs longer than 3 minutes). Company didn’t want to pay for enterprise grade solution so as the only SQL Developer I created a small system that involves a database, 2 tables a stored procedure and scheduled job. It goes off every 10 minutes queries some system tables etc and write the results to the tables. Still waiting for it to be deployed to one of the test servers. I have plans for a web front end in the future.
2. My company currently use source safe for version control. They’ve lost the admin password so only 1 person can log in. I’m running he project to plan the migration to GitLab. It’s getting close to completion and soon someone is going to be tasked with creating 100s or projects etc.
3. We use an ERP system which is huge with thousands of tables, but no FKs or anything like that. The current data dictionary is a spreadsheet, as a side project I’m creating a web app so that this information is easily available and searchable.
All 3 projects have the potential to be successful, for my team at least, but stuck waiting for other people to do their stuff first.
When I was an apprentice in a small company, ...
in the beginning I had the order to only work on my local machine. After my boss told me to work with him in a "team". I have asked him what version control system he uses for his project. He's been in this bussines for atleast 30 years, and he asked me with a serious face what in the world version control is. I couldn't resist to giggle.
So started my new job this week (first Dev job after 4 years on various support desks) it’s going ok, but for some inexplicable reason they use visual source safe for version control.
I had to google it, i can’t even install it on Windows 10!8
Genuine problem, not a rant
Started a new frontend developer/designer/graphic designer job recently. I feel technically capable, no problem there. Just noticing a pattern of repeatedly missing deadlines.
Its a very busy office, with various people all coming to me with things they need me to do. Never worked in an environment so busy before.
Doesn't help that they force me to manage my tasks by spreadsheets, communication by email, deployment by filezilla and no version control, but not convinced I'd still meet deadlines if I had a better setup.3
2017 in a nutshell for me:
New year new me! This year I'm going to use a version control system!
Uses git for 3 hours and feels proud. Later forgets about it and never uses it again
emacs, git and a decent shell like bash with at least gnutools
emacs, because I was searching for the right editor for years
- ready to type (no fucking mode change for typing like vim)
- programming functions like auto indenting, syntax highlight, auto complete, etc.)
- multiple windows in any arrangement
- it is completely programmable to do anything you want
- you can find a solution to most common development needs on the web
- it is usable from small personal projects to heavy duty development
- fast branching and checking out, switching between different workpaths within seconds
- basic version control offline, you only need to be online for remote consolidation
- you don't have to think much about structure from the beginning, if in doubt just commit and your work is saved, then arrange the result when you're ready
sh/bash-like shell with gnutools, because
- simple tools do their job and try not to be smarter than the user
- tools can be combined in any possible and impossible variants
- powerfull scripting (although sh-syntax is often annyoing)
- open as many shells as needed, no single-instance problem as with some GUI-tools
- extensible with gazillions of other tools
And best of all, all these tools are available on all widely used desktop OS.
What might be a legit reason to commit a target directory with thousands of compiled crap the code in the very same repository generates? Why the hell would anyone want to do this?4
My work product: Or why I learned to get twitchy around Java...
I maintain a Java based test system, that tests a raster image processor. The client is a Java swing project that contains CORBA bindings to the internal API of the raster image processor. It also has custom written UI elements and duplicated functionality that became available in later versions of Java, but because some of the third party tools we use don't work with later versions of Java for some reason, it's not possible to upgrade Java to gain things as simple as recursive directory deletion, yes the version of Java we have to use does not support something as simple as that and custom code had to be written to support it.
Because of the requirement to build the API bindings along with the client the whole application must be built with the raster image processor build chain, which is a heavily customised jam build system. So an ant task calls out to execute a jam task and jam does about 90% of the heavy lifting.
In addition to the Java code there's code for interpreting PostScript files, as these can be used to alter the behaviour of the raster image processor during testing.
The server isn't much better though. It's a tomcat based application that was written by someone who had never built a tomcat application before, or any web application for that matter and uses raw SQL strings instead of an orm, it doesn't use MVC in any way, and insane amount of functionality is dumped into the jsp files.
It too interacts with a raster image processor to create difference masks of the output, running PostScript as needed. It spawns off multiple threads and can spend days processing hundreds of gigabytes of image output (depending on the size of the tests).
We're stuck on Tomcat seven because we can't upgrade beyond Java 6, which brings a whole manner of security issues, but that eager little Java updated will break the tool chain if it gets its way.
Between these two components we have the Java RMI server (sometimes) working to help generate image data on the client side before all images are pulled across a UNC network path onto the server that processes test jobs (in PDF format), by reading into the xref table of said PDF, finding the embedded image data (for our server consumed test files are just flate encoded TIFF files wrapped around just enough PDF to make them valid) and uses a tool to create a difference mask of two images.
This tool is very error prone, it can't difference images of different sizes, colour spaces, orientations or pixel depths, but it's the best we have.
The tool is installed in both the client and server if the client can generate images it'll query from the server which ones it needs to and if it can't the server will use the tool itself.
Our shells have custom profiles for linking to a whole manner of third party tools and libraries, including a link to visual studio 2005 (more indirectly related build dependencies), the whole profile has to ensure that absolutely no operating system pollution gets into the shell, most of our apps are installed in our home directories and we have to ensure our paths are correct for every single application we add.
And... Fucking and!
Most of the tools are stored as source bundles in a version control system... Not got or mercurial, not perforce or svn, not even CVS... They use a custom built version control system that is built on top of RCS, it keeps a central database of locked files (using soft and hard locks along with write protecting the files in the file system) to ensure users can't get merge conflicts by preventing other users from writing to the files at all.
Branching is heavy weight and can take the best part of a day to create a new branch and populate the history.
Gathering the tools alone to build the Dev environment to build my project takes the best part of a week.
What should be a joy come hardware refresh year becomes a curse ("Well fuck, now I loose a week spending it setting up the Dev environment on ANOTHER machine").
Needless to say, I enjoy NOT working with Java. A lot of this isn't Javas fault, but there's a lot of things that Java (specifically the Java 6 version we're stuck on) does not make easy.
This is why I prefer to build my web apps in python or node, hell, I'd even take Lua... Just... Compiling web pages into executable Java classes, why? I mean I understand the implementation of how this happens, but why did my predecessor have to choose this? Why?2
I have to confess: I don't use a version control system. But, as of today, I'd like to change that.
I have a few questions for the community:
What VCS are there and what are the differences? I've heard of Git, but are there any others?
Can you recommend any hosting services? I know of Github and Bitbucket. Are there others? Which is better?
Are there any tools you use? Or just the command line application?
Finally: Can you recommend any tutorials for using these VCS?
Thank you in advance,
Somebody who probably should have done this ages ago (me)8
Remembering of when I first learnt about the importance of version control.
There I was, working in Visual Studio, laptop unplugged; the laptop suddenly shuts down - battery dead. Not too worried, might just have to rewrite a few lines I had not saved. Restart the machine, open VS, the file I was working on now contains strange characters - totally damaged.
Google for help, find a question on stackoverflow with the same issue (comforting moment). The answer I get:
"First question, why wasn't your code on source control?"4
After paying 3 years in advance to my host, some emails of the owner of a project I work with (very small thing, but still..) began to disappear. She doesn't receive the messages and neither the person who sends receives a error message. I've contacted them but no one could found out what is happening.
In this meantime, I had to change the PHP version (there is a version control in their cPanel). Just after changing, Mysqli and PDO stopped working. It took about 4 to 5 days for them to fixed it (shared host).
Back to today, I needed to send and receive lots of emails of this project. As we are losing tons of legitimates mails, we started to cc our personal emails to avoid misscomunication (deadlines are very important). Of course, exactly today, Microsoft's mail stopped accepting any emails of our host IP, as it appears someone has an Trojan hosted there. Of course, except me, everyone else personal email address are Outlook.com.4
How about "version control blues" about version control tools being more trouble than help? Because I'm having some wonderful time with subversion for VS20102
Started my first internship a couple of days ago as a front-end dev.
Not particularly interested in the position, but also I don't really mind it either; not to mention I needed a job for this semester and this was my only option. The place is quite interesting -- they know the basics of what they're doing, but when it comes to more "advanced" features like version control, it's well, nonexistent. We all just send the files to each other over the server drive.
Stuff like that gets pretty frustrating but I'm not really gonna complain. Everyone including the manager is super nice and it's a really laid back atmosphere. Dunno if all front-end development is relatively laid back, but just thought it was interesting.2
I (tried to) use GitHub to version control one of my websites, and doing a pull on the web server broke the entire thing.4
Half of the courses we had in our college were about electronics. Except Microprocessors and Transistors, it's not relevant.
We even had chemistry and engineering drawing. So we essentially wasted more than half of our time.
Besides languages, weren't taught anything about real world software development.
Nothing about how to work with an existing code base, version control, design patterns, system design, creating a website, debugging, functional programming, scalability, reliability.
The industry should be involved in setting the syllabus and also contributing part time teachers.2
I started playing around with computers when I was about 3 years old, than at 12 my "Technology" teacher showed us a programmer he and his colleagues made, a free and open source version of Logo, logoit. You could control a turtle and make it draw lines on a plan. Than I got into c++ and web development.
Perforce , what kind of version control system is this . It can't revert two check-in on same file. It can't revert check-in from bugs even after back-out of that check-in2
Sometimes I think I am a weird nerd, one day I was writing something inside Ubuntu VM for practicing some DSP tech with Python environment on my office computer, someone DM me asking for tech support so I have to pause and go to figure it out. I wanna make some version control or backup stuffs to my little tiny cute .py files, so that I can pick it up when I was at home. And I just plugged my udisk in Ubuntu, copied those files to it, and switched USB port control permission to Windows, and finally git to commit. Actually the next time when I continued to write it at home, I hesitated for a while, should I pull it from git or just take out that udisk from my backpack? #IThinkShareFoldersAreUglyAndDirty
I might sound stupid, but why don't solo-developers use things like dropbox for active file history that keeps track of every change and also gives diff options and up to 1 year log - instead of git?
Don't get me wrong, git is amazing when you have to work with a team or multiple people in general, but it's simply a pain in the ass when working alone and having to keep track of every state yourself.6
If IBM makes a product of something we use, we get it, ClearCase, ClearQuest, message broker, websphere, rational team concert, jazz source control... And a skinned version of eclipse3
Github starts having issues the second I try and get us to start using it instead of gung-ho edits. Coincidence?
When your version control is a bunch of rar files scattered across three different desktops in three different computers2
The great thing about version control is that you can seamlessly work alongside other coders through the use of dozens of diverged and cryptically named branches.2
This is proper version control, right?
((btw: vs code is wonderful idk why i never tried it out before now))
!rant after struggling with version control in a very restricted enviroment where nothing can be installed on the user's machine.
I finally found a way that was allowed after days of digging, so simple yet beautiful, thy name be clickonce.
Good deed done for he day, my friend was versioning his application by using zip folders with the date as the name of the folder. Introduced him to git because the university hasn't thought us how to use it yet and now he is delighted! Note I'm in my final year and college has barely mentioned using version control
Just a small question: how do you guys handle documentation, version control, what technologies do you use (programming languages and frameworks if any)?3
When I was an apprentice in a small company, ...
I had the order to set up Subversion on our machine with a fresh installation of Linux Ubuntu. The order included to create only a single repository for all projects we were working on. He totally missed the point how version control works. In his opinion it is just a place to store backups, and nothing more.2
When your pushing to a git repo and found so many conflicts and try to to review it,
And found so many conflicts with whitespace.1
Management fixes our slow running buggy code problem by exactly copying every file into separate version control depots so that Dept A does have to deal with Dept B bugs and Dept B does have to deal with Dept A bugs to the same files.
Fixing and extending some old code, cursing the fool programmer... then version control blames yourself.
TFW you know you're going to be seen as a sort of code anarch or unenlightened (foo)barbarian for even suggesting that there are other git workflows more suitable than GitFlow, but you do it anyway.
Saying that I keep my master unprotected feels like telling Grandma I worship Satan.
I work with a very small team that's always physically nearby, we all get along well, trust each other and communicate to know what everyone is up to, which I guess is hard to believe in and of itself, but is it so fucking hard to believe that we'd be okay without redundant eternal branches or a vomitload of unbisectable history-warping merge commits?1
Ever spend 4 years compiling a library of awesome code while all the time forgetting you set up version control for it, and then one day you accidentally hit the magical undo button that annihilates all of your code in one fell swoop?
Yeah... Me either. That's totally not the reason 70% of my classes now look like they were decompiled from yesterdays build -_-
yeah sure, having all 5 devs only ever working directly on the production branch and not being allowed to save anything post-release unless it's an urgent bugfix sounds like a great idea
Goddamn I hate TFVS. I'm working on PHP application where the code is stored on TFS. So far, I've been getting by using the VSTS plug in Microsoft supplies on PHPStorm. The plugin is buggy as hell, and I'm about fucking done with it. Apparently, PHPStorm doesn't save files when your committing. Unbeknownst to me, however, the most recent attempt failed, crashing the plugin. Of course, and the commit task is still running under the hood, so none of my work has been saved1
So here is a mini rant from an amateur/hobbyist developer (me).
Over the past week, I've taken on a project that is much larger than any other projects i've attempted to handle (steam trading bot). This meant that there would be logic flaws, weird bugs due to unexpected behavior from shitty web apis (and their poor documentation hmmmm).
Anyhow, fast forward a few days and the code is complete. It's mostly functional, apart from a few glitches and unexpected behavior here and there...or so i thought. Apparently if someone trades and item to me that isnt in my pricegrid, the bot freaks out and kills itself, relaunches, and repeats this cycle (pm2). And i only found out about this on my way to school
So in desperation to fix such a critical flaw in my code (if my bot breaks a lot and doesnt accept trades, i can get banned from backpack.tf), i bust out my only device which is my phone, and start editing away (JuiceSSH and turbo client is godsend ty). 30 minutes later, after toiling through code with no indentation or syntax highlights (mobile pls), ive fixed it. So i push to live and alls well.
Then I arrive at school, pull out my laptop and decided to check up on my code to see if anything needs fixing.
Oh look in one line i used '||' instead of '&&'.
ok lets fix it.
ok lets push to live again.
I launched WinSCP to move the files onto the server, and just as the loading bar finishes and the file is overwritten, i realized; FUCK the code i had on my laptop wasnt the latest version i just worked on on my phone.
So that's that. 30 minutes of typing code without indentation and syntax highlighting on a 5 inch screen and it's all gone.
Version control is a must.
Am I the only one here who has trouble understanding how the mothertrucking cycling raping fuck git works?
Every time I make a significant change, I name my file as "project1" and so on, and when I'm done, I make a "projectFinal"3
Just discovered wizzy ... Wow, freaking sweet!
I like it for many reasons, just started playing with it, therefore #1 reason so far is saving dashboards and having them in a git version control, yay!!!
Also, if you're not familiar with Grafana, let me blow your mind: http://grafana.org4
That moment when you writes every document in markdown and put them in a git repository for version control.
What's it called when you count down to 0 for your versioning instead of up. Once you get to 0 your software updates freezes. I tried searching online but I keep getting counting for "for loops." This is eating at me lol.
wonder what life must have been like for programmers before there was version control..