Weekly Web Harvest for 2022-04-17

Atomic Agents Spatial Agent-based Modeling in JavaScript Matplotlib — Visualization with Python Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Matplotlib makes easy things easy and hard things possible. Inside the pandemic’s PPE supply chain nightmare On a whim, he went to Brazil and started importing illegal CBD for kids with epilepsy and other conditions. Now he was doing more than just making money. “It was the first time in my life where I had someone thank me for doing something — genuinely, honestly thank me for improving their lives,” he recalled. It felt good. And it paid well. A few years later, he came back to the states and started training dogs. Lexical Web scraping is legal, US appeals court reaffirms | TechCrunch In its second ruling on Monday, the Ninth Circuit reaffirmed its original decision and found that scraping data that is publicly accessible on the internet is not a violation of the Computer Fraud and Abuse Act, or CFAA, which governs what constitutes computer hacking under U.S. law. Chipotle Metaverse Visit Was Confusing and Unsatisfying Someone please make the Venn diagram comparing this to Second Life’s stupid mistakes. The Expanding Job – by Anne Helen Petersen – Culture Study “Employees struggle to adequately perform work that, if someone were to look […]


Same content, different navigation

In this imperfect world, I often get involved in project after decisions have been made and content has been created. This is one of those scenarios. What we have is an online textbook. It has a sidebar menu for each section and at the bottom of each page are buttons for the previous/next page. Pretty straight forward so far. The issue that’s come up is that  some of the pages will be reused in different sections. Naturally we don’t want to duplicate content. How can we deal with the previous/next buttons in a way that contextual aware of the unit they’re part of at the time? Strike One As I thought about it, I had a temporarily great idea! We have the URLs needed for the previous/next buttons in the existing sidebar menu and, since that sidebar menu differs in each unit, we don’t need to do any magic. We just have to know what page we’re on and what URLs are on either side of that URL in the sidebar menu. I built that out and started to write this post congratulating myself on my cleverness . . . but as I wrote it I realized this would not work at all. The menu is associated with the page and can only have one association in this scenario. Ah […]


Weekly Web Harvest for 2022-04-10

KB Medieval MEME generator Little tools like this that make exploring primary source material fun seem like easy and plentiful paths to get people interested. ‘There Are So Many Issues’: Why Schools Are Struggling to Protect Student Data In the New York City breach, a hacker gained access to student names, birthdates, and data on such characteristics as special education, English-language learner, and free or reduced-price meal status on platforms operated by Illuminate Education, according to news reports. The vendor did not collect students’ Social Security numbers or family income information, the reports noted. Officials with the New York City Department of Education told local news outlets that Illuminate Education had failed to encrypt data on its classroom management, scheduling, and pupil data platforms as required by the contract between the company and the school system.


Weekly Web Harvest for 2022-04-03

How to Query WordPress Multisite by ACF Option Values – I Like Kill Nerds An option that could be integrated into a large multisite. I would like to be paid like a plumber – by Shaun Usher I like to leave room for accidents or chaos. Making a seamless record, where every note and syllable is in place and every bass drum is identical, is no trick. Any idiot with the patience and the budget to allow such foolishness can do it. I prefer to work on records that aspire to greater things, like originality, personality and enthusiasm.


Weekly Web Harvest for 2022-03-27

dalibali on Twitter: “Robot enforcing Shanghai lockdown. https://t.co/VvAOcI8h5q” / Twitter For your next dystopian novel/film John Reed Stark on Twitter: “A glorified append-only spreadsheet is not the panacea for economic inequality, financial empowerment, social justice and any other current or future societal ill.” / Twitter A glorified append-only spreadsheet is not the panacea for economic inequality, financial empowerment, social justice and any other current or future societal ill. Per Byhring on Twitter: “?? I’m working on a morse themed arcade style rhythm game #gamedev #morse https://t.co/VIW8uoa5CT” / Twitter h/t Jeff E. Making the world’s fastest website, and other mistakes – DEV Community Some sort of higher-level goal ? Be so fast it’s fun on the worst devices and networks our customers use. Target device: bestselling phone at a local Kroger Hot Pepper’s Poblano VLE5 $35 ($15 on sale) Specs: 1 GB RAM, 8 GB total disk storage, and a 1.1 GHz processor. Target connection: “slow 3G” 400kbps bandwidth 400ms round-trip time latency At the time, what Google urged to test on and what WebPageTest’s “easy” configuration & Lighthouse used


Gravity Forms, Open Street Map API, and Leaflet JS

I’m sketching this one out because it’s a fun mix of things. I’m going to use Gravity Forms to accept submissions, the Open Street Map API will convert the address into latitude/longitude, and then we’ll display the data on a Leaflet JS map. I could have done it all in Google but I was irritated by their credit card requirement. Gravity Forms I built a pretty typical form in Gravity Forms to collect some information. I used the standard address field and removed the more detailed street address pieces. That preserved privacy and made the searches more likely to work. Getting the Lat/Long from Open Street Map API What I needed to do then was pass the address variables to the Open Street Map API to get lat/long coordinates. Since I was creating a post via Gravity Forms, I could use the gform_after_submission hook to use the form information to add info to the post we just made. The function below is a bit long but it’s not fancy. It is called right after the form gets submitted. Section 1 (see code comments) gets any/all of the address information from the form and formats it in the way that the API wants. I push it into an array because using PHP’s implode function is easier than checking for the field, […]