CUUG. Calgary UNIX Users Group. Dedicated to Unix & Open Systems

Recent Items from this Page (Past Meetings)

100% Operated by Volunteers. Join Our Ranks!

Last Update: $Date: 2026-04-11 22:20:41-06 $

Information
Meetings/Events/Announcements

Join our events mailing list to receive information on CUUG events such as our general meetings, special guests, etc.

Don't forget to check our other mailing lists too.

April General Meeting

Tux embroidery

Vibe Coding: From AI Prompts to Real-World Making

Speaker: Christian Falkenberg-Andersen, Retired M.D. and tech enthusiast

What happens when you point an AI coding assistant at problems that are genuinely hard — parametric geometry, physical constraints, vintage hardware, and real materials that have to fit actual human hands? This talk is a frank account of the wins, the weirdness, and the spectacular failures encountered while vibe-coding three distinct maker projects from scratch.

Project 1: Image-to-punch-card for a vintage knitting machine

Punch-card knitting machines from the Brother/Singer era produce beautiful patterned fabric, but the proprietary punch cards are no longer manufactured or sold anywhere. The solution: write a pipeline, largely via AI prompting, that takes any image and converts it into a printable or cuttable punch-card layout sized for the machine's needle bed. We'll look at what worked, what the AI got subtly wrong, and how iterating in natural language compares to writing the image-processing logic by hand.

Project 2: Parametric laser-cut fleece mittens

Off-the-shelf mittens don't fit everyone. This project generates a fully parametric 2D pattern, driven by 15+ hand measurements, that can be cut directly on a laser cutter. The AI helped translate the geometry of a 3D hand into flat panels with seam allowance, thumb gussets, and cuff shaping. We'll discuss where parametric design and LLM-assisted coding are a natural fit, and where the model confidently produced plausible-but-wrong geometry.

Project 3: Parametric women's fleece jacket

Scaling up from mittens to a full jacket amplifies every challenge: more measurements, more panels, more opportunities for the AI to silently introduce errors that only show up when you try to sew the pieces together. This section covers lessons learned about verification, testing physical output, and knowing when to stop trusting the model and pick up a ruler.

Win a pair of custom-fitted designer mittens, featuring Tux!

Five attendees will be selected at random from everyone who submits their hand measurements before the talk. The speaker will sew each winner a pair of custom laser-cut fleece mittens, fitted precisely to their measurements, with an embroidered Tux (the Linux mascot) on the back, produced in embroidery machine format via AI.

They will fit like a mitten. A custom-fitted mitten.

The draw takes place five days before the talk. Submit your measurements to office@cuug.ab.ca or the speaker directly. By submitting measurements you agree to share your hand parametrics for the sole purpose of making your mittens.

How to enter: your hand measurements

All measurements are in millimetres. Defaults are listed below, but please supply your own, otherwise the mittens will fit the defaults, not you.

PARAMS = {
  # Hand measurements (mm)
  "hand_length":           200,  # Fingertip (middle finger) to wrist crease
  "hand_circumference":    220,  # Around the knuckles
  "wrist_circumference":   190,  # Around the wrist

  # Finger length
  "finger_drop":            30,  # Depth of centre valley at fingertip end
                                 # (little finger shortfall vs middle finger).
                                 # Typical: 15-25 mm.

  # Thumb geometry
  "thumb_attach_from_tip": 150,  # Distance from fingertip to top of thumb zone
  "thumb_circumference":    75,  # Around the thumb
  "thumb_length":           70,  # Tip to base of thumb tube
  "thumb_angle":            30,  # Degrees from side seam (30° = natural position)

  # Cuff
  "cuff_length":            70,  # Length below wrist crease

  # Ease (comfort room)
  "ease":                   20,  # Added to hand circumference
  "thumb_ease":             10,  # Added to thumb circumference
                                 # (fingertip ease is automatic: +10 mm)
}

Christian Falkenberg-Andersen was born in Denmark and emigrated to Canada at age 14. His parents lived on a farm and solving problems on the farm is likely where an interest in tinkering started. He completed a bachelor of science, majoring in biochemistry (University of Calgary) and taking a course in instrumentation for scientists sparked a very strong interest in electronics. Subsequently he got a second bachelor of science degree (in electrical engineering) and postgraduate master of science degree in biomedical engineering (studying the nerve conduction of a compound action potential traveling down a nerve, and using FFT to calculate the distribution of nerve conduction speeds for the axon). During his work on his master's degree he entered medical school and received a doctor of medicine degree. Subsequently he qualified for practising medicine with specialty in family medicine. He retired 3 years ago from working as a solo family physician since 1999 in Market Mall. Currently, his activities include a lot of tinkering with the Raspberry Pi and Arduino single board computers, as well as 3D printing. Sewing, cycling (electric-assist bike) and kite skiing round out his activities.

707 Fifth

707 - 5 St. S.W.

Third floor conference room C

Parking is available one block south of the meeting location, at the Centennial Parkade (Lot 54). Additional parking is available at The CORE and Holt Renfrew Parkades just east of the meeting location.

5:30 PM, Tuesday, April 28, 2026

Snacks at 17:30. Meeting begins at 18:00.

Attendance is free for CUUG members, or $10 (cash or e-Transfer) at the door for non-CUUG members.

RSVP to office at CUUG if you plan to attend.