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 - "inline"
-
The programmer and the interns part 3.
Many of you asked me to keep posting about the interns that I'm responsible for.
I had the intention but never had the time or the energy. Since the interns only kept doing stupid, unthinkable things and just filtering out the good ones is a task of its own.
Time has passed, some interns left us by their choice, others were fired (for obvious reasons). Some stayed loyal and were given permanent positions. New ones joined. I no longer am directly responsible for their wellbeing, yet, somehow I am still their tech-lead and the developer of their tools.
Without further delay,
Case 0:
New guy get's into the internship, has his LinkedIn title set to ‘HTML Technician’.
Didn’t know about the existence of HTML5.
Been building static web pages in the early 2000s. The kind with embedded, inline CSS.
Claims that he is about to finish an engineering degree (sadly I believe him).
Fails the entry level Linux test. Complains about the similarity of the answer options.
Fails the basic web-standars test because "they change so fast, but the foundation is HTML and it's rock-solid!".
Get's caught taking home onions and milk from the kitchen.
Is spotted eating in a restaurant under our offices in his day off. Thrice. He lives a 30 minute drive away and comes here on a bicycle or by bus.
Apparently didn't know that the scrolling wheel on the mouse is clickable.
Said that his PC experience is mostly from his PlayStation (PC = PlayCtation apparently).
Get's fired, says that he'll go to the press. Never does.
Case 1:
Yet another new intern. He seems very eager to learn and work, capable, even charismatic. Has an impressive CV.
Does nothing.
Learns from the "case 0" guy and spends time with him until he is fired.
Comes to work at 8:00 AM and immediately goes to sleep on an office puff. In front of everyone.
Keeps dining alone, without a notice, at different times, for hours. Sometimes brings food into the office and loudly eats it there.
On his evening shifts keeps disappearing for long periods of time. Apparently drinking in the nearby bars and hitting on girls.
Keeps bragging about his success with getting their numbers and rants about those who reject him.
For over a year he fails his final training test and remains a trainee, without the ability to work on a real case.
Not fired yet.
Case 2:
Company retreat. Beautiful, exotic views, warm sun beams, all inclusive package for everyone on a huge half-island.
Simon (he's still with us, now as a true engineer!) brings his MacBook to the beach in order to work and impress all others.
Everybody get's drunk and start throwing huge inflatable balls at each other. One hits his laptop and it immediately is flattened.
Upset Simon is going in circles and ranting about the situation, looking for a solution.
Loses his phone on the beach.
Takes his broken laptop with him while searching for the phone.
Dips the laptop in the river while drunkenly ducking in order to pick a clam.
Case 3:
Still company retreat.
Drunk intern makes out with an employee's drunk wife.
Huge verbal fight. The husband says that he files for a divorce. Intern get's fired.
Case 4:
Still company retreat.
Three interns each take an inflatable swimming mattress and drift with the current. Get found on the other side of the resort three hours later, with red skin and severely dehydrated.
Case 5:
Still company retreat.
The 'informally fired' intern gets drunk again, climbs through a window into a room and makes out with an employee's drunk wife.
Again, gets caught when the husband returns to find a locked door but can see them though the window.
Case 6:
Still company retreat.
We all get ferociously drunk and wander off to the unknown in search of more booze.
Everybody does something stupid and somebody finds Simon's phone.
Simon is lost.
Frenzied horde of drunks is roaming the half-island in search of ethanol and the lost comrade.
Simon's phone get's permanently lost.
Five people step on sea urchins but find that out only hours later and then are unable to walk.
The mob, now including more drunk people who joined voluntarily, finds the sexually active intern making out with the enraged employee's wife yet again.
Surprisingly Simon is found sleeping in a room nearby.24 -
You think developing websites cross browsers is hard
Try developing emails.
tables, inline css, Outlook developers on drugs, Gmail developers trying to get high, and abandon most of the things you know about modern web standards24 -
Hey, wanna hear a disappointing stack?
- WordPress
- jQuery
- vanilla inline CSS
- shitty random legacy PHP
Disclaimer:
The author is NOT responsible nor liable for any injuries, mental health issues, sanitary problems, asexuality, crippling depression, triggered by this rant nor liable for any damaged walls, hurt animals or deaths.12 -
You know what's the difference between
- static page written purely in HTML with inline styling
and
- dynamic page generated in PHP, that actually loads data from MySQL database and is correctly styled in separate CSS document
on national level exam necessary to earn a title of technician?
ONE HACKING PERCENT!
Ok, backstory. So, few days ago I got results from that exam. To be honest, it was very, very easy so I wasn't worried at all, unlike some of my classmates who just don't understand programming at all (you need at least 75% to pass). Our task was to create database, write website in PHP that shows contents of that database and use CSS to give it a look that of example web page and run it on XAMPP. I've got result of 96% and while I was wandering what I've done wrong i hear my colleague almost screaming with joy "I passed! And I haven't even touched PHP. I was soooo sure I'll fail." So I asked him what's his result and he says 95%. And then another colleague said he got 95% without PHP. So, in other words what I thought to be the main task was worth 1%. Apparently, what was more important was for the page to look identical to the example, so I guess some examiners didn't even look into the source. And don't get me wrong, I don't wish my classmates had failed. That's not why I'm ranting. But why in the name of Ada Lovelace the task said to use PHP and all that if it weren't supposed to check our knowledge of programming in PHP? Sometimes I think the people who design these tests don't even know what they're doing.10 -
TABLE BASED WEB DESIGN
I was surprised there were no rants about this topic before I realized it was more than a decade back 😳
We've never had it better! So to help add a little perspective for all those ranting about what is unarguably the golden age for web developers... let me fill you in on web dev in the late 90's;
JavaScript was a joke. No seriously! - I once got laughed out of the room for suggesting we try use it for more than disabling a button - (I wanted to check out the new XHR request thingy [read AJAX]).
HTML was simple and purely a markup language (with the exception of the marquee tag). The tags were basically just p,ul,ol,h*,form inputs,img and table and html took 10 minutes to learn. Any style was inline and equally crude - anything that wasn't crude could not be trusted and probably wouldn't render at all in most browsers (never mind render correctly).
There were rumors of a style TAG and something called a cascading style sheet which were received with much skepticism since it went against the old ways and any time saved would be lost writing multiple [IE version specific] style sheets for each browser just to get it to work - so we simply didn't.
No CSS meant the only tags you had to work with to create a structured layout were br, hr and table... so naturally EVERYTHING was in nested tables! JS callback hell can't touch this! - it was not uncommon to have 50+ nested tables all with inline style in a single page which would be edited without any dev tools or linting.
You would spend 30 minutes scanning td tags until your eyes bled to find something, make a change, ftp the file to the server, reload the web page and then spend 10 minutes staring at the devastation on your screen convinced you broke
the internet before spotting an un-closed td tag with your bloodshot eyes.
Tables were not just a silver bullet - they were the ONLY bullet and were in the wild west!
Q: Want an inline form or to align your inputs left?
A: Duh table!
Q: Want a border with round-corners, a shadow or blur?
A: That's easy! Your gonna want to put that table in the center cell of another table then crop a image of the border into 6 smaller images to put in the surrounding cells... oh and then spend 10 minutes fucking with mystical attributes like cell-padding and valign to get them flush.
...But hey at least on the bright-side vertically & horizontally centering stuff was a breeze!22 -
Laravel is the worst framework ever.
Everything has to be made convenient and easy. That sounds amazing, because developers want to save time, worry less about boilerplate code, right? No more constructors, no more dependency injection, fuck all the tedious OOP shit... RIGHT?
It does one thing well: Make PHP syntax uniform and concise through easily integrated libraries such as Collection and Carbon. But those are actually not really part of the framework... just commonly integrated and associated with Laravel.
The framework itself is completely derailed: You can define code in a callback in the routes file. You can define a controller in the routes file. You can define middleware as a parameter to the route, as a fluent method to the route, you can stack them up in a service provider. Validators can be made in controllers, Request objects, service providers, etc. You can send mail inline, through Mailable objects, through Notification objects, etc.
Everything is macroable, injectable, and definable in a million different places. Ultimate freedom!
Guess what happens when you give 50 developers of various seniority a swiss army knife?
One hammers in a screw with a nail file, the other clips the head from the screw using scissors, and you end up with an unworkable mess and blunt tools.
And don't get me started about Eloquent, the Active Record ORM. It's cute for the simple blog/article/author/comment queries, but starts choking when you want more selective and performant queries or more complex aggregates, and provides such an opaque apple-esque interface which lets people think everything is OK, when in reality it's forcing the SQL server to slowly commit suicide.50 -
Manager: 'Please remove this checkbox from that page.'
Me: 'Sure thing, it was stupid anyway. Just gimme a couple of minutes.'
Legacy code: 'LOL the checkbox is wired to everything else and if you simply remove it the backend will shit itself. There is several hundred lines of inline Javascript in the HTML template with some Thymeleaf stuff managing the form data or just are there to make the code less readable. The controller for the page is a bit more than a thousand lines of spaghetti, no easy way to find where is that specific data necessary and where can be easily removed. Class variables declared between methods, dozens of nested if statements checking shit in every method and the data is passed through like half a dozen other classes. Good luck with that!'
Me: '💩.'5 -
A sidebar.
Literally just a sidebar.
And yes, this was in Hell.
Its code was spread across at least 40 files, and it used a bunch of freaking global variables to unfurl accordion sections, hide other sections/items, highlight the active item, etc. These were set (and unset!) in controller actions, so if you didn’t unset one, it remained open and highlighted until another action unset it.
Some of the global variable checks (and permissions checks) were done in the individual views, some outside of the `render` statements that include them. Some of them inherited variables from the parent, some from the controller, some from globals. Getting a view to work was trial and error. Oh, and some had their own inline css, some used css classes.
Subsections were separate views, so were some individual items, both sometimes rendered using shared templates, and all of the views and templates had the exact. same. filename. (They were located in different directories, and thus located automagically via implicit relative paths.) So, it was a virtually endless parade of`render partial => “sidebar”`. Which file does that point to? Good luck figuring it out!
Also, comments in several places said adding a new section required a database migration. I never did figure out why.
Anyway, I discovered this because I had an innocuous-sounding ticket to rearrange the sidebar, group some sections/items under different permissions, move some items to another menu, and nest some others differently.
It took me two bloody weeks, and this was when I was extremely productive every day.
Afterward, I was so disgusted by it that I took a day and removed every trace of the sidebar I could find, and rewrote it. I defined the sidebar in a hash, and wrote a simple recursive builder to generate the markup. It supported optional icons, n-level nesting, automatic highlighting of the current item and all parent nodes, compound and inherited permissions, wrapping of long names, hover and unfurl animations, etc. Took me a couple hundred lines of Ruby at the most, plus about the same of css.
Felt so good to remove that blight.5 -
As a backend dev, I have this habit of just dropping script & style tags all over the place, and using inline style attributes on divs.
Then when I'm done I just link the code to a frontend dev, they'll hate it so much it will be cleaned up within minutes.13 -
Okay it's called devRant - so I'll rant...
Why the fuck do people write comments like that:
$savesThisStuff = "stuff"; # does save stuff
Why are here 1500 lines from which there are 700 outcommented code and 300 dead functions which aren't called anywhere?
Why the fuck is here PHP code which generates JavaScript inline which itself generates STATIC (!!) HTML.
------
"Always code like the one maintaining your code next is a violent murderer with an axe and you'll still be save."
... Where's my axe again?9 -
So, there is this company (let's call it A) with an average idea, who got the android app and webservices from a company(B) . The service was awful but cheap. The owner of the A was a friend and gave my company the handover to manage the project. I actually ranted about that on wk11(The worst project). Now, The project was terrible. It took me months to give it any real structure, fix the services, make it compatible with iOS. Now, that majority of the work was done, suddenly we were too expensive and the work was being given to another company while much of our payment wasn't going to come(Friggin company politics). But, guess which company did the project now go to, it was 'B'.
After a couple of weeks I see, inline styles and js errors start emerging on the website.
Tell you what, if there's any justice in this world, he will one day come back to me and then I will respectfully tell him to fuck off!
Thank goodness there's devRant to just whine about this shit!2 -
Question: What's the difference between display: block and display: inline?
Me: Thanks for your time...8 -
I'm editing the sidebar on one of our websites, and shuffling some entries. It involves moving some entries in/out of a dropdown and contextual sidebars, in/out of submenus, etc. It sounds a little tedious but overall pretty trivial, right?
This is day three.
I learned React+Redux from scratch (and rebuilt the latter for fun) in twice that long.
In my defense, I've been working on other tasks (see: Alerts), but mostly because I'd rather gouge my freaking eyes out than continue on this one.
Everything that could be wrong about this is. Everything that could be over-engineered is. Everything that could be written worse... can't, actually; it's awful.
Major grievances:
1) The sidebars (yes, there are several) are spread across a ridiculous number of folders. I stopped counting at 20.
2) Instead of icon fonts, this uses multiple images for entry states.
3) The image filenames don't match the menu entry names. at all. ("sb_gifts.png" -> orders); active filenames are e.g. "sb_giftsactive.png"
4) The actions don't match the menu entry names.
5) Menu state is handled within the root application controller, and doesn't use bools, but strings. (and these state flags never seem to get reset anywhere...)
6) These strings are used to construct the image filenames within the sidebar views/partials.
7) Sometimes access restrictions (employee, manager, etc.) are around the individual menu entries, sometimes they're around a partial include, meaning it's extremely difficult to determine which menu entries/sections/subsections are permission-locked without digging through everything.
8) Within different conditionals there are duplicate blocks markup, with duplicate includes, that end up render different partials/markup due to different state.
9) There are parent tags outside of includes, such as `<ul>#{render 'horrific-eye-stabbing'}</ul>`
10) The markup differs per location: sometimes it's a huge blob of non-semantic filthiness, sometimes it's a simple div+span. Example filth: section->p->a->(img,span) ... per menu entry.
11) In some places, the markup is broken, e.g. `<li><u>...</li></u>`
12) In other places, markup is used for layout adjustments, such as an single nested within several divs adorned with lots of styles/classes.
13) Per-device layouts are handled, not within separate views, but by conditionally enabling/disabling swaths of markup, e.g. (if is_cordova_session?).
14) `is_cordova_session` in particular is stored within a cookie that does not expire, and within your user session. disabling it is annoying and very non-obvious. It can get set whether or not you're using cordova.
15) There are virtually no stylesheets; almost everything is inline (but of course not actually everything), which makes for fun layout debugging.
16) Some of the markup (with inline styling, no less) is generated within a goddamn controller.
17) The markup does use css classes, but it's predominately not for actual styling: they're used to pick out elements within unit tests. An example class name: "hide-for-medium-down"; and no, I can't figure out what it means, even when looking at the tests that use it. There are no styles attached to that particular class.
18) The tests have not been updated for three years, and that last update was an rspec version bump.
19) Mixed tabs and spaces, with mixed indentation level (given spaces, it's sometimes 2, 4, 4, 5, or 6, and sometimes one of those levels consistently, plus an extra space thereafter.)
20) Intentional assignment within conditionals (`if var=possibly_nil_return_value()`)
21) hardcoded (and occasionally incorrect) values/urls.
... and last but not least:
22) Adding a new "menu sections unit" (I still haven't determined what the crap that means) requires changing two constants and writing a goddamn database migration.
I'm not even including minor annoyances like non-enclosed ternaries, poor naming conventions, commented out code, highly inefficient code, a 512-character regex (at least it's even, right?), etc.
just.
what the _fuck_
Who knew a sidebar could be so utterly convoluted?6 -
@dfox
!rant, it's the Feature request
Possibility to post `a code snippet with monospaced font` would be usefull.
Or even
```
def multiline_code():
from 2 to Inf:
"Lines of code"
```
Sth like in markdown.9 -
A nice word to all developers who say stuff like "I know I write bad code, but what does it matter.":
Please try to think in a logical way about what this part you are about to write has to do. It is much more difficult to rewrite code, the longer you wait after you started to code.
Bad code can have big impacts on different levels.
For example financially: Bad coding style or program structure can lead to thousands or much more in losses because of nasty bugs, bad performance, expandability or maintainability.
Think about quality over quantity.
A little example: I had to work together with other coders to meet a fucking tight deadline. The last day we coded like crazy and these dudes started to apply styling changes (CSS) directly as inline styles to the HTML code, instead of taking a few minutes more to find where in the CSS files they had to make the changes.
At the end of the deadline we had more stylingbugs than before. It took us another whopping 3 hours to fix what they had done.
So next time you code: Thinking before coding is mostly faster than just straightahead coding and fixing at the end. 😉2 -
*PM looks at my code
*Deletes my constants, replaces with inline strings
*Changes order of conditions (that I tested)
*Hits save --> autoformats code into shitty looks
*Commits: "fix"9 -
Oh boy.
I recently, I switched job for an open source company in Lyon, FR.
They had struggles to find me something to do (still has, tbh), so they sent me to a client of theirs, to help for a biiiiig project that's really old (created in 2001)
The thing was... Horrible. Lots of styles were set via JavaScript without condition, I found 3 different versions of jQuery, at one time they added Object oriented development in a context where they had HTML, JS, (inline) CSS and... PHP of course, inside of one PHP file. The architecture was more "uuuh these files in this directory will be about this functionality".
And it goes on forever. I told them that I hadn't the required level of PHP knowledge to have an excuse to get the fuck out of there, my company didn't like it but it was either that or my mental health.3 -
Me every time I have to adjust the css:
*center that div*
*hit refresh*
Fuck, now that button is over there.
*adjust the padding and kajigger with the margin a little*
*hit refresh*
Ah, I'm an idiot. I forgot to set the display to inline-block.
*adjust the display*
*hit refresh*
WHY THE FUCK IS THE BACKGROUND RED NOW??!?!?!?10 -
I'm currently rewriting perfectly clean and functioning Scala code in Java (because "Enterprise", yay). The amount of unnecessary boilerplate I have to add is insane. I'm not even talking big complicated code but two liners or the lack of simple things like a range from 5 to 10.
Why do I have to write
List<Position> occupiedPositions = placedEntities.stream()
.flatMap((pe) -> pe.occupiedPositions().stream())
.collect(Collectors.toList());
instead of simply
val occupiedPositions = placedEntities.flatMap(_.occupiedPositions)
Why on earth does `occupiedPositions.distinct` suddenly become a monstrosity like `occupiedPositions.stream().distinct().collect(Collectors.toList())` where the majority of code is pure boilerplate? And this is supposed to be the new and better Java8 api which people use as evidence that Java is now suddenly "functional" (yeah no, just no).
Why do APIs that annotate parameters with @Nullable throw NullPointerExceptions when I pass a null? Why does the compiler not help prevent such stupidity? Why do we use static typing PLUS those annotations and it still crashes at runtime like every damn dynamic, interpreted language out there? That's not unfortunate, it's a complete waste of time.
Why is a simple idea like a range from x to 10 (in scala literally `x to 10`) not by default included in Java? There's Guava's version of Range which does not have a helper for integer ranges (even though they are the most used ones). Then there's apache.commons version which _has_ a helper for integers, but is strangely not iterable (wtf I don't even...).
Speaking of Iterable: How difficult could it be to convert an abstract Iterable<T> into a concrete List<T>? In scala it's surprisingly `someIterable.toList`. I found nothing like that so I took to stackoverflow where I found a thread in which people suggested everything from writing your own ListUtils helper class, using Guava (which is a huge dependency!) to using the new Java8 features inline (which is still about three lines long). I didn't know this was such a hard problem in computer science, TIL.
How anyone can be productive in this abomination of a language is beyond me now, even though I've used it for many years while learning to code (back then I didn't know there were much better ways to do things). The only good part is that I have to endure this nonsense for only about 3 days longer then I'm free again!12 -
Before I left corporate America, I worked with a guy who was basically the definition of 'idiot savant' sans the actual diagnosis. He was ridiculously smart, but couldn't stay on task to save his life.
Like one time we landed a project with a major client. My team was running backend, his was running mobile integration. After a month of little to no visible activity, we approached him and he just said 'oh yea, i got sidetracked'... but he wasn't working on anything else. Just found some random shinny pebble that caught his attention and he bailed on everything else.
To make matters worse, his personal hygiene was nonexistent (I don't think he's showered since either), and he LOVED writing things in super-obscure languages that even the best we had hadn't ever heard of, with nonsensical (and often totally misleading) variable names and no inline comments. Trying to put someone new on something he'd touched was like asking an English professor to translate a 10K year old tablet dug up in the middle of the desert. Just didn't work.
But... the CEO flat out refused to get rid of him for years, until virtually every other employee simultaneously turned in our two weeks.3 -
Ah finally, the moment when being a web developer is full of joy.
☑️ Server-side rendering
☑️ Inline critical css
☑️ Add progressive image loading
☑️ Minify everything
☑️ Automate release process in CI
☑️ Lint everything
Now that the strucutre is up, time to code the actual website. This is gonna be good!8 -
Stop using 5 year old, terrible drag and drop website designer which uses inline CSS and JavaScript and let us actually write it. They (barely) teach us html and then say that using a website designer is how it works in the real world. They actually disallow us writing it from scratch. Just glad I taught myself it already!7
-
90% of rants about CSS are just people who don't even know CSS2 properly and never heard of CSS3.
That's like crying about not having a nice car without even owning a drivers license. Bullshit.14 -
Yesterday, I finished the front-end of a project for a client. Responsive, clean,.. Looking 'smexy' :D
Today I've got an email of the client, saying he made some small design adjustments...
I think you already know where this is going.. But inline-css everywhere, fixed widths, br's as spacers,.. (It was like an old Frontpage-like design..)
I've changed the FTP user.. From now on, he has to request his changes so that I can apply them.. Damnit.. But hey, extra paid hours of work I guess :D3 -
Boss: We need to make a site but the content will have bolded words where the user can hover over to see more for each term.
Me: Ok sounds simple.
B: It's for a client and we aren't gonna touch it in the future so make it simple.
M:okay... so no JavaScript?
B: That means we are only going to send them HTML and nothing else. Here's a list of the images they have.
Me:......
Now I have to make about 80 pages of pure html with inline styles on each page.10 -
Aaaah, I fucking love it to death, when customers spontaneously decide to hire a separate, unrelated company to add new content pages to the website developed by our company.
That furuncle of a company must have had real pro devs to just create a new /html folder, dump their shit content in there and just manually add links in the existing CMS pages.
HOLY FUCK!
As you might already have expected, the /html folder contains:
- static *.html files for every page
- inline CSS in the *.html
- the crappiest PHP mailing script I have ever witnessed
- images with random resolutions, mostly too small
The layout of these puke-ridden pages obviously doesn't fit neither the existing color palette, nor has anything common with the current layout or typography at all.
These bastards don't even use Git!
Come on, dear customer, could you PLEASE fucking NOT hire a completely separate company to do OUR job?
PLEASE? PLEASE?!
I had to compare the whole deployment folder with our repo to find out what else these brain-damaged cunts changed in our code!3 -
My CS teacher uses html 4 spec that has shit like <strong> and <font size=5> and all sorts of inline garbage. She writes the tags in ALL CAPS and it honestly looks like SQL had a baby with brainfuck. I can't handle this shit anymore. She feels like she's apparently very good at programming and has just been promoted to the School's CS HOD (Head of Department). I have no idea what to do I go to school everyday having to face her mutilating my interest in programming. My peers are all incompetent and don't care at all. Don't get me started on how she writes Python. What the fk man.31
-
I think I want to quit my first applicantion developer job 6 months in because of just how bad the code and deployment and.. Just everything, is.
I'm a C#/.net developer. Currently I'm working on some asp.net and sql stuff for this company.
We have no code standards. Our project manager is somewhere between useless and determinental. Our clients are unreasonable (its the government, so im a bit stifled on what I can say.) and expect absurd things from us. We have 0 automated tests and before I arrived all our infrastructure wasn't correct to our documentation... And we barely had any documentation to begin with.
The code is another horror story. It's out sourced C# asp.net, js and SQL code.. And to very bad programmers in India, no offense to the good ones, I know you exist. Its all spagheti. And half of it isn't spelled correctly.
We have a single, massive constant class that probably has over 2000 constants, I don't care to count. Our SQL projects are a mess with tons of quick fix scripts to run pre and post publishing. Our folder structure makes no sense (We have root/js and root/js1 to make you cringe.) our javascript is majoritly on the asp.net pages themselves inline, so we don't even have minification most of the time.
It's... God awful. The result of a billion and one quick fixes that nobody documented. The configuration alone has to have the same value put multiple times. And now our senior developer is getting the outsourced department to work on moving every SINGLE NORMAL STRING INTO THE DATABASE. That's right. Rather then putting them into some local resource file or anything sane, our website will now be drawing every single standard string from the database. Our SENIOR DEVELOPER thinks this is a good idea. I don't need to go into detail about how slow this is. Want to do it on boot? Fine. But they do it every time the page loads. It's absurd.
Our sql database design is an absolute atrocity. You have to join several tables together just to get anything done. Half of our SP's are failing all the time because nobody really understands the design. Its gloriously awful its like.. The epitome of failed database designs.
But rather then taking a step back and dealing with all the issues, we keep adding new features and other ones get left in the dust. Hell, we don't even have complete browser support yet. There were things on the website that were still running SILVERLIGHT. In 2019. I don't even know how to feel about it.
I brought up our insane technical debt to our PM who told me that we don't have time to worry about things like technical debt. They also wouldn't spend the time to teach me anything, saying they would rather outsource everything then take the time to teach me. So i did. I learned a huge chunk of it myself.
But calling this a developer job was a sick, twisted joke. All our lives revolve around bugnet. Our work is our BN's. So every issue the client emails about becomes BN's. I haven't developed anything. All I've done is clean up others mess.
Except for the one time they did have me develop something. And I did it right and took my time. And then they told me it took too long, forced me to release before it was ready, even though I had never worked on what I was doing before. And it worked. I did it.
They then told me it likely wouldn't even be used anyway. I wasn't very happy at all.
I then discovered quickly the horrors of wanting to make changes on production. In order to make changes to it, we have to... Get this
Write a huge document explaining why. Not to our management. To the customer. The customer wants us to 'request' to fix our application.
I feel like I am literally against a wall. A huge massive wall. I can't get constent from my PM to fix the shitty code they have as a result of outsourcing. I can't make changes without the customer asking why I would work on something that doesn't add something new for them. And I can't ask for any sort of help, and half of the people I have to ask help from don't even speak english very well so it makes it double hard to understand anything.
But what can I do? If I leave my job it leaves a lasting stain on my record that I am unsure if I can shake off.
... Well, thats my tl;dr rant. Im a junior, so maybe idk what the hell im talking about.rant code application bad project management annoying as hell bad code c++ bad client bad design application development16 -
LONG RANT ALERT, no TL;DR
* Writes an email to colleague about why I can't create a page on our CMS without at least a H1 title. She wants to me to put up an image with text on it (like a flyer), for multiple reasons, I say I need a textless image. *
30 minutes later:
* Casually plans a frontend optimization project, by looking at files on the CMS, in order to make further development easier and less time-taking*
*** EMAIL NOTIFICATION ***
* clicks *
"Hello, this is [Graphic designer] from the company who created the image with text on it. I do not understand why you can't put display:none on your <h1> tag. Also, being a web company, we are used to making themes and my solution of display:none will work. It's pityful to work on a design only to have it stripped out from most of its concept. If you can't do that, do tell me what resolution you need."
My first reaction:
"Dear [Graphic designer], I am managing our corporate identity, our backend and frontend codebase, I am a graphic designer myself, and am also SEO-aware. For at least 8 reasons (redacted, 'cuse too long), I will need an image without text. As told to my colleagues, I need a 72/96 DPI 16:9 ratio image, 1920x1080 is a good start but may be bigger. Also, looking at the image, it'll have to be in JPG, at 100% quality, exported for the web. Our database software will optimize the image by itself."
Reasons are about SEO issues, responsiveness issues, CMS tools issues, backend and frontend issues.
Instead, I sent following email "We can't. Image please."
I mean seriously. A bit of clarity for you:
In my company, nobody has the slightest idea what I do. They don't understand how a computer works (we all know it works by magic, right?). So of course, when one thinks what we don't know, we know it better than the one who knows, my colleague thought our CMS was like a word document, and began telling me how I should display her bible-length text-infected image, by using some inline css styling display:none.
I tell her "nope, because of my 8 reasons". She transmits that to the agency who's done the visual, now I have this [Graphic designer] not understanding that there are other CMSs than Wordpress on the web, and she tells me, me being one of the most aware on this CMS we have, how I should optimize my site?
Fucking shit, she connects on our CMS for 1 second and she'll get cancer since it's so bad. I'm in the process of planning a whole new rewrite so the website is well designed (currently I am modifying a base theme made by an incompetent designer). I know the system by heart and I know what you can, or can't do.
Now I just received an answer: "so it's only a pure technical problem". NO, OUR WEBSITE WAS CODED BY A CHIMPANZEE WHO THOUGHT WEB DEV WAS AS EASY AS WRITING "HELLO WORLD" ON A SHITTY CMS THAT FORCES DEV USERS TO USE A FUCKING CUM-WHITE-THEMED EDITOR TO EDIT THE WHOLE SITE!!!
I can't just sneeze and "oh look, it's working!"1 -
Dear coworker,
We have a very nice SASS setup so WHY THE FUCK ARE YOU POLLUTING OUR HTML WITH INLINE STYLES!?!?!? It's not like it's even necessary to use inline in this case, I can achieve the same thing by just moving your styling to the scss files. So I ask again, WHY THE FUCK???
Sincerely,
A mildly pissed person who hates front-end dev work3 -
I tried github copilot. Spent the first hour trying to work out how to turn off the inline copilot popup star thing. Asked copilot. It gave me the wrong answer. So, a coding AI doesn't even understand its own documentation.
Our jobs are safe.11 -
I need bleach...
Lot of bleach.
When you think that not using a JS framework is bad...
Ever saw a Frankenstein of a HTML, PHP and JQuery? Full rewrite of an old project with more than enough time allowed....
Just... That was not awful enough.
*sobs* so the dev added bootstrap onto this pile of garbage... Instead of rewrite....
Think I missed CSS or included it in HTML? Lol. No.
No CSS. Inline. HTML 4 Tags.
?>
<table width=40 class="table table-striped">
<?php
foreach( $table as $row ) {
....
<input onkeyup="..." onkeydown="..." class="form-control"
...
To give you a basic example of how worse it is...
But the best. The lead developer does not understand why I was speechless.
i need more beer. And bleach. Filth and disgust must get out of my system2 -
I started my internship at the end of the year..
Fuck my ass!!! This code I have to work with is a huge pile of shit.
The code base I need to work with is around 40k LOC. It is a mixture of C++, C, Java, Python, Bash and I think I saw some lonely js files around.
A list of awesome parts:
- Paths are hard coded.
- Redundant code everywhere
- No documentation or inline comments available
Most of the comments in the code are just old code that is not used anymore. But the cherry on the turd is the class that should provide all kind of useful functions in my daily routine. About ninety percent of the functions have the same description or nothing. Sometimes a function name says "readSomethingFromSomewhere" but instead it writes something to a file. It is really confusing and I need to check everything twice instead of rely on what the function name promises.
I have also learned why copy paste isn't that good. The brief descriptions of every method in a files are always the same.
getName() - Description: Fork child process
getIp() - Description: Fork child process
getIpv6() - Description: Fork child process.
Surprise: None of these functions forks a child process. :D
Another awesome feature is the thing that they store up to five different versions of libraries. Everyone with slight modifications but no hint which one you need to use. Sometimes it is the newest, sometimes the oldest which is running in production. Another case of try and error.
Oh and my dev machine is a potato with a power supply and a fan. I started with NetBeans and every time I compiled the code it sounds like the machine wants to lift off and leave for a better place. (At this point I switched to Emacs and everything runs smoothly now)
At first I thought that I'm just not that good at coding and understanding a big project from scratch but some colleagues have the same problem. The whole system is very inflexible and it is all about "std::cout"-debugging to check if your changes do what you want them to do.
Currently I'm just trying to fix this mess to make the life for the next student or employee easier. The first month was just frustrating as hell. I need to ask so many questions and most of the time the answer was "I don't know, haven't touched this code in years". Needless to say that my progress isn't that awesome but at least I get a nice payment for 20 hours of work a week.2 -
Dear ESLint,
- you convinced me to put a space between function() and {
- you convinced me to use single quotes for strings in place of double quotes
- you convinced me to put a space between inline operators
- you had me when you said that trailing spaces shouldn't compare in my code
- you said to put semicolons at the end of each instruction, and I thought it wasn't a so bad idea
BUT NO FUCK OFF NO NEVER I WON'T NEVER PUT A FUCKING TRAILING COMMA IN THE END OF JAVASCRIPT OBJECT IT'S MEANINGLESS UGLY A WASTE OF A FUCKING BYTE.
WHY THE FUCK I SHOULD TYPE var obj = {a: 'some text',} INSTEAD OF var obj = {a: 'some text'} WHY WHAT'S THE MEANING OF THAT FUCKING COMMA9 -
Took client's site live and enthusiastically encouraged them to write original content...
Very first page published was literally a slash and paste of an entire wikipedia entry with inline links still in the text. -
Sweet baby Jesus the stories are true. I thought this day would never come but yesterday I found a website in production straight out of a horror story.
Inline script tags that contained spaghetti code and static content. And to top it off inline style with position absolute for everything 😰😰
Also worth mentioning a couple of broken pages(404) and a beatufill repeat-y image for the background😳
I lost all hope😂16 -
I don't know if I'm being pranked or not, but I work with my boss and he has the strangest way of doing things.
- Only use PHP
- Keep error_reporting off (for development), Site cannot function if they are on.
- 20,000 lines of functions in a single file, 50% of which was unused, mostly repeated code that could have been reduced massively.
- Zero Code Comments
- Inconsistent variable names, function names, file names -- I was literally project searching for months to find things.
- There is nothing close to a normalized SQL Database, column ID names can't even stay consistent.
- Every query is done with a mysqli wrapper to use legacy mysql functions.
- Most used function is to escape stirngs
- Type-hinting is too strict for the code.
- Most files packed with Inline CSS, JavaScript and PHP - we don't want to use an external file otherwise we'd have to open two of them.
- Do not use a package manger composer because he doesn't have it installed.. Though I told him it's easy on any platform and I'll explain it.
- He downloads a few composer packages he likes and drag/drop them into random folder.
- Uses $_GET to set values and pass them around like a message contianer.
- One file is 6000 lines which is a giant if statement with somewhere close to 7 levels deep of recursion.
- Never removes his old code that bloats things.
- Has functions from a decade ago he would like to save to use some day. Just regular, plain old, PHP functions.
- Always wants to build things from scratch, and re-using a lot of his code that is honestly a weird way of doing almost everything.
- Using CodeIntel, Mess Detectors, Error Detectors is not good or useful.
- Would not deploy to production through any tool I setup, though I was told to. Instead he wrote bash scripts that still make me nervous.
- Often tells me to make something modern/great (reinventing a wheel) and then ends up saying, "I think I'd do it this way... Referes to his code 5 years ago".
- Using isset() breaks things.
- Tens of thousands of undefined variables exist because arrays are creates like $this[][][] = 5;
- Understanding the naming of functions required me to write several documents.
- I had to use #region tags to find places in the code quicker since a router was about 2000 lines of if else statements.
- I used Todo Bookmark extensions in VSCode to mark and flag everything that's a bug.
- Gets upset if I add anything to .gitignore; I tried to tell him it ignores files we don't want, he is though it deleted them for a while.
- He would rather explain every line of code in a mammoth project that follows no human known patterns, includes files that overwrite global scope variables and wants has me do the documentation.
- Open to ideas but when I bring them up such as - This is what most standards suggest, here's a literal example of exactly what you want but easier - He will passively decide against it and end up working on tedious things not very necessary for project release dates.
- On another project I try to write code but he wants to go over every single nook and cranny and stay on the phone the entire day as I watch his screen and Im trying to code.
I would like us all to do well but I do not consider him a programmer but a script-whippersnapper. I find myself trying to to debate the most basic of things (you shouldnt 777 every file), and I need all kinds of evidence before he will do something about it. We need "security" and all kinds of buzz words but I'm scared to death of this code. After several months its a nice place to work but I am convinced I'm being pranked or my boss has very little idea what he's doing. I've worked in a lot of disasters but nothing like this.
We are building an API, I could use something open source to help with anything from validations, routing, ACL but he ends up reinventing the wheel. I have never worked so slow, hindered and baffled at how I am supposed to build anything - nothing is stable, tested, and rarely logical. I suggested many things but he would rather have small talk and reason his way into using things he made.
I could fhave this project 50% done i a Node API i two weeks, pretty fast in a PHP or Python one, but we for reasons I have no idea would rather go slow and literally "build a framework". Two knuckleheads are going to build a PHP REST framework and compete with tested, tried and true open source tools by tens of millions?
I just wanted to rant because this drives me crazy. I have so much stress my neck and shoulder seems like a nerve is pinched. I don't understand what any of this means. I've never met someone who was wrong about so many things but believed they were right. I just don't know what to say so often on call I just say, 'uhh..'. It's like nothing anyone or any authority says matters, I don't know why he asks anything he's going to do things one way, a hard way, only that he can decipher. He's an owner, he's not worried about job security.13 -
TL;DR Developers don't like it when marketing attempts to do their job. They like it even less when they have to clean up the mess when they fuck things up.
Our marketing team was specifically told not to put JS into the CMS. They were told that if you need JS for something, we will do it and then work it into a release. That wasn't good enough so they hired a design firm to "hack" the JS inline. They found a back door to get the JS in place but couldn't get it to work right. They called me to come look at it. After 5 minutes of explaining why they shouldn't have done what they did, I grudgingly decided to look at the JS. 30 seconds later I fixed what they had been screwing with for about 8 hours. They were using --> arrows in their comments! Seriously?!? designer != developer2 -
So I'm doing some OpenGL stuff in C++, for debugging I've created a macro that basically injects my error check code after every OpenGL API call. Basically I don't want any of the code in release builds but I want it to be in debug. Also it needs to be usable inline and accept any GL function return type. From what I can tell I've satisfied all requirements by making the macro generate a generic lambda that returns the original function call result but also creates a stack object that uses the scope to force my error check after the return statement by using the destructor.
Basically I can do:
Log(gl(GetString(...));
gl(DeleteShader(...));
Etc where the GL call can be a function parameter or not.
So my question is, is the code shown in the picture the best way to achieve my goals while providing the behaviour im going for?13 -
@Fast-Nop This one's for you, buddy. Took me all freaking day to figure out how to avoid unsafe-inline when registering a service worker. XD7
-
In 2010, it was my first client project. Our architect was not from iOS background, we had editable pdfs in our app. Those were pretty rich pdfs with inline HD images. iPads that time were not too fast and couldn't handle big gb pdf loaded into memory. App would crash randomly running out of memory. We fixed it by paginating pdf, it wasn't out of the world but considering it was my first mobile project and no one to guide, I thought it was pretty cool what we did there
-
So here I am sitting on my dusty laptop gaming laptop (because supposedly it would offer me better performance in compiling code and working with CUDA according to the people above me) at a research institute where I just started working at. I am told that there are some issues with the code and that it fails to build on Windows with MSVC that ships with Visual Studio 2017 and later.
I poor some hot tea from my insulated bottle I brought from home and start reading.
I look in this header file and what do I see - a custom uint24_t struct. Interesting...
I keep sifting through the code base. I find some functions that check and change Endianess. Ok, but the software is developed, built on and runs only on Win7 and later desktop systems. Never mind...
Further I find a custom "allocator" that is used throughout the whole code base. It has three inline static class member functions: allocate, copy and deallocate plus some private constructors. And these just wrap around the standard new and free calls. Some flavours of this class actually only deallocate (with a comment above them: "This allocator does not allocate. HANDLE WITH CARE!!!", which is btw the only "code documentation" I have managed to find).
But wait! What is this? A custom thread and mutex. Oh, and string, and vector.
Further down the rabbit hole I find a custom math library with a matrix class that does not support multiplication between a matrix and a vector. Perhaps not a use case I guess...
I continue and come across some UI-related calls. Interesting, I wonder what they are using as a framework. Oh, my...We have an extensive GUI custom framework written from scratch (drawing buttons and all).
All of this is to load an OBJ file and render it on the screen on a standard Windows PC in some way.
Very nice... ;_;1 -
I see this in code:
bool status;
status = true;
It makes me want to hit things. INLINE THAT SHIT! bool status = true; It's not hard. JFC. And of course I don't have the authority to change it.3 -
Thing that just occurred to me.
Write backend of website in Node with Mongo.
Write front end of website by using PHP to echo data from mongo and inline styles. PHP will also echo any inline JS that needs to make AJAX calls back to handle responsiveness.
Write a website with JS as its backend and PHP as its front end because the world has gone absolutely mad and you dgaf anymore.2 -
My top 3:
* Inline styling instead of creating a class.
* slapping the new class at the end of a 700 LOC CSS file.
* Using !important14 -
God I love being able to use MathJax on GitHub, despite it being quite a pain to get it perfect.
https://github.com/OpenlyEducated/...
( Manually adjusted the spacing for readability~ )
( Still needs color though.. )
Also the bug that broke all inline mathjax for a week wasn't exactly helpful..1 -
So for anyone else who uses Gamemaker studio 2... For the love of all that is holy get excited for the updates coming to GML!
Finally it looks like it's becoming more and more off a legitimate language with the addition of lightweight objects and inline methods...
Maybe people will start taking GML seriously and Gamemaker won't be considered a 'basic' engine anymore :-D
All can be found here: https://yoyogames.com/blog/514/...5 -
I actually like the nostalgic feeling (if that makes sense) when making emails. Like fuck flex, grid and absolute! Just me, my table and inline css4
-
Look, I worked in companies that didnt givr a single f about security, and it wasn't right, but others go are just mad.
Me to itsec: can I deploy Django behind the company firewall on a machine physically 2 meters from you, users will still need the VPN to access it... ?
Itsec: no!
Me: flask?
Itsec: no!
Me: shiny?
Itsec: no!
Me: CAN I EVEN HOST ONE HTML FILE WITH INLINE CSS?
itsec: can I see your badge?! -
> grep -c -e '// BAD HACK:' importantproject/src/main.cc
4287
our most important piece of legacy c++ software with about 44 thousand lines of code and next to no doc aside from inline comments.4 -
We just got a new web dev with 10+ years experience with the goal of helping out our rather inexperienced small team.
His first PR was for a rather large form with 30+ fields.
He. used. a. <table/>......To layout the entire thing! With inline floats no less!
How the f do you spend the last 10 years not bothering to pickup any modern css?6 -
# Retrospective as Backend engineer
Once upon a time, I was rejected by a startup who tries to snag me from another company that I was working with.
They are looking for Senior / Supervisor level backend engineer and my profile looks like a fit for them.
So they contacted me, arranged a technical test, system design test, and interview with their lead backend engineer who also happens to be co-founder of the startup.
## The Interview
As usual, they asked me what are my contribution to previous workplace.
I answered them with achievements that I think are the best for each company that I worked with, and how to technologically achieve them.
One of it includes designing and implementing a `CQRS+ES` system in the backend.
With complete capability of what I `brag` as `Time Machine` through replaying event.
## The Rejection
And of course I was rejected by the startup, maybe specifically by the co-founder. As I asked around on the reason of rejection from an insider.
They insisted I am a guy who overengineer thing that are not needed, by doing `CQRS+ES`, and only suitable for RND, non-production stuffs.
Nobody needs that kind of `Time Machine`.
## Ironically
After switching jobs (to another company), becoming fullstack developer, learning about react and redux.
I can reflect back on this past experience and say this:
The same company that says `CQRS+ES` is an over engineering, also uses `React+Redux`.
Never did they realize the concept behind `React+Redux` is very similar to `CQRS+ES`.
- Separation of concern
- CQRS: `Command` is separated from `Query`
- Redux: Side effect / `Action` in `Thunk` separated from the presentation
- Managing State of Application
- ES: Through sequence of `Event` produced by `Command`
- Redux: Through action data produced / dispatched by `Action`
- Replayability
- ES: Through replaying `Event` into the `Applier`
- Redux: Through replay `Action` which trigger dispatch to `Reducer`
---
The same company that says `CQRS` is an over engineering also uses `ElasticSearch+MySQL`.
Never did they realize they are separating `WRITE` database into `MySQL` as their `Single Source Of Truth`, and `READ` database into `ElasticSearch` is also inline with `CQRS` principle.
## Value as Backend Engineer
It's a sad days as Backend Engineer these days. At least in the country I live in.
Seems like being a backend engineer is often under-appreciated.
Company (or people) seems to think of backend engineer is the guy who ONLY makes `CRUD` API endpoint to database.
- I've heard from Fullstack engineer who comes from React background complains about Backend engineers have it easy by only doing CRUD without having to worry about application.
- The same guy fails when given task in Backend to make a simple round-robin ticketing system.
- I've seen company who only hires Fullstack engineer with strong Frontend experience, fails to have basic understanding of how SQL Transaction and Connection Pool works.
- I've seen company Fullstack engineer relies on ORM to do super complex query instead of writing proper SQL, and prefer to translate SQL into ORM query language.
- I've seen company Fullstack engineer with strong React background brags about Uncle Bob clean code but fail to know on how to do basic dependency injection.
- I've heard company who made webapp criticize my way of handling `session` through http secure cookie. Saying it's a bad practice and better to use local storage. Despite my argument of `secure` in the cookie and ability to control cookie via backend.18 -
A long long time ago ( 2007 I think ) I worked for a company that made landing sites, so basically an email campaign would go out, users would be sent to a 1 page website with a form to capture their data, ready to be spammed even more. You know how it was back then.
So I worked with a guy who we had just hired, I didn't do the hiring but his CV checked out, so I gave him one of my tasks. Now most pages were made with js and html, with a PHP backend ( called with Ajax). Now this guy didn't know PHP so I was like all good, ASP works too at the end of the day we don't judge, we do like 2 or 3 of these a day and never look at them again. So he goes of and does is thing.
3 weeks later, the customer calls up to me they still haven't received their landing page. Ok so he probably forgot to email the customer np, I tell him to double check he has emailed the customer. Another week goes by end the customer calls back, same problem. At this point I'm getting worried, because we're days away from the deadline and it was originally my task.
So I go back to the guy and I tell him I want that landing page so I can send it myself, half thinking to myself that we had a freeloader, that guy that comes in to companies for 3 weeks, doesn't work, but still cashes his pay. But no, this was much worse.
So he tells me he has finished yet. I ask him why, what's the blocker ? You had 4 weeks to tell me you were blocked and couldn't progress. And his answer was simply, because I wasn't blocked I have been working on it this whole time. So I tell him to zip his project up and email it to me. We didn't do SVN or git back then, simply wasn't worth it. So he comes back to me and says the email server is telling him attachments can't be bigger then 50mb. At this point I'm thinking he didn't properly sized the art or something, so I give him a flash drive to put it on.
When I then open the flash drive, the archive is 300mb, thinking to myself, the images weren't even that big to begin with.
So I open it up, and I don't even find any images, just a single asp page. About 500mb. When I opened that up and it finally loaded, I saw the most horrendous things ever.
The first 500 lines was just initializing empty vars. Then there was some code that created an empty form with an onChange event that submits the form. After that.. it was just non stop nested if's. No loops, no while, for, foreach, NO elseif's, just nested if's, for every possible combination of the state the form could be in. Abou 5000 of them, in a single file. To make matters worse, all the form ( and page ) layout was hardcoded in the if's. Includes inline css, base64 encoded images, nothing but as dynamic, based on the length of the form he changes the layout, added more background etc. He cut the images up for every possible size of the page and included them in the code.
I showed it to my boss, he fired the guy on the spot. I redid the work from scratch, in under 4 hours. Send it to the client. they had no ammends to make, happy as Larry. Whish I kept the code somewhere.
Morale of the story, allways do a coding test on interviews, even if small things just to sanity check.3 -
Am I the only one who hates to see tons of inline JS on a website?
I always put all JS inside files and include them. -
Same as we look at some old pages and see "oh this is unstyled table layout, that is xHTML inline style - it's from the 20th century"
People will look at pages of today in like 20 years and be like "Oh gosh, the material design phase. - oh the apple-blur-copy-cat-phase, oldish HTML5 code, that's from the 2010-20-ies"4 -
PR by my team leader:
"OH NO! This method is not inline. This will slow our program by 1 ns!!! Fix that immediately!!"
FYI
Our program computes stuff for dozen of minutes, because of his short sight and bad design from day 1...2 -
Product Management thought of automating an entire legacy product so they funded undisclosed amount to program management who in turn hired >20 contract devs managed by architects and dev managers with zero functional or technical knowledge of product and who in turn went ahead automating the product in selenium, end result of which was an useless automation framework with lot of browser specific dependencies and whuch could run only on one setup environment and migrating test cases to another environment and running is almost impossible and tyrannical to configure. The automation test cases are highly disorganized with all generic setup, DB configurations and business case test data mixed up in same config files and which need to be rewriten every time ported from one environment to other.To add misery to my woes as a dev working in that product I was told to utilize that framework and enhance the quality of my code by writing inline automation Cases for the same. I am left speechless thoughtless and emotionless after that decision.2
-
Has anyone ever just completely forgotten literally everything about how a language works?
I use to be fairly good at Vala as and now I can't even remember how to load fucking CSS or use inline CSS .-.4 -
Writing simple terminal input/output lang (Hello, what's your name, hi) in D.
Compiling in D using standard lib: 6.1M
Compiling in D with inline assembly, no standard lib or libc, using syscalls: 1048 bytes!
I'm still freaking out a little.2 -
Today on "fuck Firefox": elements with display: inline and position: relative completely mess up z-index and nested fixed / absolute positioned elements. It's a known bug, it has open issues on bugzilla since 2005, but still no fix. IE 8 can get it right, but not Firefox...9
-
I am a Technical Lead in the department in my company that writes code for our clients that have money but doesn't have the technical expertise to handle the complexities of our own software.
Part of my tasks involve taking care of a few projects written by employees that have left after using third-party tools rather than using our own software. No one else in this department knows these third-party tools, they only know our own, and my *still limited* web development experience means I get dumped these things in my lap.
And I'm SO pissed at these projects and their authors and the manager that let these ex-employees write these things. There is this one project that was managed by two different "developers" (I don't know they deserve this title) at two different times, and it is so riddled with different technologies it makes me want to throw up almost daily.
Don't believe me? Here is a complete list of the dependencies listed in the package.json of this project: babel-polyfill, body-parser, cookie-parser, debug, edge, edge-sql, excel-to-json, exceljs, express, html-inline, jade, morgan, mssql, mysql, pug, ramda, request, rotating-file-stream, serve-favicon, webpack, xlsx, xml2js
What this doesn't even show, is that one part of this project (literally one page) is made using react, react-dom, react-redux, and jade. The other part (again literally one page) is made using Angular and Pug. In case you missed it while picking up your jaw, there's also mssql, mysql, edge and edge-sql. excel-to-json, exceljs, xlsx.
Oh you want *more* juicy details? This project takes the entire data object used by the front-end, stringifies it into JSON, and shoves it into the database *as a single field*. And instead of doing WHERE clauses in the SQL queries, it grabs the entire table, loops, parses the json, and does a condition on it. If even one of those JSON entries gets corrupted, the entire solution breaks because these "developers" don't know what try/catch is.
The client asked for a very simple change in their app, which was to add a button that queries the back-end for a URL, shows it in a modal dialog, after which a button is clicked to verify the link by doing a second query to the back-end before modifying a couple of fields in the page.
This. Took. Me. Two. Months*. Save me. Please, save me.
*between constant context switches between this and other projects that were continuously failing because of their mistakes.4 -
when KhronosGroup anounced Vulkan back then, they also announced a whole set of software, that can handle all the new formats, that they introduced.
One format in particular peaked my interest recently, which is ktx2. It's an image format, that can be multilayered, and supercompressed, has inline mipmapping, and most importantly: streamed directly to the GPU, without involving the CPU basically at all.
Now here comes the kicker. If i want to use this format (mind you: Vulkan is around for a while now) for creating Skyboxes, there is only a single tool, that can properly convert hdr images to ktx2, and it only works on windows. Oh and there are no binaries, so in every case you have to compile it yourself.
Ah and then i thought, okay what if i then already render the cubemap faces and assemble them by hand into the cubemap, because _some_ ktx tools work on linux, then that should work right? wrong. When assembling it, it turns out, that now it's a 2D image instead of a 2DArray image with one element (which apparently is not the same for skyboxes)
Why is this shit such a pain in the ass?
Like.. I'm currently rendering equirectangular hdr images on my linux machine, then move these (usually 100MB) files over to some windows PC, convert it there into ktx2 cubemaps and then move it back. And everytime i need to do a change on the skybox, i have to repeat this whole nonsense. Ah.. and this tool doesn't even properly work on Windows, like you can't just disable mipmaps or change the filtering, because then the skybox is just black for some reason.
The funniest thing is, at the end of the day, these ktx2 files work on linux, as well as windows, mac and even mobile platform, so there's really no reason, that the conversion tool only works on one of them systems.
But hey, at long last i got them working, and this stuff looks quite nice now 👌2 -
TEAR ME A NEW ONE PLEASE
chatted with a company about a front end position, they replied that they are interested in me and want me to complete a task. The email subject was "about an internship at a *company_name*"
they later quickly sent me another email saying to to ignore the subject about the internship, and sent more details about the task.
I completed the task and sent it to them.
They replied today with an email stating that I'm too weak for an internship and that I should improve myself and reapply in the future.
It's a little bit of a low blow, I thought we were talking about a full-time position yet you are saying that I'm too weak for an internship? WTF
to say I'm pissed is a little bit of an understatement.
Heres the link to the repo I sent them.
https://github.com/Pionell/koral
They'r task was to mark up a sketch file they sent me, there was no mention to make it interactive.They told me this doesn't need to be responsive. I Think I used too many spans, inline-blocks, and a few wrong floats with images instead of divs with background image set as the image. Tear me a new one and tell me all my mistakes, I want to know what's so bad in this.13 -
Me: *opens devTools*
Firefox: yea bro lemme just ..uh.. hmm yeah so this is the css for the element, see?
Me: Thanks.
Me:
Me: this makes no sense, why would I ever do that?
Firefox: also you can't have width on an anchor tag. I can't put that rule into effect
Me: I didn't put any width on your inline element, you sure about that?
Firefox: yea try using display: inline-block
Me: No. I'll just delete that. *checks file*
Me: Maybe that line is wrong because IT DOES NOT FUCKING EXIST!
What is this shit? I just restarted you! What else do you need, a reinstall? Drink too much over the holidays?
It's like the css editor has become a shallow tray with rules on it, and as soon as you bump it a little everything spills over and then Firefox just thinks oops, I've got this font-size: 200% lying around, lemme stick this into the hr tag which makes sense because THERE CAN'T BE ANY TEXT IN IT.9 -
“Huddles don't work in safari 🤡,” Slack said.
Develop → User Agent → Google Chrome.
Boom, huddles suddenly work in Safari, and my today's huddle went absolutely fine.
Yep, I switched to Safari as my default browser. Previously, I didn't use it solely because YouTube's full-screen mode acted weird, but now I quit watching YouTube altogether.
Safari is a stellar browser. First, it wipes the floor with everything, even including Thorium, in the performance department (on Apple Silicon at least). Second, it's really beautiful with its new inline tab panel, where you have just one line of icons on top, instead of having two (tabs and url bar). DevTools are amazing. It can also connect to my iPhone's Safari via Wi-Fi and inspect the opened page — a must-have for heavy layouts. Plus, if my website works fine in Safari, it sure as hell will work fine everywhere. Safari is a great hack detector, as it won't tolerate dirty hacks. Works wonders for your code discipline.9 -
You can kill me now...
.entry-item
position: relative
display: inline-block
float: left
width: calc(25vw - (204px/4) - (320px/4))
height: calc(25vw - (204px/4) - (320px/4))
overflow: hidden
@media(max-width: 1600px)
width: calc(33.333vw - (204px/3) - (320px/3))
height: calc(33.333vw - (204px/3) - (320px/3))
@media(max-width: 1440px)
width: calc(33.333vw - (48px/3) - (320px/3))
height: calc(33.333vw - (48px/3) - (320px/3))
@media(max-width: 1200px)
width: calc(50vw - (48px/2) - (320px/2))
height: calc(50vw - (48px/2) - (320px/2))
@media(max-width: 1024px)
width: calc(50vw - (48px/2))
height: calc(50vw - (48px/2))
@media(max-width: 720px)
width: calc(50vw - (24px/2))
height: calc(50vw - (24px/2))
@media(max-width: 580px)
width: 100%
height: calc(100vw - 24px)5 -
Unpopular opinion.
TOML sucks
* it does not claim to care about indentation but it actually does
* nested datastructures are a nightmare, especially 'inline' for 'readability'
* oh fuck me everything must be "double quotes"
* booleans always lowercase, there is no "truthy" here.
* Tables are not intuitive at all.
And all this from working with it first time because I had the silly idea to modernize a python project to use pyproject.toml
Oh and don't get me started on pyproject.toml files. The documentation sucks!6 -
On the one hand I really wish there was a good open-source self-hosted file sharing and collaboration service which made use of modern web technologies to provide most of its features inline as well and not just through APIs consumed by client applications.
On the other hand, I tried writing a WebDAV server once, and I fully empathize with the people who have to deal with this madness. -
Architect: "Inline sql is just as performant as a stored procedure and since it is in code its safer and easier to maintain."
Me, inside my head: "I bet I could do the pencil trick on him from 'The Dark Knight' and it wouldn't hurt him as much as suck the world into the small hole in the front of his head since it is clearly a vacuum which was meant to destroy the earth. This is an obvious plant by the lizard people as a test to see if we could identify them. Killing him would be a..."
Architect: "I mean isn't it still a best practice."
Me, out loud and deadpan: "No, that is wrong and it was never a best practice. "
Me, inside my head: "Crisis averted."4 -
The longer I work on front-end the more controversial my opinions become:
- Styling a button with display:flex is dumb.
- The DOM is not hard, unlike what the React team wants to have you believe.
- Specifying a <form> action matters, even if it's empty
- ES5 was the real JS revolution, ES6 mostly sugar-coated marketing
- Disciplined BEM (S)CSS is simple and flexible enough for most needs (vs CSS-in-JS, CSS modules)
- If editor support for Jsdoc were as advanced as Typescript, you wouldn't need the latter.
- There are cases where using floats and inline-block displays is better than the flex CSS box model12 -
Someone once told me our bachelor's thesis would be the most frustrating thing we've ever done. However, its really been wonderful because we can do whatever the fuck we want, meaning:
NO MORE FUCKING INLINE JS
NO MORE FUCING INLINE CSS
NO MORE FUCKING CANCEROUS CSS STYLESHEETS
NO MORE FUCKING PROCEDURAL PHP
NO MORE FUCKING XSLT
NO MORE FUCKING INLINE SQL
Absolutely wonderful.2 -
Man why is it that the languages that I like get shit on by like 90% of developers. Whiney little cunts that get mad at css because they think "oh I can just inline style and it'll be fine" No wonder your X looks like fucking roadkill. And I fucking love python. Maybe if the Oracle overlord didn't have a goddamn chokehold on ever major hardware manufacturer python would be more prominent.7
-
At a "guided internship".
Task: Develop a complete web application form
Was assigned to a team of 7 where all are "Frontend Developers" who have never heard terms like "bootstrap" or "mobile-first web pages".
That aside, all are seniors in age and qualifications, hence me telling them something to do is "ordering them around". And if I tell them to leave things to me, they be like "No, we wanna contribute and do the Frontend, as these things don't matter, inline css just works fine". 🤷🏻♂️🤷🏻♂️🤷🏻♂️🤷🏻♂️🤷🏻♂️
Why Lord? Just why?4 -
Okay, it's FUCKing rant time.
FUCK single-file *cough* page.tpl.php *cough* drupal-sites
I FUCKing hate sites without any FUCKing structure, where all logic is built into the overall wrapping pageview file.
Spend more FUCKing time than healthy finding this golden nugget.
In a FUCKing 2000+ lines long file, in a FUCKing mix of inline CSS/JS, PHP/SQL and FUCKing exec(); calls.
Definetily the best FUCKing way to destroy a FUCKing lightbox, for people who are not logged in...
- Why would you even do that in the first FUCKing place ?!??! The customer didn't ask for this..
All this FUCKing mess because the previous developer decided to quit, and did not FUCKing care for the next maintainer to come.
Fellow drupal developers will know the struggle.3 -
I'm living it.
I started an internship at this web store made of different pieces and following no apparent rule or convention. They asked me to do this landing page, but I can't access to the development environment, nor push, create a docker, kill myself, nothing. I have to build from the DOM and write with inline style a page copied and pasted, with 300 lines of CSS already in the tpl, overwritten bootstrap 3 and two main CSS files linked. And "they don't do !important".
I wish I could say I'm learning a lot, but not. My life has become a waste of hours trying to please a company stuck and aged. -
Jeez, it can be done! Thank you CSS, i really thought it wasn't possible. My bacon is saved. (Overriding an inline style, javascript generated, from a linked style sheet).2
-
My second worst experience with legacy code:
JSP with inline java to create JavaScript which creates HTML on every fucking page load.
Luckily I leave that company too.4 -
Today my senior colleague asked me to write an inline style and make it !important and I started at him for 2 minutes before smashing the keyboard on his head and then I realised that it was just playing in my head so I stopped staring at him and went back to webstorm and wrote that !important inline.3
-
Oh my dear internet,
FUCK THIS FUCKING SHIT
I AM SICK AND TIRED OF IT, WHO BUILT THIS HACKED TOGETHER ORWELLIAN SWAMP PIT?
Fuck the same fucking Envato template on every content page with 70 layers of sidebars, inline ads, popups, cookies and content shifting as if I was playing CATCH UP WITH YOUR FUCKING CONTENT.
FUCK the same fucking annual upselling 'plans' on every 7-day trial overengineered scam app that requires me to sign up for 1 fucking, falsely advertised task where my fucking password generator doesn't even recognize the input as a password field so I have to cmd+, to my FUCKING BABYLONIAN PASSWORD ARCHIVES PROMPTING ME FOR THE MASTER PASSWORD.
Thank god I can at least CREATE A BURNER CREDIT CARD THAT FREEZES ITSELF BECAUSE I CANNOT BE BOTHERED TO UNSUBSCRIBE FROM YOUR FUCKING STEAMING CRAP.
FUCK every fucking step I take being recorded by our CYBERPUNK OVERLORDS REQUIRING ME to sign up for 5 different fucking privacy protection tools' annual plan or duct tape some open source shit onto my browser just for some BASIC PRIVACY WHILE TRYING TO NAVIGATE ALL THE OTHER 5000 annuals plan naval mines like A FUCKING FRENCH SUBMARINE IN 1940 GERMAN WATERS.
FUCK my walled garden scam ecosystem not being compatible with your walled garden scam ecosystem prompting me to reactivate my old SATANIC GOOGLE DON'T BE EVIL ACCOUNT from 2012 sending me on a DANTE ALIGHIERI STYLE ODYSSEY THROUGH THE 9 LAYERS OF PASSWORD RESET QUESTIONS, UNEXPECTED ERROR, 2FA MY PHONE DIED HELL to come out on the other side as a broken man.
Thank GOD I have your useless SUPPORT PAGE to aid with my signup problems that is actually just an FAQ with a hidden EASTER EGG HUNT for your support form CRISP AI BOT THAT IS ALSO 'currently experiencing high demand due to COVID' which is peculiar since that has been 3 years ago, but fortunately for you enabled you to fire ALL YOUR SUPPORT STAFF AND REPLACE IT WITH THIS BANNER.
I might as well just SCRAPE your fucking content, it'd be faster.
And although it is quite funny, FUCK THIS PAGE TOO for having me create another of 10.000 accounts to write this shit, where my browser firmly placed a newly created burner email into the PASSWORD FIELD.
I do not know how we managed to create something that is even more unwieldy than 56k DIAL-UPS, but I know that if this shit continues I'll have to train my own AGI to proudly interact with of all this STUPID SHIT on my behalf or I'll have to move into THE FUCKING MOUNTAINS AND LIVE WITH THE DEER.1 -
Using Oracle ADF along with ADF Faces to build a simple learning management system. No JavaScript, no external stylesheets, all inline styles, no client side validation, doing form submit for every field's onblur event triggering a server-side validation, creating a VO for every damn page requiring data, creating an EO for every DB table or view, adding big-ass custom queries for most EOs to join on multiple tables, frequent N+1 queries, etc.,
Idont remember the rest of the problems5 -
What is this I don't even know. Why does it exist? Why?
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex9 -
Is it coincidental that the two most important keys that help us devs build our CVs, the C and V keys are inline on our keyboards? And look at that Ctrl key...That's what happens after too many rounds of copying and pasting...All hail Ctrl, C and V keys1
-
Studying multimedia developer course Class year one learning HTML.
Build this with tables and inline styles....
Assignment was clearly written and you where able to copy past most of it.
I was like fuuu. I build it in CSS and external style sheet.
Time set for assignment 4 days, time used: 3 hours.
This was in 2008......
I hope now for you students out there that it has changed and you are learning proper coding and are correctly challenged3 -
Meh. FFS. Thats how this shit starts.
Get a call to say 2018 Bank Holidays not showing on legacy web calendar.
/me looks for bank holiday code in PHP file ..... no dice.
/me finds a dBase table that holds all Bank Holiday info. Not ideal, but I can work with that.
Enter all Bank Holidaya into dBase. Sit back, relax, wait for page to reload to show me Banks .... no dice.
Huh??
Read code more closely ......
Included file (inline, half way through PROCEDURAL FILE FFS) and notice that the linked file has all Banks hand formatted into Calendar events, and minified.
If I ever meet the old dev in the street, so help me god. 🤬2 -
What is the whole hype about Vue? It just feels like angular 1 with vdom, inline styles and a custom file extension.4
-
It is great feeling, to leave company and leave all your crap code to others :D
500 lines bash generic wrapper to curl (just to catch and print errors, not just silently fail as most devs tell curl to do).
It was monster that used "function overload" and "subclasses" (based on dynamic source files). Also dynamically created inline AWK script to parse curl output. It kinda worked, but amount of high-level hacks I had to use was enormous.
Never use Bash when you do not have to. Even if you have experience with it. Others don't have it and will fail miserably trying to patch your code. Just leave bash for fast bridging between programs, leave python/java/c#/go or any other proper OOP language for a job. Please ? -
Question to the frontend devs: I'm currently trying to optimize part of our JS. How do sourcemaps influence loading/rendering Speed in the Browser?
In the `webpack.config.js` we use uglify as minimizer for js. It has the option `sourceMap` Set to `true`. Now as I understand it, this caused it to Inline a sourcemap inside the JS file (which leads to a slightly bigger file size and thus longer load time for the generated file...).
My Question: should sorcemaps be enabled for prod (minified) files? Why yes, why no? Do they help the browser parse the JS faster?12 -
!rant
In my team, I am not allowed to use ANY comments except for the really lengthy classes in the backend.
Thus, the code of the whole project (a complex webapp, consisting of 20-something Django projects and various services) is basically undocumented.
The slogan sounds "good code doesn't need commenting".
Seriously, fuck this and all of the times I scratched my head wondering "what the fuck is this spaghetti about".
Have any of you encountered something like this? Usually people don't want to comment, I would do it gladly but can't even make a small inline about what complex method is exactly doing :P3 -
Being victim of an arbitrary worplace's culture on dev experience and documentation makes me a very frustrated dev.
Often I do want to document, and by that, I don't mean laying an inline comment that is exactly the function's name, I mean going full technical writer on steroids. I can and WILL get very verbose, yes, explaining every single way you can use a service - no matter how self explanatory the code might look.
I know developers (and me included) can, and sometimes will, write the best variable and function names at the time, wondering if they reached the peak of clean, DRY code that would make Robert Martin have a seizure and piss himself, only to find weeks later after working on something else that their work is unreadable. Of course.
I know the doc's public, it's me, and I've done this.
But then again explain for the people in the back how the FUUUUCK are we meant to suggest improvements, when we are not the ones who are prioritising features and shit WITH the business?
Just email me when the fucking team recycles, and no new team member knows how to even setup the IDEs because this huge piece of monumental shit called CompanyTM is also run by VPN. Fuck, no one wants to access that garbage, you have no docs.
I once tried setting up a culture for documentation. I did an herculean amount of work studying what solutions were internally homologated, how steep the learning curve would be from what we had at the moment (NOTHING, WE HAD FUCKING NOTHING, jesus christ, I even interviewed SEVENTEEN other squads to PROVE they FUCKING NEED
DOCS
TO WORK
You know what happened to that effort?
It had a few "clap" reactions on a Teams meeting and it never reached the kanban.
It didn't even made it to backlog.
I honestly hope that, someday, an alien fenomenon affects the whole company, making their memories completely reset, only to have the first one - after the whole public ordeal on why our brains became milkshake -, to say: "oh, boy, I wish we had documented this".
Then I will bring them to the back and shoot them. -
I am really having a hard time keeping an "open" mindset with my team...
So when I email you, the junior at your first job and an almost 6 months work experience, with a set of instructions, I do not want inline comments and feedback to the tune of "Yes, I agree. I think we should go ahead" or debates on why, in your opinion.. xyz, because you tested it yourself..
WHERE THE FUCK DID YOU SETUP AND TEST BILLIONS OF ROWS OF DATA ON YOUR MANY MANY MULTI BOX CLUSTER? You live in a data center? Oh, and say "Serverless" one more fucking time....
And so begins the painful process of performance managing you out the door. (You cant fire anybody in South Africa for being a prick. Or useless.)
I am sure there once was a time where you could beat guys like this to within an inch of his life with his own keyboard. If it wasn't wireless I could have strangled him with the cord. Ah, I miss model M's....9 -
After I have been using tabnine and Grammarly for quite some time, I thought I follow this years' hype and give GitHub Codepilot a try, before eventually considering chatGPT.
Added Copilot to my IDE, proceeded to extend behavioral test descriptions in JavaScript.
Copilot suggests the most redundant and irrelevant inline comments I can imagine. They would be a legitimate target of criticism in every code review.
Wasn't it supposed to add some code that's actually useful? Well, tabnine and JetBrains IDEA annotations already did that anyway.
What did I miss?2 -
I am working as designer, doing psd to html stuffs and i'm having hard time when the developers inject their own css inside the html elements (inline) and broke the responsiveness4
-
You know it's kinda your fault when your CSS works properly in Internet Explorer and Firefox, but doesn't in Chrome or (non-Chromium) Edge.
However:
Spec says text-align doesn't apply to inline elements, but both Internet Explorer and Firefox seem to disregard that spec and do it anyway. What the fuck?3 -
This sort of CSS failure:
div { display: inline-block; width: 50%; }
span { display: inline-block; width: 50%; }
<div>go left</div>
<span>go right dammit</span>8 -
her: he's probably thinking about other girls
me: *in CSS, both "display: inline-block" and "display: inline block" are perfectly valid things and they even mean the same* -
I wasn't happy with one of our UI views for editing a database query that consisted of about 50 fields ("editing" being the operative term here, not just viewing. It had to be two-way). Everything was hardcoded and defined manually, with each block of ~10 lines being repeated and mostly identical apart from the occasional double inline field and name of the variable. It had "just ended up that way" over time due to the variable names in the UI being different than the names of the variables that came from the API.
I decided to overhaul it all where I defined the different input components and which fields should be included, then made a function which would generate the page based on these definitions. It was about 500 lines of modularized functions and classes where the class for the actual view was about 50 lines- compared to the 1400+ lines of the previous version.
But, it didn't work. It should, but it "just didn't". There was no error. All I got was a blank, solid white page. I could make a drastic change or try something completely different and I would get the same error, same blank page. API fetch succeeded, value assignments succeeded, the object exists, but if you iterated it it was... empty.
I started getting really discouraged that I had made it too abstract. Maybe I actually made it more complex and unreadable than before. Maybe just hardcoding it all was the better solution after all. Maybe I had gone against KISS and overdesigned it.
I was up pretty late and everyone had gone home. When the last guy left there was that mood where "yeah if I can't make this work we'll just use the current version...".
Turns out I had tried iterating over a property of the set of fields to render, rather than the entire collection. In the old method the variables were a member of an object, but now they were its own object, a change I had made to isolate the set of values which were to be viewed/edited and make them easier to pass back and forth. This member existed since I hadn't cleaned it out yet, but it was empty.
I had been banging my head against this for a whole day and I was ready to admit I had made a mistake and wasted my time before discarding it all, but then I backspaced this one property and the interface went from empty to rendering perfectly and with all functionality intact. I swear god rays were coming out of my screen. -
That's gonna be a quick rant about Golang.
Anyone else here frustrated by the fact that you can inline assignment in the if statement, but can't inline the if-else itself?
You can do:
if thing := hey.getThatThing(); thing == theThing {
return 'this'
} else {
return 'that'
}
But can't do:
return 'this' if hey.getTheThing() == theThing else 'that'
Or is it just me using too much Python everyday and connecting that with Go in free time?5 -
Just dropping some current experience here.
Content security policies are big mess in both chrome and firefox.
Chrome has some 4 years old "bug" where you can't add hash of JS file to 'style-src' policy to permit inline-styles THAT would be set by this script (jQuery actually).
Firefox is beautifully unhelpful, it just pops of error "blocked ..something..", not even saying what it was.
EDIT:
And I am missing a pair of some steel balls to ask about this on SO because there is this much of very similar questions, nonetheless -if I did read them right- every one of them is talking about enabling style attribute, and that's something different.
EDIT2: Chrome currently generates 138 errors "jquery-3.4.0.min.js:2 Refused to apply inline style..." , this ain't hitting production.10 -
Sydochen has posted a rant where he is nt really sure why people hate Java, and I decided to publicly post my explanation of this phenomenon, please, from my point of view.
So there is this quite large domain, on which one or two academical studies are built, such as business informatics and applied system engineering which I find extremely interesting and fun, that is called, ironically, SAD. And then there are videos on youtube, by programmers who just can't settle the fuck down. Those videos I am talking about are rants about OOP in general, which, as we all know, is a huge part of studies in the aforementioned domain. What these people are even talking about?
Absolutely obvious, there is no sense in making a software in a linear pattern. Since Bikelsoft has conveniently patched consumers up with GUI based software, the core concept of which is EDP (event driven programming or alternatively, at least OS events queue-ing), the completely functional, linear approach in such environment does not make much sense in terms of the maintainability of the software. Uhm, raise your hand if you ever tried to linearly build a complex GUI system in a single function call on GTK, which does allow you to disregard any responsibility separation pattern of SAD, such as long loved MVC...
Additionally, OOP is mandatory in business because it does allow us to mount abstraction levels and encapsulate actual dataflow behind them, which, of course, lowers the costs of the development.
What happy programmers are talking about usually is the complexity of the task of doing the OOP right in the sense of an overflow of straight composition classes (that do nothing but forward data from lower to upper abstraction levels and vice versa) and the situation of responsibility chain break (this is when a class from lower level directly!! notifies a class of a higher level about something ignoring the fact that there is a chain of other classes between them). And that's it. These guys also do vouch for functional programming, and it's a completely different argument, and there is no reason not to do it in algorithmical, implementational part of the project, of course, but yeah...
So where does Java kick in you think?
Well, guess what language popularized programming in general and OOP in particular. Java is doing a lot of things in a modern way. Of course, if it's 1995 outside *lenny face*. Yeah, fuck AOT, fuck memory management responsibility, all to the maximum towards solving the real applicative tasks.
Have you ever tried to learn to apply Text Watchers in Android with Java? Then you know about inline overloading and inline abstract class implementation. This is not right. This reduces readability and reusability.
Have you ever used Volley on Android? Newbies to Android programming surely should have. Quite verbose boilerplate in google docs, huh?
Have you seen intents? The Android API is, little said, messy with all the support libs and Context class ancestors. Remember how many times the language has helped you to properly orient in all of this hierarchy, when overloading method declaration requires you to use 2 lines instead of 1. Too verbose, too hesitant, distracting - that's what the lang and the api is. Fucking toString() is hilarious. Reference comparison is unintuitive. Obviously poor practices are not banned. Ancient tools. Import hell. Slow evolution.
C# has ripped Java off like an utter cunt, yet it's a piece of cake to maintain a solid patternization and structure, and keep your code clean and readable. Yet, Cs6 already was okay featuring optionally nullable fields and safe optional dereferencing, while we get finally get lambda expressions in J8, in 20-fucking-14.
Java did good back then, but when we joke about dumb indian developers, they are coding it in Java. So yeah.
To sum up, it's easy to make code unreadable with Java, and Java is a tool with which developers usually disregard the patterns of SAD. -
Doing someone else's Code Review in my project: "You must retain the holiness and piety of the code you write by following PascalCase naming for files and kebab-case naming for CSS variables. Avoid using duplicate strings by declaring enums in a constants.ts file and using that all throughout the app"
During my own Code Review in someone else's project: "WHAT THE FUCK DO YOU MEAN I CANNOT PASS FUNCTION REFERENCES AS PROPS TO A REACT COMPONENT AND ALWAYS NEED TO INVOKE IT INSIDE AN INLINE FUNCTION FOR THE PROP."
"WHAT KINDA FKIN DRUGS ARE YOU ON TO USE snake_case IN TYPESCRIPT DID YOUR MOM DROP YOU ON YOUR HEAD WHEN YOU WERE BORN YOU SACRILEGIOUS PIECE OF SHIT"
"WHAT DO YOU MEAN I SHOULD USE BOTH SINGLE AND DOUBLE QUOTES FOR IMPORTS AS PER LOCAL OR GLOBAL; I'LL SHOVE THE SINGLE QUOTE UP YOU WHERE THE SUN DOESN'T SHINE YOU FKIN DEGENERATE MORON"
As much as I do believe in self righteousness of my own coding conventions over others (I might be slightly better than others but I really can't claim good authority because I've had my lapses in conventions too; and being one of the newer members of the team certainly doesn't help, despite my boss supporting my initiative), I guess it is high time we bring in some already established code conventions in the team that is finally big enough to warrant them. Maybe AirBnB. -
TailwindCSS, I don't get the hype around it. People say its awesome and it has changed its life. Wtf, it looks like a bunch of utility classes to end up writing inline styles.8
-
Dahhhhhh. Retrofitting CSP to an established, legacy site with inline scripts and random CSS/js loaded from all over the place is damn stressful.
Why did I volunteer to sort this crap out... What a pleb.4 -
I remember playing games like wolfenstein3D, supaplex, sokoban etc. on our family computer 486 which had as I remember around 100mhz processor. (120mhz in TURBO mode)
Yeah and I did created a few levels in wolfenstein, there was a simple editor.
From programming view I did code my first website only using html and inline css in early 2000s. However internet was a thing of a rich people back then (in my country), so my brother downloaded the whole website with docs and basics of html/css/js for me in collage. My first website was coded on 300mhz pentium2 (or 3?) with no internet connection, took me about a two months to complete and was total mess. But was graphically satisfying with nice gifs which took tens od seconds to download. Main container had 600px width and looked pretty good on my 800x600 resolution.
I still remember messing with BOM signature because of notepad could not save a file without BOM. Leaving all utf8 chars as mess after saving.
Good old times. -
I like react, I really do. But one thing I hate about it, is the number of decisions I need to make, I get so fucking confused whether to use redux thunk or sagaas, inline styles or styles components, redux or flux, even to judicially choose whether to use a state management library or not. It just lack of my own experience or don't know what. But this thing sucks2
-
I might have to ban myself from using inline styles, even if "Just cause I'm trying something real quick" :/
display="style: none"
"Why the fawk is this STILL showing up? Nothing in JS... Nothing in CSS... maybe I missed a end tag or something? Oh. OH. Why."1 -
Just finished moving all my python code documenation from hand-written wikis to API docstrings and set it up to autodeploy to github pages with each commit. Feeling really hopeful about this, although its going to be frustrating going back to other languages that dont have inline docstrings.1
-
Fuck! I spent the last 3 hours trying to set up inline preview for latex for spacemacs but it won't compile cause of fucking warnings! 😂 But at least I know why my references can be inconsistent cause hyperref package is fucking trash, and it's supposedly the best choice for cross-referencing there is.
Alright, rant over. Will try look for workarounds tomorrow.2 -
Some times I look at inline code documentation and am like:
"That's so beautiful..., but I'm not going to cry". -
When you work with a "Systems Architect" that doesn't understand object oriented programming but still insists on writing code.
This particular person only uses one class in a given application and names it "Class1." He also doesn't understand ORMs and insists using inline SQL statements without parameters because he can do "just as good of a job" with his SQL "cleaner."2 -
Javascript really needs a way to define consts for a block 1 level up.
So instead of
const el = wide ? els.wide : els.tall
You can do
if (wide) const el = els.wide
if (!els) const el = els.tall
// etc..
Just makes chaining and backup values way easier than inline conditionals 🤔15 -
Implementing html template with inline styling into Typo3 for newsletter, I'm so fucking bored I'm looking for a cozy place where I can safely faint and lay there for some hours.
-
Horror story and rant time I guess...
I haven't seen the main developer of this MVC project that I've been working on but I can totally assure that his seniority isn't in frontend development 😠 and I doubt the backend too... Fucking DataTables converted to IDictionaries<string,object>
Guess who need to build on top of the pile of shit!
Anyway, I wasn't really careful about what kind of template I was given to work on a new SPA page, so I'm doing the job given the time, but it's fucking gory:
- matrioska style layers (n.3) without documentation
- partials everywhere
- too much inline styling
- too many <style> sections (n per layer or partial)
- too many <script> sections (n per layer or partial)
- poor CSS styling or no styling at all! (classes without any style nor js association)😠
He's just been lucky that the browser is capable of handling his shit
Now that at the end of this year I'll leave this project (solo fullstack) and need to provide documentation for the next poor souls I was thinking to leave behind something at par of my skills and capabilities but analysing the current mess ticks my brain in a bad way, fuck you Marco!
Fuck you
and your seniority
and the Italian way of perceiving seniority that gives you a higher living in the wrong side of the field 🤬🤬🤬2 -
!rant
Can we bring into discussion inline monospaced code snippets again?
Basic markdown text formatting. Like bold, italics, lists.
https://devrant.com/rants/333316/...question dfox functionality request feature inline code code snippet trogus markdown feature request3 -
Hey! Just curious, is it normal that a technical test/challenge takes me more than a day to do?
I have been interviewed for a front-end role, and was given a react challenge. They said that it shouldn't take more than 2 hours ('hopefully' is what they added at the end). But i've been doing this challenge for a day now and it's only 60-70% done.
It's not complicated, and I do know how to do it, and, even, do it properly, it just takes a lot of time for me to code, i.e. develop components, change webpack when needed, read react materialize-ui (css framework) docs, then destructure json response from the api they provided and put this information on a page, then try to compile to the right format (they want single .html element with inline js and css as a deliverable).
So my question is, am I shit or is it unreasonable for a company to ask do so much coding or a little bit of both?
What's your experience usually when looking for a job in 'hip' and 'cool' startups?4 -
Software idea: A text software that lets you fold based on tab indentation, and define arbitrary text as headers tags and also define their format.
Example of the text describing the configurations that would be used (format wouldn't be inline oc but just in case any of you complains):
# Header, blue, slightly bigger text, bold
item 1
item 2
! red line of text, indicating to-do or current state
arbitrarily
indented
foldable
text
Now the rant: I can't find any software that offers this. :/ I have to define a whole language spec to do this in the editors I've checked.
If you happen to think about some editor, tell me.
Of course, I could code it myself, but I'm married to University for now.8 -
So what do you guys think of a tailwind css?
I mean... it looks way too verbose, like we got back to inline css
on the other hand i see a lot of people using it
so whats the catch?9 -
With the current pace of gpt and dall-e, it’s looking more likely that a lot of development roles may go obsolete in the nearest future (3+ yrs).
I see the possibility of building full fledged websites and fixing bugs based on voice commands. The picture of this possibility is quite vivid in my head because it’s totally feasible technical-wise.
The only delay that may occur in this dynamics is the slow pace of its implementation by existing developer tools. Of which I think the reason is directly related to the cost of management of resource, quite the limiting factor here.
But imagine if a big tech like google creates a platform to build websites based on voice/text commands using advanced gpt inline with its access to existing corpus of data; that to me is “game-over” for web devs.17 -
I just hate the 'inline injection annotation' way of doing stuff in Angular. Why? Why would you want to make the reader's life so tough? Coz minification? Well, fuck minification! Maybe I'm ranting coz I just started learning, ok, whatever!
-
Dear colleagues,
YOU HAVE RUINED JAVASCRIPT!!@##@
Yes, you are one of those that are responsible for giving JavaScript a bad name and using jQuery for FUCKING EVERYTHING!@#$
Start thinking for yourselves, ditch this shit before it's too late and learn how to write some actual fucking code. The information is out there, you can do it. If you need handholding with $.each, creating concatenated strings with error prone code to send them in one field to the server, just to explode it back there, then consider that the world doesn't need your BULLSHIT code and go and get a job you're actually good at. Stop ruining it for the rest of us.
THANK YOU8 -
I'm teaching myself React lately since it's what my work mostly uses. I'm in backend but having used Vuejs for a couple of years I figured I'd have a head start.
Man, it's painful to go from one library to one that has issues which became the motivation for building the library I already know. I keep catching myself in wanting to make little helpers to basically make the Vuejs syntax for React.
The first time i tried JSX I had a reaction similar to that of when I tried writing inline assembly in C; "heh! That's funny".2 -
When people write functions/methods with bodies smaller that the call header (-_- ).
Function calls are not free people! Just Inline that shit manually (or at least make sure the compiler does so)!
double degree_to_radians(double degree){
....return (degree / 180.0) * M_PI;
}8 -
I'm in a big fat fucking stinking rut, as in progress on this project has absolutely stagnanted.
Gonna rubber face your duck now **UNZIPS** excepts I don't have zippers, as joggers are the one true way; fake Adidas til I fucking drop.
Brain damage aside, I understand both how I've layed out the data and what I'm supposed to do with it. We have a virtual machine, an array of instructions and arguments for a given process within it, and we need to walk this array and map values to registers.
We also need to spill values inside registers to stack, IF they are required at a further point within that block. This also isn't terribly complex. We simply look forward in the array and see if the value is an argument to any instruction that *needs* this value to be loaded (ie, within a register).
So this implies multiple iterations; we need to better understand how one particular value is used throughout an F before we can make a final decision on how many registers and stack space are actually needed for the whole block.
Here's where it gets tricky. If there's a call, we need to be certain that the symbol being invoked has already been fully processed. Besides the obvious fact that recursion fucks me up, there's another matter: say a private method gets invoked by another private method. We can take advantage of this, by which I mean, sacrilege incoming so put on this toga.
Looking at the output for C compilers, it would seem this is not done in practice, I would assume because it's a pain in the ass. But when you have the guarantee that F will only be called internally, as that's what "private" means, there's two ways it can go:
0. It's well below the 13-20 cycle threshold, so you inline the fucker. No suprises there.
1. It's a more involved affaire, and invoked in more than one place, so you don't inline it. Codesize matters.
Recursion and [1] are the big deal things holding me back. Not because it's too hard, like I said this is kindergarten level abstraction. I'm just slow and fanatical, which is how I prefer to spell "constant obsessive paranoid delusions". I can see the potential optimization I can pull here, so I'm stuck trying to figure it out.
Idea would be, handling the register allocation and stack spill for an internal-internal (or deep internal; what we like to call a "guts" method) in synchronization with the *calling* processes. This is, fundamentally, violating all conventions -- but so under the hood no one will notice.
Let me give you an example. If we were to pass some value to a function, expecting to mutate it and get a different value back, in a lot of cases it'd be stupid to make an implicit copy by using two registers, one for input and another for the output. Dude, it's one cycle. Multiply it by a million, say sixty times per second, for every time you __needlessly__ make a copy of a value that we've already stated is mutable.
Clearly unacceptable. This is, in the strictest sense, everywhere in every single codebase. Premature micro optimization is the root of all goodness, God is great and praiseworthy. So how do we go about it?
Answer is I know and I don't know. By which I mean to say, this very thing I've done by hand. Assembly is fun. Now the issue is teaching a calculator how to do it. Not so fun.
There is a dependency chain between processes, as I believe I've kind of alluded to. I'm trying to make decisions on the side of the caller depending on the details of the callee, which is why recursion is rawdogging my soul. This is the same situation, it's inverting the direction of one or more links in the dependency chain, which makes no fucking sense.
And yet it does.
Brain, explain yourself.
How do *you* handle this without crashing?
Brain?
<<ME STEWPED; BEEP-BOOP>>
Alright then, that was a useless attempt at fuckery. Let's have a nap then, maybe it'll come to me in the morning. That's what I've been saying to myself for almost a month now.
Perhaps it is a hardcoded fuk.1 -
Rustfmt doesn't support inline function calls with a block last argument unless the last argument is an array literal or lambda. Dedicated support for arrays is obviously intended for XML-like trees where a factory takes a number of arguments and then a list of children, and the use cases for block last lambda argument don't need explanation, but what I don't get is how did no one catch on that this is a useful pattern that should perhaps be generalized? Why can't I produce the same behaviour for a function call in the last position.3
-
WTF new Chrome devtools breakpoints faded away and put inline within the code and for every one you set you get extra 3 for free... ???1
-
Junior Colleague: can you help me fix this small issue in my code? I believe it's located in this file...
Me: *spends half an hour deleting console.log, inline comments and blank lines*7 -
Unity is such a load of shit. Why would you have every single tutorial tell you to instantiate a prefab with the Instantitate() method then have it break your game on build because you haven't loaded each individual asset inline. Isn't the magic of this whole process that the editor take care of that shit? Now the project I was sure would be finished by this morning is going to take me AT LEAST another day.1
-
Anybody know of a visual studio extension where you can link a file + line number to another file + line number, all inline in the code so that as the file changes the links still work, so that you can easily jump around the codebase. One example would be linking an html element to a less class so that you dont have to open the less file, then look for the class or ctrl+f or whatever.1
-
https://youtu.be/5OhJ00an0mI?t=148
As per this ad Samsung use HTML & bootstrap to change voice of bixby.
can someone tell me how can i do this?
(If anyone from Samsung. Inline CSS is bad practice)3 -
Dammit! CSS is such a huge pain in the ass. I just want to use a <style> tag inline with a class to control margin positioning of one friggin’ image. (Yes, I know it’s better in a CSS file but this is a temp fix that will be reverted soon.)
<style>
.30-day-seal {
margin-top: -27.5em;
margin-left: 39.5625em;
}
</style>
<img class=“30-day-seal” src=/path/to/img.png”/>
Nothing happens. Only if I use a style=“” attribute directly in the img tag.
I’ve even tried:
<style>
img.30-day-seal {
margin-top: -27.5em;
margin-left: 39.5625em;
}
</style>
And
<style>
.30-day-seal img {
margin-top: -27.5em;
margin-left: 39.5625em;
}
</style>
And even
<style>
img .30-day-seal {
margin-top: -27.5em;
margin-left: 39.5625em;
}
</style>
Why do I suck so bad at this?! Still!?6 -
typedef bool Bool;
Class Description
{
public:
inline Bool IsTypeA() const { return IsType(TYPE_A); }
inline Bool IsTypeB() const { return IsType(TYPE_B); }
inline Bool IsTypeC() const { return IsType(TYPE_C); }
Bool IsType(DescriptionType T) const { return (T == Type()); }
DescriptionType Type() const { return m_Type; }
private:
DescriptionType m_Type;
}
I can't make this shit up3 -
For our internship requirement. We developed a web-app with inline Javascript and CSS. I know, it was only a matter of time for our senior dev to kill us. HAHAHAHA2
-
Please give us Markdown in Slack already. How can that be much more "difficult" compared to Slack's own formatting?
At least give me the possibility to temporarily disable formatting, e.g. to not make bold when using asterisks. No, using inline code formatting is not a viable option. I simply want to have asterisks shown as normal text. I'm fine with escaping with e.g. backslashes. That's kinda normal.4 -
Is it a good practice to use inline styles?
I'm always lazy to add a new class to a new div. So I just write css, inline.9 -
CSS and libraries doesn't mix. Something about the lack of scoping and the unintended side effects that happen from using two different libraries that add inline style via JS. I'm looking at you, position!!!!12
-
while doing web thingies for over 20 years now i have a feeling i did it properly for the first time now. i am proud and embarrassed at the same time.
maybe for the first time php doesn't echo html with inline-js and -css.3 -
Hitting every. single. fucking. dead end on my unstoppable march to introduce a nice feature.
I'm trying to embed interactive svg maps in a Wordpress page in such a way that the areas can be edited intuitively using Inkscape and all the page does is inline the xml markup, but also there's a JPG background embedded in the picture which Wordpress finds too big for markup (unsurprisingly) but which is a pain in the ass to reference externally. -
So Copilot just not doing suggestions inline anymore? Has to be on a new line with no trailing characters?? .. 😩4
-
I’ve built a ’self-serve’ inline-app/widget for our customers to book a moving quote appointment themselves. One of the ‘pages’ has a couple address autocomplete form fields. I went with a service called placekit, but used a CDN they offer. There is a more robust node.js library they offer, but couldn’t get it working. To be fair, I am completely new to node.js. I want to learn it, any recommended tuts, or readings? The company I work for is really invested in old technologies, we use SVN still. Does node play well with SVN? The IT lead for my department is opposed to connecting node to our DB, but I think we will be forced to for our upcoming automated testing project, it too is node, that’s what prompted my goal to learn it.2