Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
Search - "public coding"
-
So my actual job is being a nurse at the local hospital, with coding being just a hobby. However, the way some IT–Related things are treated here are just mind-blowing. Here are some examples:
Issue: Printer is not recognized by network anymore due to not being properly plugged in
Solution: Someone has to tell the house technician, if the house technician is currently not available, ask his assistant who only works part time and like twice a week. House technician took the printer (God knows why), came back 2 days later and plugged it back in.
Issue: Printer 1 of 2 on ICU has run out of ink and since all computers default to printer 1, nobody can print.
Solution: Call the house technician, blah blah, house technician comes, takes ink cartridge of printer 2 and puts it into printer 1.
Issue: Public WiFi is broken, can be connected to but internet access is missing. Probably config issue as a result of a recent blackout.
Solution: Buy a new router, spend 5 days configuring it and complain about how hard networking is.
Issue: Computer is broken, needs to be exchanged with a new one, but how do we transfer the data?
Solution: Instead of just keeping the old hard drive, make a 182GB backup, upload it to the main file server and then download it again on the new computer.
Issue: Nurse returns from vacation, forgot the password to her network account.
Solution: Call the technician who then proceeds to open a new account, copies all the files from the old one and tells her to pick an easier password this time. She chooses "121213".12 -
1. If your contract allows it (and it should), get more involved in public dev community. Your employer benefits greatly from making a small closed source core product, with a giant open source ecosystem around it. Write public articles. Working in a community larger than one single business is fun.
2. Start a company coding club, a "labs" division, work in a slightly more exotic language. Great if your employer gives you time, but using some of your own is worth it too. Work on non critical tools, creative experiments. Sometimes you stumble onto incredibly valuable ideas which would never have popped up if you had strictly followed stakeholder requirements.
3. Listen to your body. If you feel restless, go for a run. If you feel tired, take a nap. If you're stuck, wander around the company. If you feel down, go find a place with more than a dozen trees. And always have a notepad nearby for doodling!5 -
tl;dr: spent 12 hours creating an api for a job interview challenge. Got rejected after 4 weeks with no real feedback, and all I can do is rant!
So I was in the interview process with a company that was a great fit for my background.
Got through a couple of phone screens, and was given a coding challenge consisting of writing a web API with a couple of endpoints and a filter function.
I'm like, ok no problem, I happen to have created apis for some mobile apps in the past, and I pick Django rest framework to get the job done.
Implemented it on a Sunday, wrote a medium size Readme.md and some unit tests and submit. Took almost four weeks and a partial resubmission to get a rejection with no specific feedback.
Now I'm shamelessly butthurt and I have nothing else to do but rant! Worse part is I looked back at the code and in my opinion is solid AF, so I put it on my public GitHub cause fuck it!6 -
"Isn't that Java?" - bypassing stranger who happens to look over your shoulder when you're coding in public.5
-
This codebase reminds me of a large, rotting, barely-alive dromedary. Parts of it function quite well, but large swaths of it are necrotic, foul-smelling, and even rotted away. Were it healthy, it would still exude a terrible stench, and its temperament would easily match: If you managed to get near enough, it would spit and try to bite you.
Swaths of code are commented out -- entire classes simply don't exist anymore, and the ghosts of several-year-old methods still linger. Despite this, large and deprecated (yet uncommented) sections of the application depend on those undefined classes/methods. Navigating the codebase is akin to walking through a minefield: if you reference the wrong method on the wrong object... fatal exception. And being very new to this project, I have no idea what's live and what isn't.
The naming scheme doesn't help, either: it's impossible to know what's still functional without asking because nothing's marked. Instead, I've been working backwards from multiple points to try to find code paths between objects/events. I'm rarely successful.
Not only can I not tell what's live code and what's interactive death, the code itself is messy and awful. Don't get me wrong: it's solid. There's virtually no way to break it. But trying to understand it ... I feel like I'm looking at a huge, sprawling MC Escher landscape through a microscope. (No exaggeration: a magnifying glass would show a larger view that included paradoxes / dubious structures, and these are not readily apparent to me.)
It's also rife with bad practices. Terrible naming choices consisting of arbitrarily-placed acronyms, bad word choices, and simply inconsistent naming (hash vs hsh vs hs vs h). The indentation is a mix of spaces and tabs. There's magic numbers galore, and variable re-use -- not just local scope, but public methods on objects as well. I've also seen countless assignments within conditionals, and these are apparently intentional! The reasoning: to ensure the code only runs with non-falsey values. While that would indeed work, an early return/next is much clearer, and reduces indentation. It's just. reading through this makes me cringe or literally throw my hands up in frustration and exasperation.
Honestly though, I know why the code is so terrible, and I understand:
The architect/sole dev was new to coding -- I have 5-7 times his current experience -- and the project scope expanded significantly and extremely quickly, and also broke all of its foundation rules. Non-developers also dictated architecture, creating further mess. It's the stuff of nightmares. Looking at what he was able to accomplish, though, I'm impressed. Horrified at the details, but impressed with the whole.
This project is the epitome of "I wrote it quickly and just made it work."
Fortunately, he and I both agree that a rewrite is in order. but at 76k lines (without styling or configuration), it's quite the undertaking.
------
Amusing: after running the codebase through `wc`, it apparently sums to half the word count of "War and Peace"15 -
My colleagues broke down our AWS account by hard coding the AWS access API keys and pushing the same code to a public repository. This took down our system for nearly 3 days.2
-
I kid you not, one of my designer friends dipped his toes into coding, he ran into a problem...
Wondered why the following function wasn't returning a random number...
public Int getRandomNumber(){
return 4;
}
#facePalm #stickToDesigning7 -
When my idiot technical lead on the client’s floor (where everyone could hear him), “corrected” me in public telling me I should never use parent/child classes and override a method. Instead just use lots of if else statements in the one.
Not just is he a moron, but sounds like he knows what he is talking about if you are a client who knows nothing about coding. So I look like an idiot to our customers and he sounds smart... when it’s the other way around.
And HOW DARE you criticize anyone, even if it is warranted, in public in front of clients. You go in an office and close a door.6 -
This must be the most unforgettable Chinese New Year to me.
People are checking body temperature everywhere, and restricting traffic. All theaters, parks, any public places are shut down. People are told to stay home, which is what I have been doing in the past 2 weeks. Most of the time I was coding. It's kind of frustrating. I don't know how long this will last. Situation looks severe from the news.10 -
Former classmate: Our alma mater is looking for alumni to participate in career day. Share what skills you need and the steps you took for your career path!
Me: Thanks for the invite. But I’m not a good role model for this.
FC: Why not? You’re a successful engineer!
Me: So I used my full tuition university scholarship on an art degree because I was too depressed after a long physical illness. Oh, and for some reason a lot of y’all assumed I went to a private uni when I went to the public uni. Then I went to graduate school immediately after and during a recession and ended up with tens of thousands in student debt. Then I did a lot of part time jobs before going to a shady coding bootcamp. I’m lucky to have encountered an advocate and a company willing to take me on as a junior dev. I’m pretty sure I was a diversity hire and I was definitely underpaid. I’m lucky to have moved on from there and to be thriving now. I’d tell the students to skip college (like I had considered) and go into a trade. And I’d also tell them a lot of life is luck and not just hard work.
FC: 😧2 -
My first dev project. That is a toughie. Years ago (1998) I did some BASIC programming in HS. Then a few years after that (somwhere between 2002 and 2006) I did a lot of video game editing with hex editors and other tools to replace dialog to translate video games from Japanese to English, but there was not much coding there.
The first one I remember in recent times that involved any kind of coding was back in 2012/2013, there was a save state editor for Final Fantasy III on android (it didn't work for the iOS saves) but the editor was in Chinese. I ended up working with someone else to change it to English, so that others could use it easier. After that, I decided to code one from scratch for a different game.
I spent weeks working on it, and finally released a save editor for Final Fantasy Dimensions (I made sure it worked for both iOS and Android save files). It was my first great achievement, however it was way to many lines of code (I didn't know about loops or arrays back then, so I had a lot of repeating code). I eventually ended up making ones for Final Fantasy IV and VI, however those were never released to the public, as I had trouble getting the CRC to calculate properly every time.
This led me down the path I am now, going for my Bachelor's in IST with a specialization in Programming.1 -
!rant
Well, I did it.
My alpha first app I'm sharing with the public.
It's small, it's not pretty, but it's mine.
Say hello to, Coding Trainer
https://github.com/IronPhreak/...
Coding trainer is a project to encourage users to code more and not procrastinate. This is done by incentivizing users to work on their code in order to access certain "fun" programs
-----
I know this isn't the best as it's only a small amount of code and hours worked on, I know it can (and will) be improved. However this has given me some experience I didn't have before which will lead into future apps I work on8 -
Best non dev activity for me is riding public transports home after coding. It's so underwhelming that my brain focuses really well - comes with the problem of looking crazy when I take out my laptop in the middle of the subway1
-
questions in our mind as soon as we see someone coding in public place:
» What is he/she working on?
» Is that person better than me?
and then we finally judge him/her as a showoff! 😂 -
This story just left me speechless in any way and i want to share it. tl;dr at the end.
Im studying computer science in germany and in the first of the small classes i noticed... no, i was disturbed by a guy who would just say that the thing we're learning atm were so easy and the teacher shouldn't even bother to explain it to the class. I don't understand why you would spoile a class that hard... I'm here to learn and listen to the teacher, not to you little asshole. (We were doing basic stuff like binary system etc. but still, let us learn)
So he became unpopular pretty fast.
Fast forward, a few weeks of studying later there was a coding competition where you had to solve different algorithmic problems in a team as fast as possible.
I came there, without a team because my friends aren't interested but I enjoy such tournaments. This guy and me were the only ones without a team and we had to work together.
After him being a total dick for hours i had to watch him code a simple for-loop, that iterates through a sorted array. Nothing special, at this point anyone could do that task in our class so it shouldn't be a problem for him.
He made a simple for-loop and it worked fine, but we figured we had to iterate through the array the other way around.
'Alright', I think. 'Just let the index decr..' 'Pssshhh', he interrupted me and said he knows exactly how to do this.
I was quite impressed when he started to type in 'public int backsort..' in a new line. He tried to resort the array backwards with a quicksort that he then struggled to implement. (Of course we had to implement a quick runtime and we needed that quicksort badly)
I was kind of annoyed but impressed at the same time. I mumbled 'Java has an internal sorting algorithm already' just to amuse myself.
He then used that implementation.
After a few minutes of my pleasure and multiple tests without hitting the requested runtime, i tried to explain to him why we wouldn't need to sort that array backwards and he just couldn't believe it.
I hope that he stays more humble after that..
Also we became last place but thats ok :)
tl;dr: Guy spoiles whole class, brags with his untouchable knowledge (when we do things like binary system). In a competition has to iterate through a sorted array backwards - tries to implement a sorting algorithm to sort it backwards first. I tell him, we could use a already implemented java method. Then tell him we could simply iterate through decreasing the index. Mind-Blown2 -
So there is this project of my firm that is comepletly dependant on Facebook api, I've actually told it many times to managers at first but they've just waved their hands over it.
Now what didn't happen. Facebook data leak and the api being taking down ..juust a week before the project going public.
Our app is still not reviewed and not able to access the so vital api and there are actually many similar projects getting published (even Facebook Local greatly rivals to our app, actually killing it because they have native data... And we don't have any. )
I told them again. "Nah we will have this and this feature that makes it soo exceptionall."
And you are sitting here thinking if the salary you have asked for is still good enough to stay or to run away.
(Well, I am still getting some coding experience from this so that's why I stay, and oh yeah I have the backend repo only for myslef because except the frontend dev no managers knows what git is. This is how freedom feels. )2 -
how do you deal with workplace bullies? or is it just me who feels certain types of talks and actions are a bit intimidating and contributes to a hostile workplace environment?
i usually feel this around people of power. like say you are a TL and you are casually flexing the power to impact X guy's KPI scores in response to a funny taunt about holidays, while some guy Y from same team is in proximity whose leaves are not yet approved, isn't it some kind of intentional bullying?
or like there is some discussion goin on with TL and dev, where dev is trying to justify some reason for something, and suddenly the SSE jumps in between, start agreeing with the TL, adds a few jokes deviating the situation and the dev is left with his reasons and justifications undermined?
or like when some messup occurs by the team and TL suddenly pulls out a threatening card citing "people spending extra time in tt/leaving early" or some other reason as cause/punishment of messup?
Why do people of power need to make us remember that there is someone above us? and why does this need to be done in public?
lets say even if there are some notorious elements in team, who does take leaves on important days, and who are giving poor performance due to slacking/TT/early signoff, why should i be also told about it? just to get a warning?
And let's assume that there ARE people whose work is not causing the mess. They ARE doing good timely work and there are no complaints (not even the ones that don't reach public ear) , how should they not get intermediated by such situations?
I will not say i am the most perfect person doing the best of coding, but if i am being constantly kept in an atmosphere of fear and power; and being constantly cut/over powered during my discussions, i might end up doing mistakes as well11 -
What coding at work is supposed to look like:
class myclass {
public:
void myfunc;
void.... And so on so forth.
What coding at work actually looks like:
class myclass {
pub--"Hey can get line one? <name> is asking for you."
(20 minutes later)
public:
void myfunc;
vo--"Hey <same name> wants to talk to you again."
Programming doesn't give me gray hair, distractions do.3 -
Been coding for many years. Just submitted my first public commercial app to eBay to get approved for compatibility then going to make some tweaks and send it off to the App Store 😆😬4
-
All these threads about what music to listen to when coding, thought I'd throw a bunch of tracks into a public playlist and share it: https://open.spotify.com/user/...
New tag: musictocodeto4 -
Top 12 C# Programming Tips & Tricks
Programming can be described as the process which leads a computing problem from its original formulation, to an executable computer program. This process involves activities such as developing understanding, analysis, generating algorithms, verification of essentials of algorithms - including their accuracy and resources utilization - and coding of algorithms in the proposed programming language. The source code can be written in one or more programming languages. The purpose of programming is to find a series of instructions that can automate solving of specific problems, or performing a particular task. Programming needs competence in various subjects including formal logic, understanding the application, and specialized algorithms.
1. Write Unit Test for Non-Public Methods
Many developers do not write unit test methods for non-public assemblies. This is because they are invisible to the test project. C# enables one to enhance visibility between the assembly internals and other assemblies. The trick is to include //Make the internals visible to the test assembly [assembly: InternalsVisibleTo("MyTestAssembly")] in the AssemblyInfo.cs file.
2. Tuples
Many developers build a POCO class in order to return multiple values from a method. Tuples are initiated in .NET Framework 4.0.
3. Do not bother with Temporary Collections, Use Yield instead
A temporary list that holds salvaged and returned items may be created when developers want to pick items from a collection.
In order to prevent the temporary collection from being used, developers can use yield. Yield gives out results according to the result set enumeration.
Developers also have the option of using LINQ.
4. Making a retirement announcement
Developers who own re-distributable components and probably want to detract a method in the near future, can embellish it with the outdated feature to connect it with the clients
[Obsolete("This method will be deprecated soon. You could use XYZ alternatively.")]
Upon compilation, a client gets a warning upon with the message. To fail a client build that is using the detracted method, pass the additional Boolean parameter as True.
[Obsolete("This method is deprecated. You could use XYZ alternatively.", true)]
5. Deferred Execution While Writing LINQ Queries
When a LINQ query is written in .NET, it can only perform the query when the LINQ result is approached. The occurrence of LINQ is known as deferred execution. Developers should understand that in every result set approach, the query gets executed over and over. In order to prevent a repetition of the execution, change the LINQ result to List after execution. Below is an example
public void MyComponentLegacyMethod(List<int> masterCollection)
6. Explicit keyword conversions for business entities
Utilize the explicit keyword to describe the alteration of one business entity to another. The alteration method is conjured once the alteration is applied in code
7. Absorbing the Exact Stack Trace
In the catch block of a C# program, if an exception is thrown as shown below and probably a fault has occurred in the method ConnectDatabase, the thrown exception stack trace only indicates the fault has happened in the method RunDataOperation
8. Enum Flags Attribute
Using flags attribute to decorate the enum in C# enables it as bit fields. This enables developers to collect the enum values. One can use the following C# code.
he output for this code will be “BlackMamba, CottonMouth, Wiper”. When the flags attribute is removed, the output will remain 14.
9. Implementing the Base Type for a Generic Type
When developers want to enforce the generic type provided in a generic class such that it will be able to inherit from a particular interface
10. Using Property as IEnumerable doesn’t make it Read-only
When an IEnumerable property gets exposed in a created class
This code modifies the list and gives it a new name. In order to avoid this, add AsReadOnly as opposed to AsEnumerable.
11. Data Type Conversion
More often than not, developers have to alter data types for different reasons. For example, converting a set value decimal variable to an int or Integer
Source: https://freelancer.com/community/...2 -
i am feeling angry and frustrated. not sure if it's a person ,or codebase or this bloody job. i have been into the company for 8 months and i feel like someone taking a lot of load while not getting enough team support to do it or any appreciation if i do it right.
i am not a senior by designation, but i do think my manager and my seniors have got their work easy when they see my work . like for eg, if on first release, they told me that i have to update unit tests and documentation, then on every subsequent release i did them by default and mentioning that with a small tick .
but they sure as hell don't make my work easy for me. their codebase is shitty and they don't give me KT, rather expect me to read everything on my own, understand on my own and then do everything on my own, then raise a pr , then merge that pr (once reviewed) , then create a release, then update the docs and finally publish the release and send the notification to the team
well fine, as a beginner dev, i think that's a good exercise, but if not in the coding step, their intervention would be needed in other steps like reviewing merging and releasing. but for those steps they again cause unnecessary delay. my senior is so shitty guy, he will just reply to any of my message after 2-3 hours
and his pr review process is also frustrating. he will keep me on call while reviewing each and every file of my pr and then suggest changes. that's good i guess, but why tf do you need to suggest something every fucking time? if i am doing such a shitty coding that you want me to redo some approach that i thought was correct , why don't you intervene beforehand? when i was messaging you for advice and when you ignored me for 3 hours? another eg : check my comment on root's rant https://devrant.com/rants/5845126/ (am talking about my tl there but he's also similar)
the tasks they give are also very frustrating. i am an android dev by profession, my previous company was a b2c edtech app that used kotlin, java11, a proper hierarchy and other latest Android advancements.
this company's main Android product is a java sdk that other android apps uses. the java code is verbose , repetitive and with a messed up architecture. for one api, the client is able to attach a listener to some service that is 4 layers down the hierarchy , while got other api, the client provides a listener which is kept as a weak reference while internal listeners come back with the values and update this weak reference . neither my team lead nor my seniors have been able to answer about logic for seperation among various files/classes/internal classes and unnecessary division of code makes me puke.
so by now you might have an idea of my situation: ugly codebase, unavailable/ignorant codeowners (my sr and TL) and tight deadlines.
but i haven't told you about the tasks, coz they get even more shittier
- in addition to adding features/ maintaining this horrible codebase , i would sometimes get task to fix queries by client . note that we have tons of customer representatives that would easily get those stupid queries resolced if they did their job correctly
- we also have hybrid and 3rd party sdks like react, flutter etc in total 7 hybrid sdks which uses this Android library as a dependency and have a wrapper written on its public facing apis in an equally horrible code style. that i have to maintain. i did not got much time/kt to learn these techs, but once my sr. half heartedly explained the code and now every thing about those awful sdls is my responsibility. thank god they don't give me the ios and web SDK too
- the worst is the shitty user side docs. I don't know what shit is going there, but we got like 4 people in the docs team and they are supposed to maintain the documentation of sdk, client side. however they have rasied 20 tickets about 20 pages for me to add more stuff there. like what are you guys supposed to do? we create the changelog, release notes , comments in pr , comments in codebase , test cases, test scenarios, fucking working sample apps and their code bases... then why tf are we supposed to do the documentation on an html based website too?? can't you just have a basic knowledge of running the sample, reading the docs and understand what is going around? do i need to be a master of english too in addition to being a frustrated coder?
just.... fml -
Junior angular dev, looking for some fun projects to throw on my github. I haven't done any coding for my public github since I started working full time, so it looks like I'm MIA! Want to show off my newly gained skills :)
Anything html/css/boostrap/js/jquery/angular/jasmine/karma/node I'm down for, or if you've got any fun projects related to web development (backend, DB, etc) that's an unfamiliar language I'd probably take a shot at that too!
I built a portfolio before and deployed it to digital ocean and assigned it to my own google purchased .com, but that's the most "impressive" thing I've done so far.1 -
Looking for a recommendation on what I should use to code on my phone.
I own an iPhone and usually spend a lot of time on public transit. I thought that it would be better to spend that time coding or learning something new. I am semi experienced in programming and this would help me get better as well.
Any recommendations on any app (possibly free) that I could download to kinda allow me to code and learn at the same time?5