I do a lot of custom JS widget development, games, and utilities that are outside the context of a gigantic framework like React. Not everything is a a full-page SPA. Vanilla JS is indeed better than it was, but I found myself writing small JQ-like libraries and utilities to do tedious or even basic DOM manipulation, so I switched back to JQ and saved myself a lot of time and headaches. Compressed, minified JQ is also pretty small and is negligible in space consumption.
JQ is also used in frameworks like Bootstrap (although I think they’re trying to drop third-party dependencies like this since they tend to cause conflicts).
I have also used JQ in an Angular app where complex on-the-fly DOM manipulation just isn’t practical with standard tooling.
I spent half a year designing and creating 200+ icons for a custom geospatial mapping app. I really enjoyed the work but it was grueling and tedious, especially the design part. Too many people had too many different opinions on which symbols meant what, which styles clearly conveyed ideas without being too detailed, and many other things that kept wasting my time and causing a lot of rework and inconsistencies. It was literally just me doing the work, so I stopped trying to get consensus and took a few weeks to redesign the entire set and even used color science to inform my design decisions. I created the entire set without external input, then presented it. Sure there was some tweaking here and there, but I believe it turned about to be great and no one really complained in the end. The most important part was that end-users were happy. I used Inkscape and developed a set of scripts to automate the build and had everything in a very organized Git repo.
Consistency sells but is really hard to ensure in time bounded series of narrow discussions with changing participants. But this must not discount the value of the preceding often frustrating search for understanding the requirements and prototyping. Throwing away the prototype while all the lessons are still in the head can yield great design.
In feedback solicitation situations with multiple stakeholders, it's important to attach cost to suggestions. Consulted without being responsible is always a dangerous offering.
Not in the sense of "This is how long that will take me" (because who cares about someone else's time?), but in "Of the 3 things you requested, which 1 is your must-have?"
Often this is approximated via design/dev team pushback, but it's easier just to be explicit about it: i.e. everyone gets X change request tokens.
This is why, when you've got a bunch of geeks deciding on where to go for dinner, someone has to say "We're going to the Jewel of India" and herd everyone out that way. If you don't do that then it'll be 11pm and people are still pulling up restaurant reviews and arguing over whether the one that got 4.3 stars really is better than the one that got 4.2 stars.
This is also the difference between a supremely dysfunctional and an OK-ish standards committee, the classic Home of Bikeshedding.
You can't say "no" to a restaurant without voting "yes" to an alternative. The first restaurant to a majority wins. Is it a perfect system? No. Do I get to eat in a reasonable amount of time: yes.
That's just like hiring McKinsey et al - the true value isn't the advice itself, it's probably been written down by some poor intern working 80 hours a week yet billed to the client as "director" time, the true value of why these consultants still get hired despite their truly abysmal track record is that management can use that "external advice" to cut through red tape and plow over internal resistance.
LLMs however... they give part of this power to lower levels as well. After all, what is an LLM other than the condensed knowledge of humanity? (Partially /s)
This was about 8 years ago and I am not sure I ever retained a local copy of the repo. If I find it, I’ll resurrect it in a public Github repo unless there’s some NDA/IP issue.
Apple has the benefit of massive cash-flow and, as a result, hiring many competent designers who draw and create to a specification. The specification could be created by another team of senior designers that are paid handsomely to deal with the gruelling task of defining a corporate identity.
This is similar to how major feature cartoons, which typically require variations of an image to be drawn over and over again, are typically animated by more than one person.
I.e. Apple has the money. They can do better than having one extremely hand-cramped illustrator crank out silhouette-style icons.
This is one of the many reasons I do my own projects. I do value the opinion of people without knowledge and experience, but I don’t want to feel obligated to make them feel I did what they wanted.
I am partial to the relevant icons in FontAwesome and these days the Bootstrap icons. I think the silhouette of a generic, androgynous portrait universally gets the idea across nicely.
I definitely needed the initial input from the stakeholders as to what they wanted and why, but it turned into pointless bickering about colors and many disagreements about symbol meanings - for example should a dropped pin have a shadow? Should it be pin or a baloon-like thingy? Should it lean left or right? How does one represent a “duty station” when there is no previous iconography or other kind of standard around this? It also led to a lot of design-by-committee meetings where well-intentioned people suggested good ideas but things were always left at some ambiguous action item that never had any follow through. This took months and I kept re-rendering the icon set (which were all multi-layer SVGs) and then pasting the PNG renderings into a Word doc because that’s how they wanted to review them.
What this did teach me was to create very efficient workflows. I had all the Inkscape keystrokes memorized and found out they had an API that allowed me to create some level of automation (things like batch conversations IIRC). I kept certain symbols as separate base/template images so I could quickly swap things in and out. I had separate color files with swatches of various color themes, all in hexadecimal. Since I was and am fundamentally a software engineer, I used those engineering processes and principles to make it more like a typical software project than just a collection of images.
Completely agree! Aero was stunningly beautiful, and even the flatter Fluent Design version in Windows 10 was great, but not so much how it was applied in 11.
I tried switching to Zed, and was even able to get it use identical themes and key mappings as my preferred ones in VSC, but ultimately I switched back due to lack of plugins that I’ve really come to depend on, not to mention some key feature differences. I didn’t notice that much of a performance boost over VSC (given that I was on an M4 with 32GB of memory), so in the end, the switch wasn’t worth it. I really want to like Zed, so I will be sure to occasionally check out any new releases. By the way, I did indeed notice that Zed was a heck of a lot faster than VSC on an old Intel-based MBP!
I don’t really like pre-commit hooks, but I do think that git-secrets is a very useful one since once a secret is in the commit history, it’s a hassle (though not impossible) to remove it. All other issues can and should be caught early as an optionally blocking step in a CI/CD pipeline build.
A polygraph is just an intimidation tool. I have family who worked for 3-letter agencies who “failed” polygraphs, only to have them retaken a day later and “pass”. The polygraph examiners are pretty darn good at intimidating subjects, which understandably affects their vitals, causing false positives left and right. Heck, I have a 30-40 mmHg higher blood pressure reading in any doctor’s office than I do at home due to white coat syndrome. I can’t imagine how being interrogated would for something I didn’t do would affect me.
It’s always nice to see native implementations of functionality pioneered by third-party libraries. Bootstrap, for example, has made this kind layout (somewhat) possible but there is also a Masonry plugin that simplifies it.
I do know from my experience with test automation that you can absolutely view a site as human eyes would, essentially ignoring all non-visible elements, and in fact Selenium running with Chrome driver does exactly this. Wouldn’t AI scrapers use similar methods?
I love this because it demystifies the inner-workings of AI. At its most atomic level, it’s really all just conditional statements and branching logic.
JQ is also used in frameworks like Bootstrap (although I think they’re trying to drop third-party dependencies like this since they tend to cause conflicts).
I have also used JQ in an Angular app where complex on-the-fly DOM manipulation just isn’t practical with standard tooling.
reply