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 - "vcs"
Me and my wife are software engineers
Started dating while doing a project together
I guess you could say that we...
MERGED WITHOUT CONFLICTS20
My mom died when I was 7, after which my dad bought me a Commodore 64 so I had something to lose myself in during the mourning process.
I learned everything about that system, from my first GOTO statement to sprite buffers, to soldering my own EPROM cartridges. My dad didn't deal with the loss so well, and became a missing person 5 years later when I was 12.
I got into foster care with a bunch of strict religious cultists who wouldn't allow electronics in the house.
So I ran away at 14, sub-rented a closet in a student apartment using my orphan benefits and bought a secondhand IBM computer. I spent about 16 hours a day learning about BSD and Linux, C, C++, Fortran, ADA, Haskell, Livescript and even more awful things like Visual Basic, ASP, Windows NT, and Active Directory.
I faked my ID (back then it was just a laminated sheet of paper), and got a job at 15-pretending-to-be-17 at one of the first ISPs in my country. I wrote the firmware and admin panel for their router, full of shitty CGI-bin ASP code and vulnerabilities.
That somehow got me into a job at Microsoft, building the MS Office language pack for my country, and as an official "conflict resolver" for their shitty version control system. Yes, they had fulltime people employed just to resolve VCS conflicts.
After that I worked at Arianespace (X-ray NDT, visualizing/tagging dicom scans, image recognition of faulty propellant tank welds), and after that I switched to biotech, first phytogenetics, then immunology, then pharmacokynetics.
In between I have grown & synthesized and sold large quantities of recreational drugs, taken care of some big felines, got a pilot license, taught IT at an elementary school, renovated a house, and procreated.
A lot of it was to prove myself to the world -- prove that a nearly-broke-orphan-high-school-dropout could succeed at life.
But hey, now I work for a "startup", so I guess I failed after all.31
The typical devRanter
1. Uses dark theme of IDE and devRant app
2. Hates his/her clients
3. Likes Arch based distros
4. Checks his/her ++'s count or notifications after publishing a rant
5. Hates facebook
6. Associate the morning with a cup of coffee
7. Can't do any job when there are no headphones
8. iPhone vs Android? - fuck, they both are good/bad
9. Every time googles git command to remove a local branch
10. The best VCS is git, but I never used any other VCS25
A Professor of mine - We need u to build that website so that your juniors could work on it too after u leave.
Me - Sure, I'll have docs and vcs
Prof : Whatever, at the end we need the "exe" ready.
When GitHub sent me these for my presentation on VCS in Google developers group meetup...
I forced my friends to use git(hub) as vcs because their project was in a usb-to-usb state, which was unacceptable for me. So I offered them my help and uploaded it (with a little bit of a forced consent) to github, to end this misery. Of course I helped them the basics of git. Now they automatically use git(hub) as vcs and to share their code.
I feel proud for this :)11
I'm a simple man, I want to:
- get along with everybody
- be able to depend on my coworkers
- use whatever editor I want
- have vcs (preferably git)
- listen to music while coding
- work with people who share my hobbies (optional)7
1. No more coding on paper! Why can some already write essays on laptops but programmers are stuck with "analog"?
2. No vendor lock-ins! Teach free, cross-platform development, not VB.NET.
3. No more professors stuck in the eighties! If all you know is 6800 assembly, GTFO. I heard NASA was hiring...
4. Enforce code style consistency, proper documentation and even VCS for larger projects
5. Algorithms -> scripting -> programming. Don't quickly explain the basics, then throw students straight into Java.10
left a company over 3 years ago because they wanted me to dumb my code down so that the other devs could understand it. they wouldn't allow me to use classes in my code lol. anyway, 3+ years later figured I would try to log in to some of the admin panels... passwords still the same. MySQL dbs... passwords the same... cpanel... passwords the same. smh. even if I still worked there the passwords should be changed every so often. top notch security right there. funniest part is they don't even do backups or use VCS for the code. sad sad company. glad I'm no longer there. my personal projects have more security, redundancy and fail over lol4
Let the student use their own laptops. Even buy them one instead of having computers on site that no one uses for coding but only for some multiple choice tests and to browse Facebook.
Teach them 10 finger typing. (Don't be too strict and allow for personal preferences.)
Teach them text navigation and editing shortcuts. They should be able to scroll per page, jump to the beginning or end of the line or jump word by word. (I am not talking vi bindings or emacs magic.) And no, key repeat is an antifeature.
Teach them VCS before their first group assignment. Let's be honest, VCS means git nowadays. Yet teach them git != GitHub.
Teach git through the command line. They are allowed to use a gui once they aren't afraid to resolve a merge conflict or to rebase their feature branch against master. Just committing and pushing is not enough.
Teach them test-driven development ASAP. You can even give them assignments with a codebase of failing tests and their job is to make them pass in the beginning. Later require them to write tests themselves.
Don't teach the language, teach concepts. (No, if else and for loops aren't concepts you god-damn amateur! That's just syntax!)
When teaching object oriented programming, I'd smack you if do inane examples with vehicles, cars, bikes and a Mercedes Benz. Or animal, cat and dog for that matter. (I came from a self-taught imperative background. Those examples obfuscate more than they help.) Also, inheritance is overrated in oop teachings.
Functional programming concepts should be taught earlier as its concepts of avoiding side effects and pure functions can benefit even oop code bases. (Also great way to introduce testing, as pure functions take certain inputs and produce one output.)
Focus on one language in the beginning, it need not be Java, but don't confuse students with Java, Python and Ruby in their first year. (Bonus point if the language supports both oop and functional programming.)
Use industry standards. Notepad, atom and eclipse might be open source and free; yet JetBrains community editions still best them.
For grades, don't your dare demand for them to write code on paper. (Pseudocode is fine.)
Don't let your students play compiler in their heads. It's not their job to know exactly what exception will be thrown by your contrived example. That's the compilers job to complain about. Rather teach them how to find solutions to these errors.
Teach them advanced google searches.
Teach them how to write a issue for a library on GitHub and similar sites.
Teach them how to ask a good stackoverflow question :>6
Today I learned Slovakia is in fact a version control system, not country.
Things you find on Wikipedia these days.. 🤔10
You know those alcohol breathalyzers they put on cars when you drunk drive?
Putting those on our VCS server.1
"when i die i want my group project members to lower me into my grave so they can let me down one last time"
Last year in College, I had two simultaneous projects. Both were semester long projects. One was for a database class an another was for a software engineering class.
As you can guess, the focus of the projects was very different. Databases we made some desktop networked chat application with a user login system and what not in Java. SE we made an app store with an approval system and admin panels and ratings and reviews and all that jazz in Meteor.js.
The DB project we had 4 total people and one of them was someone we'll call Frank. Frank was also in my SE project group. Frank disappeared for several weeks. Not in class, didn't contact us, and at one point the professors didn't know much either. As soon as we noticed it would be an issue, we talked to the professors. Just keeping them in the loop will save you a lot of trouble down the road. I'm assuming there was some medical or family emergency because the professors were very understanding with him once he started coming back to class and they had a chance to talk.
Lesson 1: If you have that guy that doesn't show up or communicate, don't be a jerk to them and communicate with your professor. Also, don't stop trying to contact the rogue partner. Maybe they'll come around sometime.
It sucked to lose 25% of our team for a project, but Frank appreciated that we didn't totally ignore him and throw him under the bus to the point that the last day of class he came up to me and said, "hey, open your book bag and bring it next to mine." He then threw a LARGE bottle of booze in there as a thank you.
Lesson 2: Treat humans as humans. Things go wrong and understanding that will get you a lot farther with people than trying to make them feel terrible about something that may have been out of their control.
Our DB project went really well. We got an A, we demoed, it worked, it was cool. The biggest problem is I was the only person that had taken a networking class so I ended up doing a large portion of the work. I wish I had taken other people's skills into account when we were deciding on a project. Especially because the only requirement was that it needed to have a minimum of 5 tables and we had to use some SQL language (aka, we couldn't use no-SQL).
The SE project had Frank and a music major who wanted to minor in CS (and then 3 other regular CS students aside from me). This assignment was make an app store using any technology you want. But, you had to use agile sprints. So we had weekly meetings with the "customer" (the TA), who would change requirements on us to keep us on our toes and tell us what they wanted done as a priority for the next meeting. Seriously, just like real life. It was so much fun trying to stay ahead of that.
So we met up and tried to decided what to use. One kid said Java because we all had it for school. The big issue is trying to make a Java web app is a pain in the ass. Seriously, there are so many better things to use. Other teams decided to use Django because they all wanted to learn Python. I suggested why not use something with a nice package system to minimize duplicating work that had already been done and tested by someone. Kid 1 didn't like that because he said in the real world you have to make your own software and not use packages. Little did he know that I had worked in SE for a few years already and knew damn well that every good project has code from somewhere else that has already solved a problem you're facing. We went with Java the first week. It failed miserably. Nobody could get the server set up on their computers. Using VCS with it required you to keep the repo outside of the where you wrote code and copy and paste changes in there. It was just a huge flop so everyone else voted to change.
Lesson 3: Be flexible. Be open to learning new things. Don't be afraid to try something new. It'll make you a better developer in the long run.
We sat down one day and worked for 4 straight hours. We finished the whole project in that time. While other teams were figuring out how to layout their homepage, we had a working user system and admin page and everything. Our TA was trying to throw us for loops by asking for crazy things and we still came through. We had tests that ran along side the application as you used it. It was friggin cool.
Lesson 4: If possible, pick the right tool for the job. Not the tool you know. Everything in CS has a purpose. If you use it for its purpose, you will save days off of a project.1
I've always thought companies not using any kind of vcs is a myth. Today I learned that one of my friends is working for such a company.6
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.
Why do people jump from c to python quickly. And all are about machine learning. Free days back my cousin asked me for books to learn python.
Trust me you have to learn c before python. People struggle going from python to c. But no ml, scripting,
And most importantly software engineering wtf?
Software engineering is how to run projects and it is compulsory to learn python and no mention of got it any other vcs, wtf?
What the hell is that type of college. Trust me I am no way saying python is weak, but for learning purpose the depth of language and concepts like pass by reference, memory leaks, pointers.
And learning algorithms, data structures, is more important than machine learning, trust me if you cannot model the data, get proper training data, testing data then you will get screewed up outputs. And then again every one who hype these kinds of stuff also think that ml with 100% accuracy is greater than 90% and overfit the data, test the model on training data. And mostly the will learn in college will be by hearting few formulas, that's it.
Learn a language (concepts in language) like then you will most languages are easy.
Cool cs programmer are born today😖31
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
I was in second year of University when I joined the internship, I knew the business idea sucks and he wouldn't be able to carry out the operations either. Little did I know that I will work with the dumbest team ever, literally, the dumbest.
So, the major chunk of the software was outsourced to a consultancy. I was a tech intern, and we were developing an Android App that will save your parking location, let you reserve locations and all etc.
I knew I have stepped on a wrong turf, but again, I had nothing better to do that summer. So, for a very meager stipend, I said yes to a very stupid project. Let the stupidity flow...
~ The boss, had quit his job for this dumb idea with no funding, no team, nothing.
~ He was pursuing a certification course in Android Development from somewhere, where their final project will be a calculator!
~ He had little to no tech skills, hardly knew Java but was leading an Android App Dev project in Java. He had little to no managerial, marketing or sales skills either.
~ For a brief period, I had to work along with the consultancy guys to ramp up their work. They would take backups in a USB drive every evening, and share each others code using the same. VCS died a painful death that day.
~ They hardly wrote functions, rather, wrote very long code in the main (onCreate) function. Code style died of cancer.
~ They couldn't compress an image before sending it to a server. I had to do it for them.
~ Had no concept of creating utility classes.
And best of all,
~ Wrote 20 cases (switch case) with the same code! Instead of using a loop...2
"We don't use a VCS like git, what are you opinions on this?" This is great in my opinion. You get to see some people sheepishly agree and say it's fine and try back it up, or people put valid points why they think it's wrong. You can start to gauge a person's personality after a few of those kinds of questions.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"
I like, that many code hosting sites are shutting down (Google Code, Codeplex). This does not mean those sites are bad.
The ones I like and use are GitHub, GitLab, Bitbucket (and most personal ones like Gogs or GitLab CE).
Here is my list of the sites I don't like:
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
1. No paper-pen exams asking defination of OOPs.
2. Introduction of VCS (e.g. GitHub, SVN, etc.)
3. Introduction of new programmimg languages in the curriculum.(Pls stop with C/C++...there are 1000s of tutorial for that)
4. Give access to licensed software. (Especially in India we were forced to use cracked softwares).
There is a lot to change. But i think mentioned all the important stuff.3
As devs, our keyboards are arguably the most used tools in the creative process of software development. Shortcuts are essential for (most of) us.
What's your most used keyboard shortcut in your most used IDE? Please explain what it does in which IDE.
Mine is Cmd+Alt+L in IntelliJ (reformat code, but only VCS changed or selected lines). I press it all the time, almost maniacally, after changing anything.
Close second place candidates: Shift+F6 (rename anything, e.g. file, class, function, variable), double Shift (search everywhere), Cmd+Alt+F (find in path, also in code), Cmd+B (go to declaration).12
FUCK YOUR FUCKING FUCK SHIT .GITIGNORE FILE! WHY CAN'T YOU JUST FUCKING REMOVE THE IGNORED FILES FROM THE VCS? EVEN GIT RM --CACHED --FORCE DOES NOT WORK WTF
"git" your shit done.
Leading a team of 10 people, 5 environments (3 non prod 2 prod) to support, 25 formal deployments per week, and all I have is one fucking repository in fucking svn.
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
My new mobile development teacher just admitted he has never learnt git or any other VCS, I asked him what he does when shit happens and he just said,
"I just have a folder for each version backed up to Google Drive"
This is the guy that's teaching us? Surely as a teacher you should be setting a proper example and using good practises....?16
I hate silicon valley.
They enable so much of the state's and federal government's bullshit, the corporations and the banks subversion and destruction of society.
It's time to pop their fucking tech bubble.
From here on out, any time you hear or read the words 'startup', be sure to comment with "you mean speculative marketing investments?"
Because most tech runs on shit-tier semi-polished iterations of glorified CRUD anyway, thats all most of it is. And it 100% relies on grabbing network share through massive advertising and presence campaigns. A lot of vc money is being flushed straight down the toilet and this is a point to emphasize. Crash the fucking tech sector. Do it.
It'll have a knock on effect to the advertising space, which will put the hurt on google's bottom line when they and their ilk are already under pressure for all the poisonous, monopolist shit they pull like helping china build their surveillance tech.
Extra points for emphasizing "pot-fueled ideas sketched out on napkins while sitting in fucking chipotle, in unwashed sweater vests, originated by guys who are fresh out of college and never ran a business in their life. 90% of them fail in the first year. VCs and investor are losing their shirts." etc.
The entire dishonest fucking trade relies on other people's money, being bought out in either techno land-grabs or turf-protection e.x. atlassian acquiring trello, a **glorified todo app**.
Thats the business model. Hell go build your own and make a buck.
Build your own. Build something better and most of all... *fuck silicon valley*.
Let it burn, let burn, let it burn.12
I know that this will bring me many new enemy's but I'll just say it.
I like Mercurial more than Git.5
Git: the occasionally frustrating, dangerous, and infuriating VCS you can't believe you were living without.
Anybody here listens to podcasts? Share if you do. Suggest some podcast on topics like programming and business startup, VCs etc.12
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.
PHPStorm is soo good! I like the integrated VCS, DB and Terminal (except the ugly cursor block). Also I like the powerful code autocompletion + material theme
But I will not ditch VS Code :)6
Just needing somewhere to let some steam off
Tl;dr: perfectly fine commandline system is replaced by bad ui system because it has a ui.
For a while now we have had a development k8s cluster for the dev team. Using helm as composing framework everything worked perfectly via the console. Being able to quickly test new code to existing apps, and even deploy new (and even third party apps) on a simar-to-production system was a breeze.
We are now required to commit every helm configuration change to a git repository and merge to master (master is used on dev and prod) before even being able to test the the configuration change, as the package is not created until after the merge is completed.
Rolling out new tags now also requires a VCS change as you have to point to the docker image version within a file.
As we now have this awesome new system, the ops didn't see a reason to give us access to kubectl. So the dev team is stuck with a ui, but this should give the dev team more flexibility and independence, and more people from the team can roll releases.
Back to reality: since the new system we have hogged more time from ops than we have done in a while, everyone needs to learn a new unintuitive tool, and the funny thing, only a few people can actually accept VCS changes as it impacts dev and prod. So the entire reason this was done, so it is reachable to more people, is out the window.3
You know what I hate more than bugs/shitty docs/no VCS?
Recoding the whole damn thing in another language, from ground up to do exactly the same shit. Why WHY must developers shit hundreds of solutions into space only to say "Huh, look at my software, it was I who developed it." No, you simply recoded it and wasted your time and everyone else's time searching for a solution.1
I realised, that Git now has the same problem as Windows:
Its widespread because its widespread.
There are, especially for smaller projects, few reasons to actually use Git instead any other VCS.
Look at the landscape of free repo hosting.
There are hundreds, if not thousands of free Git hosters.
A handful of free Mercurial hosters,
Launchpad for Bazaar and I didn't even find a free SVN hoster.
Everyone uses Git, because there are Services for it, and there are Services for it, because everyone uses it.5
The moment you realize that your dev colleague has just totally given up on the project (and you get why)...
The best way to get funding from VCs now is to include the following words: ML, AI, IoT. To even blow their minds more, add Blockchain.2
Some cheapskate insists on writing a guide to selfhost <software> on Heroku and wants to add it to the official documentation, promising to maintain it (since none of the other devs are using or planning to use Heroku). I volunteer to give them a chance on grounds of it being high quality and maintained by that person in the future which they both promise.
Our docs are written as markdown files on github.
So here we go:
Starts a pull request: uploads their """guide""" as a docx. The content is completely unformatted, basically just an enumerated list.
Tell them to format it as markdown, suggest using github gists.
They go ahead and copy pasta their unformatted list into a gist.txt "allright i made it into gist for ya"
Tell them that they did not format it as markdown.
"sorry updated it in markdown :P"
I look at the file, it is still raw text in a gist.txt. Maybe a bit more spaced out, not that I would care to notice any changes at this point.
Tell them it is still not markdown and link them to a perfect example of another guide that takes advantage of code fragments for commands etc and is properly rendered since it uses .md
"I updated it to the markdown this time XP Can you give me some suggestions on how it looks?"
"How it looks"... "how it LOOKS"... I click the link for the 5th time and IT IS STILL JUST A RAW FUCKING GIST.
Jfc that person has some serious reading/thinking disability. To imagine them to be proactively keeping their guide up to date in the future is absolutely impossible. At that point I pulled out my support for the request since it was already taking more effort to even get a readable version of guide than I estimated for the whole process of adding it.
Oh, and one of the steps originally suggested in the """guide""" was adding the credentials file into the vcs.2
I was never a big fan of Github to be used within a company. So about 3 years ago where I used to work I implemented all the tools from Atlassian. Like litteraly all of them. And first I was stunned of the possibilities I had with Jira, Confluence, Bamboo and Bitbucket! But while self-hosting all thoose services you always felt, that Atlassian just bought all thoose companies and "threw them together"
BUT with newest features of Gitlab, I think they outperformed everyone! I absolutely love what they offer, even as a free service. They integrate all features in one product where you would otherwise relay on different products.
Whats important to you when it comes to VCS?3
So I just spent a 7 fucking hours recreating a feature just to find out that I already did it once. Don't forget to checkout the correct branch fellas.
Sometimes I feel like, if anybody would have told me, the real use of GitHub, bitbucket or any other version control systems. Then life would have been much easier.
I remember in my college days, I use to keep the code backup in several different places on my system as well as Google drive and Dropbox..
For working parallely with the team-mate in college means...sharing of changed code..every now and then..via mail😫
Git, bitbucket you're the real MVP. Period.2
We've got a big legacy app which we have to rewrite. The current client applications are only working on XP(!). We have to move the clients to the browser so we can finally get rid of all XP vm-s. The db schema is complex but still 1000+ stored procedures and functions and about a hundred tables with 13 years of data.
So I ask the guy responsible for maintaining the DB code. (he is ~25 years older than me)
me - Where is the source of the database. Which project?
he - Where would it be? It's in the db.
me - So we've got a huge db without VCS, upgrade/downgrade scripts, etc?
he - Yes. I don't get why young developers always want to use shiny new tech like git just because it is cool. It has nothing that an external usb backup drive can't do.
me - VCS has been around since the early 1980's...
he - If you really want, you can put it under git or whatever, so you can sleep better, but I still think it is stupid and a waste of time.
I get that it's hard to keep up, but getting personal...
markdown is not good enough! the tools aren't there for non-devs and there's no concordance on moving forward *compatibly* for anything other than headers and __possibly__ lists.
md has been around for years and still no consensus on comments, meta data, css, data imports, etc.
i could never in good faith recommend to a non-dev to use markdown, even though every academic and professional writer from legal to journalism should exclusively be using markdown to write and store their documents. the data portability and ease of search, retrieval, collection, distribution, etc of markdown compared to pdf or docx is enormous. markdown is the hex format of text, the perfect layer of data and visual so that the user and the computer can both operate on text as blocks of data rather than weirdly styled paragraphs that need to be reformatted BY HAND for citation-style or journal format, or paper size. FOR EACH SUBMISSION. Academics literally rewrite their 100-page papers to accommodate up to 10 different submission requirements.
They could be clicking MLA vs Chicago and/or using a journal's stylesheet to recompile for its styles.
Today there is some support from zotero et al to take away some of the pain, but it makes ZERO SENSE for writers to have to keep and store and keep up to date, multiple versions of the same document. Git pull does not exist for them. But the worst part is that git isnt the solution to their problem. They need a compiler more than they need version control. But they also desperately need vcs. They ALL literally have a million files named "dumdum.dumFINAL-3084_lastversion \2020, this one.dum".
They dont have git or anything like it, because they need a line-by-line solution like markdown for git to become effective.
All of writing is basically mired in the fact that people cant even roll up their paragraphs and see what the fuck it is theyre saying. Most writing reads like a long scroll through some nonsense that goes nowhere. Like this rant. but the point is that markdown and line-by line editing actually produces more logically sound writing. You start to think in terms of defining ideas in blocks, ... like code.11
Made lots of features to a side project that I was gonna publish in uni. There was some merge conflicts. And I tried to fix by copying files from a backup of the repo I was using.
Accidentally deleted the latest repo instead of the backup. All additions were uncommitted.
That was when I started taking special care with VCS
Those moments when you get up hoping that you don't screw up your day but then end up bugging your code rather than debugging it and then Git/other VCS comes to your help.2
So, funny story with a bit of self promotion at the end.
I was recently checking out some apps on playstore and found that my first ever , "launched just to experiment" app (released 1.5 years ago) has received more than 5k downloads . I was very happy about that so posted a small message on LinkedIn .
Now , my LinkedIn profile consists of 98% people who are totally strangers and never met me ( is it just me or do you also get a lot of stranger connect requests there?). So my usual post rarely ever goes beyond 5 or 6 likes.
Bit idk how there too my post got 35+ likes and now i was on cloud9.
So i finally decided to kick my ass and release some update to that app ( it had around 70% pity comments like "nice first app,but it should have this x feature",. "overall nice but it could use an x feature " etc.
And boy what my journey was in the last 72hours.
Firstly my madhead laptop started killing me with the battery failures and constant hang.
Then my past asshole self tried to give me a middle finger. So i have this whole partition in my memory where i keep my Android stuff and apps. It has a special folder named published zone and i keep all my published app codes and related files there.
I was fairly certain that this app's code eill be also there,so i opened it, found the code and tried running it.
Turns out my asshole self had tried to mess around the code so much that all the db layer WAS fucked up, all the ui WAS changed and no code was working.
"Not to worry", i thought. I always use git and there would be a correct version some commits before. WRONG. I HAD CHANGED THE WHOLE FUCKING WORKING PRODUCTION CODE AND DIDN'T MAINTAIN A VCS!
Also this was the verbose and shitty java code my 1.5 year before self so loved to write, so it was taking me way more time to figure out what's happening in an already fucked up code.
So i tried a couple of ways to get back my working code :
- I tried looking for a google recommended solution. Those guys take my whole app code build and distribute via playstore, but they provide no means to retrieve back the original code.
- i checked my (occasionally) back up hard disk but no. My hard disk would have 100s of movies from 2016 , but not a useful piece of fuckin code.
- i also tried to get my apk and decompile it via some online decompiler. Here the google again fucks up and don't allow me to get my apk directly. Meanwhile i found a ton of shady websites which are hosting an apk of my app without my knowledge O_o . I tried to decompile on of them but code was even more non understandable than my fuck up code.
So i ended up looking at both the mess up code and decompiled code and coded the whole app from scratch ( well not scratch, i extracted the resources and some undamaged activities from the mess up code . Also github was down for more than 3 hours yesterday , at the same time when i was trying to look onto some repositories)
- DON'T FUCK UP WITH THE PRODUCTION CODE
- MAINTAIN VCS
- Your laptop is shit reliable, github is also shit reliable , so save code at multiple places.
- there are way more copies of your code lying on the internet than you think.
Checkout my app here :https://play.google.com/store/apps/...3
So ,was interning in a MNC ( one of the top IT service company ),
So an another intern changed her code, and later the software stopped working!
She panics and her manager comes,
He comes and says "it's ohk , just take ur time and figure it out, but from next time backup ur work by sending me a copy of code in email ! "
I facepalmed, and was laughing!
Do these ppl know there something called VCS!?2
Remembers a time when I was considered non-technical founder and not taken seriously as credible tech company leader by smart ass VCs
Years invested in learning, experimenting, building. Now somewhat capable.
Considered too technical to be understood by dumb ass VCs.
So we (group of 3) were out to a tech guy who was out sourcing some project. During the meeting we mentioned VCS, upon hearing this the guy was like "this is used by big companies". we left the meeting then and there.
Lesson learned. As a newbie to git and vcs in general, always verify a rebase to make sure you didn't accidentally delete your last days work before force pushing and overwriting the company repository. Also, don't get into a situation where you need to do that in the first place.
Imagine a "development" environment with no vcs, no APIs, no general hierarchy for db admin or software development, no test environment. Well this was my first job.
Quite literally a dumpster fire.
I know I'm not a world class developer but I still think this was beyond unacceptable for a software startup.2
I refer back to earlier rants. But essentially, this guy lied about having a com sci degree. Didn't know how JS works, didn't know how vcs works, didn't know how to tie his own shoes. Proceeds to repeatedly clobber the work I do, which frankly, was the only real work being done in the whole group at all. Commits old and irrelevant work just to appear in the commit history. Then, he has the audacity to accuse me of not being good at dealing with people.
Finally decided to tell the instructor what had been happening. Then I proceeded to get frantic messages repeatedly from this fucker for the next week after class as he desperately attempted to salvage his grade. I'm pretty sure he failed. All in all, I'd say wait til the last minute to get revenge sometimes, then the person you're fucking with doesn't have time to react.
Everytime I use Linux and Git I wish in the Linus's time there was more crappy tools and he would make an alternative for these too.
First and foremost, students should be carefully taught the logic and mentality behind programming. Most of the time I see that the introductory programming courses waste so much energy in teaching the language itself. So students kinda just get fucked cause many people end up ending the course without having actually gained the "programming perspective".
Stop teaching pointers and lambdas and even leave the object oriented stiff till later. If a student doesn't know why we use a For loop then how can they learn anything else.
I believe once that thing in your brain clicks about programming, everything goes smooth from there... kinda :P
Second of all, and this pertains mainly to the engineering and science disciplines.
We need a fundamental and strong mathematical foundation. And no I don't mean taking fucking double integrals. Teach us Linear Algebra, Graph theory, the properties of matrices, and Probability theory.
One of the things I suffered from most and regret in university is having a weak foundation in math and having to spend more time catching myself up to speed.
It's so annoying reading a paper on a new algorithm or method and feeling like an idiot because I can't understand what magic these people did.
Ok this is more deeper, maybe a 2nd year course.
But this is something we take for granted.
Computers don't magically add and subtract and multiply.
They fuck up.
And it'll bite you in the ass if you're not even aware that the computer we all love so much isn't as perfect as we think
Some hardware knowledge.
Probably a basic embedded systems course with arduinos
just so you can get a feel for how our beautiful software actually makes those electrons go weeeeeeeee
just give me the internet and some projects
Ill learn everything else
Projects are the best motivation
I hate this purely theoretical approach
where we memorize or read code and write these stupid exams
Test what we are capable off
make us do projects that take sleepless nights and litres of coffee
And judge our methods, documentation, team work, and output
Team work skills and tools (VCS, communicating, project management, etc.)
Documentation and Reporting
maybe even with LaTeX :D
Yeah that's the gist of whats on my mind at the moment regarding an ideal computer science education
At least the foundations
The rest I leave it to the next dude.
WARNING - a lot of text.
I am open for questions and discussions :)
I am not an education program specialist and I can't decide what's best for everyone. It is hard process of managing the prigram which is going through a lot of instances.
Speaking about schools: regular schools does not prepare computer scientists. I have a lot of thoughts abouth whether we need or do NOT need such amount of knowledge in some subjects, but that's completely different story. Back to cs.
The main problem is that IT sphere evolves exceedingly fast (compared to others) and education system adaptation is honestly too slow.
SC studies in schools needs to be reformed almost every year to accept updates and corrections, but education system in most countries does not support that, thats the main problem. In basic course, which is for everyone I'd suggest to tell about brief computer usage, like office, OS basics, etc. But not only MS stuff... Linux is no more that nerdy stuff from 90', it's evolved and ready to use OS for everyone. So basic OS tour, like wtf is MAC, Linux (you can show Ubuntu/Mint, etc - the easy stuff) would be great... Also, show students cloud technologies. Like, you have an option to do *that* in your browser! And, yeah, classy stuff like what's USB and what's MB/GB and other basic stuff.. not digging into it for 6 months, but just brief overview wuth some useful info... Everyone had seen a PC by the time they are studying cs anyway.. and somewhere at the end we can introduce programming, what you can do with it and maybe hello world in whatever language, but no more.. 'cause it's still class for everyone, no need to explain stars there.
For last years, where shit's getting serious, like where you can choose: study cs or not - there we can teach programming. In my country it's 2 years. It's possible to cover OOP principles of +/- modern language (Java or C++ is not bad too, maybe even GO, whatever, that's not me who will decide it. Point that it's not from 70') + VCS + sime real world app like simplified, but still functional bookstore managing app.
That's about schools.
Speaking about universities - logic isbthe same. It needs to be modern and accept corrections and updates every year. And now it depends on what you're studying there. Are you going to have software engineering diploma or business system analyst...
Generally speaking, for developers - we need more real world scenarios and I guess, some technologies and frameworks. Ofc, theory too, but not that stuff from 1980. Come-on, nowadays nobody specifies 1 functional requirement in several pages and, generally, nobody is writing that specification for 2 years. Product becomes obsolete and it's haven't even started yet.
Everything changes, whether it is how we write specification documents, or literally anything else in IT.
Once more, morale: update CS program yearly, goddammit
How to do it - it's the whole another topic.
Thank you for reading.2
Sometimes I think our infrastructur team is chaos engineering.
I mean it is literally chaos engineering when VCS is down 3 days a week.
Is anyone out there using Mercurial in a commercial environment still? I always preferred Mercurial over Git back in the day but I find it hard to understand why anyone would still be using it other than out of stubbornness.2
The end of today was hell...
Another company make changes to UAT for one part of the application and refuse to use VCS. This means we have to manually merge there changes in regularly. The developer in charge of this project left a few weeks ago and when someone new to the setup decided to pickup a task to re merge they accidentally did the scp command the wrong way around...
I probably don't need to say much more but we received MANY angry email and calls.1
The designers kept changing the layout for a web app every week and refused to use a version control system so they sent the new files by slack every release9
'I'll fork you'
Anyone know of some Git puns?
I'm tutoring a group of students (university) on using Git effectively in a team. Anything to make it more humorous would be awesome :)5
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
Change is truly a difficult thing. I've been trying to introduce my group colleagues to GitHub, I even gave them some tutorials that I used. I'm not saying I know everything about Git or GitHub but the pros of using it or any VCS outweigh using Google drive, zipping and email each other the code and many other creative ways of sharing work. Let's just say two months have passed there haven’t been any change ☹2
Kids if you are lazy ass like me who don't push your code more often and end up with a fuck up like this : https://devrant.com/rants/3187195/... , then here's a mini tutorial.
Title : automatically push your code on commit
Disclaimer : not the best thing to do for every situation, but definitely worth considering.
Platform : windows ( but you can figure out for other platforms too)
1. open .git/hooks folder
2. create file post-commit (no extension) and open via text editor
3. add code:
git push --all origin
( or any other push statement like git push -u origin master / dev/ shit)
4. You are done. now next time you add a commit, it is automatically pushed to vcs.
PS : if you liked this tutorial and are a super smart ninja pro hackerman/women dev, then please make multiple accounts handling git credentials manager :'/8
Been working on an Android app for some time. Silly me too lazy to use VCS. Anyway, one day android studio just could not build my project and errors that should not be errors popped up everywhere and nothing I did fixed the problem. Somehow my project got corrupted. 3 hours later of googling and trying to recover my project I had to resort to creating a new project and manually port the old files in one by one :( but all I have to say is WHAT THE FUCK ANDROID STUDIO3
I just wasted half an hour of debugging because the NPE-analysis of our tool had thrown some serious-looking errors.
It turned out the client had checked in broken code into VCS 🤷8
When you havent pushed in ages and have to tediously 'git status' followed by 'git diff <every fucking file>' to figure out what the hell you've even been doing since the last push and can maybe figure out another commit message than "Various bugfixes"
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
Anyone here who created a team in Bitbucket but the only member is their self? I know it may be a silly question but I just want to create projects so I can organize my repositories4
I am uneasy with these VCS integrated editors. I feel like not everything is gonna be added. I still use git bash when on windows.1
Just spent 10 minutes wondering why my change log hadn't updated after I knew I made a change to a file.
I updated the public version instead of the src.
I hate VCS integration in IDEs. No I do not want to add the new fucking file to Git, IntelliJ. Urgh6
Don't even know how to start. I currently work as technician (fix broken shit devices like apple and manage our servers).
Before the rant, here's a note: I'm a newbie-ish something.. Like I do some Java and Android stuff but nothing amazing (yet).
Here's my rant:
Boss: Hey, you mentioned in your CV that you do some programming.
Me: Yep, but just starting. Already made few apps but nothing crazy big.
Boss: Well, doesn't really matter. But, can you make an app and a website for us? We'll decide on the budget later.
Me: *kinda suspicious* Ehm, yep? I'll just make a wireframe and show you what I came up with.
*few weeks later*
Boss: So how's the app doing?
Me: I told ya that I'm making only wireframe. If you want the app you can:
a) pay for it
b) don't do anything and I'll make it open-source
Boss: No don't do that. We want the source on our FTP server.
Me: Riiight... That's a big no-no for me. It's gonna be on VCS, otherwise you can forget about the app and web.
Boss: *staring silently at me*
To this day, not a single response from him. We had one meeting where I presented the Website and app design, everyone was ok with it but no answer when I asked about the budget. Should I just scrap these projects and continue making them on github ('cuz I kinda like to learn new shit this way)5
Any of you experienced Devs have any recommendations book wise for backend development (framework, unit testing, vcs, server deployment...) For java.
FYI I do have a LITTLE experience with MVCs6
Hello, I am doing master in Pharmacy, but I like programming and consider to switch or connect somehow industries. I could write simple scripts and small programmes in Python, but I want to write code with good practice from beginning.
So my question what should I know and put in use, maybe some resources if someone has them or just terms for further search. At this moment I use gitlab for VCS (my commits sucks and my whole usage of Git sucks, but at least I use branches), I am trying to separate control from model (MVC but I guess I do it poorly), also I use keepchangelog rules for changeling, and semantic versioning for versions, PEP8 and Pokemon names for my variables and functions as it helps read code later.7
this is something that's always bothered me, I figured this would be the perfect place to ask. so some projects have files you need for development but can't commit to VCS (for example, files containing AWS keys, certs, etc). I've always dealt with this by just storing them/backing them up on an intranet server not connected to the internet. does anyone have a solution easier than manually distributing these files to new developers via a flash drive?3
I have a technical job interview via phone call later today and would like some advice on what to prepare for.
The role is Junior Web Developer and here is what's expected of me:
- Good knowledge of HTML and CSS
- Some experience with a PHP framework such as Laravel
- Some experience developing themes for content management systems such as WordPress
- Basic familiarity with Git or other VCS
Those are fairly low requirements and I meet or exceed them individually but just want to ensure I prepare properly.
What can I expect?3
Hello guys, I've got a question. When you're working with someone in a project using a VCS, how do you go when implementing stuff? Do you create a new branch and then merge to master or do you tell to the other guy that you're going to do "this thing" so he doesn't do it or what? I've never collaborated with someone and I would like to have a little information about this topic. The things I've built have been all by myself so If some day I ever plan to work with someone else I rather know this stuff already.4
Leaving things out of VCS. My usual folder structure is like this:
- Project name:
|-- env (virtual environment)
|-- Project name (git repo)
\-- (keys, credentials, etc.)
It makes sense, but after a while, more and more important stuff starts piling up in the outer folder (not version-controlled).
Are you able to imagine working on group project without VCS and project management software like Jira?
You don't have to imagine it, just go on my university where people would most preferably use notepad and pendrives to share files.
Gotta say, that's an interesting experience.
Intelligent Development class (yeah, that's how it's titled), teacher leaves us as first task to develop our own Database, because later we will make it a fuzzy database.
She gave us three days. Three (counting me) in the team. I began working on Interfaces (Java development) and so on, using GitHub for VCS and documenting each method.
This assholes didn't even ask what was missing or what should they do. One day before date, I told them "Hey, I think I can nail the underlying file management tonight, so, work on the language parser, please"
Stood awake until 1 A.M., waiting for their reply, but there wasn't any.
Next day, I'm the only one of the team and I tried to decline the presentation of my work, but a friend encouraged me, because it was my work and I worked hard.
Presentation went better than expected.
After the class, I have another with one of my team members, he asks "How did you do?", "Us? You meant me, because the other prick didn't go".
And that's all, not another single question nor explaining why did he didn't answered the DM's I sent.
Fuck those guys, fucking team of shit, I hate it when you can't pick your team, but I guess that's just a common place for all of us here, isn't it?3
The VCS I love is Git with GitLab.
The way client code reviews is via email pointing outline number for explanation and expects to send the zip file of the entire project via Google Drive.
why the fuck git exists??
Almost all the company uses git, I even took a training about git and how does it integrate with internal tools.
In my team they use mercurial.
Pretty new in my company.
Every time i ask something like vcs or other stuff they just tell me do it this or that way, because it's 'grown historically'... I can't hear that anymore... They just don't give advice and show me how to do stuff but not explain... And always say the two words... I can't hear them anymore...
First boss introduced me to VCS., so I PUSHed my self --HARD was very COMMITed, but I still don't GIT it
Doesn't want to use VCS and wants to deliver a project to client.
Note to self: Don't help friends in their misadventures
What's the moment when you type at god speed?
mine : during vcs commit and push*
*considering not to resolving merge conflict.1
What are the best online resources to learn the basics for front-end development? (HTML/ Semantics / CSS / VCS / Workflow basics )
We're setting up a baseline for our new interns, in case they don't know the basics, we'd like some good material.4
I don't know much programming languages. I know some but I am not good at them. Going through the post here I came to know about VCS and git. I learned it, now I know git however I have nothing to implement that knowledge on as I know very few language.2
Argh, why the hell does Visual Studio not have a god damn LOCAL HISTORY for files (not just a VCS history) like any other reasonable IDE? Heck, even Eclipse has a rather decent one!
Now, I've lost the work of one hour due to an accidental reset, and there is no way to get it back!
Fuck you, Visual studio!