Sr. Content Developer at Microsoft, working remotely in PA, TechBash conference organizer, former Microsoft MVP, Husband, Dad and Geek.
162955 stories
·
33 followers

Uno Platform Studio 3.2: See Your App’s Design System

1 Share
&&&

Every app Studio generates is built on a design system. Until now, understanding that system meant reading the XAML or piecing it together from the running app, one screen at a time. Studio 3.2 gives the design system a workspace of its own, so you can see the system as a whole instead of reconstructing it from the UI.

In 3.2What it does
Themes workspaceSee your app’s controls, color pairs, and type scale in one place, rendered in light and dark.
Live theme updatesWhen Hot Reload changes a theme resource, the Themes item on the navigation rail shows a dot.
Signed-out StudioBrowse the samples gallery, open a sample, and edit it in Hot Design without an account.
Hot Design per appPanel layout, visual mode, and window sizes are remembered for each app.
Table 1The four changes in Studio 3.2.

The Themes workspace

Open an app in Studio and choose Themes on the navigation rail, under Application. The workspace lists three sections down the left side.

AgentDesign
SelectionInteractive
Export
Theme
Primary#6542C8 · 6.6 : 1
On Primary#FFFFFF · 6.6 : 1
Primary Container#E6DDFF · 12.8 : 1
On Primary Container#200465 · 12.8 : 1
Secondary#845A08 · 6.1 : 1
On Secondary#FFFFFF · 6.1 : 1
Secondary Container#F7E1B2 · 13.5 : 1
On Secondary Container#291700 · 13.5 : 1
Tertiary#9F436A · 6.0 : 1
On Tertiary#FFFFFF · 6.0 : 1
Error#AE1715 · 7.2 : 1
On Error#FFFFFF · 7.2 : 1
Error Container#FADAD6 · 13.5 : 1
On Error Container#3C0001 · 13.5 : 1
Primary#DFAE6B · 8.6 : 1
On Primary#281605 · 8.6 : 1
Primary Container#664826 · 6.4 : 1
On Primary Container#E8DDFF · 6.4 : 1
Secondary#D9A86B · 6.1 : 1
On Secondary#3D2E00 · 6.1 : 1
Secondary Container#584300 · 7.4 : 1
On Secondary Container#F7E1B2 · 7.4 : 1
Tertiary#F7B1C9 · 7.8 : 1
On Tertiary#581038 · 7.8 : 1
Error#F6B4AA · 7.9 : 1
On Error#620002 · 7.9 : 1
Error Container#8A0005 · 7.7 : 1
On Error Container#FADAD6 · 7.7 : 1
Fig. 1The Themes workspace, recreated from Studio 3.2. Switch between Controls, Colors, and Typography in the Theme panel; each section is covered below. The palette and type scale belong to a sample app; your app shows its own.

Controls

The Controls section renders a set of common controls the way your design system styles them. It shows only controls the design system defines a style for, so everything in the section reflects your theme and nothing falls back to a framework default. The section is drawn twice, once in the light theme and once in the dark theme.

AgentDesign
SelectionInteractive
Export
Theme
ControlsColorsTypography
Buttons
Input fields
Card
Card Title
Supporting text for the card
Basic
Status & Info
Buttons
Input fields
Card
Card Title
Supporting text for the card
Basic
Status & Info
Fig. 2One set of controls, drawn in both themes. Flip a switch, tick a box, drag the slider, or type in a field, and its twin in the other theme follows.

Colors

The Colors section shows the palette as seven pairs: primary, primary container, secondary, secondary container, tertiary, error, and error container, each with its On counterpart. Every swatch is labeled in its counterpart color, so Primary is written in OnPrimary and On Primary is written in Primary. A pair with poor contrast is visible at a glance, without comparing hex values. Like Controls, the palette is shown in light and dark.

