Author: Admin
The opinions expressed here by Trellis expert contributors are their own, not those of Trellis. You’ve probably heard of the rebound effect — the phenomenon where savings from increased efficiency (such as lower energy bills) are then spent on other goods that ultimately reduce the expected environmental benefit of the original efficiency efforts. In your own life, though, you’ve probably seen that it doesn’t have to work this way. Maybe you’ve set aside the money saved from lowering your energy bills by upgrading to smart thermostats or other sustainable home projects, such as installing more efficient appliances. These savings can function…
Support CleanTechnica’s work through a Substack subscription or on Stripe. Zero Emissions Noosa (ZEN) runs a highly successful electric vehicle and electrify everything expo each year — we have attended several times, exhibited our aging Tesla, and written up the experience — see here for our writeup of last year’s event. So, when I heard about ZEN’s latest project, I had to share the good news with CleanTechnica readers. Noosa Council (based on the Sunshine Coast of Queensland, Australia) is funding a new independent service by ZEN to help local businesses rein in rising energy costs and make the most…
Published on: September 24, 2025Starting with Xcode 26, there’s a new way to observe properties of your @Observable models. In the past, we had to use the withObservationTracking function to access properties and receive changes with willSet semantics. In Xcode 26 and Swift 6.2, we have access to an entirely new approach that will make observing our models outside of SwiftUI much simpler.In this post, we’ll take a look at how we can use Observations to observe model properties. We’ll also go over some of the possible pitfalls and caveats associated with Observations that you should be aware of.Setting up…
If you are designing your iOS app with SwiftUI, it’s essential to understand the basic concepts of Stacks, particularly HStack, VStack, and ZStack, and how to use them. In this tutorial, we will explore these three types of stacks. HStack HStack – H in HStack stands for Horizontal. This stack view arranges all the elements/views inside it horizontally. Below image has a HStack and inside the HStack we have 2 Text labels. HStack { Text (“Hello” ) .font(.title) .background (.yellow) Text (“World!”) . font(.title) .background (.green) } . padding() .background (.red) VStack VStack – V in VStack stands for Vertical.…
Learn how to set a custom working directory in Xcode to solve one of the most common beginner issue when using Vapor. What is a custom working directory?When you try to build and run your Vapor application using Xcode you might face the issue that there are some missing files, resources or Leaf templates. Don’t worry this is a very common rookie mistake, but what causes this problem exactly? 🤔Vapor is using a place called working directory to set the current environment, locate common resources and publicly available files. This working directory usually contains a Resources folder where you can…
Today we’re very happy to announce that our book Thinking in SwiftUI is updated for iOS 17, and available in both PDF as well as print. After releasing the previous edition we have held a large number of workshops and gained a lot more experience with both SwiftUI itself as well as teaching the material. Because of this, we decided to rewrite the book from scratch. The new book contains better explanations, and a lot more visuals, diagrams, and examples. During the writing of this new edition iOS 17 came out, which brought a lot of updates to SwiftUI. We…
I have one more thing to say on the relative sizing view modifier from my previous post, Working with percentages in SwiftUI layout. I’m assuming you’ve read that article. The following is good to know if you want to use the modifier in your own code, but I hope you’ll also learn some general tidbits about SwiftUI’s layout algorithm for HStacks and VStacks. Using relative sizing inside a stack view Let’s apply the relativeProposed modifier to one of the subviews of an HStack: HStack(spacing: 10) { Color.blue .relativeProposed(width: 0.5) Color.green Color.yellow } .border(.primary) .frame(height: 80) What do you expect to…
The era of having to copy-paste code from an AI chat tab into your code editor has come to an end a while ago. AI-powered coding assistants have become increasingly sophisticated, with tools like Aider showing how powerful command-line AI integration can be for development workflows. As a downside, these tools often require you to learn specific commands and syntax to communicate effectively with the AI. Claude Code builds on this foundation with a more intuitive approach. Instead of memorizing commands, you can describe what you want to do using natural language. Getting Started Download the project materials via the…
Live Activities, first introduced in iOS 16, are one of Apple’s most exciting updates for creating apps that feel more connected to users in real time. Instead of requiring users to constantly reopen an app, Live Activities let information remain visible right on the Lock Screen and Dynamic Island. Whether it’s tracking a food delivery, checking sports scores, or monitoring progress toward a goal, this feature keeps important updates just a glance away.Later in iOS 17, Apple expanded Live Activities even further by supporting push updates from the server side, which makes them even more powerful for apps that rely on real-time…
Oct 2 2025, Swift 6.2, iOS 26, macOS 26, iPadOS 26, XCode 26 Leave a rating/review Sign up/Sign in With a free Kodeco account you can download source code, track your progress, bookmark, personalise your learner profile and more! Create account Already a member of Kodeco? Sign in This module will be an introduction to the new Foundation Models framework in Swift. The module begins with an introduction to the Foundation Models Framework by creating a simple SwiftUI chat-type app. The app will introduce the concept of the LanguageModelSession and how the developer can interact with it. The lesson will then…
