more weather




Children who could be seen and not heard have been replaced by those who can be heard even when they're out of sight.
more quotes

Site Update

News Enhancements
Aug 30, 2023, 12:10 am
The News System had a significant rewrite on the backend. It looks identical. The technical change was a shift from using PHP to craft an individualized page to having it send a news dump. By reducing the complexity of the PHP code, the page is created faster. Javascript replaces the PHP for drawing the News section. The weather section starts loading sooner. Total page load is about 0.2 seconds faster. May not seem like much: it's 30% faster.
This was the last cookie code on the site. Removing cookies reduces traffic to the server and eliminates a legacy technology. The database schema was flattened as there is no need for the linked tables; reducing load and increasing performance. Feed selection and searching is now processed locally. These features do not talk to the server, making the actions nearly instant. There's a cost for this, but it is minor.

The full news feed creates a larger initial page load. The total page load is 90 KB larger. On a 100 mb/s internet connection, that adds less than 0.01 seconds.
More Weather
Jan 30, 2023, 2:42 pm
I've created a dedicated weather page. The original weather widget that I built was constrained to fit in the space I allocated on my homepage. By having a dedicated page, I have more options for what to display and how to display it.

To start, I have split the graphs into a "tower" of graphs. One view to show temperature, precipitation, cloud cover, wind speed, humidity, pressure, visibility, UV index, and snow (if it's in the forecast) simultaneously. This uses the same data feed as the weather on the main page, which is cached. Performance should be very good.

Next up, what data do I have that is not being displayed? Are there opportunities to optimize the look and overall performance?
Redis and Caching
Nov 11, 2022, 12:08 pm
Redis is an in-memory data structure store, used as a distributed, in-memory key–value database, cache and message broker, with optional durability. What does it mean? By using Redis to hold dynamic values in memory that are typically held in a database or file, the website can access those values faster. Faster access means faster web page delivery.

Redis has been enabled for login (session) caching, which is processed on every page load. The Gallery has a newly implemented caching engine (file-based), speeding it up (and reducing server load).

Over the past year, there have been updates for many of the components and systems running this site. The Zend Optimizer memory allocations have been sized appropriately... ensuring most of the code execution is cached. My custom code has been optimized. By reducing unnecessary code, adjusting execution timing, and simplifying overly complicated code, I have been able to gain even more performance out of the site.