<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-9088824</id><updated>2026-10-16T20:17:08.726+10:30</updated><category term="open source"/><category term="php"/><category term="rant"/><category term="idea"/><category term="pear"/><category term="IFTTT"/><category term="github"/><category term="firefox"/><category term="mozilla"/><category term="semantic web"/><category term="usability"/><category term="adelaide"/><category term="south australia"/><category term="music"/><category term="ruby"/><category term="rdf"/><category term="angry"/><category term="open data"/><category term="work"/><category term="australia"/><category term="valex"/><category term="jabber"/><category term="songbird"/><category term="bug"/><category term="im"/><category term="unit testing"/><category term="openstreetmap"/><category term="pidgin"/><category term="geo"/><category term="rails"/><category term="gaim"/><category term="ubuntu"/><category term="bug triage"/><category term="javascript"/><category term="Programming"/><category term="audioscrobbler"/><category term="bike"/><category term="eco"/><category term="home automation"/><category term="last.fm"/><category term="government"/><category term="nocleanfeed"/><category term="tutorial"/><category term="ui"/><category term="ajax"/><category term="cycling"/><category term="foaf"/><category term="freebase"/><category term="google"/><category term="linked data"/><category term="phpunit"/><category term="valuations"/><category term="want"/><category term="automation"/><category term="books"/><category term="getfridged"/><category term="global warming"/><category term="gnome"/><category term="lazyweb"/><category term="linux"/><category term="open office"/><category term="rdfa"/><category term="reddit"/><category term="web design"/><category term="xul"/><category term="copyright"/><category term="friend"/><category term="google maps"/><category term="loxton"/><category term="microformats"/><category term="mqtt"/><category term="murder"/><category term="mysql"/><category term="nina starr"/><category term="open standards"/><category term="robots"/><category term="samsung"/><category term="shopping"/><category term="tv"/><category term="upcoming"/><category term="accounting"/><category term="business"/><category term="environment"/><category term="food"/><category term="git"/><category term="google earth"/><category term="howto"/><category term="icalendar"/><category term="internet"/><category term="internet of things"/><category term="json"/><category term="lixi"/><category term="mashup"/><category term="math"/><category term="movies"/><category term="ning"/><category term="operator"/><category term="politics"/><category term="riding"/><category term="trac"/><category term="transport"/><category term="twitter"/><category term="web services"/><category term="xmpp"/><category term="zend framework"/><category term="Automobile"/><category term="Home"/><category term="android"/><category term="cars"/><category term="chef"/><category term="continuous integration"/><category term="data"/><category term="drm"/><category term="ebooks"/><category term="facebook"/><category term="fire"/><category term="fitness"/><category term="flickr"/><category term="geospatial web"/><category term="good practice"/><category term="good relations"/><category term="grddl"/><category term="green"/><category term="health"/><category term="http"/><category term="ideas"/><category term="internet explorer"/><category term="java"/><category term="mapping"/><category term="news"/><category term="pearweb"/><category term="photo"/><category term="prototype.js"/><category term="python"/><category term="raspberry pi"/><category term="rest"/><category term="ride"/><category term="solar"/><category term="sparql"/><category term="ted"/><category term="tortoisesvn"/><category term="wikipedia"/><category term="xbmc"/><category term="xml"/><category term="404"/><category term="Application programming interface"/><category term="Canada"/><category term="Content Filtering"/><category term="Events"/><category term="Google Map"/><category term="Government of Australia"/><category term="Internet service provider"/><category term="Mortgage"/><category term="Road"/><category term="Science and Technology"/><category term="Sports"/><category term="Test suite"/><category term="Testing"/><category term="Uniform Resource Locator"/><category term="Unit Tests"/><category term="WWW"/><category term="Zemanta"/><category term="abc"/><category term="air conditioner"/><category term="api"/><category term="api. freebase"/><category term="architecture"/><category term="awesome"/><category term="barcode"/><category term="bikes"/><category term="birthday"/><category term="bitbucket"/><category term="bookfeed"/><category term="bus"/><category term="car"/><category term="cats"/><category term="censorship"/><category term="christmas"/><category term="cluttr"/><category term="code review"/><category term="css"/><category term="daylight savings"/><category term="design"/><category term="desktop manufacturing"/><category term="drone"/><category term="ebola"/><category term="feature request"/><category term="future"/><category term="geoweb"/><category term="govhack"/><category term="hamachi"/><category term="happy"/><category term="html"/><category term="identi.ca"/><category term="iftt"/><category term="india"/><category term="iot"/><category term="it"/><category term="knockout"/><category term="life"/><category term="maps"/><category term="metadata"/><category term="microsoft"/><category term="nab"/><category term="office space"/><category term="office supplies"/><category term="ontology"/><category term="ooxml"/><category term="open streetmap"/><category term="openid"/><category term="osm"/><category term="outlook"/><category term="outsourcing"/><category term="patch"/><category term="patents"/><category term="pepr"/><category term="planningalerts"/><category term="power"/><category term="pride"/><category term="project management"/><category term="protest"/><category term="puzzle"/><category term="quality"/><category term="real estate"/><category term="refactoring"/><category term="review"/><category term="roomba"/><category term="sad"/><category term="soap"/><category term="social network"/><category term="standards"/><category term="statistics"/><category term="subversion"/><category term="svg"/><category term="svn"/><category term="talk"/><category term="theft"/><category term="thunderbird"/><category term="travel"/><category term="upnp"/><category term="valuation"/><category term="video"/><category term="war"/><category term="web 2.0"/><category term="wishlist"/><category term="yahoo"/><category term="zwave"/><category term=".net"/><category term="20th century"/><category term="28 Days Later"/><category term="3d"/><category term="3d printing"/><category term="Active record pattern"/><category term="Amazon"/><category term="Amazon.com"/><category term="Array"/><category term="Arts"/><category term="Asa Dotzler"/><category term="Australia censorship"/><category term="Authentication"/><category term="Beverages"/><category term="Browsers"/><category term="Business logic"/><category term="CVS"/><category term="Cabernet Sauvignon"/><category term="Calorie"/><category term="City of Port Adelaide Enfield"/><category term="Clients"/><category term="Clive Hamilton"/><category term="Command-line interface"/><category term="Computers"/><category term="Computers and Internet"/><category term="Concurrent Versions System"/><category term="Conroy"/><category term="Crop circle"/><category term="Cut  copy  and paste"/><category term="Cycling shorts"/><category term="DNS"/><category term="DNS Providers"/><category term="DVD"/><category term="Data Formats"/><category term="Dialog box"/><category term="Document"/><category term="Domain Name System"/><category term="Drink"/><category term="Elections in Iran"/><category term="FSANZ"/><category term="Filter"/><category term="Financial services"/><category term="Fire drill"/><category term="Food Standards Australia New Zealand"/><category term="Four-wheel drive"/><category term="Fraud"/><category term="Free Speech"/><category term="Freedom of speech"/><category term="Gasoline"/><category term="Gedit"/><category term="Google Calendar"/><category term="Google Talk"/><category term="Hair fail"/><category term="House"/><category term="Human Rights and Liberties"/><category term="Human-Computer Interaction"/><category term="Hype Machine"/><category term="IP address"/><category term="Insect"/><category term="International Organization for Standardization"/><category term="Internet Relay Chat"/><category term="Internet censorship"/><category term="Iran"/><category term="Joy Division"/><category term="Kate Ellis"/><category term="Languages"/><category term="Layar API"/><category term="Long Distance Paths"/><category term="Lost"/><category term="LuckyCal"/><category term="Market value"/><category term="Mental retardation"/><category term="Merlot"/><category term="Method"/><category term="Mortgage broker"/><category term="Mozilla Firefox"/><category term="Multicast DNS"/><category term="NLP"/><category term="North Pole"/><category term="OAuth"/><category term="OAuthProvider"/><category term="Office Open XML"/><category term="OpenDocument"/><category term="Opera"/><category term="Personal computer"/><category term="Pet peeve"/><category term="Power door locks"/><category term="Programs"/><category term="Protocols"/><category term="Racing"/><category term="Radio"/><category term="Recreation"/><category term="Recreation and Sports"/><category term="Resource Description Framework"/><category term="Safety"/><category term="Searching"/><category term="Square metre"/><category term="Stairway"/><category term="Standardization"/><category term="Stephen Conroy"/><category term="Stephen Morris"/><category term="Television"/><category term="Terminator: The Sarah Connor Chronicles"/><category term="Test"/><category term="The Amazing Race"/><category term="TikiWiki"/><category term="Tomato soup"/><category term="Tools"/><category term="Tour de France"/><category term="Traffic light"/><category term="Triage"/><category term="Two Leg Authentication"/><category term="United Kingdom"/><category term="United States"/><category term="United States Department of Agriculture"/><category term="Web APIs"/><category term="Website"/><category term="Wiki"/><category term="Wine"/><category term="Wine tasting"/><category term="abs"/><category term="achievement"/><category term="activerecord"/><category term="adelaide metro"/><category term="adobe"/><category term="advice"/><category term="agents"/><category term="agile"/><category term="ai"/><category term="aibo"/><category term="airship"/><category term="alarm"/><category term="album"/><category term="alphagrip"/><category term="amazon dash"/><category term="america"/><category term="anzac day"/><category term="apollo"/><category term="app"/><category term="apt"/><category term="asterix"/><category term="asteroids"/><category term="astra"/><category term="atom"/><category term="augmented reality"/><category term="ausgrid"/><category term="auspost"/><category term="australia post"/><category term="awk"/><category term="banking"/><category term="bathroom"/><category term="bbc"/><category term="bdd"/><category term="belgium"/><category term="bible"/><category term="bicycle"/><category term="bills"/><category term="blogger"/><category term="bootleg"/><category term="bpay"/><category term="brain"/><category term="browser"/><category term="budget"/><category term="buildings"/><category term="busking"/><category term="cal"/><category term="calc"/><category term="capistrano"/><category term="cardboard"/><category term="cba"/><category term="charles stross"/><category term="chefmoz"/><category term="china"/><category term="chiropractic"/><category term="chloe"/><category term="clock"/><category term="coles"/><category term="command line"/><category term="console"/><category term="consumerism"/><category term="contract"/><category term="cool"/><category term="copiepresse"/><category term="cowboy"/><category term="crafers"/><category term="craft"/><category term="csv"/><category term="dafur"/><category term="daniel o&#39;connor"/><category term="data capture"/><category term="dbpedia"/><category term="death"/><category term="debugger"/><category term="demo"/><category term="democracy"/><category term="dependency injection"/><category term="development"/><category term="digg"/><category term="disaster"/><category term="documentary"/><category term="documentation"/><category term="dogs"/><category term="downloadable design"/><category term="dream"/><category term="driving"/><category term="drugs"/><category term="drupal"/><category term="dtei"/><category term="earthquake"/><category term="education"/><category term="egovernment"/><category term="email"/><category term="energy"/><category term="essays"/><category term="evil"/><category term="ew"/><category term="example"/><category term="exhibit"/><category term="faith"/><category term="family"/><category term="fat controllers"/><category term="ferret"/><category term="filezilla"/><category term="film"/><category term="flight"/><category term="flying spaghetti monster"/><category term="foreach"/><category term="free"/><category term="fresh fm"/><category term="fridge"/><category term="friends"/><category term="fruit"/><category term="fud"/><category term="functional programming"/><category term="game"/><category term="garden"/><category term="gearman"/><category term="gecko"/><category term="gimp"/><category term="gloves"/><category term="gnautilius"/><category term="gobby"/><category term="goo"/><category term="goodreads"/><category term="gotcha"/><category term="govhack unleashed adelaide opendata"/><category term="gps"/><category term="groklaw"/><category term="growth"/><category term="gtfo"/><category term="gtk"/><category term="guilt"/><category term="gwibber"/><category term="hacking"/><category term="handy"/><category term="hardware"/><category term="haskell"/><category term="hezbollah"/><category term="history"/><category term="holden"/><category term="horses"/><category term="hot"/><category term="http_request2"/><category term="huginn"/><category term="ibm"/><category term="ice"/><category term="id"/><category term="ie8"/><category term="in_array"/><category term="indian"/><category term="injury"/><category term="integration"/><category term="invites"/><category term="ipad"/><category term="ipod"/><category term="jbehave"/><category term="jenkins"/><category term="jewelery"/><category term="job"/><category term="jpspan"/><category term="jquery"/><category term="junit"/><category term="keepright"/><category term="kettlebells"/><category term="kickstarter"/><category term="kml"/><category term="kung fu"/><category term="language"/><category term="laptop"/><category term="latitude"/><category term="layar"/><category term="layer"/><category term="lego"/><category term="letters"/><category term="lga"/><category term="library"/><category term="license"/><category term="lightning"/><category term="linuxmce"/><category term="livejournal"/><category term="loans"/><category term="lobsters"/><category term="lolcats"/><category term="magic"/><category term="mail"/><category term="mapbox"/><category term="mapillary"/><category term="marijuana"/><category term="marriage"/><category term="martin luther king"/><category term="mealie"/><category term="medicine"/><category term="meetup"/><category term="melbourne cup"/><category term="merger"/><category term="metric"/><category term="mobility"/><category term="mock objects"/><category term="monks"/><category term="mozconcept"/><category term="mp3"/><category term="msn"/><category term="musicbrainz"/><category term="musing"/><category term="myself"/><category term="n"/><category term="nanoblimp"/><category term="nasa"/><category term="natural language parsing"/><category term="nautilus"/><category term="neat"/><category term="obama"/><category term="oci8"/><category term="odb II"/><category term="oeb"/><category term="oop"/><category term="oops"/><category term="opensource"/><category term="oracle"/><category term="oracle_enhanced"/><category term="owl"/><category term="owntracks"/><category term="package"/><category term="packing"/><category term="pacman"/><category term="panic"/><category term="papercut"/><category term="parody"/><category term="past"/><category term="pdf"/><category term="pfm"/><category term="phillipines"/><category term="phones"/><category term="photos"/><category term="pigeon"/><category term="pirates"/><category term="pizza"/><category term="planning"/><category term="planning alerts"/><category term="plumbing"/><category term="post office"/><category term="postgis"/><category term="potus"/><category term="printers"/><category term="prototype"/><category term="psychology"/><category term="pt adelaide"/><category term="punchbuggy"/><category term="pwnage"/><category term="qantas"/><category term="quake"/><category term="quality assurance"/><category term="question"/><category term="rabbitvcs"/><category term="race"/><category term="rat"/><category term="red tape"/><category term="redundancy"/><category term="reflection"/><category term="release"/><category term="religion"/><category term="research"/><category term="rice"/><category term="ridiculous"/><category term="roi"/><category term="rosewater"/><category term="route"/><category term="rp data"/><category term="rsi"/><category term="rspec"/><category term="sandra kanck"/><category term="savant"/><category term="savon"/><category term="scanner"/><category term="sci fi"/><category term="script"/><category term="scriptaculous"/><category term="scripture"/><category term="seadragon"/><category term="security"/><category term="selenium"/><category term="shaolin"/><category term="shearing"/><category term="sheep"/><category term="silicon valley"/><category term="smart ac"/><category term="smartphone"/><category term="smartwatch"/><category term="snail mail"/><category term="snomed"/><category term="soa"/><category term="software"/><category term="soldier"/><category term="solid"/><category term="space"/><category term="sql"/><category term="sql server"/><category term="sqlyog"/><category term="ssdp"/><category term="ssrs"/><category term="standards australia"/><category term="stationery"/><category term="strava"/><category term="street view"/><category term="style"/><category term="sudan"/><category term="sugru"/><category term="summer of code"/><category term="sunbird"/><category term="super hero"/><category term="supervillan"/><category term="survey"/><category term="sydney"/><category term="tablet pc"/><category term="tap"/><category term="tasks"/><category term="tdd"/><category term="thebarton theatre"/><category term="thethingsystem"/><category term="tip"/><category term="tips"/><category term="tipsy"/><category term="toggg"/><category term="tomboy"/><category term="toner"/><category term="tooltips"/><category term="toronto"/><category term="tracing"/><category term="tram"/><category term="trance"/><category term="trello"/><category term="turbine"/><category term="twine"/><category term="uber"/><category term="uml"/><category term="un"/><category term="unleashed adelaide opendata"/><category term="upcoming:event=129261"/><category term="urinal"/><category term="useful"/><category term="user stories"/><category term="utf-8"/><category term="valuer"/><category term="vegetables"/><category term="vegetarian"/><category term="venuetix"/><category term="violence"/><category term="vpn"/><category term="vuejs"/><category term="warehousing"/><category term="washer"/><category term="web 3.0"/><category term="web of things"/><category term="wind"/><category term="wireless"/><category term="woodworking"/><category term="woolworths"/><category term="work. paper"/><category term="world war"/><category term="wtf"/><category term="x10"/><category term="x3d"/><category term="xampp"/><category term="xhtml"/><category term="xpath"/><category term="xspf"/><category term="xulrunner"/><category term="youtube"/><category term="zend"/><category term="zenity"/><title type='text'>Daniel O&#39;Connor</title><subtitle type='html'>Half person, half home automation, an under loved blog for all things Ruby, python and more in Adelaide</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>1004</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9088824.post-1792627129895685853</id><published>2025-08-11T00:19:00.001+09:30</published><updated>2025-08-11T00:19:06.716+09:30</updated><title type='text'>Idea for later: write packages of agent prompts.</title><content type='html'>https://github.com/parruda/claude-swarm?tab=readme-ov-file#multi-level-swarm-example + pre-made prompts describing the context of what an agent does.&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;bundle add &#39;accessibility_prompts&#39; ? To generate templates/agents.md?&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/1792627129895685853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/1792627129895685853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1792627129895685853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1792627129895685853'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/08/idea-for-later-write-packages-of-agent.html' title='Idea for later: write packages of agent prompts.'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-122837879242157067</id><published>2025-08-09T14:19:00.005+09:30</published><updated>2025-08-10T02:03:22.583+09:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="ideas"/><category scheme="http://www.blogger.com/atom/ns#" term="osm"/><title type='text'>Things to go vibe code: Food Crawl Agent</title><content type='html'>
&lt;div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;Feature Idea: “Cafe Crawl” Web App with Reminders&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;A simple web app that pulls cafe, brunch spot, and restaurant info from OpenStreetMap, then turns it into a running list of places to try. The app keeps the list fresh, sends you “hey, try this place!” reminders, and lets you track whether a spot is worth going back to or not.&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;Saturday morning: You get a ping – Your cafe pick this week: The Green Bean Cafe – 2km away.”You head there, try it out, and tap “Loved it” when you get home. Next week, the app suggests somewhere new.&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I officially regret throwing that idea into ChatGPT to flesh out.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/122837879242157067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/122837879242157067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/122837879242157067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/122837879242157067'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/08/food-crawl-agent.html' title='Things to go vibe code: Food Crawl Agent'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6721365467984248704</id><published>2025-08-09T12:09:00.007+09:30</published><updated>2025-08-10T02:09:13.554+09:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="ideas"/><category scheme="http://www.blogger.com/atom/ns#" term="mealie"/><title type='text'>Recipes; the Gantt chart</title><content type='html'>&lt;div&gt;Mealie&#39;s current &#39;cook mode&#39; leaves a lot of room for improvement - they removed&amp;nbsp;&lt;a href=&quot;https://github.com/mealie-recipes/mealie/pull/4857&quot;&gt;Timers&lt;/a&gt;&amp;nbsp;just because it wouldn&#39;t work for some devices, and they can&#39;t be &lt;a href=&quot;https://github.com/mealie-recipes/mealie/pull/4997&quot;&gt;stuffed&lt;/a&gt;&amp;nbsp;reviewing UX improvements to it.&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjUwOTBmbnzUtiFdMj6syFpX6yZ07tjMs2s_pweKXnNisvoznDpbn7b8XtT8J9NaLxeFf1gHGeGcGLC3sCIhDb-61YtOmvzt0djUmfQy52mewCfrIikWej0_EcEi5NMWsAy-F6zg5GlReEAEuZu1wPMlccLZBRHI6rG_7QhvnzXBSy_E6wvDABXuQ&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;1050&quot; data-original-width=&quot;1918&quot; height=&quot;175&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjUwOTBmbnzUtiFdMj6syFpX6yZ07tjMs2s_pweKXnNisvoznDpbn7b8XtT8J9NaLxeFf1gHGeGcGLC3sCIhDb-61YtOmvzt0djUmfQy52mewCfrIikWej0_EcEi5NMWsAy-F6zg5GlReEAEuZu1wPMlccLZBRHI6rG_7QhvnzXBSy_E6wvDABXuQ&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;My partner&#39;s idea for a overhauling this - fix recipes by plugging them into a Gantt chart structure, so dependencies are mapped between steps.&lt;div&gt;Add timing.&lt;/div&gt;&lt;div&gt;Have a big iPad or tablet of various cooking timers that just run, reading out steps.&lt;/div&gt;&lt;div&gt;To configure, similar UX to music programming software.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Recipe steps are often badly written. Use mealie to extract JSON-LD. Use AI to edit recipe, split any steps where multiple activities are occuring. Use AI to then attempt to do dependencies, so there&#39;s a lot less labor.&lt;/div&gt;&lt;div&gt;Have a repository, where timing is unknown, of techniques and steps with the average times. Or Cook Steak for 7 minutes, or Cook roast at 45 minutes per 500g at 220c. Add confindence scale to steps for your env.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Add references for common questions like &quot;what should my eggs look like?&quot;&lt;/div&gt;&lt;div&gt;Video timestamps from YouTube based on transcript?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6721365467984248704/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6721365467984248704' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6721365467984248704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6721365467984248704'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/08/recipes-gantt-chart.html' title='Recipes; the Gantt chart'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEjUwOTBmbnzUtiFdMj6syFpX6yZ07tjMs2s_pweKXnNisvoznDpbn7b8XtT8J9NaLxeFf1gHGeGcGLC3sCIhDb-61YtOmvzt0djUmfQy52mewCfrIikWej0_EcEi5NMWsAy-F6zg5GlReEAEuZu1wPMlccLZBRHI6rG_7QhvnzXBSy_E6wvDABXuQ=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6446709090622595064</id><published>2025-08-09T12:05:00.002+09:30</published><updated>2025-08-10T02:09:58.181+09:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="lazyweb"/><title type='text'>Anti Stalebot</title><content type='html'>I remember lazyweb, and was looking for a stream of inspiration.&lt;div&gt;I found a more modern version in&amp;nbsp;&lt;a href=&quot;https://github.com/h5bp/lazyweb-requests&quot;&gt;https://github.com/h5bp/lazyweb-requests&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For some stupid reason, they switched on Stalebot. This nuked the utility of the project by stifling conversation and ideas. Then they archives the project, closing off all conversation entirely.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is as though they did not understand the point of the very thing they created.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Talking this through with my partner; she hit on the idea of a summarisation tool that just vibe codes the idea as a last gasp, whenever Stalebot comments.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Some things will be terrible, with useless input. But for the good ideas in the world that are about to die because some maintainer didn&#39;t think about how people work or how to have an attention span more than a few weeks wide, it would have the possibility to refresh a project or provide fertile ground for a fork.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6446709090622595064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6446709090622595064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6446709090622595064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6446709090622595064'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/08/anti-stalebot.html' title='Anti Stalebot'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-2392773923788193061</id><published>2025-06-20T18:25:00.002+09:30</published><updated>2025-06-20T18:33:27.731+09:30</updated><title type='text'>AI persona capybara tests</title><content type='html'>What does it look like when we move from capybara/selenium, scripted, mostly deterministic tests to a fuzzing mindset coupled with ai personas?&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;div&gt;The idea of a user persona as a design tool has existed for some time, but I have rarely found them durable, long term aides beyond &quot;job role&quot; in a BDD context.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;But we have had game &quot;AI&quot; for some time, notably in things like Rimworld where a given persona has agency - it may still be limited, but in any given situation you can rely on it to maximise X or minimise Y.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;What does it look like for A/B testing with synthetic personas? What does it look like when your end to end test has an AI agent that is pretending it has the cognition of a 70 year old?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Is there value here?&lt;/div&gt;&lt;div&gt;Or is this, like the hand crafted personas, just fluff?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the most part - for the deterministic, repeatable results - you don&#39;t need AI so much as you just want a set of words with enough weighting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Picture these basic agents.&lt;/div&gt;&lt;div&gt;The optimist:&lt;/div&gt;&lt;div&gt;Just keeps clicking yes, proceed, next, I agree!&lt;/div&gt;&lt;div&gt;Never fills in a form until an error demands it.&lt;/div&gt;&lt;div&gt;If the text has a positive sentiment, they are on board.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The pessimist:&lt;/div&gt;&lt;div&gt;The inverse of the above&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The cheapskate:&lt;/div&gt;&lt;div&gt;Looks for the second lowest &#39;price&#39; on a page and focuses on that for purchase.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All seem buildable.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/2392773923788193061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/2392773923788193061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2392773923788193061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2392773923788193061'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/06/ai-persona-capybara-tests.html' title='AI persona capybara tests'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-1577669904266223113</id><published>2025-05-26T21:49:00.001+09:30</published><updated>2025-05-26T21:49:50.212+09:30</updated><title type='text'>Anarcho-Guerrilla Tactics for Home Improvement</title><content type='html'>This weekend represented a crucial high point of trust with my partner.&lt;div&gt;She put down the feed of furniture restoration shorts.&lt;/div&gt;&lt;div&gt;She... asked to touch my chop saw.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;What followed was my clumsy, clumsy &quot;don&#39;t put your fingers in that&quot;; and some precision cut shelf spacers execute by her while maintaining direct eye contact.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Our spice shelf has never been so organised.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Dear readers, where do go to next?&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/1577669904266223113/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/1577669904266223113' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1577669904266223113'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1577669904266223113'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/05/anarcho-guerrilla-tactics-for-home.html' title='Anarcho-Guerrilla Tactics for Home Improvement'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-8134346467418023221</id><published>2025-04-16T19:56:00.001+09:30</published><updated>2025-04-16T19:56:07.432+09:30</updated><title type='text'>FHIR, Smart Forms and Data Collection</title><content type='html'>&lt;p&gt;The AHERC&#39;s smart forms are pretty neat:&amp;nbsp;https://github.com/aehrc/smart-forms&lt;/p&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;My day gig - a product called CareRight - does a lot of pretty special things with customisable forms and in-clinic followup automations based on your answers. But right now we are an island, reaching out to others to communicate - email, SMS, secure messaging - any channel we can find.&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;What excites me more than the status quo over the next few years is the idea that you can visit a doctor at location A with System B, upload a &lt;a href=&quot;https://build.fhir.org/ig/HL7/sdc/StructureDefinition-sdc-questionnaire.html&quot;&gt;StructuredDataCapture FHIR&lt;/a&gt; questionnaire to my health record or secure messaging, and specialist X with system Y gets an instant understanding of who you are and what you need.&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;While it may take a little while for these ideas to fully gain traction in the Australian PAS/EMR ecosystem, it feels like it&#39;s just around the corner.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/8134346467418023221/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/8134346467418023221' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8134346467418023221'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8134346467418023221'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/04/fhir-smart-forms-and-data-collection.html' title='FHIR, Smart Forms and Data Collection'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-2098973302599286864</id><published>2025-04-16T19:52:00.002+09:30</published><updated>2025-04-16T19:52:18.569+09:30</updated><title type='text'>Assembling all of the prices</title><content type='html'>&lt;p&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;Did you know; there&#39;s only around 800 supermarket chains in the world (notable enough to get into wikidata), and only about 200-300 of them offer some kind of online shopping capability? Of those, 110 offer&lt;/span&gt;&lt;span class=&quot;white-space-pre&quot; style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline; white-space: pre !important;&quot;&gt; &lt;/span&gt;&lt;a class=&quot;nSQFvuQPhlzcAzuvooaBfCESUDJTjWmmEM &quot; data-test-app-aware-link=&quot;&quot; href=&quot;http://schema.org/&quot; style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgb(10, 102, 194); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: #0a66c2; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 600; line-height: inherit !important; margin: 0px; overflow-wrap: normal; padding: 0px; position: relative; text-decoration-color: rgb(10, 102, 194); text-decoration-line: none; text-decoration-style: solid; touch-action: manipulation; vertical-align: baseline; word-break: normal;&quot; tabindex=&quot;0&quot; target=&quot;_self&quot;&gt;schema.org&lt;/a&gt;&lt;span class=&quot;white-space-pre&quot; style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline; white-space: pre !important;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;terms.&lt;/span&gt;&lt;/p&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;Sadly, very few of those publish a GTIN (barcode).&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;Side project for the week has been scraping all of the grocery sites to build an open index of prices; complementary to OpenFoodFacts&#39; open-prices data.&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px;&quot;&gt;The ultimate intent is to try and glue it together with ODNC APIs and build a plugin for mealie/home assistant&#39;s shopping lists.&lt;/span&gt;&lt;span style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 14px; line-height: inherit !important; margin: 0px; outline: rgba(0, 0, 0, 0.9) none 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&lt;br style=&quot;box-sizing: inherit; line-height: inherit !important;&quot; /&gt;&lt;/span&gt;&lt;a href=&quot;goog_925629461&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;div&gt;&lt;a href=&quot;https://github.com/CLoCkWeRX/alltheprices/&quot;&gt;https://github.com/CLoCkWeRX/alltheprices/&lt;/a&gt;&amp;nbsp;is the work so far.&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/2098973302599286864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/2098973302599286864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2098973302599286864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2098973302599286864'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/04/assembling-all-of-prices.html' title='Assembling all of the prices'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-2792477101581699015</id><published>2025-02-21T19:42:00.004+10:30</published><updated>2025-02-21T19:42:31.332+10:30</updated><title type='text'>Hedwig and the Angry Inch (2025, Adelaide)</title><content type='html'>My partner and I went off to see Hedwig and the Angry Inch (2025, Adelaide); and we both left fairly sad.