AgentDesign
SelectionInteractive
Export
Theme
ControlsColorsTypography
Primary#6542C8 · 6.6 : 1
On Primary#FFFFFF · 6.6 : 1
Primary Container#E6DDFF · 12.8 : 1
On Primary Container#200465 · 12.8 : 1
Secondary#845A08 · 6.1 : 1
On Secondary#FFFFFF · 6.1 : 1
Secondary Container#F7E1B2 · 13.5 : 1
On Secondary Container#291700 · 13.5 : 1
Tertiary#9F436A · 6.0 : 1
On Tertiary#FFFFFF · 6.0 : 1
Error#AE1715 · 7.2 : 1
On Error#FFFFFF · 7.2 : 1
Error Container#FADAD6 · 13.5 : 1
On Error Container#3C0001 · 13.5 : 1
Primary#DFAE6B · 8.6 : 1
On Primary#281605 · 8.6 : 1
Primary Container#664826 · 6.4 : 1
On Primary Container#E8DDFF · 6.4 : 1
Secondary#D9A86B · 6.1 : 1
On Secondary#3D2E00 · 6.1 : 1
Secondary Container#584300 · 7.4 : 1
On Secondary Container#F7E1B2 · 7.4 : 1
Tertiary#F7B1C9 · 7.8 : 1
On Tertiary#581038 · 7.8 : 1
Error#F6B4AA · 7.9 : 1
On Error#620002 · 7.9 : 1
Error Container#8A0005 · 7.7 : 1
On Error Container#FADAD6 · 7.7 : 1
0 %
Fig. 3Seven pairs in each theme, each label written in its counterpart color. Hover or focus a pair for its hex value and contrast ratio. Drift one pair and watch its labels sink into their swatches; ✕ marks a ratio below 4.5 : 1.

Typography

The Typography section lists the semantic type scale: display, headline, title, body, and label, each in large, medium, and small. Every entry is set in its own style and states its font family, weight, and size over line height. The type scale is the same in both themes, so this section is shown once.

AgentDesign
SelectionInteractive
Export
Theme
ControlsColorsTypography
Display
Display Largems-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Bold • 38/44 px
Display Mediumms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Bold • 29/35 px
Display SmallInter • Regular • 36 px
Headline
Headline LargeInter • Regular • 32 px
Headline Mediumms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • SemiBold • 25/31 px
Headline SmallInter • Regular • 24 px
Title
Title Largems-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Bold • 22/28 px
Title Mediumms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • SemiBold • 18/24 px
Title Smallms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • SemiBold • 15/20 px
Body
Body Largems-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Regular • 15/22 px
Body Mediumms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Regular • 14/21 px
Body Smallms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • Regular • 12.5/18 px
Label
Label LargeInter • Medium • 14 px
Label Mediumms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • SemiBold • 13/16 px
Label Smallms-appx:///Uno.Fonts.OpenSans/Fonts/OpenSans.ttf • SemiBold • 11/14 px
Fig. 4Fifteen styles, each set in itself, with its font, weight, and size over line height. Type in the preview field to set every sample in your own words.

Updates as you work

When Hot Reload rebuilds your app’s global resources, the Themes item on the navigation rail shows a dot, so you know the design system changed while you were in another workspace. The Agent panel is hidden while the Themes workspace is open, which leaves the full width for the design system.

AgentDesign
SelectionInteractive
Export
Theme
ControlsColorsTypography
Hot Reload · rebuilding resourcesResources rebuilt
Fig. 5A loop: Hot Reload rebuilds the app’s resources while you work in the App workspace, and Themes shows a dot. Opening Themes clears the dot, and the Agent panel steps aside. The App workspace and the rebuild notice are drawn as placeholders.

The Themes workspace is read-only in 3.2. Editing the theme is the next step.

Explore Studio through sample apps

Studio 3.2 makes it easier to see what Studio can do before starting a project of your own. Open the CRM, Brewhouse, Fitness, or any other app in the samples gallery, run it, and start making changes with Hot Design.

You don’t need an account to try them. Sign-in is only required when you move into account-based actions such as working with the agent, creating a new app, saving, or exporting.

ActionAccount
Browse the samples galleryNot needed
Open and run a sampleNot needed
Make changes with Hot DesignNot needed
Work with the agentSign in
Create a new appSign in
Save or exportSign in
Table 2Where sign-in starts.

