41 karma · joined September 10, 2019
Or, can you explain further? I'm not clear, for example, what you mean by "technical code."
And when you mention "the glue" are you talking mainly about APIs and protocols of all sorts (defined loosely)? This is where the edges of systems coincide and intended side effects reside.
I don't have high expectations for the care invested in the code.
The bigger problem isn't being pwned in an embarrassing way like this. It's all the successful hacks into government systems which never get spotted or are never discussed at a level where they are likely to motivate positive change.
Google represented a huge step up in search result quality generally. But in recent years, the quality has really slid – even while tuning results using more advanced Google features.
I don't think Google cares much about search result quality these days, except insofar as they have to keep a minimum threshold just to drive their ad and analytics revenue.
There is a lot of opportunity for other search engines to make strides forward in quality relative to Google these days.
I was a founding member of a social enterprise startup which ended up in a position very similar to that.
In our case, we were lucky that we had two options to sell: (A) to an investor who wanted to pervert our mission, vision, and values for profit; or, (B) to a nonprofit who didn't have the money to give us more than a single paycheck or two worth of payoff for our equity.
If we had sold to Option A, a dozen of us would be wealthy right now. But the company we built would have been perverted into something unrecognizable.
In our case, to our founder's credit, we sold to Option B to keep the dream alive, but none of us became wealthy... and the nonprofit just shut down the company we founded only 2 years after the purchase (partly because the nonprofit didn't have the business savvy to make it sustainable). _Everyone_ was just laid off.
That means, our noble sacrifice only extended the lifetime of our noble vision by 2 years, and we're certainly feeling less good about it.
Because the alternative would have meant that a bunch of us bleeding hearts would have the economic freedom right now to do all sorts of good for untold decades to come.
So I'm just saying, sometimes you don't get to have good options and everything sucks, no matter how well-intentioned you are.
More of a DOS-origin set of hotkeys than GNU. So more familiar to some and less familiar to others.
It supports mouse interaction out-of-the-box, which is a big plus for some folks who haven't spent much time in keyboard navigation. The escape hatch is a nice option for some tasks, even for keyboard navigation pros.
And for that purpose, it's still the best option.
You get this very nice linear execution birds' eye view which tends to be readable. Combine that with hoisting and you start with this big picture at the top of a file, and then can dig deeper into the smaller functions as needed, written in lexical order lower in the file.
Here is a very trivial JS example from a kata:
```js function main (numbers) { return Array .from(numbers) .sort(byGreatest) .slice(0, 2) .reduce(toSum) } ```
This is much more regularly written in languages with a pipeline operator, like Elixir, because you can pipe to arbitrary functions and operators (instead of being restricted to a method chain).
(JS/TS will get there eventually, if the TC39 committee can ever finally commit to the proposal.)
Anecdotally, even as a kid, I found Skittles to be unpleasantly sweet. To this day, I avoid most sweet soda drinks and seldom drink even those I can tolerate.
It is not discipline for me. It is not even taste. It is tolerance.
And the PDF feature support landscape may have changed in the last year, since it was Q1 of last year (2022), I believe, when I last checked the in-browser PDF viewers in Google Drive, OneDrive, HubSpot, and Chrome for macOS and Windows. I suppose it might have been longer since I did the actual comparative testing.
Notably, you _can't_ use PDF printers to accomplish this. PDF printers reduce the document to only visual data, losing interactive features.
I know Word isn't part of your solution but maybe this distinction between saving the document as a PDF vs. running the document through a printer driver will be useful to bear in mind in your case.
But I also suspect that you might have succeeded in the past unknowingly. This is because many, _many_ PDF viewers do not support internal jump links. This is apparently too "advanced" a feature for most in-browser viewers, for example, including the built-ins.
If you aren't already doing it, always test whether features are working in Adobe Reader before checking with viewers which may have reduced featuresets.
I was told that we needed it (a computer requirements document) in PDF for legal reasons. I pushed back and legal confirmed that they did, in fact, need it to be in PDF format.
I suspect it had something to do with accreditation, accessibility, and/or student aid policy compliance, since this was a school.
But legal may also have found the relative transience of HTML documents to be a liability if a student threatened suit based on frequently changing policies, because I updated the requirements document twice yearly. PDFs made versioning very straightforward from a legal perspective, because the filename and download link always "needed" to be different between versions, without requiring dev work.
This severely limits valid use-cases because users have become acclimatized to relying on in-browser viewers embedded in a web app (e.g. that of Google Drive, OneDrive, Dropbox, HubSpot, etc.) or built into the browser itself. These almost always are highly minimalistic implementations.
For example, in a previous company, we wanted to provide our clients with a PDF guide which had in-document jump links (which, in the world of HTML, would be called "URI fragment links") and also a functional table-of-contents in the form of PDF "bookmarks."
But I ran into two major blockers:
First, Microsoft Word is almost the only non-Adobe product which is capable of producing such PDFs, and only when _saving_ as a PDF, not when _printing_ as a PDF (which reduces the document to little more than would be printed on a page).
Second, the only in-browser PDF viewer I could find which supports these features was, somewhat surprisingly, the one which is provided in WordPress. It supports both.
A similar story played out among mobile and desktop PDF viewers which weren't Adobe.
So for our beautiful, accessibility-compliant, featureful PDF, we had to provide very strict instructions on how to view it properly. When provided for viewing online, it _had_ to be hosted in a WordPress instance. And when offered for download, it _had_ to be accompanied by loud instructions explaining the situation and requiring users to install the free Adobe Reader.
You likely dodged a bullet by avoiding the use of any advanced PDF feature.
The opening paren is simply relocated to the other side of the function name or keyword.
What we're experiencing is just a cognitive bias which causes us to prefer the more familiar over the less familiar ([the mere-exposure effect, also called the familiarity principle](https://en.wikipedia.org/wiki/Mere-exposure_effect)).
I've never used a Lisp-family language, but I find the reaction against parentheses to be overblown.
The reading order of the code is also _consistent,_ rather than the frequent switching between infix notation, prefix notation, and postfix notation which we have to learn and parse in most languages outside the Lisp family. This is a benefit which deceptively looks like it is _more_ complicated, despite being simpler to parse visually (and otherwise). Another example of the familiarity principle at work.
> Normal purposeful speech makes different opinions closer, while speech under the feedback of the like button makes similar opinions even closer and different opinions further apart.
But there is another aspect to the complexities here.
Years ago, I started thinking of the LIKE/UPVOTE button as an "increase visibility" button.
I don't upvote just because I like it (humor perhaps being an exception).
Often, I'm not upvoting just the comments I like: I'm upvoting the whole containing _thread_, including the conflicting views if they seem to have been made in good faith.
Because when good quality discourse takes place, I want the whole instance to be seen.
In these cases, the intended audience of my upvotes is most immediately the algorithm (in a way), rather than human viewers.
Sometimes I've found myself wishing my upvotes could be made invisible to humans since I know many of them will interpret my upvote differently than intended. There is no nuance.
It gets me wondering how feedback mechanisms might be diversified to add nuance back into these systems (while still moderating complexity).
Emoticons (as on Slack) do add nuance, but every emoticon pack I've seen lacks nuance most in neutral and critical responses.
Of course, no technology we have now can compare with verbal discourse for nuance. But you and I are more likely to be able to influence feedback features on social media than to succeed in eliminating them.
No, operating system, thou shalt not be permitted to seek and run executable code automatically on every connected storage media. I thankest thou most assuredly.
There are reading strategies which we can employ to engage the brain quite effectively.
Plus, writing is immediately replayable. Some would rather abuse this than rely on a more holistic reading strategy, but that doesn't discount the value of having a concrete, immediately-accessible, and yet persistent record of the communication.
So if a full hostname or IP counts as PII, then a _partial_ hostname or IP also counts.