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 - "rewrites"
-
Boss: I need you to start on this new project, how long will it take?
Me: well, hard to say with no specs whatsoever...
Boss: just your best guess
Me: 4 to 6 month I guess?
Boss: so 3 months it is. When can you start?
Me: no specs, sir...and I said 4 to 6
Boss: the specs are almost ready, I know you can simplify it
Me: ...
Boss: just start with the basic infrastructure already
(4 months later)
Boss: here you are the specs, they might change a little in behaviour and design, but all the main stuff is here
(Hands me a A3 with a total of 21 pictures in InDesign)
Me: o....Kay. what happens when I click here?
Boss: oh, we should still talk about the app workflow, I'll get you updated
(2 weeks and 16 total rewrites of the "specs" later)
Boss: you told me it was a 2 months job, why aren't you finished yet? We must deploy in 3 weeks!
Me: ...34 -
FUCK YOU WORDPRESS
Omfg never been so fucking pissed in my life.
I just wasted 3 hours because this fucking bullshit rewrites the fucking URL based on the URL on a config fucking file?!!?
It fucking ignores: apache virtual host configs and nginx reverse proxy
omfg...8 -
Writes code in C
Terminal: Seg fault
Rewrites code
Terminal: Seg fault
Rewrites again, opens gdb:
Seg fault
"I should open a brewery, I like beer. I've always wanted to make beer, it's analogic for the most part. No seg faults, can you believe that? Perhaps even a pub next to the brewery..."
"Oh, I was doing one extra iteration in a for loop. Nevermind"7 -
Me: *rewrites chunk of code*
"Time to test this baby. This is gonna fail spectacularly"
Code: *works*
Me: "Fuck!"5 -
First (working) attempts at writing a proxy that rewrites live requests from the devrant app, right now it only rewrites all notifications to be unread
Though the first attempt that finally works is built with mitmproxy and it's add-on scripting, plan is to get that stuff work with e.g. goproxy instead37 -
I spent over a decade of my life working with Ada. I've spent almost the same amount of time working with C# and VisualBasic. And I've spent almost six years now with F#. I consider all of these great languages for various reasons, each with their respective problems. As these are mostly mature languages some of the problems were only knowable in hindsight. But Ada was always sort of my baby. I don't really mind extra typing, as at least what I do, reading happens much more than writing, and tab completion has most things only being 3-4 key presses irl. But I'm no zealot, and have been fully aware of deficiencies in the language, just like any language would have. I've had similar feelings of all languages I've worked with, and the .NET/C#/VB/F# guys are excellent with taking suggestions and feedback.
This is not the case with Ada, and this will be my story, since I've no longer decided anonymity is necessary.
First few years learning the language I did what anyone does: you write shit that already exists just to learn. Kept refining it over time, sometimes needing to do entire rewrites. Eventually a few of these wound up being good. Not novel, just good stuff that already existed. Outperforming the leading Ada company in benchmarks kind of good. At the time I was really gung-ho about the language. Would have loved to make Ada development a career. Eventually build up enough of this, as well as a working, but very bad performing compiler, and decide to try to apply for a job at this company. I wasn't worried about the quality of the compiler, as anyone who's seriously worked with Ada knows, the language is remarkably complex with some bizarre rules in dark corners, so a compiler which passes the standards test indicates a very intimate knowledge of the language few can attest to.
I get told they didn't think I would be a good fit for the job, and that they didn't think I should be doing development.
A few months of rapid cycling between hatred and self loathing passes, and then a suicide attempt. I've got past problems which contributed more so than the actual job denial.
So I get better and start working even harder on my shit. Get the performance of my stuff up even better. Don't bother even trying to fix up the compiler, and start researching about text parsing. Do tons of small programs to test things, and wind up learning a lot. I'm starting to notice a lot of languages really surpassing Ada in _quality of life_, with things package managers and repositories for those, as well as social media presence and exhaustive tutorials from the community.
At the time I didn't really get programming language specific package managers (I do now), but I still brought this up to the community. Don't do that. They don't like new ideas. Odd for a language which at the time was so innovative. But social media presence did eventually happen with a Twitter account that is most definitely run by a specific Ada company masquerading as a general Ada advocate. It did occasionally draw interest to neat things from the community, so that's cool.
Since I've been using both VisualStudio and an IDE this Ada company provides, I saw a very jarring quality difference over the years. I'm not gonna say VS is perfect, it's not. But this piece of shit made VS look like a polished streamlined bug free race car designed by expert UX people. It. Was. Bad. Very little features, with little added over the years. Fast forwarding several years, I can find about ten bugs in five minutes each update, and I can't find bugs in the video games I play, so I'm no bug finder. It's just that bad. This from a company providing software for "highly reliable systems"...
So I decide to take a crack at writing an editor extension for VS Code, which I had never even used. It actually went well, and as of this writing it has over 24k downloads, and I've received some great comments from some people over on Twitter about how detailed the highlighting is. Plenty of bespoke advertising the entire time in development, of course.
Never a single word from the community about me.
Around this time I had also started a YouTube channel to provide educational content about the language, since there's very little, except large textbooks which aren't right for everyone. Now keep in mind I had written a compiler which at least was passing the language standards test, so I definitely know the language very well. This is a standard the programmers at these companies will admit very few people understand. YouTube channel met with hate from the community, and overwhelming thanks from newcomers. Never a shout out from the "community" Twitter account. The hate went as far as things like how nothing I say should be listened to because I'm a degenerate Irishman, to things like how the world would have been a better place if I was successful in killing myself (I don't talk much about my mental illness, but it shows up).
I'm strictly a .NET developer now. All code ported.5 -
If ever you felt imposter syndrome, it's after your senior experienced colleague rewrites an API you built... You've been chipping away at it for months, making it faster but reaching the limits of the functional but flawed original design.
In one week he starts it as a side project, and fixes the whole thing, soap to nuts... I need to sit down with that guy more.3 -
Me: *deploys site*
Someone: Hey, there's a bug in your site's css.
Me: ...
Me: *rewrites css with sass* -
Doing a full rewrite from some DIY spaghetti framework: when it can't find a search query it returns "false" with the status code 200, the same php file responsible for querying an external api is put into all sorts of named folders, so e.g. a user that is in the results page X can continue searching on the same URL, instead of doing proper url rewrites or ajax calls to the one in the root directory, html is thrown into every other php line, a DIY sort function for a numbers array that fails to sort 0 before 1 and that all is just a 10 minute review, can't wait to see the rest.2
-
Today on incompetent profs & classmates...
Dumb student forgets to exit vim and rewrites program 3 times before calling d prof
for help
I ask the prof for approval to use an IDE or a text editor in lab and she has no clue what an IDE is. I installed atom just as she left.
Another kid fooled into thinking web dev has no future.
Apparently I can't use laptop in class to execute programs as "other students may be at loss" i mean wtf that's their fkin problem why do I have to suffer.
Student questions unix prof about the file size limitation in fat32. She had a poker face.
Prof gives "hello world" program to sophomores. Nice.14 -
3 REWRITES, 3 GOD DAMN REWRITES. Just decided that A* Path Finding Algorithm looks nice and felt like sure lets have a go...
3 REWRITES to get it right and even then there are minor bugs, sometimes coding is my passion, other times I wish I didn't know how to turn a PC on :/2 -
So for those of you keeping track, I've become a bit of a data munger of late, something that is both interesting and somewhat frustrating.
I work with a variety of enterprise data sources. Those of you who have done enterprise work will know what I mean. Forget lovely Web APIs with proper authentication and JSON fed by well-known open source libraries. No, I've got the output from an AS/400 to deal with (For the youngsters amongst you, AS/400 is a 1980s IBM mainframe-ish operating system that oriiganlly ran on 48-bit computers). I've got EDIFACT to deal with (for the youngsters amongst you: EDIFACT is the 1980s precursor to XML. It's all cryptic codes, + delimited fields and ' delimited lines) and I've got legacy databases to massage into newer formats, all for what is laughably called my "data warehouse".
But of course, the one system that actually gives me serious problems is the most modern one. It's web-based, on internal servers. It's got all the late-naughties buzzowrds in web development, such as AJAX and JQuery. And it now has a "Web Service" interface at the request of the bosses, that I have to use.
The programmers of this system have based it on that very well-known database: Intersystems Caché. This is an Object Database, and doesn't have an SQL driver by default, so I'm basically required to use this "Web Service".
Let's put aside the poor security. I basically pass a hard-coded human readable string as password in a password field in the GET parameters. This is a step up from no security, to be fair, though not much.
It's the fact that the thing lies. All the files it spits out start with that fateful string: '<?xml version="1.0" encoding="ISO-8859-1"?>' and it lies.
It's all UTF-8, which has made some of my parsers choke, when they're expecting latin-1.
But no, the real lie is the fact that IT IS NOT WELL-FORMED XML. Let alone Valid.
THERE IS NO ROOT ELEMENT!
So now, I have to waste my time writing a proxy for this "web service" that rewrites the XML encoding string on these files, and adds a root element, just so I can spit it at an XML parser. This means added infrastructure for my data munging, and more potential bugs introduced or points of failure.
Let's just say that the developers of this system don't really cope with people wanting to integrate with them. It's amazing that they manage to integrate with third parties at all...2 -
Unpopular opinion:
Version control is shit, just rewrite it every time you change something and need to roll back.
Convince me otherwise!6 -
Github rewrites its Desktop Client using Electron!!!
Along with this, GitHub has also introduced a new beta of atom sporting out-of-the-box Git and Github integration.
Nice move 👏
https://infoq.com/news/2017/...2 -
I have a friend which have a hoarding disorder when it comes to coding. Here are some of the things he does:
1: If he rewrites, remove, or in any other way refactor a function, then he keeps the old one in the file commented out.
2: If he deletes a class then he takes the code and paste it into a class that he have just for old code. AN ACTUAL CLASS! Not just some random text file somewhere. Even though it is commented out, he leaves it so that you can initiate his garbage.
3: In point 1, the code is not pasted on the end. It inside all the other actual code.
So if you try to help him with something, then you have to dig through a mountain of shit just to find some code.5 -
tabs vs spaces
i hate it when i cant find where i used spaces instead of tabs. just a simple mistake and it doesnt work
me: *codes makefile in codenvy*
terminal: *** missing separator. Stop.
me: *rewrites code exactly the same way in Notepad++*
me: *copy paste code to codenvy*
terminal: *compiles whole project*
wow. just wow.6 -
Currently have this issue where I just want to try out all the cool things I see, so my project is not going anywhere and instead just gets rewritten over and over but with a different tool or architecture or framework each time. Can't lock down on something I like, because I like everything 😅1
-
Got a nice solution, part of a micro-services system. Interfaces where they should be. Single responsibilities. Easily unit testable (and plenty of tests in there).
Then the Senior rewrites things because he didn’t see the point in having interfaces and couples every layer to a shared set of objects, and those objects are now shared by all the other micro-services too. One change in one and we have to repeat it in every service. 🤦♂️4 -
I made a point to the management that people are unnecessarily reworking things and throwing away. And all products should have a product owner and they should give requirements. So the management called the same guy(who fucking does pointless rewrites in the name of code cleanup) and said come up with a solution. The guy came with a solution of Agile + Jira and a whole fucking process behind it. So guess what, we are having pointless meetings when we can just finish and ship deliverables.
The management successfully founded an efficient way to effectively waste time. Kuddos.3 -
>Weird Windows 10 glitch occurs causing text in dialogue boxes and other various things to not appear until you restart your computer.
>Is working on a program in C#
>Presses button in source control.
>Yes or no dialogue appears.
>Presses yes.
>All flies in working folder disappear.
>Restarts computer to fix visual glitch.
>All files in working folder don’t actually exist anymore.
>3 months of work nowhere to be found.
>Downloads decompiler.
>Decompiles previous versions executable file.
>Continues to work on project with decompiled code for the next 6 months.
>Gets sick of everything and painfully rewrites the entire program in NodeJS.
Moral of the story: Never gamble with Windows.4 -
>add new feature, push to seperate branch
>ask other dev to have a look at code
>other dev completely rewrites the feature and pushes directly to master
please1 -
*rewrites rust mpsc*
you did it wroooong
I thought my threads were locking if I had thousands of jobs spawning thousands of more jobs. turns out it's fine. actually if I organize my data locks in the way everyone wants to do them my CPU fans go off but my original way you don't feel jack shit and processes faster
turns out it's because 320k jobs is a bit much for mpsc. because my jobs can spawn more jobs the whole thing just grinds to a halt. and there's sync-mpsc which allows you to have a maximum number of data you send through it, therefore I can just have 245 sent jobs instead of 320k but then this locks all the threads because for a thread to finish it needs to finish sending jobs, but a sync mpsc won't let you send a job if current jobs are over the specified limit. so all the threads get stuck sending jobs. smart. not. what's even the point of that?!
and evidently there's no built-in way to prioritize certain jobs. the AI thinks you should just send jobs in and each thread should have a priority queue. I don't know sounds dumb to me. then you could by random luck have threads with lots of jobs that need to be prioritized to be done and other threads stuck hanging waiting for previous jobs / the other threads. no thanks
so clearly the solution is to rewrite mpsc but allow prioritization when a thread goes in to ask for a job to do
since my jobs are intended to start other jobs, it makes sense to have no actual upper bound limit to the number of jobs in the queue but to favour doing jobs that won't start new jobs to lower the RAM and compute necessary to juggle all this
hope this is the actual problem. cuz the code works for like 200 jobs spawning 500 jobs each, which is 100k jobs total
but it stalls to a halt doing 8300 jobs spawning 500 jobs each (which if I do the math -- in my tests it stalls at 320k jobs and seems the number should be 4,150,00 jobs -- yeah I think this is probably the damned problem)8 -
Over complicated htaccess rewrites that dont work due to the client's business logic. I hate wasting time on something that should take 5 mins.
-
after having to deal with a lot of weird "rewrites" and "refactorings" by co-workers i started to add this comment into the head of my sourcefiles:
You may think you know what the following code does.
But you dont. Trust me.
Fiddle with it, and youll spend many sleepless nights cursing the moment you thought youd be clever enough to "optimize" the code below. Now close this file and go play with something else.
Found this somewhere on the interwebs and since i use it the "refactorings" and "optimizations" of my code stopped nearly completely -
So, yesterday I was able to create a stack overflow using jQuery, just trying to do a fucking AJAX call.....
It took me fucking 2 hours and 5 rewrites to spot that I was trying to access an undeclared variable.....
Fucking useless error messages, like why would I get an overflow at dc, when it's a fucking undeclared variable..2 -
Spent almost 2 hours looking at the apache conf I was given only to find out all the rewrites were broken due to a missing '/' on the mod rewrite condition. Fml
-
the co-worker that takes forever to rewrite everything, which results in really complex code. then we need to implement a new feature and it's impossible to make it work with what he's done. so he rewrites everything again...
-
Damn you nginx...
Let's say you have a simple location directive like:
location / {
auth_reques /auth;
index index.html;
}
location = /auth {
internal;
proxy_pass <...>;
}
Now guess how often nginx makes a subrequest to /auth.
Thats correct TWO times... "why?" you ask?
Well isn't it obvious that nginx hits the auth request, then rewrites the request to the index file, hits the auth request again because it's technically a different request now and then proceeds to hand out the file?
Thanks for documenting this. NOT6 -
I search for a problem. Write down all of its aspects. Write down the process I would like to implement for each aspect.
At this point I ask myself which language/db/library... is compatible with my processes. I write down all the data types I would probably need and a rough outline for the ui.
After that I just start coding and go with the flow 3 rewrites later I need a break.
Not very efficient start. -
Any other fans of Espresso for macOS? Love the app, hate how the developer abandons and then rewrites it on a 3-year cycle 😄