Read more of this story at Slashdot.
Read more of this story at Slashdot.
In this episode, Andy welcomes Dr. John La Puma, a board-certified internal medicine physician, professionally trained chef, regenerative organic farmer, and two-time New York Times bestselling author of The Indoor Epidemic.
Did you know most of us spend about 93% of our lives indoors? Dr. John makes the case, backed by more than 2,200 studies, that where we spend our time may matter just as much as the soft skills and productivity systems we so often focus on. In this conversation, Andy and Dr. John dig into what he calls digital obesity and analog wellness, the science of morning sunlight and circadian rhythm, why looking at the horizon for just one minute per hour can improve focus and eye health, and what forest bathing actually does to your immune system. They also explore loneliness as a health crisis, the social dimension of outdoor time, and practical ways to build a 17-minute daily nature habit that doesn't require moving to Santa Barbara.
If you're looking for science-backed ways to boost your energy, focus, and long-term wellbeing, this episode is for you!
You can learn more about Dr. John and his work at drjohnlapuma.com.
For more learning on this topic, check out:
You can chat directly with PMeLa—the podcast's AI persona—to get episode recommendations and answers to your project management and leadership questions. Visit PeopleAndProjectsPodcast.com/PMeLa to chat with her.
Join other listeners from around the world who are taking our AI Made Simple course to prepare for an AI-infused future.
Just go to ai.PeopleAndProjectsPodcast.com. Thanks!
If you or someone you know is thinking about getting PMP certified, we've put together a helpful guide called The 5 Best Resources to Help You Pass the PMP Exam on Your First Try. We've helped thousands of people earn their certification, and we'd love to help you too. It's totally free, and it's a great way to get a head start.
Just go to 5BestResources.PeopleAndProjectsPodcast.com to grab your copy. I'd love to help you get your PMP this year!
I know you want to be a more confident leader–that's why you listen to this podcast. LEAD52 is a global community of people like you who are committed to transforming their ability to lead and deliver. It's 52 weeks of leadership learning, delivered right to your inbox, taking less than 5 minutes a week. And it's all for free. Learn more and sign up at GetLEAD52.com. Thanks!
Thank you for joining me for this episode of The People and Projects Podcast!
Talent Triangle: Power Skills
Topics: Nature, Digital Obesity, Analog Wellness, Productivity, Loneliness, Forest Bathing, Morning Sunlight, Wellbeing, Leadership, Sleep
The following music was used for this episode:
Music: On Point by Steven OBrien
License (CC BY 4.0): https://filmmusic.io/standard-license
Music: Energetic Drive Indie Rock by WinnieTheMoog
License (CC BY 4.0): https://filmmusic.io/standard-license
Learn LINQ projection in C# with Select, SelectMany, and the .NET 9 Index() method. Covers anonymous types, records, flattening nested collections, and real examples.
Read more of this story at Slashdot.
​
Welcome to the first alpha for the 5.2 update! This new version is focused on performance, quality-of-life, and infrastructure improvements which prepare for the big 6.0 version that will be coming later. The two biggest changes are the new FileType plugin system and the rewritten high-precision layer rendering engine.
New FileType Plugin System
The original FileType plugin system dates back to 2005 with the v2.5 release. It has withstood the test of time in the sense that it still works and has provided a lot of value for a lot of people, but it has also noticeably aged poorly in ways that have prevented progress in other areas of the app. It was written at a time when .NET itself was just 3 years old and hitting its 2.0 release with generics and 64-bit support. The modern systems used in Paint.NET for component management and isolation were nowhere to be found back then. I had no clue that the project’s longevity would stretch so far into the future, nor that so many plugins would be developed!
The old FileType plugin system is tightly coupled with the Document, Layer, and Surface classes which Paint.NET also uses internally for UI and rendering purposes. They only support the 32-bit BGRA UI8 pixel format and a flat list of bitmap layers. The new FileType system works through interfaces such as IFileTypeDocument<TPixel> and ILayer<TPixel>, along with a rich and strongly-typed imaging framework providing support for a wide variety of pixel formats, pooled bitmap allocation, scaling/interpolation, quantization/dithering, format conversion, color management, and more.
Decoupling the FileType system from the internal classes means that these two systems can now evolve independently, and internal details can be abstracted away from plugins. The new plugin system has been designed to support versioning, meaning that functionality can be added or changed in the programming interfaces that are provided to plugins while maintaining compatibility for plugins that have already been published. New layer types and topologies (e.g. layer folders) can be added without breaking existing plugins, new blend modes can be introduced, and bitmap layers will finally be able to migrate to a tiled storage system.
Note to plugin authors: In general, plugins should provide pixel data in the image file’s original format without converting it to BGRA32. In other words, let Paint.NET handle the conversion, whether you’re supplying pixels as RGBA64, BGR24, or even an HDR format such as RGBA FP32. Paint.NET will figure out the best conversion for pixel format and color profile handling, and when expanded pixel format support is rolled out your plugin can automatically benefit from it. Note that plugins can also determine at runtime which pixel formats are supported and which are native, in case they do want to do the conversion themselves for whatever reason.
New Layer Rendering Engine
The old layer rendering engine has its roots going all the way back to the 1.0 release in 2004. Over the years it has migrated from C# to C for performance reasons, and then back to C# once the language and JIT had finally caught up to the performance of the native code. However, it has no SIMD optimizations, it only has 8 bits per channel of precision (“UI8”), and the code was very messy and difficult to make changes to. Working with many layers can result in incorrect colors or banding artifacts as off-by-1 errors accumulate across multiple layers.
With 5.2, this has been completely rewritten and upgraded to use 32-bits of floating-point precision per channel (“FP32”). It is fully optimized for AVX2, AVX512, and even ARM64 NEON thanks to .NET’s new platform-agnostic intrinsics support. Because FP32 uses a lot more memory bandwidth than UI8, many tricks have been employed to cut down on that to the point that there is no perceptible performance reduction from previous versions (the old renderer not using any SIMD also helps this comparison). The bottleneck is compute, not memory bandwidth, and performance really shines on CPUs with AVX512 support even with standard dual channel memory.
A driving factor behind this change was to prepare for future versions of Paint.NET that will expand pixel format support beyond BGRA UI8. In order to do this in a sane and maintainable manner, having a canonical pixel format became important so that each rendering kernel only needs to be written once. All of the rendering kernels can now operate exclusively on FP32 data, with high-performance format conversion and color transform kernels at the beginning and end of the rendering pipeline. This will make it much easier to add support for RGBA UI16, RGBA FP16, and even RGBA FP32 — the layer rendering engine already supports it, the rest of the app just has to catch up.
What’s coming in 6.0?
This update will introduce a new .PDN file format that will finally enable the ability to add new features to the document and layering systems. High bit-depth pixel formats, new blend modes, and layer folders are planned to be the first use of these. Later on, features such as adjustment layers, text layers, and HDR will also be added (to name a few).
Change Log
Changes since 5.1.12:
Download and Install
This build is available via the built-in updater as long as you have opted-in to pre-release updates. From within Settings -> Updates, enable “Also check for pre-release (beta) versions of paint.net” and then click on the Check Now button. You can also use the links below to download an offline installer or portable ZIP.
You can also download the installer here (for any supported CPU and OS), which is also where you can find downloads for offline installers, portable ZIPs, and deployable MSIs.
​
This is Part 4 of Build Inventory & Equipment Systems with Unity UI Toolkit, a beginner series that teaches the foundations of UI Toolkit by building a complete inventory and equipment system in Unity 6.
In this tutorial you'll wire UI Toolkit's runtime data binding to drive item tooltips. You'll also add drag-and-drop with a ghost preview that follows the cursor, and a yellow highlight on the slot under the cursor so the player knows exactly where the item will land.
Resources
1. Project Files: https://github.com/gamedev-resources/ui-toolkit-pt4-inventory-interactions
2. Databinding Docs: https://docs.unity3d.com/6000.4/Documentation/Manual/UIE-data-binding.html
Timestamps
0:00 Intro
0:22 Project Files
1:16 Drag and Drop
10:07 Drop Target Highlghting
12:50 Tooltip Databinding
23:05 Wrap up
#unity #unity3d #gamedev #indiedev #ui #gamedevelopment