I was reading through the comments waiting for this. It's just one of the local news sites / papers for the area, it's quite terrible in many ways really. I was very surprised to see it on HN this morning.
Try installing a pi-hole in your home network. I set one up more for curiosity than anything else, but an unexpected side effect was that these local news websites, which were previously completely unusable on mobile, suddenly became just about tolerable again.
I've never been sure of the use case of hashids. They're not really a security measure since they can be easily defeated; you might as well just expose the sequential ID at that point. If you do need something with better properties, you should probably be using UUIDv6.
If an attacker can generate sequential hashids, they can decipher the alphabet order that hashids use without needing to know the seed, and then use the seed to invert other hashids.
I wrote a library that generates short IDs with the goal of making the similarity between two codes have nothing to do with sequence order.
I'm also starting to learn elixir/phoenix liveview and seeing shlinkedin's code is a great help for figuring out how you've done certain things, thanks!
It surprises me how much more popular F# is in Europe compared to the US. I finally got a professional F# gig in the states (\o/), but there were very few options. It makes me wonder, are universities in Europe providing a more functional-first approach to CS education, or is something else going on?
Never seen a job ad on anything sharp other than C# in Europe.
There are occasionally LISP and Clojure jobs from what I can tell.
(It's also hard to find people on the talent side. I needed a Haskell developer with NLP skills in 2005, and could not find one so we had to port our codebase to Java.)
It's anecdotal, but on the F# Software Foundation's slack workspace[1], 4 out of the last 5 postings in the #jobs channel were in Europe.
No doubt, any company that picks a niche programming language as their business's lingua franca is taking a risk. For me, though, that is an indicator that they care about quality and do not have a culture of treating engineers as replaceable assembly line parts.
I would expect it's roughly the same answers, just varying in the specifics:
* those which don't offer a _reasonable_ API, or (I would guess a larger subset) those which don't expose all the same information over their API
* those things which one wishes to preserve (yes, I'm aware that submitting them to the Internet Archive might achieve that goal)
* and then the subset of projects where it's just a fun challenge or the ubiquitous $other
As an example answer to your question, some sites are even offering bounties for scraped data, so one could scratch a technical itch and help data science at the same time:
I have a side-project where I display the schedule of the day of 100+ French radios, like you would for TV channels.
Scraping works great to get the data.
I don't like node/js but I use it to do the scraping as I view the code as trash and full of edge cases and unreliable data / types and I can't complain, a dynamic scripting language is great for that.
It tells you who is your governor, local/federal representative, senator and municipal president.
Each representative lives on a different website so I wrote scrappers for each one.
Scraping saved untold lives this past spring when large healthcare providers (i.e. Walgreens & CVS) opted to hide their vaccination appointments behind redundant survey questions. This made it more difficult to quickly ascertain when an appointment slot would become available. The elderly were less likely to look more than once a day, delaying vaccines for those that needed it the most.
GoodRX built a scraping system that tapped into all the major providers. Thats what a group of vaccine hunters in my state used to get appointments for folks that had tried but were unable to.
Building a side project using python scrapy to scrape podcast shows. I use it to search by title/description etc to find interesting podcasts. Also as a way to learn different tools and frameworks.