Smaller fixes

Studio 3.2 also includes a set of quality-of-life improvements across Hot Design, sign-in, the Agent panel, and project creation.

AreaChange
Hot DesignHot Design now remembers each app’s layout. Visual mode, panel layout, window sizes, and app mode are stored per app, so changing the workspace for one app no longer changes it for another.
Sign-inSigning out on iOS no longer opens the system Sign In consent alert.
An identity provider timeout no longer blocks the sign-in page.
Agent panelSelection chips behave correctly: the X in a chip’s flyout closes it, and removing one chip no longer removes every chip of the same type.
ShellEsc is handled by the Studio shell only when there is something to dismiss.
New projectsNew projects are created using the same Uno.Templates version the workspace was built with.
Table 3Fixes in Studio 3.2, by area.

Thanks for building with us

Thank you to everyone who reported issues, shared feedback, and helped shape Studio 3.2. We’d love to see what you build next, so share your projects with us on GitHub or Discord.

Available now

Studio 3.2 is available now.

Start your 15-day free trial and, for a limited time, save 25% on Uno Platform Studio at checkout.

Monthly plansUNO25M
Annual plansUNO25A
&&&&&&&

The post Uno Platform Studio 3.2: See Your App’s Design System appeared first on Uno Platform.

Read the whole story
alvinashcraft
11 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Getting visual explanations from your coding agent with the show-me skill

1 Share

Coding agents are good at explaining things. They are also good at explaining them in five verbose paragraphs when a ten-line tree would have done the job. You would almost think that output tokens are free!

Recently I came across the show-me skill from HumanLayer. It’s a small skill with one purpose: when you ask your agent to explain something, it answers with a visual representation instead of a wall of text.

What does it do?

The whole skill is a short set of instructions. It tells the agent to skip the preamble, keep the prose brief and pick the smallest view that makes the point clear.

Sounds simple? Because the idea is indeed. For each kind of explanation, the skill names the view to use:

  • Logic or an algorithm → pseudocode
  • Runtime control flow → a call tree
  • UI structure → a component tree, including the state and module boundaries that matter
  • File responsibility or a broad refactor → a shallow file tree
  • Component interaction or data flow → a Mermaid diagram

Here is what that looks like in practice. A call tree for a form submit:

submitForm
  createSession
    persistPrompt
    launchAgent
  navigateToSession

And a shallow file tree to explain who owns what:

src/
├── commands/       # parses user actions
├── sessions/       # owns session state
└── transport/      # sends API requests

Nothing fancy. But compare that with the paragraph you would normally get back.

Installing the skill

The skill can be installed with the skills CLI:

npx skills add https://github.com/humanlayer/skills --skill show-me

After that you invoke it with a slash command like any other skill:

/show-me

Putting it into action

I (or one of my agents) did a big code change to add the authentication layer to my solution. This is a rather large changes involving multiple projects and files to be changed. Let's use /show-me to see what has changed:





Why I like this skill as an architect

As an architect I have to read a lot of code. Most of the time when I’m reviewing code changes, I’m not looking for an explanation. I’m looking for the shape of something: who calls whom, which module owns the state, where a refactor will touch. That is exactly what trees and sequence diagrams are good at, and prose is not.

The skill also forces the agent to be selective. You don’t get a diagram of everything, just the one that answers your question.

The skill also covers when to show a full code block instead of a fragment: when most of it is new, when leaving out context would hide ownership or order, or when you need a target shape you can copy. For larger explanations it can also produce a focused HTML page, which the agent opens for you.

Remark: The skill is plain instructions, nothing more. If you disagree with one of its choices (say you prefer ASCII over Mermaid), you can read the SKILL.md and adjust it for your own setup.

Should you use it?

If you regularly ask your agent to explain unfamiliar code, yes. It costs one command to install and it changes the format of every answer you ask for with /show-me.

More information

Read the whole story
alvinashcraft
23 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

Canada’s 2026 time zone updates: guidance for Microsoft SQL

1 Share

