AboutWebdev with focus on front-end.
Joined devRant on 2/12/2018
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple APILearn More
'Cuz every time we merge, I get this feelin'.
And every time we merge, I swear I could diff.
Can't you see my merge conflict, wanna force push commits,
in the remote history of Git
So recently a 0-day exploit was discovered in WP plugin Kaswara Modern WP Bakery Page (https://zdnet.com/article/...).
A customer's shared hosting space was taken down (about 6 websites) after this vulnerability had been exploited and although we removed the malicious code, & changed credentials the hosting company demands we update ALL Wordpress plugins to latest AND provide them a virus scan report of our local PC before putting the webspace back online??? WTF???
That just strikes me as outrageous. Thoughts?12
Was in awe for the democratic potential of the worldwide web, and wanted to help realizing it. I was blind to its corporate potential back then.
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
How awesome is that! NASA's Mars rover software is available on Github: https://github.com/nasa-jpl/.... Also impressive: Github uses WebGL to render 3D previews of STL files! https://github.com/nasa-jpl/....
21st century, baby!6
I miss greeting ppl with a firm handshake or cheek brush & kiss sound. The half-hearted elbow touch just doesn't feel remotely as nice.5
* Publish blog update that's been sitting idle locally since months
* Donate 50$ to open-source initiatives (favs are VLC, Linux Mint)
* Contribute meaningfully to relaunch metalsmith static site generator dev
* side projects (TBD)
Can we say that "a basic website is a type of app that serves documents", implying a website is more specific than an app, and the most common type of data served is in the form of a document (html, pdf, json, xml).
I'm trying to see how this argument does for/against flat-file cms'es in specific/ general cases per type of app/ website.1
With unlimited time I would come up with needlessly complex solutions with fancy names that do not address the needs of the developers I could no longer identify myself with, open-source it and create stunning promo and marketing pitches then get sponsored by Facebook.
Ah wait someone already got there
- Fuck mobile apps that open links in embedded browser windows
- Fuck Wordpress page builders that use the single content field as an embedded IDrag&DropE.
- Fuck unindented HTML markup
- Fuck plugins with "pro" versions that provide more than 50% of the advertised features.
- Fuck building an app with a SPA framework and then adding SSR cuz ur SEO is fucked.
Vent your frustrations9
This will be my last project ever with WordPress. Seems like they added a site "customizer" (wysiwyg) which looks fancy and all, but after a few minutes configuring options the customizer starts lagging, fan starts getting louder, CPU & RAM go up so I do some profiling on that page:
Full layout repaints on every mousemove event, mem usage starts at 125MB and goes up up up to even 200MB while staying idle.. wtf? How did this even get shipped?2
Why, just why do 4k devs find this a good idea https://github.com/sindresorhus/.....
Don't get me wrong I respect this oss dev a lot, I just think readme's should be boring with the least distraction possible.20
- "Hi A, we had a bug in production due to a changed category ID which we were not informed of."
- "Oh but my API just proxies the content from team B."
- "Hi B, we had a bug in production due to a changed category ID."
- "Ah, I have nothing to do with category IDs, you should talk to my colleague C."
- "Hi C, we had a bug in production due to a changed category ID."
- "I wish I knew anything about that, you should contact person D!"
- "Hi D, we had a bug in production due to a changed category ID."
- *changes status to "Absent" on IM*
In the mix for today: 5 devs testing MS Teams collaborative drawing for a GaphQL API project structure, with Halloween and coronavirus in mind
Being a developer allows you to enjoy using most of the creative skills artists also put to use (writing structured prose, design, semantics, ergonomics, ethics), while adding logic, job safety, and a decent paycheck to the mix.
Also: puts you in a good position to readily take advantage of new digital goodies (eg bitcoin), and to understand the gem that is developer humor
KISS, DRY, Path of Least Resistance, Three Strikes and You Refactor, early returns, no array.map when nothing is returned, only use switch when # cases >= 3.
No support here. I was doing Communication Studies but spent most of my spare time learning webdev. My parents repeatedly berated me for messing around with it: "You should focus on your studies". Proving them wrong turned out to be THE most powerful drive.
3 years later I nudged my brother in the same direction when he wasn't sure what he wanted to do for a living (with parents' approval).
The final hour of mental torture among many of finding a complex solution to an otherwise simple problem in a React/Typescript project:5
Metalsmith is an older but still awesome NodeJS static site generator. Due to metalsmith's original founding company not having done a complete open-source ownership transfer however, active development has stalled for years.
I am super-happy to have been accepted as a member of the Github metalsmith org today in the role of maintainer. Hope I can help bring it back on track. If you're curious please npm i metalsmith and head over to the newly created Gitter chat to share your input: https://gitter.im/metalsmith/... !2
When I was 12 I created my own LEGO manuals and monopoly boardgame variants.
When I was 14 and into gaming I had fun playing with a Q3 level editor for Wolfenstein (GtkRadiant), and drew boardgame maps.
When I was 16 I translated the game battledawn.com to French for in-game currency in return.
When I was 18 I fiddled with texture packs for Minecraft and got interested in Total War mods.
When I was 20 I met a student who studied webdev & design. I was so excited about basic HTML, CSS and later JS and PHP, that I read and learnt some every evening (and even failed an exam because I was learning PHP until 5AM)
I always wanted to use my skills to create something of use to others. Open-source is the perfect avenue for that and is also what enabled me to get here in the first place. And though I m've been professionally employed as dev since 2015, only the last 2 yrs I finally consider myself skilled enough to give back something of quality :)2
So they develop this app. That uses our front end component library. That queries a GraphQL layer developed as NPM package. That uses a data service abstraction NPM package. That uses another NPM package mapper library. That queries an old REST API returning XML.
It takes days to make a newly added XML node in the bottom-most layer available in the app, requiring changes to 4 repositories and 3 NPM releases.
Refactoring is dead, because 1 change will affect all layers. And the worst part is: theres only 1 app using these packages, so no case for re-use. Overzealous separation of concerns I guess?2
What a consultant's gotta do for his timesheet when homeworking:
1. Fill in Excel, send to self by mail (corporate bitlocker protected PC on proxy that doesnt allow local printer connections)
2. Go upstairs to secondary Windows PC (no Excel on main Linux laptop) and open mail
3. Send to printer, wait 10 minutes (old printer needs to 'warm up')
4. Sign timesheet and go back upstairs
5. Scan signed version, send mail to self.
6. Open personal mail on corporate laptop, send to manager. (can't send directly from personal mail)
7. Wait to get back signed timesheet from manager
8. Finally, send to own admin dept.
2 story points completed, time for a break.1
Say what you will but React JS development is utterly exhausting. Every React project is a totally new stack and there is no consensus in the ecosystem.That is how I feel after having worked on 5 big SPA React JS projects over the course of 5 years.
The structure of these projects was all but similar: most used HOC's, some render props, functions-as-a-child, hooks or rather component lifecycles, some used container-components, some Redux, others sprinkled business logic & state all over, and yet others use a mix of server-side rendering and "hydration"...
I dangerouslySetInnerHTML on LazyExoticComponents, and dared not useEffect on the DO_NOT_TOUCH_OR_YOU_WILL_BE_FIRED root property. Hooks embrace functions, but without sacrificing the practical spirit of React, you see.
I didn't make this up. It's verbatim from the code and the docs.
This is not web development, this is at best a tedious fantasy multiplayer game or at worst, a costly joke.6
TIL Github renders markdown YAML frontmatter as nested markdown tables! Awesome as lightweight structured data documentation tool2
Me: "do you know about .exe files?"
Girlfriend: "yeah, like '.exe stopped working'"
*Windows exe immediately associated with bugs by common user*11
The pandemic aside, even the type of absurd news messages in the Plague Inc mobile game have become reality.
- "President berates reporters for asking 'tough questions' "
- "Corona beer stocks dive as result of coincidentally unfortunate brand name"
- "Man intentionally transmits illness by spitting on police officer."5
Except COVID-19, Airport security is also scanning preflight requests and incoming traffic for CORS with its dated test kit (found this unused gem in an old PHP codebase):