It was a surreal experience, as there was literally a standing ovation from the crowd; but I&#39;ve never felt more disengaged or out of touch with a story - I did not understand the gulf between the &quot;more normie&quot; audience experience and mine at all.

It was weird, in that it didn&#39;t seem to understand grungey queer burlesque origins, it disneyified the main character but not as a villain (who I now understand is meant to be relatable only in that they are just as broken as you or I); and I completely missed half of the narrative having forgotten the salient points of the movie version.

But it was a &quot;packed&quot; show with a high ticket price.

I feel very mixed thinking about this vs the raw, authentic feel of seeing; say, sewer rat girl (https://www.gogosiobhan.com/srg) or the many talented baby drag performers doing their craft at now defunct places like my lover cindi. I don&#39;t know what to do with this, because I&#39;m broadly a cis male attempting not to be a dick in the world.

But there&#39;s fuck all reviews apart from press releases (&quot;wickedly funny&quot;, &quot;raw energy&quot;); and I have a vague apprehension this is sucking attention and $ away from far better folx doing way better stuff, still with broad appeal.

If you are looking for something a bit weird but with story and emotion, I strongly suggest you look elsewhere this fringe; ie https://adelaidefringe.com.au/fringetix/mel-mcglensey-is-motorboat-af2025 or 


</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/2792477101581699015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/2792477101581699015' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2792477101581699015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2792477101581699015'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/02/hedwig-and-angry-inch-2025-adelaide.html' title='Hedwig and the Angry Inch (2025, Adelaide)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-4718295125637926494</id><published>2025-02-01T16:14:00.007+10:30</published><updated>2025-02-01T16:14:57.158+10:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="vuejs"/><title type='text'>Tinkering with the SpeechSynthesis API in Mealie, Vue2</title><content type='html'>&lt;p&gt;I&#39;m fairly happy with &lt;a href=&quot;https://mealie.io/&quot;&gt;Mealie&lt;/a&gt;, though every time I put down VueJS for a hot minute I forget about the pain of fighting the data binding behaviours.&lt;/p&gt;&lt;p&gt;Knocked together:&amp;nbsp;&lt;a href=&quot;https://github.com/mealie-recipes/mealie/pull/4997&quot;&gt;https://github.com/mealie-recipes/mealie/pull/4997&lt;/a&gt;; and it seems to be one of the &lt;i&gt;actually useful &lt;/i&gt;times I&#39;d ever use this API. UX needs a bit more tinkering, to allow auto play or pausing, potentially speech recognition for various commands.&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;iframe allowfullscreen=&#39;allowfullscreen&#39; webkitallowfullscreen=&#39;webkitallowfullscreen&#39; mozallowfullscreen=&#39;mozallowfullscreen&#39; width=&#39;320&#39; height=&#39;266&#39; src=&#39;https://www.blogger.com/video.g?token=AD6v5dxOYqc-IIAZOZI0MdYtJWSAM6JM11g9B6x4W8SDd1TRxRogpy4b8pMZ6t2Mci7RVteg2UaXPrAxjpY&#39; class=&#39;b-hbp-video b-uploaded&#39; frameborder=&#39;0&#39;&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/4718295125637926494/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/4718295125637926494' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4718295125637926494'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4718295125637926494'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/02/tinkering-with-speechsynthesis-api-in.html' title='Tinkering with the SpeechSynthesis API in Mealie, Vue2'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-953951779758006469</id><published>2025-01-01T18:25:00.001+10:30</published><updated>2025-04-16T19:51:03.403+09:30</updated><title type='text'> Recent random projects in the Adelaide heatwave</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;- Spent a while making sure I had a vermiculture heat alarm in home assistant&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;- Fought too much of Vue2 in Mealie (a self hosted recipe manager) to make a lot of PR spam - https://lnkd.in/gtQS4FyR so a tablet can tell me step by step how to cook&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;- Finally picked back up localtuya to find someone else had actually forked it (yay); but am now arguing with cheap DETA bunnings nonsense.&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;&lt;br style=&quot;box-sizing: inherit;&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;background: none 0% 0% / auto repeat scroll padding-box border-box rgb(255, 255, 255); border-color: rgba(0, 0, 0, 0.9); border-image: none 100% / 1 / 0 stretch; border-style: none; border-width: 0px; box-sizing: inherit; color: rgba(0, 0, 0, 0.9); counter-reset: list-1 0 list-2 0 list-3 0 list-4 0 list-5 0 list-6 0 list-7 0 list-8 0 list-9 0; cursor: text; font-family: -apple-system, system-ui, BlinkMacSystemFont, &amp;quot;Segoe UI&amp;quot;, Roboto, &amp;quot;Helvetica Neue&amp;quot;, &amp;quot;Fira Sans&amp;quot;, Ubuntu, Oxygen, &amp;quot;Oxygen Sans&amp;quot;, Cantarell, &amp;quot;Droid Sans&amp;quot;, &amp;quot;Apple Color Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Emoji&amp;quot;, &amp;quot;Segoe UI Symbol&amp;quot;, &amp;quot;Lucida Grande&amp;quot;, Helvetica, Arial, sans-serif; font-size: 20px; line-height: 1.5; margin: 0px; padding: 0px; vertical-align: baseline; white-space-collapse: preserve;&quot;&gt;Send help, I have bought too many cheap plant sensors and smart power meter monitoring devices.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/953951779758006469/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/953951779758006469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/953951779758006469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/953951779758006469'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2025/01/recent-random-projects-in-adelaide.html' title=' Recent random projects in the Adelaide heatwave'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-8638902295549297626</id><published>2024-12-01T19:45:00.001+10:30</published><updated>2025-04-16T19:50:20.133+09:30</updated><title type='text'>Adding GBIF to Growstuff</title><content type='html'>There&#39;s a side project I&#39;m a bit proud of, &lt;a href=&quot;http://growstuff.org&quot;&gt;growstuff.org&lt;/a&gt; - in a few off hours on the weekend here and there, I &lt;a href=&quot;https://github.com/Growstuff/growstuff/pull/3559&quot;&gt;linked up&lt;/a&gt; what people decide to grow and raise into &lt;a href=&quot;https://www.gbif.org/&quot; target=&quot;_blank&quot;&gt;GBIF&lt;/a&gt;, a massive biological observations index; home assistant (because clearly when the corn is ready for harvest I need to send broadcast events to my Google home), and plugged in an iCal feed to my phone to get predictions about what will be ready for harvest when.

&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/8638902295549297626/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/8638902295549297626' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8638902295549297626'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8638902295549297626'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2024/12/adding-gbif-to-growstuff.html' title='Adding GBIF to Growstuff'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6947812171450146874</id><published>2024-07-01T16:15:00.001+09:30</published><updated>2025-02-01T16:21:46.289+10:30</updated><title type='text'>OpenStreetMap: How do we streamline the import proposal/data quality assessment flow?</title><content type='html'>&lt;p&gt;Cross posted from&amp;nbsp;&lt;a href=&quot;https://www.openstreetmap.org/user/CloCkWeRX/diary/404717&quot;&gt;https://www.openstreetmap.org/user/CloCkWeRX/diary/404717&lt;/a&gt;&lt;/p&gt;
&lt;div&gt;
&lt;h2&gt;&lt;a href=&quot;https://www.openstreetmap.org/user/CloCkWeRX/diary/404717&quot;&gt;How do we streamline the import proposal/data quality assessment flow?&lt;/a&gt;&lt;/h2&gt;
&lt;small&gt;Posted by&amp;nbsp;&lt;a href=&quot;https://www.openstreetmap.org/user/CloCkWeRX&quot;&gt;CloCkWeRX&lt;/a&gt;&amp;nbsp;on 29 July 2024 in&amp;nbsp;&lt;a href=&quot;https://www.openstreetmap.org/diary/en&quot;&gt;English&lt;/a&gt;.&lt;/small&gt;&lt;/div&gt;
&lt;div lang=&quot;en&quot; xml:lang=&quot;en&quot;&gt;
&lt;h1&gt;The problem&lt;/h1&gt;
&lt;p&gt;We are generating an increasing level of data as a society. An unstated goal of openstreetmap that many contributors subscribe to is &amp;ldquo;completeness&amp;rdquo; or &amp;ldquo;accuracy&amp;rdquo;, which works fine when you dataset is small, local and high level detail, but less so when scaled up to determining if every traffic light crossing in the world has tactile paving.&lt;/p&gt;
&lt;p&gt;So naturally, automation and data imports are where people start to look; and very sensibly there&amp;rsquo;s a process to propose, review and ingest large datasets.&lt;/p&gt;
&lt;p&gt;However, this relies on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Expertise and peer review&lt;/li&gt;
&lt;li&gt;Honesty and diligence of the importer to have and execute a QA plan&lt;/li&gt;
&lt;li&gt;A second level of QA tools and mappers to QA and maintain data&lt;/li&gt;
&lt;/ul&gt;
&lt;h1&gt;What could we do differently?&lt;/h1&gt;
&lt;p&gt;In the semantic web/linked data world, two big concepts emerged. The first is the semantic web layer cake, which talks about going from &amp;ldquo;machine readable&amp;rdquo; to &amp;ldquo;schemas&amp;rdquo; to &amp;ldquo;query&amp;rdquo; to &amp;ldquo;proof&amp;rdquo; to &amp;ldquo;trust&amp;rdquo;. In OSM terms these are poi, tags, overpass, a lot of tools like keep right or osmose, and at the moment, human boots on the ground survey.&lt;/p&gt;
&lt;p&gt;The concept of 5 star open data is focused on the idea that we have a lot of data locked up in silos - and while it would be ideal to align it to every standard and have the highest quality possible data; 95% of the time it&amp;rsquo;s better to publish anything at all rather than wait until it&amp;rsquo;s perfect. So long as data consumers have an idea of the limitations, they can apply judgement when attempting to use it.&lt;/p&gt;
&lt;h2&gt;What is the current state?&lt;/h2&gt;
&lt;p&gt;A number of open data portals provide basic indicators of &amp;ldquo;5 star open data&amp;rdquo; quality.&lt;/p&gt;
&lt;p&gt;In our wiki, we maintain documentation which describes the OSM community&amp;rsquo;s view on data quality of an external dataset.&lt;/p&gt;
&lt;p&gt;We have tags for change sets describing the source.&lt;/p&gt;
&lt;h2&gt;What specifically would we change?&lt;/h2&gt;
&lt;p&gt;I&amp;rsquo;m proposing a set of tools or standard metadata for annotating external datasets and proposed/approved exports; so that editing and conflation tools can reason about the quality of data.&lt;/p&gt;
&lt;p&gt;IE, if you have a dataset which is derived from OSM, corrects wrong tags and it has been human verified from a random sampling of 5% of the data? That&amp;rsquo;s a good candidate for letting a maintenance bot operate on this with minimal oversight, and is potentially 5 star quality.&lt;/p&gt;
&lt;p&gt;Have a stream of AI generated shop names from street level imagery? Tag that was 2/5 and have flags for requiring human verification, even if it is one click approval.&lt;/p&gt;
&lt;h2&gt;What would be the impact?&lt;/h2&gt;
&lt;p&gt;By having these standards in place, tools that are typically used for bulk imports or conflation can add extra guard rails around the process; and from a community review/import approval perspective it becomes a discussion about the higher risk aspects of an import.&lt;/p&gt;
&lt;p&gt;It also then greenlights a degree of automated maintenance activities -&amp;nbsp;&lt;em&gt;after&lt;/em&gt;&amp;nbsp;data is imported and mappers are promoted to confirm accuracy in the ground; it then becomes lower risk to trust that data source for bots updating existing attributes.&lt;/p&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6947812171450146874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6947812171450146874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6947812171450146874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6947812171450146874'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2024/07/openstreetmap-how-do-we-streamline.html' title='OpenStreetMap: How do we streamline the import proposal/data quality assessment flow?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-4110432508096171854</id><published>2023-02-05T21:46:00.002+10:30</published><updated>2023-02-05T21:46:33.416+10:30</updated><title type='text'>My Smart Home Bluetooth Scale I bought from Aldi wants to revoke my right to protest</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Nice try, clause 4.2.2.1 (6)!&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiwiFOjkPzBhtjUBvqW7bPUsYdmfGyBCgdxI4vXqgYpY0BTQ6afn1LVDWxd1LjLINaWfhu1Me9uNm-qS5k2hr8QGp1Ll1_i0Xrd8bbJfNjDCdLABOYCQE8__4jKLOVJDgRF4pKNCTqZTIyGkxM8hlpd9J9IqQSCTlnzWX1bcOPDU_YZm-dYT1E&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;975&quot; data-original-width=&quot;450&quot; height=&quot;240&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEiwiFOjkPzBhtjUBvqW7bPUsYdmfGyBCgdxI4vXqgYpY0BTQ6afn1LVDWxd1LjLINaWfhu1Me9uNm-qS5k2hr8QGp1Ll1_i0Xrd8bbJfNjDCdLABOYCQE8__4jKLOVJDgRF4pKNCTqZTIyGkxM8hlpd9J9IqQSCTlnzWX1bcOPDU_YZm-dYT1E&quot; width=&quot;111&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/4110432508096171854/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/4110432508096171854' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4110432508096171854'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4110432508096171854'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2023/02/my-smart-home-bluetooth-scale-i-bought.html' title='My Smart Home Bluetooth Scale I bought from Aldi wants to revoke my right to protest'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEiwiFOjkPzBhtjUBvqW7bPUsYdmfGyBCgdxI4vXqgYpY0BTQ6afn1LVDWxd1LjLINaWfhu1Me9uNm-qS5k2hr8QGp1Ll1_i0Xrd8bbJfNjDCdLABOYCQE8__4jKLOVJDgRF4pKNCTqZTIyGkxM8hlpd9J9IqQSCTlnzWX1bcOPDU_YZm-dYT1E=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6211131797914398423</id><published>2022-12-11T13:32:00.002+10:30</published><updated>2022-12-11T13:43:45.384+10:30</updated><title type='text'>Home Assistant with Feedreader for Google Alerts (monitor a share), Planning Alerts (new developments in your area), Open Australia (what your local member says and does)</title><content type='html'>RSS is a really powerful tool. Google Alerts allows you to monitor for news and new results, and importantly output to an RSS feed.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here I&#39;m picking an Adelaide company I quite like; to monitor few news via their stock ticker:&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEijD9OsCWsCfr9PUl_py8suvEk3Wc7_ZKB0VSPdHLIVtzfUO34uXvb6UhwVFCSR9stz0reX3y5gwV-JCQm8OxaIkVJhPVCx-0zp6J8w98Ugi4KjZs9Rhd-5TLfDJ9ogq3Q0PGInpApOmaFF3rKByP3KvcPTzGA2Ub54dbasExz1JLrtvhakfe8&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;828&quot; data-original-width=&quot;1225&quot; height=&quot;216&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEijD9OsCWsCfr9PUl_py8suvEk3Wc7_ZKB0VSPdHLIVtzfUO34uXvb6UhwVFCSR9stz0reX3y5gwV-JCQm8OxaIkVJhPVCx-0zp6J8w98Ugi4KjZs9Rhd-5TLfDJ9ogq3Q0PGInpApOmaFF3rKByP3KvcPTzGA2Ub54dbasExz1JLrtvhakfe8&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;Through HomeAssistant, you simply want to enable that RSS feed via the &lt;a href=&quot;https://www.home-assistant.io/integrations/feedreader/&quot;&gt;feedreader&lt;/a&gt;&amp;nbsp;component.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Very quickly, you&#39;ve suddenly got a push notifications:&lt;/div&gt;&lt;div&gt;&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjWVGPpnG7X0t3AHIMFdfn_fKqgohSpEtMXDOZPGwHVvBnmAW2dZvAdm5mk_U1nCcP3CTmoMvYfbCGZz_VPuI-jmEDS6oO38UY6UGypbX_cGg4p-yPh535vqoYoHCzbrx7Gb3aSU6MDu2GpEc1Y-LwrWBYWOc-cjp2-v_cqolvFOBpJ18lou30&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img alt=&quot;&quot; data-original-height=&quot;515&quot; data-original-width=&quot;1071&quot; height=&quot;154&quot; src=&quot;https://blogger.googleusercontent.com/img/a/AVvXsEjWVGPpnG7X0t3AHIMFdfn_fKqgohSpEtMXDOZPGwHVvBnmAW2dZvAdm5mk_U1nCcP3CTmoMvYfbCGZz_VPuI-jmEDS6oO38UY6UGypbX_cGg4p-yPh535vqoYoHCzbrx7Gb3aSU6MDu2GpEc1Y-LwrWBYWOc-cjp2-v_cqolvFOBpJ18lou30&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;This opens up a huge range of possibilities. Want to have your automation platform let you know when your&amp;nbsp;&lt;a href=&quot;https://www.openaustralia.org.au/search/?s=cycling&amp;amp;pid=10874&quot;&gt;local representative talks about cycling infrastructure?&lt;/a&gt;&lt;/div&gt;&lt;div&gt;What about automatically discovering your neighbour is going to knock down your fence via&amp;nbsp;&lt;a href=&quot;https://www.planningalerts.org.au/api/howto&quot;&gt;planning applications in your area&lt;/a&gt;?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6211131797914398423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6211131797914398423' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6211131797914398423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6211131797914398423'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2022/12/home-assistant-with-feedreader-for.html' title='Home Assistant with Feedreader for Google Alerts (monitor a share), Planning Alerts (new developments in your area), Open Australia (what your local member says and does)'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/a/AVvXsEijD9OsCWsCfr9PUl_py8suvEk3Wc7_ZKB0VSPdHLIVtzfUO34uXvb6UhwVFCSR9stz0reX3y5gwV-JCQm8OxaIkVJhPVCx-0zp6J8w98Ugi4KjZs9Rhd-5TLfDJ9ogq3Q0PGInpApOmaFF3rKByP3KvcPTzGA2Ub54dbasExz1JLrtvhakfe8=s72-c" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-1718023813377902509</id><published>2020-08-14T19:29:00.004+09:30</published><updated>2020-08-14T19:34:14.921+09:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="robots"/><title type='text'>Configuring Wifi for a Samsung Powerbot without the Remote</title><content type='html'>&lt;p&gt;I bought a Powerbot vacuum a month or two ago, minus the power pack and remote.&lt;/p&gt;&lt;p&gt;I figured it would be straightforward, but ended up spending a lot of time tracking down an SLPS-250FFOT charger, then finally the AU adapter for it.&lt;/p&gt;&lt;p&gt;Only today did I manage to plug in my robot vacuum and...&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Immediately failed to install the SmartThings app on my Samsung A11. What the actual fuck. How is your legacy SmartThings classic app supported on this phone, but your rewrite isnt?&lt;/p&gt;&lt;p&gt;I installed the classic app, started and...&lt;/p&gt;&lt;p&gt;&lt;i&gt;Error downloading countries list.&lt;/i&gt;&lt;/p&gt;&lt;p&gt;Why. What server did you kill off in June 2020 that you shouldnt have?&lt;/p&gt;&lt;p&gt;After a bunch of googling and an angry review later, I found my old S7 and installed the SmartThings app, as my battery dwindled rapidly.&lt;/p&gt;&lt;p&gt;Setup new device, vacuum, and.... wait what. Press the &lt;a href=&quot;https://www.samsung.com/au/support/home-appliances/powerbot-wifi-faq/&quot;&gt;
CLOCK button on the remote&lt;/a&gt; to put it into AP mode, so I can connect wifi?&lt;/p&gt;&lt;p&gt;I didnt get a remote. A replacement is $75AUD. My bargain bot is turning into a nightmare.&lt;/p&gt;&lt;p&gt;One forum poster suggested they got past this step, but not how.&lt;/p&gt;&lt;p&gt;It turns out if you switch it off with the emergency switch, and it has no wifi, it is open to configuration.&lt;/p&gt;&lt;p&gt;Oh thank god.&lt;/p&gt;&lt;p&gt;So now, with the help of a party hat and homeassistant, I have a robot vacuum that is cleaning my house when I leave for the pub.&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/1718023813377902509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/1718023813377902509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1718023813377902509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/1718023813377902509'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2020/08/configuring-wifi-for-samsung-powerbot.html' title='Configuring Wifi for a Samsung Powerbot without the Remote'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6691766483268176935</id><published>2018-05-24T20:01:00.001+09:30</published><updated>2018-05-24T20:01:12.018+09:30</updated><title type='text'>Paywave/mobile payments for Chuggers</title><content type='html'>&lt;p dir=&quot;ltr&quot;&gt;I dont like high pressure fake charity collectors; but a chap with a can collecting for something like MS; I trust a lot more - no getting my credit card details; if I say no; they wander on.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Around Adelaide there is a particularly entertaining lady who has a very big McCaw with her - her success rate must be fairly good.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Most of the time though these days; I have to say I have no spare change, only card.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;So, dear lazyweb; can someone please make a QR code or similar &quot;open url&quot; kit; letting someone with a smart phone tip - be it through an app store like subscription; a one click donate with the web payments API; or the charity equivalent of a kickstarter.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;What I want as a donator:&lt;br&gt;
- Mutually shared identity. Who am I giving my $ to, and do they have a scumbag rating?&lt;br&gt;
- No spam. My local animal shelter spends a lot on print/mailouts to prompt recurring donation. If I can tell them not to spend $5 on media but on their cause; thats better for all&lt;br&gt;
- kickstarter like updates; *if* I opt in to a specific project. &lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6691766483268176935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6691766483268176935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6691766483268176935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6691766483268176935'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2018/05/paywavemobile-payments-for-chuggers.html' title='Paywave/mobile payments for Chuggers'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-2546504076935880909</id><published>2017-08-25T17:39:00.001+09:30</published><updated>2017-08-25T17:39:53.930+09:30</updated><title type='text'>Wanted: Owntracks clients as easy as Slack</title><content type='html'>&lt;p dir=&quot;ltr&quot;&gt;Right now its tricky for groups of cyclists to coordinate.&amp;nbsp; It&#39;s very easy to get split,&amp;nbsp; and hard to meet a group mid ride. &lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Owntracks solves a lot of this;&amp;nbsp; but setting up your own mqtt broker is tricky.&amp;nbsp; Some hosted options exist,&amp;nbsp; but then configuring is tricky for non tech users - remote config/config import helps alot; but its not perfect.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;Secondly,&amp;nbsp; I have multiple groups I want to share my location with for different purposes.&lt;/p&gt;
&lt;p dir=&quot;ltr&quot;&gt;I really wish the owntracks clients were as easy as the slack mobile clients - easy team swapping,&amp;nbsp; easy signin.&lt;br&gt;
&lt;/p&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/2546504076935880909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/2546504076935880909' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2546504076935880909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/2546504076935880909'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2017/08/wanted-owntracks-clients-as-easy-as.html' title='Wanted: Owntracks clients as easy as Slack'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-505449861464211950</id><published>2016-06-11T18:04:00.001+09:30</published><updated>2016-06-11T18:04:59.561+09:30</updated><title type='text'>Strava game idea: CTF</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Foursquare made me think about this, with its checkins and mayorships - it&#39;s basically just CTF, but an individual game.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
At the same time as that is happening, Strava is posting challenges; people are&amp;nbsp;&lt;a href=&quot;http://www.everesting.cc/&quot;&gt;everesting&lt;/a&gt;, and groups naturally form around the sport.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
So why not use the strava API to detect &lt;i&gt;time spent since someone climbed a particular hill&lt;/i&gt;, and give the score as time&amp;nbsp;+ elevation * number of people who climbed it on your &#39;team&#39;.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Now if only I wasn&#39;t riding so much that I could implement a prototype :(&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/505449861464211950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/505449861464211950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/505449861464211950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/505449861464211950'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2016/06/strava-game-idea-ctf.html' title='Strava game idea: CTF'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-6579032327934529310</id><published>2015-11-10T13:42:00.000+10:30</published><updated>2015-11-10T13:42:18.710+10:30</updated><title type='text'>Getfridged implementation</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
That &lt;a href=&quot;http://www.treehugger.com/gadgets/app-tells-you-when-food-fridge-go-bad.html&quot;&gt;took a while&lt;/a&gt;!&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/6579032327934529310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/6579032327934529310' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6579032327934529310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/6579032327934529310'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/11/getfridged-implementation.html' title='Getfridged implementation'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-4879032421432244612</id><published>2015-11-05T11:17:00.001+10:30</published><updated>2015-11-05T11:17:14.182+10:30</updated><title type='text'>A wonderful insight into one of the creators of Bojack Horseman</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;iframe width=&quot;320&quot; height=&quot;266&quot; class=&quot;YOUTUBE-iframe-video&quot; data-thumbnail-src=&quot;https://i.ytimg.com/vi/f6F_CF7Yvo0/0.jpg&quot; src=&quot;https://www.youtube.com/embed/f6F_CF7Yvo0?feature=player_embedded&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/4879032421432244612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/4879032421432244612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4879032421432244612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/4879032421432244612'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/11/a-wonderful-insight-into-one-of.html' title='A wonderful insight into one of the creators of Bojack Horseman'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/f6F_CF7Yvo0/default.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-8205176474859250916</id><published>2015-08-08T20:32:00.001+09:30</published><updated>2015-08-08T20:32:57.339+09:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="IFTTT"/><category scheme="http://www.blogger.com/atom/ns#" term="reddit"/><title type='text'>Tips for switching between BPM&#39;s?</title><content type='html'>&lt;div class=&quot;md&quot;&gt;
&lt;p&gt;I have been trying to wrap my head around good ways to do this. I play dance floor music: Drum and bass, glitch hop, call it &quot;EDM&quot; If you have to :P. Generally i Am floating around 87 - 90 bpm: So for example I would like to switch into a 115 or 140 track from that. Anyone have good tips other than transitioning two ambient parts together? That generally doesn&#39;t work well with the genres I am playing as there is always some sort of beat going.&lt;/p&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Submitted August 08, 2015 at 03:13PM by grey_mattersDNB http://ift.tt/1OWWYnM
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/8205176474859250916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/8205176474859250916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8205176474859250916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/8205176474859250916'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/08/tips-for-switching-between-bpms.html' title='Tips for switching between BPM&#39;s?'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-757856678015814563</id><published>2015-04-24T21:50:00.002+09:30</published><updated>2015-04-24T21:50:54.925+09:30</updated><title type='text'>Well, that was a hell of a birthday</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Doctor tells me by SMS I have a good chance of getting cirrhosis because of my genetics.&lt;/li&gt;
&lt;li&gt;Venue cancels on me the day before; after having waited a full extra fortnight due to availability.&lt;/li&gt;
&lt;li&gt;It&#39;s officially cold, wet and miserable here.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/757856678015814563/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/757856678015814563' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/757856678015814563'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/757856678015814563'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/04/well-that-was-hell-of-birthday.html' title='Well, that was a hell of a birthday'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-3265910960078024532</id><published>2015-03-26T09:22:00.001+10:30</published><updated>2015-03-26T09:22:49.698+10:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="IFTTT"/><category scheme="http://www.blogger.com/atom/ns#" term="reddit"/><title type='text'>Internet users urged to go dark on metadata</title><content type='html'>&lt;div xmlns=&#39;http://www.w3.org/1999/xhtml&#39;&gt;http://ift.tt/1FEcjZt&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Submitted March 25, 2015 at 02:31PM by k-h http://ift.tt/1Nenuah&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/3265910960078024532/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/3265910960078024532' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/3265910960078024532'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/3265910960078024532'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/03/internet-users-urged-to-go-dark-on.html' title='Internet users urged to go dark on metadata'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9088824.post-5966769612064012640</id><published>2015-03-22T15:30:00.000+10:30</published><updated>2015-03-22T17:42:19.259+10:30</updated><category scheme="http://www.blogger.com/atom/ns#" term="home automation"/><category scheme="http://www.blogger.com/atom/ns#" term="usability"/><title type='text'>Actual home automation: building the helpful dumb house</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Robots aren&#39;t anywhere close to being able to automate the annoying aspects of our lives.&lt;br /&gt;
&lt;br /&gt;
I&#39;ve gotten another Raspberry Pi, and the first one is working well with Oscar - other projects like TheThingSystem and Ninjablocks have falled by the wayside a little.&lt;br /&gt;
&lt;br /&gt;
The only things I&#39;ve got that I can feasibly automate include an automated cat feeder; or maybe an outdoor vertical garden.&lt;br /&gt;
Neither is really solving a proper life problem - not the same way that watering timers do.&lt;br /&gt;
&lt;br /&gt;
After thinking about it for a while, the issue isn&#39;t making the full leap to automation. A modern flushing toilet is an incredible piece of automation - gone is the requirement to deal with waste daily, and when linked to a modern sewage system; the benefits to health, labour and much more are a very good trade-off.&lt;br /&gt;
All of this is reduced to a simple mechanical button and a charge from your council.&lt;br /&gt;
&lt;br /&gt;
Building collaborative agents that can &lt;i&gt;reason&lt;/i&gt;&amp;nbsp;about the best rules to apply in the best situations is a very hard problem. Simple triggers like &quot;motion detected in room X&quot; firing &quot;switch on light&quot; need contexts and bounds: there&#39;s no point switching on a light if it is daylight; or put better; the ambient light provides a suitable visibility.&lt;br /&gt;
Dealing with multiple actors at once and building models of their &quot;comfort&quot; is way, way beyond what we can do - the sensors we have and means to deal with their input are far far to limited.&lt;br /&gt;
&lt;br /&gt;
Maybe this isn&#39;t such a bad thing. Many people have recently ridiculed light switch apps on phones - a simple mechanical trigger coupled with a human solves the room lighting problem in a residential house really well.&lt;br /&gt;
&lt;br /&gt;
So by that token, &lt;i&gt;what can we do with more limited sensors, automated schedules and basic rules that can be reduced to a user hitting a button; or not?&lt;/i&gt;&lt;br /&gt;
I think the answer goes back to Oscar and TODO list systems like Trello - higher level decision making is almost always going to require a person; and the decision making should be for difficult or relevant tasks.&lt;br /&gt;
Trello and others solve the &lt;i&gt;communication amongst a group of humans &lt;/i&gt;problem really well - it ends up being a really rough service bus.&lt;br /&gt;
&lt;br /&gt;
What can we do to take advantage of that?&lt;br /&gt;
&lt;br /&gt;
Observation 1: The federal government is really stuffing up the South Australian economy, with doubt around renewable energy projects, car manufacturing support ending, defence projects being on-again, off-again.&lt;br /&gt;
&lt;br /&gt;
Observation 2: A lot of skilled labour is looking for new opportunities, through things like Airtasker or Gumtree. Many of these folks aren&#39;t 100% tech saavy, but are tech saavy enough. They aren&#39;t going to earn a living, but they are going to be able to take small opportunities. Provided that doesn&#39;t inflict an opportunity cost on them (being unable to find full time work because they are too busy chasing small scale work).&lt;br /&gt;
&lt;br /&gt;
Observation 3: Service provider hubs are cropping up like wildflowers. The next evolutionary steps for a lot of them are going to be APIs - be it internal APIs for mobile apps or public APIs. Uber has forced all of the taxi companies in South Australia to compete with apps - they aren&#39;t pretty, but they are an evolutionary step.&lt;br /&gt;
In the Philippines, the taxi based culture is very prevalent - aggregators have sprung up with a few major &#39;platforms&#39; allocating work across companies.&lt;br /&gt;
&lt;br /&gt;
Google Now is the best implementation so far of &#39;Helpful Agent&#39; that I&#39;ve seen, recognizing when there is travel happening and prompting with directions, food, etc.&lt;br /&gt;
&lt;br /&gt;
We can surely take the google now approach to sensing when something is happening; and prompting a user for decisions. The candidates should be recurring.&lt;br /&gt;
&lt;br /&gt;
To that end I think my next project is going to be &quot;Raspberry Pi that polls users for feedback constantly&quot;.&lt;br /&gt;
The idea for anyone who has flown through Singapore&#39;s Changi airport is pretty familiar - &lt;i&gt;How would you rate the&amp;nbsp;cleanliness&amp;nbsp;of this room&lt;/i&gt;?&lt;i&gt;&amp;nbsp;Poor, OK, Great?&lt;/i&gt;&amp;nbsp;on a touch screen.&lt;br /&gt;
Combine that with an agent that offers to post a job to Airtasker for a one-off clean, and you are really onto something.&lt;br /&gt;
Apps like&amp;nbsp;http://www.moodpanda.com/ exist, as do a lot of fitness apps (Google health, Up, etc); even for your dog (Whistle; which I have found to be very effective) - people have done a lot of data collection in the past.&lt;br /&gt;
Automating that and focusing on the problem areas in your home is going to create a much smarter sensor. You don&#39;t need to build an entire AI to understand a model of the real world if you optimize the questions correctly.&lt;br /&gt;
&lt;br /&gt;
This will not get us smart houses, but potentially &lt;i&gt;helpful dumb houses&lt;/i&gt;. I think that&#39;s a pretty worthy goal.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://clockwerx.blogspot.com/feeds/5966769612064012640/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment/fullpage/post/9088824/5966769612064012640' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/5966769612064012640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9088824/posts/default/5966769612064012640'/><link rel='alternate' type='text/html' href='http://clockwerx.blogspot.com/2015/03/actual-home-automation-building-helpful.html' title='Actual home automation: building the helpful dumb house'/><author><name>Unknown</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>