Affected locations in British Columbia, Alberta, and Manitoba will not turn their clocks back at 02:00 local time on November 1, 2026. They will remain at UTC−07:00, UTC−06:00, and UTC−05:00, respectively. 

Microsoft’s interim guidance for British Columbia, Alberta, and Manitoba describes the new Windows time zones and temporary workarounds. 

SQL Server on Windows requires the applicable Windows update—not a separate SQL Server product update. For SQL Server on Linux, Azure SQL Database, and Azure SQL Managed Instance, the following guidance applies when the new regional time zones are not yet available in your deployment. 

Interim guidance when the new time zone is unavailable 

This table adapts the Windows interim guidance for SQL. Use the interim identifiers for explicit SQL conversions, SQL Database or eligible SQL Managed Instance database/session settings, mapped Linux configuration, or new SQL Managed Instances. The instance-level time zone setting cannot be modified for an existing SQL Managed Instance. 

Affected area  Existing SQL time zone  Interim SQL time zone  Required offset from November 1  Final regional time zone 
Most of British Columbia  Pacific Standard Time  Yukon Standard Time  UTC−07:00  British Columbia Standard Time 
Alberta and locations covered by its guidance*  Mountain Standard Time  Canada Central Standard Time  UTC−06:00  Alberta Standard Time 
Manitoba  Central Standard Time  Eastern Standard Time (Mexico)  UTC−05:00  Manitoba Standard Time 

*The Alberta guidance also covers southeastern BC locations aligning with Alberta and affected Northwest Territories locations, including Yellowknife and Inuvik. Do not apply the first row to all of BC. 

For Manitoba, the Windows workaround uses ordinary Eastern Standard Time with automatic DST adjustments disabled. SQL’s AT TIME ZONE does not provide the DST adjustment switch. Instead, Eastern Standard Time (Mexico) supplies UTC−05:00 without seasonal changes under its current rules. Ordinary Eastern Standard Time returns to UTC−04:00 in summer. 

Confirm that the selected identifier is available in sys.time_zone_info on the target deployment. These substitutes match the required current and future offsets, not the provinces’ complete historical rules. Do not blanket-replace historical conversions. Move to the regional definition when supported, using the appropriate product-specific method. 

SQL Server on Windows 

SQL Server reads installed Windows time zones from the OS registry, as documented for sys.time_zone_info. 

Install the applicable Windows update. When the server’s local time must follow the affected region, select the new regional zone under Settings > Time & language > Date & time, following the provincial guidance linked above. 

Also update explicit AT TIME ZONE references where appropriate. Installing the update does not rewrite application SQL or make the existing shared US-and-Canada identifier equivalent to the new province-specific definition. 

SQL Server on Linux 

Follow Configure the time zone for SQL Server on Linux for SQL Server 2022 or later. SQL Server on Linux map the Linux/IANA time zone to a Windows identifier used internally by T-SQL. 

The documented mappings for the interim choices are: 

Affected region  Linux/IANA identifier  SQL time zone identifier 
Most of BC  America/Whitehorse  Yukon Standard Time 
Alberta and aligned locations  America/Regina  Canada Central Standard Time 
Manitoba  America/Cancun  Eastern Standard Time (Mexico) 

Configure the matching IANA zone in the SQL Server service or container’s TZ environment, or through the applicable host configuration. Ensure the setting reaches the SQL Server process, not only an interactive shell; restart or redeploy that process as appropriate. TZ takes precedence over /etc/localtime and the other documented configuration sources. 

Do not assume that updating Linux tzdata alone updates SQL Server’s Windows-zone definitions or mapping. For older releases, use the corresponding SQL Server 2019 or SQL Server 2017 documentation. 

Azure SQL Database 

As described in my earlier announcement of local time zone support, the public-preview feature allows configuration at the database or session level. 

For example, use the following options for Manitoba: 

-- Persistent database default
ALTER DATABASE SCOPED CONFIGURATION
SET TIME_ZONE = 'Eastern Standard Time (Mexico)';

-- Alternatively, override just the current connection
SET TIME ZONE 'Eastern Standard Time (Mexico)';  

A session override takes precedence over the database setting. SET TIME ZONE LOCAL removes the session override. 

