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 - "developers ie"
-
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 -
Shower thoughts...
Do Microsoft developers use IE?
And what about bing developers, do they use bing?12 -
All web developers should support up to IE9 without any problems.
Why? Because in Korea, it is normal.
Every person uses that damn Win7, which has either IE9 or IE10. Without IE support, no one will browse your webpage.
Now you would ask us, why don't you use other modern browsers?
We would then ask you, why would you install a new browser that is
1. Buggy
2. Heavy
3. Takes up ram
4. Has so many features
when you have an awesome minimalistic browser that is preinstalled, and works in all Windows? No thanks.
So, if you put a message saying you will soon drop support of IE, it means that you won't target Korea. Just after the support drop, there won't be traffic to your web site.
So what is the point of this rant?
1. We love IE. Lol
2. IE is lightweight, minimalistic, and the fastest browser in the world.
3. All websites should NOT drop support for IE.
4. We don't care whether web devs will have a hard time. We just think websites are built with Wix and Wordpress, and they work in IE, meaning, IE support is the number one priority.
5. If you ever start a business in Korea, and has a website, make sure to hire an senior Korean web dev who has worked with IE for a long time.
6. Here is the tl;dr
Hate us. Period.25 -
I got an email a couple days ago about a tweet a made about how web developers are unanimously very happy that Microsoft is dropping IE. I got a very angry email from someone who really loved Internet Explorer, apparently 🤔, saying that my tweet was, and I quote "offensive to those who used it loyally for years". That was hysterical for me to read.14
-
Satoru Iwata.
You might remember it as the former president of Nintendo, but he was also a very impressive programmer. As he was president of HAL Laboratories, he helped with the development of Pokémon Stadium for the Nintendo 64 by porting the Pokémon Red/Blue battle system not by having any sort of documentation, but by reading the assembly source code.
He did so to allow Game Freak's developers (who were only a team of 4 at the time) to focus on their work on Pokémon Gold/Silver. But he did more: when they had to localize Red/Blue for America, they couldn't fit everything in a cartridge. They had the same problem while developing Gold/Silver, since cartridges had at most 8 Mb of storage capacity back then, and they had to fit not only the Johto region but the Kanto one as well! So Iwata stepped in, and created a graphics compression tool which managed to make everything fit in the cartridges.
He did this while not even being part of Nintendo, and the work was so impressive that the Pokémon devs thought it was "a waste to just have [him] as president!" (ie. why not make use of such programming skills).
Truly someone I look up to.8 -
Hi,
I'm not a ranty person so I never actually thought I'd post anything here but here it goes.
From the beginning.
We use ancient technologies. PHP 5.2, Symfony 1.2 and a non RFC complient SOAP with NO documentation.
A year ago We've been thrown a new temporary project. An VOIP app for every OS.
That being iOS, Android, MAC, PC, Linux, Windows mobile. With a 3 month deadline. All that thrown at 4 PHP developers. The idea being that They'll take it, sign the delivery protocol, everyone happy. No more updates for the app needed. They get their funds they needed the app for and we get paid.
Fast forward to today...
Our dev team started the year with great news that We'll most likely have to create a new project. Since the amount of new features would be far greater than current feature set, we managed to finally force our boss to use newer technologies (ie. seperate backend symfony4 PHP7+/frontend react, rest api and so on). So we were ecstatic to say the least. With preestimates aimed at a minimum 3 month development period. Since we're comfortable with everything that needs to be done.
Two days later our boss came to me that one of our most annoying clients needs a new feature. Said client uses ancient version written on a napkin because They changed half of the specification 2 weaks before deadline in a software made not by a developer but some sysadmin who didn't know anything. His MVC model was practically VVV model since he even had sql queries in some views. Feature will take 3 days - fixing everything that will break in the meantime - 1-2 months.
F*** it, fine. A little overtime won't kill me.
Yesterday boss comes again... Apparently someone lost a delivery protocol for a project we ended that half a year ago. Whats even better at the time when we asked for hardware to test we never got any. When we asked about any testing enviornment - nothing. The app being SEMI-stable on everything is an overstatement but it was working on the os'es available at the time. Since the client started testing now again, it turns out that both Android app does not work on 8.1/9 and the iOS app does not work on ios12. The client obviously does not want to pay and we can do little with it without the protocol, other than rewriting the apps.
It will take months at least since all of those apps were written by people that didn't know neither the OS'es nor the languages. For example I started writing the iOS one in swift. Only to learn after half of the development time, that swift doesn't like working by C Library rules and I had to use ObjC also. With some C thrown in due to the library. 3 unknown languages, on an unknown platform in 3 months. I never had any apple device in my hand at that time nor do I intend to now. I'm astonished it worked out then. It was a clusterf**k of bad design and sticking everything together with deprecated apis and a gum. So I'll have to basically fully rewrite it.
If boss decides we'll take all those at the same time I'll f***ing jump of a bridge.8 -
I fucking hate the Safari browser to death.
This piece of disk space waste is 50% of the reason why I have to spend hours to find out what the fuck is incorrectly displaying or not working on W.I.P. websites.
The other 50% is Edge, IE <=11 and Firefucks.
Just for piss smelling Safari, I need to either run a VM with Crapple OS X for debugging or borrow a Crapbook from $randomPerson.
Is it fucking not possible to compile Safari blowser to run on Linux or Winblows?
Eventhough I'm disgusted about Google and its privacy and data mining policies, Chrome is the most decent browser there is on the whole digital world. It only happens extremely rarely that something is not working/displaying as expected during development.
Most browser developers seem to be useless pubes eaters and like to shower with curd soap.13 -
I would like to rant one more time about my internship.
I began in July, the first. That's my sister who helped me to find this internship and I was a little scared about how bad it could be.
I came at the office, my boss told me that I would work in an "Innovation lab", an apartment where people works on projects that are less corporate than the enterprise's ones.
To me, it was amazing. So I came in this apartment, it was like a dream. I didn't know that I would have such luck to be in this environment : kitchen, sofas, beds, many decorations for all political ideologies, ideas. There was some decorations that were about weed and many cool things for the young guy I am.
The lab's leader told me that it was a very free environment and all the awesome stuff I could use.
Then they showed me where I would work.
We were two interns employed as web developers. We had a complete room for us.
Then we began to work there, and I was presented to my internship tutor.
He gave me some instructions but told me that I had a week before the project begin.
Here began the troubles.
We waited a complete week without having any instructions. Then we began to build something in PHP with our knowledge and the informations someone from the lab gave us.
When finally we had news from the project, two weeks later, we learned that the project would be built with ASP. NET.
Here we go, I learn ASP. NET alone. I have many problems and nobody helps (even if the problem comes from enterprise's API/Framework). I finally make something usable with no help, after I discovered that my mate wasn't developer at all and just took an option for her classes which forced her to get an internship.
She had 3 month left, I had 6.
Then when the project really began, nobody came to verify what I was doing and on a meeting, they said that I was doing nothing.
The boss even became mad on us because he couldn't see what we were doing (we're back end developers).
I asked for help to the developers of the enterprise and someone came, sad to have to help an internship, and learned some tricks but nothing else.
To have a concrete explanation of what DDD was, I had to ask 4 times for help.
Finally I had something that could receive data from the connected hives we are working on and store them into a database in the architecture of the enterprise.
Then, they wanted me to try an API for them. I tried, and it wasn't working at all. So they make me still wait to change my whole architecture when the API will be released.
Recently, I was told that I would never do the front-end of the project (which was an horror because of the fantasm of the lab leader). Then they realized that my late wasn't a programmer. So they asked me to make a prototype for the front-end. I did for a presentation.
Then they didn't tell me the device they would use for the presentation and it was an iPhone 7. Idk why, safari couldn't display what IE can.
They blamed me for having done a bad work. It wasn't my job. I did it to help because they can't find a fucking front-end developer with a little more experience than me.
Actually, I am an alone developer since my mate is gone and the lab leader don't want me to show up because she considers me as a shame.
I asked to be moved back in the office of the enterprise, they agreed and said it was a 2-weeks delay. It's the Thursday of the second week and I have no news. I send mails to my tutor, even SMS, he doesn't answer me. They didn't call me to give me my pay with a week late. And the person who is responsible doesn't answer me neither. I came to see her, but she wasn't available. I'm now alone in a desk, waiting the time to pass.
Fucking this shit.
I'm in France.
EDIT : I forgot to say that I can't use the sofas or bed because I'm allergic to cats and there were 3 cats. Now there is still one and this beast vomits and poos everywhere in the house...7 -
@jenochi this is for you
Due to a recent suggestion by the above-mentioned @jenochi, I though that this deserved to be a rant.
Dropping support for IE will once and for all ease web developers lives and it has got to start somewhere. Who's with us!?7 -
So just babbling my shit down here.
(Tldr : i am a crazy guy who followed my half slept brain, went onto a stage , gave some kind of motivating , stammering talk to a large group of professional strangers, enjoyed that day with a red embarrassed face and just got my first pic of me speaking on stage and that is so awesome !)
Last Saturday i went to a gdg meetup and i embarrassed the hell out of me.
I went there with just 2 hours of sleep from the previous night.
After a few talks there comes a guy who is taking some time to install is setup and the host calls for lightning round session ( ie he asks if anyone from the audience would like to share something about their product or something).
I am a fucking nutt guy. I can explain something to you nicely in a hacky way as long as i have done enough work on that and you speak my native language.
But giving a talk on English stage, hell no! I stammer, mix hindi with English and start speaking werd shit.. And that's what happened.
I don't know what went into me but as some guy went to the stage and talked for 2 mins, i was like yeah i want to do that too. So in next turn when he asked for a show of hands, i raised mine and fucking went to stage!
I forgot that if you go on stage you should have something to talk to . But the moment i was on stage, i was like... "Nope, we will do this differently".
I had been working on a video ads module from the last week which could be easily explained in 2 mins. But i felt like giving a non techy talk instead.
It went something like this: i introduced myself with my experience details ( who gives experience details on stage !?!) Then host said to speak loudly and i went like "Bharat mata ki jai!"( Victory to mother india (wtf!?😆) .
Then started talking about how the developers feel disheartened when searching on internet where the resources are scattered . And the solution i told them was :"don't be disheartened. You will eventually find it (like wow dude wtf, as if they didn't knew that) . Look on the youtube and other resources " and then went full on explaining/marketing about some online tutor who gives advice/consultancy via a subscription based payment ( tbf that guy really helped solve a lot of my doubts, he has written books on Android dev and is the top so answerer for Android).
Then i went on sharing my thoughts live on that fuckin stage ! ( Live because i usually post my thoughts here on devrant before discussing them out with real people, you guys are my safe space) but there i discussed my thoughts on libraries!
I have this believe that Android devs these days are having lesser knowledge of the system because we have all the libraries and templates available to us. But when we have to customize stuff, we need to go deep into docs and source classes and find ourselves in trouble there. So i kind of said this out loud and that we should try to read more the code and implement stuff ourselves instead of using the library 😅🙈)
I was feeling so fucking embarrassing after that all stuff! It was so full of stammering , broken English and worst attempt at motivation. At that time i was regretting this and about to burst cry and run away, but somehow i gathered my self, got my mood back to the event games and talks, later went to the organizers and apologized(and they were very nice and didn't cared about it), and overall enjoyed my weirdest day!
When i came home, my mom gave me a little more confidence about it. Now i think i shouldn't be that much instinctive. Next day i went hack to work and everything got normal.
But Yesterday i found a link to the public repository of the photos. Ohh fuck, someone had took my image! and that was too in full hd!!! 🙈🙈🙈😅😆😆 Oh mann I can't stop looking at that cool stage speaker image, i love it ! I, the shy-est and the most uncool awkward person , present on the stage with a mike, oof , i think i lived my dream !
I hope i could get enough confidence and speaking skills to take a real stage talk next time ( and maybe enough interesting talks and confidence to talk with girls of our office, ¯\_(ツ)_/¯ )5 -
If there was an anime Based on developers.
==Start===
Dev : here comes my favorite browser.
Mouse : No, not until I'm here.
Hand : whattttt? What's happening??
Mind : oh NO!! I why's Internet Explorer is loading?!?
Faster Mind : it's mouse, he's behind all this. Only he's powerful enough to pull off something like this.
Time : Developer-san SAVE me!!
IE : it's too late now, if you do anything it will just slow everything down!!! Hahahah
Dev : No it won't, don't ever underestimate a true developer. It's not over yet!!
*Some keyboard key combination
Time : *screams* developerrr-saaaan!!
Hand : wait, I know it, it's happening. We can still save Time-chan.
IE : WHAT!! No, it can't be!!
Dev : here comes Ctrl+Alt+Del. Be gone....
IE : Nooooooooooooo, this isn't happening, Aaaaaa *dead*
Hand : we did it!!!10 -
Me and my housemate are both web developers, a year ago we worked on a project, to develop a website for a local football team. A couple of weeks after the release of the website, the team secretary messages us to let use know that the slideshow on the homepage isn’t working. Upon asking what browser he was using, we got an eye watering reply saying “Internet Explorer” ... like for real dude... this is is 2016, and your using IE, out of Chrome, Opera, Firefox and even at the very bottom there’s Edge... and you still use IE. 😭😭1
-
Pareto principle for front-end developers. 80% of the development efforts go towards fixing IE bugs, which are only used by 20% of user base.
-
Social media site/app... I think social media is such a saturated market yet everyone seems to think their spin is somehow unique and worthwhile...
Although, not sure if DevRant counts as 'social media' but tbh I see real value in getting developers to form a community, where to profit potential comes from potentially linking developers to recruiters/employers (targeted ads to devs for shit we would want). And devs get a nice platform to socialize and bullshit about things we all experience (ie, the 'community' is real and valuable to us)1 -
If a team uses multiple languages and stacks (Have, JS, Python) do you think it's better to have everyone use/constantly switch between them or have dedicated developers for each language (ie. 80% main, 20% others)?
--END QUESTION, ANSWER NOW BEFOREHAND CONTINUING---
---BEGIN RANT---
My boss likes keeping the team "will rounded" so everyone does everything. One month in working in Java, the next with Node web apps. When I switch to node, it takes like a week of "wtf doesn't it work.... what changed, is it a big?" And usually end it"oh right I remember I need to ..."
And also always... "How the fuck do I write tests in {some reading framework} again?"
So feels like everyone is just a generalist and no one is a master/has time to develop mastery. I don't know if it's just me (1/3 Senior developers on the team that has to do everything) or if I'm the only one that complains... Not that it makes a difference... (Only option to really be heard is to resign but I need to somewhere else to work and finding one is hard for personal reasons)
And well this is the biggest reason I would leave the team. No time for mastery, no standardization/shared knowledge (everyone does their own thing but probably not well and no time for testing or documentation; how the fuck does whatever you wrote work, how do we use it, what the fuck did you put in prod that does ... And where the fuck did you put it cuz it's not in ANY of our repos).
I always feel one day soon it will come crashing down and I can say "I told you so" but will then it's too late and I'll be there one cleaning it up... Again6 -
I would like to summon ask the web related developers to stop supporting IE at once and go back to previous sites and remove all the hacks to make your old sites work with IE so we force all the users to join us here in 20173
-
Why are JavaScript coders called engineers (ie front end engineers, node engineers) but dotnet and Java are called developers?17
-
I am having an introspective moment as a junior dev.
I am working in my 3rd company now and have spent the avg amount of time i would spent in a company ( 1- 1.5 years)
I find myself in similar problems and trajectories:
1. The companies i worked for were startups of various scales : an edtech platform, an insurance company (branch of an mnc) and a b2b analytics company
2. These people hire developers based on domain knowledge and not innovative thinking , and expect them to build anything that the PMs deem as growth/engagement worthy ( For eg, i am bad at those memory time optimising programming/ ds/algo, but i can make any kind of android screen/component, so me and people like me get hired here)
3. These people hire new PMs based on expertise in revenue generation and again , not on the basis of innovative thinking, coz most of the time these folks make tickets to experiment with buttons and text colors to increase engagement/growth
4. The system goes into chaos mode soon since their are so many cross operating teams and the PMs running around trying to boss every dev , qa and designer to add their changes in the app.
5. meanwhile due to multiple different teams working on different aspects, their is no common data center with up to date info of all flows, products and features. the product soon becomes a Frankenstein monster.
6. Thus these companies require more and more devs and QAs which are cogs in the system then innovative thinkers . the cogs in the system will simply come, dimwittingly add whatever feature is needed and goto home.
7. the cogs in system which also start taking the pain of tracking the changes and learning about the product itself becomes "load bearing cogs" : i.e the devs with so much knowledge of the product that they can be helpful in every aspect of feature lifecycle .
8. such devs find themselves in no need for proving themselves , in no need for doing innovative work and are simply promoted based on their domain knowledge and impact.
My question is simply this : are we as a dev just destined to be load bearing cogs?
we are doing the work which ideally a manager should be doing, ie maintaining confluence docs with end to end technical as well as business logic info of every feature/flow.
So is that the only definition of a Software Engineer in a technical product?
then how come innovations happen in companies like meta Microsoft google open ai etc?
if i have to guess as a far observer, i would say their diversity in different fields helps them mix and match stuff and lead to innovative stuff.
For eg, the android os team in google has helped add many innovative things in google cloud product and vice versa.
same is with azure and windows . windows is now optomissed to run in cloud machines when at one point it was just a horrible memory hogging and slow pc OS
for small companies, 1 ideology/product/domain is their hero ideology/product/domain .
an insurance company tries to experiment with stuff related to insurances,health,vehicles,and the best innovations they come up with is "lets give user a discount in premium if they do 5000 steps a day for an year".
edtech would say "lets do live streaming for children apart from static videos"
but Android team at google said , "since ai team is doing so well, lets include ai in various system apps and support device level models" ~ a much larger innovation as 2 domains combined to make a product
The small companies are not aiming to be an innovative product, they are just aiming to be a monopoly product. and this is kinda sad2 -
Persisterising derived values. Often a necessary evil for optimisation or privacy while conflicting with concerns such as auditing.
Password hashing is the common example of a case considered necessary to cover security concerns.
Also often a mistake to store derived values. Some times it can be annoying. Sometimes it can be data loss. Derived values often require careful maintenance otherwise the actual comments in your database for a page is 10 but the stored value for the page record is 9. This becomes very important when dealing with money where eventual consistency might not be enough.
Annoying is when given a and b then c = a + b only b and c are stored so you often have to run things backwards.
Given any processing pipeline such as A -> B -> C with A being original and C final then you technically only need C. This applies to anything.
However, not all steps stay or deflate. Sum of values is an example of deflate. Mapping values is an example of stay. Combining all possible value pairs is inflate, IE, N * N and tends to represent the true termination point for a pipeline as to what can be persisted.
I've quite often seen people exclude original. Some amount of lossy can be alright if it's genuine noise and one way if serving some purpose.
If A is O(N) and C reduces to O(1) then it can seem to make sense to store only C until someone also wants B -> D as well. Technically speaking A is all you ever need to persist to cater to all dependencies.
I've seen every kind of mess with processing chains. People persisting the inflations while still being lossy. Giant chains linear chains where instead items should rely on a common ancestor. Things being applied to only be unapplied. Yes ABCBDBEBCF etc then truncating A happens.
Extreme care needs to be taken with data and future proofing. Excess data you can remove. Missing code can be added. Data however once its gone its gone and your bug is forever.
This doesn't seem to enter the minds of many developers who don't reconcile their execution or processing graphs with entry points, exist points, edge direction, size, persistence, etc.2 -
#Suphle Rant 6: Deptrac, phparkitect
This entry isn't necessarily a rant but a tale of victory. I'm no more as sad as I used to be. I don't work as hard as I used to, so lesser challenges to frustrate my life. On top of that, I'm not bitter about the pace of progress. I'm at a state of contentment regarding Suphle's release
An opportunity to gain publicity presented itself last month when cfp for a php event was announced last month. I submitted and reviewed a post introducing suphle to the community. In the post, I assured readers that I won't be changing anything soon ie the apis are cast in stone. Then php 7.4 officially "went out of circulation". It hit me that even though the code supports php 8 on paper, it's kind of a red herring that decorators don't use php 8 attributes. So I doubled down, suspending documentation.
The container won't support union and intersection types cuz I dislike the ambiguity. Enums can't be hydrated. So I refactored implementation and usages of decorators from interfaces to native attributes. Tried automating typing for all class properties but psalm is using docblocks instead of native typing. So I disabled it and am doing it by hand whenever something takes me to an unfixed class (difficulty: 1). But the good news is, we are php 8 compliant as anybody can ask for!
I decided to ride that wave and implement other things that have been bothering me:
1) 2 commands for automating project setup for collaborators and user facing developers (CHECK)
2) transferring some operations from runtime to compile/build TIME (CHECK)
3) re-attempt implementing container scopes
I tried automating Deptrac usage ie adding the newly created module to the list of regulated architectural layers but their config is in yaml, so I moved to phparkitect which uses php to set the rules. I still can't find a library for programmatically updating php filed/classes but this is more dynamic for me than yaml. I set out to implement their library, turns out the entire logic is dumped into the command class, so I can neither control it without the cli or automate tests to it. I take the command apart, connect it to suphle and run. Guess what, it detects class parents as violations to the rule. Wtflyingfuck?!
As if that's not bad enough, roadrunner (that old biatch!) server setup doesn't fail if an initialization script fails. If initialization script is moved to the application code itself, server setup crumbles and takes the your initialization stuff down with it. I ping the maintainer, rustacian (god bless his soul), who informs me point blank that what I'm trying to do is not possible. Fuck it. I have to write a wrapper command for sequentially starting the server (or not starting if initialization operations don't all succeed).
Legitimate case to reinvent the wheel. I restored my deleted decorators that did dependency sanitation for me at runtime. The remaining piece of the puzzle was a recursive film iterator to feed the decorators. I checked my file system reader for clues on how to implement one and boom! The one I'd written for two other features was compatible. All I had to do was refactor decorators into dependency rules, give them fancy interfaces for customising and filtering what classes each rule should actually evaluate. In a night's work (if you're discrediting how long writing the original sanitization decorators and directory iterator), I coupled the Deptrac/phparkitect library of my dreams. This is one of the those few times I feel like a supreme deity
Hope I can eat better and get some sleep. This meme is me after getting bounced by those three library rejections