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 - "code organization"
Every step of this project has added another six hurdles. I thought it would be easy, and estimated it at two days to give myself a day off. But instead it's ridiculous. I'm also feeling burned out, depressed (work stress, etc.), and exhausted since I'm taking care of a 3 week old. It has not been fun. :<
I've been trying to get the Google Sheets API working (in Ruby). It's for a shared sales/tracking spreadsheet between two companies.
The documentation for it is almost entirely for Python and Java. The Ruby "quickstart" sample code works, but it's only for 3-legged auth (meaning user auth), but I need it for 2-legged auth (server auth with non-expiring credentials). Took awhile to figure out that variant even existed.
After a bit of digging, I discovered I needed to create a service account. This isn't the most straightforward thing, and setting it up honestly reminds me of setting up AWS, just with less risk of suddenly and surprisingly becoming a broke hobo by selecting confusing option #27 instead of #88.
I set up a new google project, tied it to my company's account (I think?), and then set up a service account for it, with probably the right permissions.
After downloading its creds, figuring out how to actually use them took another few hours. Did I mention there's no Ruby documentation for this? There's plenty of Python and Java example code, but since they use very different implementations, it's almost pointless to read them. At best they give me a vague idea of what my next step might be.
I ended up reading through the code of google's auth gem instead because I couldn't find anything useful online. Maybe it's actually there and the past several days have been one of those weeks where nothing ever works? idk :/
But anyway. I read through their code, and while it's actually not awful, it has some odd organization and a few very peculiar param names. Figuring out what data to pass, and how said data gets used requires some file-hopping. e.g. `json_data_io` wants a file handle, not the data itself. This is going to cause me headaches later since the data will be in the database, not the filesystem. I guess I can write a monkeypatch? or fork their gem? :/
But I digress. I finally manged to set everything up, fix the bugs with my code, and I'm ready to see what `service.create_spreadsheet()` returns. (now that it has positively valid and correctly-implemented authentication! Finally! Woo!)
I open the console... set up the auth... and give it a try.
... six seconds pass ...
... another two seconds pass ...
... annnd I get a lovely "unauthorized" response.
> Pic related.23
As I have already said before, I am the president of my school's programming club. Today I checked my school email and saw this announcement:
"Girls Who Code Club Opened in Room C110: Girls Who Code is a non-profit organization whichaims to support and increase the number of women in computer science. Teams work to design and build a computer science impact project that solves real world problems they care about through code."
At first, in my opinion, girls who code is a terrible and failing idea. I get it if you'd want to teach dancing and sports classes with classes being seperated by gender. But teaching programming by gender is just absolutely stupid. In sports, different sexes tend to have different problems, while in Science based classes, we use logic, which is the same, independent of sex. Would you teach a math class by sex? I think not.
And now back to me being the president of the programming club. My club is having a bit of a hard time, due to it being started up late, and not even being featured in the club demonstrations in the beginning of the year. We are hoping to pick up a lot more students next year. But now, there's that goddamned GWC club. They have money and resources, while I have only my spare time and my friend. Everything I try to do has to be reviewed by the school, and due to my club having "less importance," I cannot afford to buy much. God help me!9
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3
I was working as a contractor for a client who just got enough funding to hire a full-time dev. I lovingly referred to him as "Mr. Koolaid" because he was obsessed with whatever the newest hotness was and cried constantly about how the 3-year-old code-base didn't use The Next Big Thing(tm). This was my first interaction with him:
Mr. Koolaid: I'd like access to the github repository. My username is xxxx.
Me: We currently aren't hosting the code on github. If you send me your public ssh key, I'll get you access to the private server.
Mr. Koolaid: I'd like to access the github repository.
Me: It's not on github; send me your public key and I'll get you access.
Mr. Koolaid: Can we skype real quick? You don't need my public key to grant me access to the github repo.
*Mr. Koolaid proceeds to forward me github's documentation on adding users to an organization and the documentation for adding users to a private repo. The email is written in a very passive-aggressive tone.*
Before I took on my current position (internal transfer), I stated that for what my boss asked for I would need a small team.
He agreed to that and promised I would get 2-3 developers.
6 months after (with countless reminders) he told me I could train some people at one of our providers.
Turns out those guys were Java developers, even though I asked for C# (since our codebase is .net)
After a few training sessions, where concepts as source control were a big topic ("why not just copy the code to a new folder with _good_ naming?"), I gave them a test assignment.
After reviewing their code I just gave up. They cannot program. They don't understand concepts like scoping of variables. Concepts of separation of responsibility.
I told my boss this but I had to make it work with them.
I went to my bosses boss (Head of IT) with my resignation in hand, since I felt my boss didn't want to support me actually getting a team. After a few talks I was asked to "keep it cool" and wait until he presented his new organization.
Now my boss asked me for which skills new developers should have. To which I could just laugh at him and forward countless mails from the last 6-8 months asking for developers.
<Irony>I love my boss</Irony>6
Ubutu's organization is so slow in the Code-in contest.
I mean, I've been waiting for 17 hours and they still didn't accept or decline my submission for the second task.
I can't claim another task until they accept this... Plus, my goal is to be one of the finalists, so if they don't hurry up then it won't happen.11
Today the IT deparment update the firewall's configuration, they blocked almost every website except email and Google.
- Blocked some systems outside the organization, there are in another building and also network
- I can search on Google but I can't see the results outside Google
- Forget about download depencies, libraries, deploy code to outside services, search at StackOverflow
I JUST WANNA SAY GOOD JOB, GUYS
PS: The firewall also block the SSH port, I had explained to my boss and he sent a request for allowing the port, so far no answer3
Note that the example tags for rants includes Xcode... There is a reason.
In 1984 Apple introduced Macintosh and we got a computer that could barely handle multiple windows on the screen. But by 1986 multiple windows all over the place.
In 1985 Microsoft introduced Window 1.0 Yes boys and girls, no "s" because it hand only one Window. 7 years later in 1992 Microsoft got their head out of their ass and produced "MDI" or Multiple Document Interface and woohoo, had multiple windows on the screen... big boy pants 8 years after Mac.
Today we have Xcode from Apple. The old Window 1.0 engineers are apparently alive and well as Xcode is a One Window Trick Pony and if you fight with it, it starts randomly jamming your separate Windows into tabs into one window, completely fucking up your spatial organization of your working source code.
It is like the bastards going into a blind man's house and re-arranging his furniture for fun.
Xcode - it's only free if your time is worth absolutely nothing.5
When you work hard for something and you are sure that you gonna get it, but some ass licking guy who doesn't even know how to code gets it. Yes, it happened to me. I was working for an open source organization called PROBOT. I was working my ass off to get into GSoC with that organization. I created PR(pull request) after PR and solved most of their issues. But later on, I came to know they didn't even saw my single PR. Life surely teaches you some hard lessons but it's you who should not give up I would say. I do not regret working my ass off and writing those code and not getting into GSoC but I cherish those moments where I learnt many new things. And as for that organization, I would say they don't even know how to manage. This was my exact reaction when the result came3
How I got selected for GSoC'19:
I will describe my journey from detail i.e from the 1st year of the college. I joined my college back in 2017 (July), I was not even aware of Computer Science. What are the different languages of CS, but I had a strong intuition of doing BTech from CSE only?
So yeah I was totally unaware of the computer science stuff, but I had a strong desire to learn it and I literally don’t know why I had this desire. After getting into college, I was learning HTML, Python, and C, also I am really thankful to my friends who really helped me to learn, building logic and making stuff out of it. During the 1st month of joining the college, I got to know what is Open Source, GSoC, Github due to my helpful seniors. But I was not into Open Source during my 1st year of college as I thought it is very difficult to start. In my 1st year, I used to do competitive programming and writing scripts in Python to automate various stuff. I never thought that I would even start doing Open Source development, also in the summer vacations after the 1st year I used to practice programming on HackerRank and learnt an awesome course called Automate the Boring Stuff with Python(which I think is one of the most popular courses for Python) which really helped me to build by Python skills.
Now the 2nd year came, I was totally confused between doing Open Source development or continue with my Competitive programming. But I wanted to know about Open Source development, so I thought to start now will be a good idea. I started attending meetups of OSDC(Open Source Developers Club) which is a hub of my college, which really helped me to know more about Open Source development from my seniors. I started looking for beginner friendly projects in Python on the website Up For Grabs, it’s really helpful for the beginners. So I contributed in a few of them, and in starting it was really tough for me but yeah I continued, which really helped me to at least dive into Open Source. Now I thought to start contributing in any bigger project, which has millions of lines of code which will be really interesting. So I started looking for the project, as I was into web development those days so I thought to find a project which matches my domain. So yeah I finally landed on Oppia:
I started contributing into Oppia in November, so yeah in starting it was really difficult for me to solve any issue (as I wasn’t aware of the codebase which was really big), but yeah mentors at Oppia are really helpful, they guided me which really helped me to start my journey with Oppia. By starting of January I was able to resolve around 3–4 issues, which helped me to become the collaborator at Oppia, afterward I really liked contributing to it and I was able to resolve around 9–10 issues by the end of February, which landed me to become a Team Member at Oppia which was really a confidence boost and indication for me that I am in the right direction.
Also in February, the GSoC organizations list was out, and yeah Oppia was also participating in it. The project ideas of Oppia were really interesting, I became even confused to pick anyone because there were 4–5 ideas which seemed interesting to me. After 1–2 days of thought process I decided to go for one of them, i.e “Asking students why they picked a particular answer”, a full stack project.
I started making proposals on it, from the first week of March. I used to get my proposal reviewed frequently from the mentors, which really helped me to build a good and strong proposal.
I must say a well-defined proposal is the most important key for getting selected in GSoC, also you must have done some contributions to the organization earlier which I think really maximize your chances of selection in GSoC.
So after my proposal was made, I submitted it on the GSoC website.
It was the result day, by the way, I had the confidence of being selected, but yeah I was a little bit nervous. All my friends were asking when is your result coming, I told them it will come at 12.30AM (IST). Finally, the time came when I refreshed the GSoC website, Voila the results were out. I opened the Oppia organization page, and yeah my name was there. That was the day I was really happy and satisfied, I was thinking like I have achieved something in my life. It was a moment of pleasure for me, I called my parents and told them my result, they were really happy for me.
I say cracking GSoC is worth it, the preparation you do, the contributions you do, the making of the proposal is really worth.
I got so many messages from my juniors, friends, and seniors, they congratulated me. After that when I uploaded my result of Facebook and LinkedIn, there were tons of comments and likes on the post. So yeah that’s my journey.
By the way, I am writing this post after really late, sorry for it. I must have done it earlier, but due to milestone 1 of GSoC, I was busy.3
A bit of backstory...
I have been the sole dev at my organization for awhile now (other two left for other jobs), so I have been maintaing and writing new code to support the business.
Our company was recently acquired by a larger entity and it has been very strange so far.
1. It has taken 5 weeks to acquire local admin rights on my own machine (I work remote) as well as a visual studio license.
2. We have known for a few weeks now we are getting a jr dev who will need the SAME procedures done on his machine/account and it has been two weeks now and nothing has been done. (Tickets have been put it - the issues have been escalated etc etc)
3. All of our code from our old company is in Azure Devops (which is connected to Azure AD) for some reason I haven't been able to add an external account (for my new account and org) to move the code elsewhere. I don't have the authority (I don't think) to place all of our code in a new location (GitHub,GitLab, self hosted solutions, etc)
4. All of our production VMs are billed through our old org located in Azure, so eventually that bill will stop being paid since we transitioned - I've brought this up to my manager (more non technical) who wasn't terribly worried about it.
5. I'm feeling slightly unfulfilled in this position. Earlier in my time here it was new and exciting, but there isn't much direction, not many goals, or interesting problems to solve.
Just wanted to express some issues that had been going on. Feel free to add ant feedback of suggestions 😄3
My head is melting. Does anyone have a colleague who constantly complains about missing specs, documentation, project organization, bad processes and procedures? Everything needs to be planned. Not a single small code change can be done without reviewed details. 10min job becomes a week-long session of whining and dabbling.
You give the guy a small task and at the end of the day nothing is done. Just page after page of written documents and lists in Word and online notebooks. Version numbers, meaningless measurement results, latencies etc. And all you asked was "could you just fucking fix this one thing and quickly compile and check it". But no. There must be a review and at least 10 people need to be called into conference. Someone needs to approve everything just so that he can later move to blame to others. "Yeah I know it's not working but I showed you the code and you reviewed it!". Yes, you did, but other people have work of their own so sometimes you need to tie your own shoelaces.
And sometimes finally there's some work done. All indentations are shit. There’re code changes everywhere just because the guy didn't like the previous smaller, compact and logical code. The code doesn't even compile properly anymore. And if you complain, the reason is "there's no proper reviewed and stamped process description, so I cannot know if a variable is supposed to be 10 characters long. Besides 200 character long variable names are much more descriptive". For fucks sake.
Some coders should've gone to work in some tax office basement.9
I'm finally writing unit tests consistently thanks to a simple file organization decision.
I'm not doing pure TDD, but at least I'm writing the tests immediately after writing a module, and I make sure they run ok.
What I'm doing is Instead of putting the test files in a "tests" dir at the root of the project, I have the tests right next to the source code.
So if I have a dog.x file, I also have a dog.test.x file next to it.
I'm not inventing gunpowder here. I've seen several people do this.
But it's something that is not generally made a default or advised to do.
Like I said; test frameworks in general go with the classic "tests" dir.
But for me this is day and night in whether I write the tests or not.
Which makes sense. Imagine the classic scenario of the "tests" dir, and you just created a file deep into a hierarchy, let's say src/lib/console/windows/dog.x
This means that if you want to write tests for that, you need to make sure the hierarchy tests/lib/console/windows/dog.test.x exists
If the test file already exists, but you want to access both files, you need to traverse deep for each.
Also, it's actually harder to keep track which files have unit tests and which do not.
Meanwhile, if the test files are next to the source, all these problems disappear.
That doesn't mean there are no other challenges with testing, like testing untestable things, like system calls or http requests, but there are ways to deal with that.
I'm a contractor at a product company and today I had the pleasure of working with some jQuery.
A function needed to be called before another function, hard work right?
So I moved the call to the function 3 rows higher, checked it in, set the task as ready for test and started to look for other tasks.
Within a couple of minutes I get a direct message from another dev, let's call him Steve.
Steve wanted me to set the task to ready for code review instead of test, so I did just that and tried to move on.
Some minute or two later Steve contacts me again:
"It would be great if you'd move the comment so it'd be over the call to the function"
Well, I'm not one of those who likes comments... If you need a comment, it's probably not good/readable code. In some cases sure, it might be a complex block coming up.
Sorry, lost my train of thought.
I answered Steve : "Are you sure, I could just remove it instead?"
(for readability S will be Steve and M will be me)
S: Well, it's always good to have comments
M: In this case I think it will be alright.
S: But it's nice to see what the function is doing.
M: I'll do it if you really want me to.
S: It's better to have the comment than to not have it and needing it.
M: Okay then
The name of the function : LoadOrganizationTree()
And this is the comment :
//Load organization tree6
Ok, so one of the oldest guy is leaving from my company (on a good note) and he was involved in multiple things in our organization. From having access to almost everything (AWS, Github and owning multiple projects and our legacy code). I am supposed to take KTof one project and man THE CODE IS MESS. YOU DONT PUT A RANDOM NUMBER WHILE CALLING A FUNCTION. You are supposed to define a constant and use that. I've told my manager that I need at least 1 week just to improve logging.3
Working in a organization that hire people that don't know what they doing and can't ask a question correctly...
HELP WE'RE GETTING AN ERROR IN OUR CODE WHILE TRYING TO GET DATA FROM YOUR DB... PLZ FIX IT
WTF IS NOT WORKING, WHAT ARE YOU QUERYING, WHAT IS THE ERROR?
**Sends a SQL query but with ? for all the parameters**
WTF..... U PPL ARE IDIOTS.... CAN'T EVEN ASK A QUESTION CORRECTLY OR PROVIDE NECESSARY INFORMATION... CLEARLY YOU HAVE NO IDEA WTF UR DOING..
EVEN GOD CAN'T HELP YOU...
!rant && !!happiness;
I told you some times ago that I was almost fired then put in a new position as tester: my goal is to test if the functionality asked by the client works the way it should.
Today, after 3 months of doing this only, I got to speak with the lead developer, who pretty much saved my ass back then, and told me that not only he was pleased by my work, but he looked at the code I did and liked the organization I set up to handle multiple projects in one folder (trust me, it was INSANE), but he was also genuinely happy about how I'm training the new dude.
And pretty much suddenly, he told me that my logic and knowledge about development was better than some of the colleagues who were there 2 years before I started, I just needed a bit of work to make people forget about what happened in January.
Life is currently fucking good, it's almost sad I have nothing to rant about 😊😊1
Apart from linux, it has to be vue.js, quasar and express.js
Vue.js had made my development extremely easy, faster and managable
Quasar brought great Styling and various other powerful features to vuejs. Thus helping save even more time
And express.js don't need any explanation. Better code organization and easy to get started.
I had the oppertunity to join a non profit organization to help them automate stuff instead of serving the army. One of their core applications got rewritten like a year ago from a terrible and very old Symfony stack to Laravel / React.
The guys who were in charge for the rewrite didn't really adapt the mindset of either MVC for Laravel nor the component idea behind React. There are a few controllers in the backend, but they sometimes have functions defined which would clearly belong in a model or service class. They rarely defined relationships on models, instead they're joining the tables together for the same effect. The frontend rendering mostly happens in for loops over the returned array from the API instead of breaking things down into little components. This ends in components which have sometimes over 1000 lines with super-nested logic in it.
But I did find my favorite piece of code today in of the controllers. Some many questions ...6
Well it's a bit long but worth reading, two crazy stories in one rant:
So there are 2 things to consider as being my first job. If entrepreneurship counts, when I was 16 my developer friend and I created a small local music magazine website. We had 2 editors and 12 writers, all music enthusiasts of more or less our age. We used a CMS to let them add the content. We used a non-profit organization mentorship and got us a mentor which already had his exit, and was close to his next one. The guy was purely a genius, he taught us all about business plans, advertising, SEO, no-pay model for the young journalists (we promised to give formal journalist certificates and salary when the site grows up)
We hired a designer, we hired a flash expert to make some advertising campaigns and started filling the site with content.
Due to our programming enthusiasm we added to the raw CMS some really cool automation: We scanned our country's radio charts each week using a cron job and the charts' RSS, made a bot to search the songs on youtube and posted the first search result as an embedded video using some reg-exps. This was one of the most fun coding times I've had. Doing these crazy stuff with none to little prior knowledge really proved me I can do anything with the power of will.
Then my partner travelled to work in an internship in the Netherlands and I was too lazy to continue it on my own and it closed, not so surprisingly for a 16 years old slacker boy.
Then the mentor offered my real first job. He had a huge forum (14GB of historical SQL) but it was dying, the CMS version was very old and he wanted me to upgrade it to the latest. It didn't seem hard at first, because there were very clear instructions in the CMS website on how to do that. However, the automation upgrade scripts didn't work well because the forum owners added some raw code (not MVC plugins but bad undocumented code) and some columns to the SQL tables. I didn't give up and decided to migrate between the versions without the scripts. I opened a new CMS and started learning by heart all of the database columns so I can make a script to migrate between the versions. The first tests ran forever because processing 14GB of data on a single home computer is not a task meant to be done. I didn't give up. I made an old forum and compared the table structures and code with my mentor's. I think I didn't exhaustively finish this solution, the task was too big on my shoulders and eventually I gave up. I still owe thanks for that mentor for teaching me how to bare with seemingly (and practically) impossible tasks, for learning not to fear from being a leader and an entrepreneur and also for paying me in time even though I didn't deliver anything 😂
I just don't get the WordPress hate or CMS hate in general. Using these is not perfect, but neither is _anyone's_ code. Get over that and be more productive for your client. Unless you're the best coder the world has ever seen, and you're _always_ available to push content for an organization of 90 or 900 or 9,000 people, nobody CARES about your "coding purity". They want a website that they can still operate if your ass gets hit by a bus. Don't like WP? Find a CMS that ticks most of the boxes for your client's needs. If you have the time, budget, and long-term inclination to provide bug fixes for it, write your own Awesomesauce Custom CMS(TM) and release it to the open source community so we can finally replace WordPress with the next best thing.
Otherwise, launch site, get check. Repeat until you can retire.10
Web Devs - I need your opinions.
To make a long story short, when my fiancé and I first moved in together I changed cities. One day at the grocery store we ran in to one of his old buddies, whom I had never met. His buddy works as a counselor at a non profit organization for mental illness. His friend asked me some questions to get to know me and found out I was a web developer. He instantly got exited and told us they needed a new website for their non profit, and asked me what I charged. Being shy, put on the spot, newer to the industry (uncomfortable talking $ due to inexperience) and seeing the guy was paralyzed I felt I HAD to say yes. I also said I would consider donating the site to them, as I knew my other web dev friends had done that for other non profits.
They were easy to work with and the build went smooth. We chose Wordpress so that they could go in and update the site on their own. I was under the assumption that I would create the site for them, but that they would take care of changes on their own, that I wouldn't be "supporting it". I even trained the friend 2-3xs on how to use Wordpress and make changes, but they ALWAYS have changes every month, including slides and content creation. Being a noob at the time, I KNOW it's my fault for not being more clear on the I'll build it but not make changes thing, and I've tried to kind of get them to see that I'm too busy, politely.
We'll, 3+ years later I've now found success in a different career path that takes up ALL of my free time after my 9-5 corporate web dev position, and am no longer interested nor able to do freelance work, including supporting existing sites. Since we don't have a contract in place, and they've never given me a cent, i was thinking of giving them a notice at the end of this month saying as of 2018 I will no longer be able to take care of their website, and that they'll have to find someone else by that time? I feel bad because it's a non profit and they don't have a lot of money. I'm afraid they won't find someone else nor be able to afford it. The situation is a little more sticky since this is my fiancés friend and I don't want them to feel like I'm leaving them high and dry, cuz I know they're very thankful for the site. I just wish they understood that I never promised to do changes for them every month. Even if they offered me money, I just don't have the time. I'm 100% fine if they want to keep the site and my code, although they really could use a redesign anyways cuz my code back then was terrible. What are your thoughts on this? Is 5 months fair? Am I doing the right thing?8
!rant just a question. Sorry in advance for the long post.
I've been working in IT in Windows infrastructure and networking side of things for my entire career (5years) and recently was hired for a role working with AWS.
We use Macs and we use *nix distros for days. I've only ever dabbled for 'funsies' before with Linux because every previous job I held was a Windows house and f*** all else.
I'm just wondering if anyone here might have some insights as to a great way to learn the Linux environment and to learn it the right way. I'm not the best Windows admin ever and will never claim to be, but I have seen stuff that other people have done that makes me want to swing a brick at someone's head. And I feel that with all of the setup wizards and the "We'll just do it for you." approach that Windows has used since forever it allowed enough wiggle room for people that didn't know what they were doing to f*** sh*t up royally. I'm not familiar enough with Linux to know if this is also a common problem. I know that having literal full-access to every file in your OS can cause a n00b like myself to mess up royal, thus the question about learning Linux the right way.
I vaguely understand the organization of the folders and file structure within Linux, and I know some very basic commands.
sudo rm -rf /*
But All of my co-workers at my new job are like mighty oaks of knowledge while I'm a tiny sapling. And at times I've been intimidated by how little I know, but equally motivated to try and play catch-up.
In addition to all of this, I really want to start learning how to program. I've tried learning multiple times from places like codecademy.com, YouTube tutorials, and codeschool.com but I feel like I'm missing the lesson that explains why to use a certain operation instead of another. Example: if/else in lieu of a switch.
I'm also failing to get the concept of syntax in certain languages I've tried before. Java comes to mind real fast.
The first language I tried teaching myself was C++ from YouTube. I ended up having a fever dream that night about coding and woke up in a cold sweat. Literally, like brain overload or something. I was watching tutorials for like 9 hours straight.
Does anyone know of a training resource that will explain, in terms a 5 year old would understand, what the code is doing and why? I really want to learn but I'm starting to lose steam cause I'm just not getting it.
Thank you in advance for any tips guys and gals. I really appreciate it. Sorry for the ridiculously long questions.5
Internet-based open source platform for democracy. That is, a package of code that you can use as a website that would basically encapsulate all the functions of incorporating the voice of the people into governmental decision-making -- like voting, initiatives/referendums/recalls, contacting representatives or other officials, etc.
This would also be something that could be used to run a private organization or public company as well. Hopefully super flexible.4
Late for the "coolest bug" party. But: I helped migrate an organization from proprietary software to FOSS and they found a bug. They were used to being "the only ones who ever encountered this problem" (along with a few hundred other customers). Now we sat down and had a look at the code. Found out that the Perl script didn't pass the value in question to the template. An easy fix but it was an eye opening moment for them of the benefits of the FOSS path.
To all websites requiring at least one upper case, one lower case, one number, one special character, 25 emoji and 49 unicorns in the password when signing up.
If you say something is required, then your regex BETTER be checking ONLY for those things. You should not have hidden requirements for passwords that users are supposed to dream about and know. Especially if it's a super time-sensitive thing that they should have opened 2 Fridays ago.
I had to pull my hair out for 20 minutes (that felt like an hour) before looking at their code and reading their regex. The regex was different from what the page said the requirements actually were. What were they even thinking? 😑
The rest of everything related to this organization uses an SSO system, why can't they just use it? Isn't the whole point of SSO to avoid a different login for every tiny part of the system?
I wonder what the other less technically inclined people using the system are doing right now. Sadly, I have no way of letting them know.
I sincerely hope the dev that made that website faces the same thing while picking a password for creating an account somewhere else and realizes what he/she did.
I really needed to let it out.
I feel much better now.
Time to take out the stress ball :)1
I was asked to revisit some code yesterday - code that I had written at a much better time in my life. I was productive, I was on top of my project and we were delivering value to the organization.
I'm at a point now where I haven't written any code for months. I've been documenting and designing and arguing with teammates over inane shit. It's been an absolute slog, and I've started looking at what it would take for me to actually quit since I've got a kid on the way, and I've been bringing the stress and anxiety home from work. I've got so much money in options and salary, it's basically impossible for me to leave for better work.
I'd consider this the lowest point in my professional career. Four years of college - where I beat alcoholism and depression (mostly) only to end up at a place that I fucking hate, but cannot leave. It's affecting my family. I've drank more in the past 6 months than I have in my entire life.
And now I have to start repurposing old code to work on a new project that is fucked up 5 ways from Sunday. I honestly don't know how much further I can stretch my professional ethics to keep this shitload of cash flowing into my savings.2
1) I like to break through complex systems to understand them on a fundamental level
2) I live by the mantra of "If you're going to do something, do it right"
3) I'm a stickler for detail and strive for simplicity and organization
These three descriptions of my personality describe why I love to code: there's nothing more satisfying than taking a jumbled, wrong ugly mess of software and turn it into something beautiful and simple that anyone can effectively use. Makes all the hardship worth it IMO
First time I use Travis CI today :D
(And my first build error ever...)
In combination with Nuxt.js it is so fucking useful for Vue Development. Wow!
I think I've found my new favourite JS Framework.
Had a bit of trouble with Github Pages but I just created a 'source' branch with the source code and a 'master' branch with the deployed site. The reason is that organization sites can only be published from 'master' branch for some reason...
Anyways Travis CI is very useful!3
First job out of school was for a company that did Cold Storage as its main gig and custom dev as a minor form of additional income. I worked with one of the owners and another guy as a three man agile team.
Except, the owner didn't trust source control, so we didn't use it. There was no organization, instead the owner would come in every morning, and assign something new. Randomly, the owner would come in and pitch a fit that something he had assigned 3 weeks before, immediately pulled us off of the next day, and ordered us to DELETE the code for, wasn't done. He treated the other guy on our team as his personal whipping boy. He would sometimes go 2 or 3 days without saying a word to me. No project to work, nothing. I would sit there all day with nothing to do. I stayed there a year.
So I started a new job back in April with a the developer on a government project being developed by a reputable international organization, lets call them R. Once the project reaches a an acceptable release stage, maintenance, changes and integration into the eco system falls to me. This project started about 3 years ago and the original team from R was "changed" because they claimed the product was ready for go live when it wasn't.
My job since then has mostly been analyst and QA work identifying issues with conversations like this:
Me to Client: I don't think this feature is working as it should be.
Client: You're right.
R.dev: This feature is working according to signed off SRS and assumptions register.
Client: Yes but the SRS and assumptions are wrong.
Me: Facepalms. Oh this other feature isn't working correctly either, this should generate A according to SRS but I'm getting G.
R.dev: Yes but that would take a major change to the system.
Me: [Blank stare]
R.dev: Ok, we can give you E.
Client: OK we corrected the errors in the SRS and the assumptions register we've signed off on this, please use these going forward.
R.dev: OK we reviewed and made changes.
Client: Um, these are wrong the calculations are off.
R.dev: We did it according to your SRS and assumptions register.
Client: Oh, wait, these formulas are wrong.
Me & R.dev: [Blank stares furiously]
Client: The sponsor won't pay the next stage until you reach an acceptable release. Fix these critical issues and we can worry about the rest in support.
R.dev: ... OK, we will deliver by X date.
[7 Days to delivery of changes]
R.dev: We postponed development till (deliveryDate + 8) when we meet with the sponsor.
Me: But that's when we should start the next UAT for go live for the New Year...
I left a management job for this so I could code more. 180 issues later I still haven't seen the source code... fml
Silver Lining: Still gettin' paid though
How to sow the seeds of panic in a dev organization. Pop up a message that your BitBucket license has expired and you can't push code changes until it is renewed. Happened today. Amazing how fast the corporate cogs can turn when productivity is on hold and you still have to pay the devs.
Im grateful for this community and the people involved!
What are some tips you’d give toward learning and retaining code? Provide educational sources and strategies if you will please.
What are some tips you’d give for application development, organization and execution? Do you suggest written brainstorming at times?
Talk to me. :)2
"Organization would take disciplinary action against you if are found violating the dress code policy hereafter"
Just got this mail from HR
This is my 3rd mail of the month (1 for late coming + 2 for violating dress code)
This will go straight into my "APPRECIATION MAILS" folder along with the past ones 😁😁😉
public static bool IsYouCrazy()
// I can't stand random
// carriage returns
bool hasRandomBlankLines = true;
What's up with people being super cutthroat about best coding practices? In my experience it's not very well focused on in schools or especially for self taught devs, so what's with the critical attitude towards bad formatting or indenting, or perhaps less than par code organization? I get it's suboptimal but if someone doesn't know that it's wrong then what's with the fire and brimstone response? Not personal, just something I picked up on.3
Group project at uni, we're learning how to do scrum sprints. So here's a small story about all the ways it can go wrong.
We assign scrum master and product owner roles, what do those do? "We want to do design tho" they say two weeks later.
I end up doing the organization part and structuring the backlog.
"Alright, you guys will be the frontend team, your tasks are X and Y"
One day before the review I ask again
"So, what's the status" (well knowing that they didn't do shit so far)
They start scrambling around, and manage to do like 30% of their tasks at best, I end up doing most of the work for them.
Next week, new sprint, our tutors somehow don't notice that literally 95% of the code has been written by me so far.
"Alright team, hopefully you will do better this time, so and so will be your subteam leader since he knows this stuff"
Some guys start working on independent things without collaborating with each other, sometimes replicating stuff I already did (but obviously worse).
So that's the situation so far, I really would rather kill myself than keep working with these guys, jeeesus1
It’s becoming frustrating. Not only do I have to code and solve problems but I also have to have opinions on how to allocate work, manage a team, try to give ideas on the team setup etc. Kanban is used as a silver bullet. The one and only solution with dussins of columns. Trying to work with agile in mind while the rest of the organization is working in accordance to the waterfall modell. Every damn task is estimated in hours. The estimation is always off with at least 20%. It was fun in the beginning. Less fun now when we keep changing the way we work every six month. It feels like the managers are throwing work at us to solve. I want to think about code and technical solution and less of the managing stuff.7
Is this a justified code review comment or a bully?
Code reviews are weakness of this industry which has the potential to attract bullies. Abuse of the comment box in a pull request and bombarding the employee with hundreds of comments can cause stress, frustration, burnout and finally resignation and costs of fulfillment for the organization. While companies should find and stop bullying in the work place, what kind of code review comment is considered a bully and why? Any of below traits can mean you are dealing with a bully:
1. Claims the code needs to be changed but doesn't say how. So no matter how many times you change your code, he can repeat the same comment: "Your code is still bad due to blah blah and it needs to be changed".
2. Provides how the code should be changed, but the change doesn't add up to quality, security, performance, readability, etc. i.e. "Why did you use a for loop here? Use a while loop instead". Or "Why did you write it using three classes A, B and C? Instead write it using 4 classes D, E, F and G which does blah blah". In the later case, not following the review comment, you won't get approval. Following the comment means you need to rewrite your whole code. After which, you might again receive more comments to change other parts of your code!
3. Claims the requested change is due to standards but claimed standard does exist anywhere. Internet, company wiki, university course books, anywhere. In more severe cases of psychopathy, the bullying person refers you to a link which hours later turned out to be written by himself! Have fun describing what has happened to your manager or team leader... .
4. Asks the code to be changed in a way that supposedly is closer to standard or of better quality, security, performance, etc. But the proposed way will not work and is the main reason you didn't do that in the first place. So you start arguing forever in the comment box over why his method won't work!
If you cannot see any of the above traits, then keep calm, take a breath, fix your code. Otherwise you might be victim of a bully.2
New guy taking over senior software developer since the last one seemed to burn out / got tired of all the bullshit. His coming replacement has a habit of making 'software walkthroughs' for every repository we have. The project organization is so badly managed and we only ever work on requirements when we have something concrete. After Outlook-declining one of the walkthroughs I get this little gem from him in an IM:
Guy: <Old Snr Dev> felt that you built the base for it and it would be good if you are there as you might take it forward is what <Manager> told me
Me: yeh but it is like so straightforward
and basically there are other projects on github which do the exact same thing
Guy: okay, just that I have not seen the code yet. Or anyone else to take it forward
Me: i think - go through it when you need to
if there are problems, then ask
WTF? You didn't even check it yourself and you want me to handhold you as a senior software developer? Totally nuts.2