Inside a stored procedure or dynamic SQL batch, the change is scoped to that execution. A normal GO batch separator does not reset a session setting. See the SET TIME ZONE documentation for scope and usage details. 

The setting affects current-time functions such as GETDATE(), SYSDATETIME(), and SYSDATETIMEOFFSET(). It does not convert stored values, change explicit AT TIME ZONE expressions, or change UTC timestamps in system views. 

Once the regional identifier becomes available, replace the interim setting at the scope your application uses. SET TIME ZONE is not supported on SQL Server. 

Azure SQL Managed Instance 

The instance time zone can only be selected during creation. To change the instance-level time zone itself, create a replacement instance with the required temporary or final time zone and migrate the workload. 

On SQL Managed Instances using the Always-up-to-date update policy where local time zone support is available, use ALTER DATABASE SCOPED CONFIGURATION SET TIME_ZONE or SET TIME ZONE to apply the same interim time zones at database or session scope. These settings change the effective time zone for supported current-time functions without migrating the instance. They do not change the instance-level time zone or SQL Agent schedules; an instance-wide time zone change still requires the migration approach below. 

 

Migration option  How it works  Trade-off and requirements 
Failover group  Replicate continuously, then perform a controlled planned failover after synchronization.  More setup; generally lower cutover downtime. Instances must be in different regions and share a DNS zone. 
Cross-instance point-in-time restore  Restore databases to a replacement instance in the same region, then cut applications over.  Simpler; generally longer downtime. Coordinate source writes and the final restore point to avoid omitting later transactions. Restore-point timestamps are interpreted as UTC. 

Recreate instance-level dependencies, including logins, objects in master, SQL Agent jobs, credentials, linked servers, certificates, and server-level configuration. Validate applications and job schedules before retiring the old instance. 

Plan for two migrations when using an interim time zone 

If the final regional zone is unavailable, first migrate to an instance configured with the interim zone. After the regional zone becomes available, migrate again to another instance created with that final zone. 

For a failover-group approach that returns to the original region: 

Original MI — Region 1 → Temporary-zone MI — Region 2 → Final-zone MI — Region 1 

The service update does not change the selected time zone of the existing temporary instance. Budget for both migrations and their cutovers. 

Normally, failover-group partners should use matching time zones. A deliberate mismatch for this migration requires careful validation; it is not the recommended steady-state high-availability configuration. 

If only a query or display requires adjustment, an explicit conversion can avoid changing instance-local time: 

SELECT SYSUTCDATETIME() AT TIME ZONE 'UTC'
    AT TIME ZONE 'Eastern Standard Time (Mexico)' AS ManitobaLocalTime;  

 

This changes the query result—not SQL Agent schedules or the instance’s GETDATE() behavior.

The post Canada’s 2026 time zone updates: guidance for Microsoft SQL appeared first on Azure SQL Dev Corner.

Read the whole story
alvinashcraft
37 seconds ago
reply
Pennsylvania, USA
Share this story
Delete

v2026.9.33

1 Share

OpenClaw 2026.9.33

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

The 5 Top Tips For Turning Memories Into A Memoir

1 Share

Want to write a memoir? Discover 5 practical tips to help you get started and turn your memories into a compelling story.

You need to do three important things before you write your memoir.

  1. You need to jog your memory.
  2. You need to find a theme for your story.
  3. You need to plot your memoir.

In this post, I want to deal with the first point. I want to make suggestions on how you can research your memoir. This is hard work and takes time but once you’ve done it, you will have an invaluable resource.

I want you to think about how you can jog your memories and collect information so that you can stay as true to your story as possible.

1. Become A Gatherer.

You should start with personal bits and pieces. Remember that these are only aids. Your memories are still there, and you can access them with or without these items. These are the types of things to look for and keep:

  1. Diaries
  2. Obituaries
  3. Birth, marriage, death certificates
  4. Birthday and wedding invitations
  5. Letters
  6. Photographs
  7. Home movies, videos, and DVDs
  8. Report cards, school books
  9. Family memorabilia
  10. Jewellery
  11. Menus
  12. Music – vinyl, tape, digital
  13. Newspaper cuttings
  14. Old cheques
  15. Old theatre programmes
  16. Payslips
  17. Wills
  18. Emails and text messages
  19. Social media posts and comments
  20. Digital photographs and videos
  21. Voice notes and audio recordings
  22. Blogs and websites
  23. Digital calendars and diaries
  24. Travel records and location history
  25. Old mobile phones, computers, and hard drives

2. Make Use Of Living Relatives And Old Friends.

Start a conversation about your memoir. Remember that neither you nor your relative or friend is ‘right’ or ‘wrong’. You each have your own story to tell. Listen. You will need other voices in your memoir. You will specifically need voices that oppose yours. Make notes.

3. Ground Your Story Using Details From The Time You’re Describing.

If you don’t do this, you run the risk of spending too much time meandering through your thoughts and feelings. Visit the places you will be describing. If you are unable to go back, there are other ways to do this. You can:

  1. Watch movies and television programmes from that era.
  2. Read newspapers from the years you will be writing about.
  3. Search online archives for dates, places, and incidents.
  4. Look at old photographs and videos, including their dates and locations.
  5. Search your emails, messages, and social media accounts for details you may have forgotten.
  6. Use digital maps and street views to revisit places that have changed.

4. Prepare A Life List.

This is for you and you alone. This is not for a publisher’s consumption. Write a page on each of these subjects. Some may not even be applicable to you. This list will become the skeleton from which you draw material for your memoir.

  1. Birth and baby years
  2. Pre-school years
  3. Junior school
  4. High school
  5. University
  6. Friends
  7. Hobbies
  8. Holidays, festivals
  9. Jobs
  10. Illness
  11. Early relationships
  12. Religion
  13. Early marriage
  14. Moving House
  15. Middle years
  16. Bereavement
  17. Later years
  18. Retirement

5. Make Files And Scan Your Documents.

Organise your material using a lever-arch file with plastic pockets for memorabilia. Do this in chronological sequence. Slot your notes and writing between these. Now fill the plastic folders with whatever is relevant to these life stages. You should have achieved some sort of order, and you’ll be grateful for this as you progress through your memoir. If you can, scan all the documents you have collected and save them in the same life stages as your physical file.

A Brief Note

These tips can help you recover details you might otherwise forget. Old messages, photographs, emails, and social media posts can bring back memories and help you establish dates. Remember that these records offer clues, not the whole story. Check details where you can, and ask for permission when using other people’s personal correspondence in your memoir.

The Last Word

Writing a memoir starts with gathering your memories and organising your material. Take the time to do your research before you begin writing. You don’t need to remember everything at once. The purpose of this preparation is to gather material you can return to as you write and shape your life story.


by Amanda Patterson
© Amanda Patterson

More posts from Amanda:
  1. How To Write A Prologue: 5 Good Reasons To Include One
  2. How To Write A Locked-Room Mystery: The Secret To The Impossible Crime
  3. 10 Ways To Get Out Of A Writing Rut
  4. What Is A Denouement? How It Works In Fiction
  5. How To Name Characters: 10 Things To Consider
  6. How To Use The Five Senses In Your Writing
  7. What Is A Myth? 20 Myth-Inspired Writing Prompts
  8. Punctuation For Beginners: What Is Punctuation?
  9. What Is A Plot Twist? The Secret To Writing A Great One
  10. What Is A First Draft? How To Write And Finish Yours
If you’re looking for more posts on memoirs, try these:
  1. What’s The Difference Between An Autobiography And A Memoir?
  2. 12 Types Of Memoirs – Which One Is Yours?
  3. Why You Need To Write Your Memoir Like Fiction

Top Tip: Sign up for our free daily writing links.

The post The 5 Top Tips For Turning Memories Into A Memoir appeared first on Writers Write.

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete

Evaluating decision models for document categorization

1 Share

Evaluating decision models for document categorization

Read the whole story
alvinashcraft
1 minute ago
reply
Pennsylvania, USA
Share this story
Delete
Next Page of Stories