Category: Uncategorized

  • Weekly Meetup Wrap – February 4, 2018

    Now that the holidays are over, it seems like most of the local meetups are getting back to a regular cadence. I made it to three very different events this week – SyPy, The Big Security Debate, and Global CFP Diversity Day!

    Sydney Python (or SyPy for short) was held at Optiver Sydney, which is such a great venue. The first speaker was Dr. Paula Sanz-Leon from Sydney Uni talking about pyunicorn. Pyunicorn is a Python package for the advanced analysis and modeling of complex networks. Dr. Sanz-Leon explained that “Anticorrelation and positive correlation are easy to understand, but they aren’t useful to explain nonlinear (chaotic) interactions.” If you want to visualise something complex and chaotic like brainwaves, you need to use recurrence plots.

    The next talk was extremely relevant to my interests. Sean Johnson walked us through his efforts to apply home automation to his air conditioner (“because I live in Blacktown, and it’s ridiculously hot when we get home”). This is something I’ve been planning to do myself! Sean used LIRC, a Raspberry Pi, and Apple’s HomeKit to glue it all together.

    Sean also walked us through some of the general pitfalls of home automation, including the security risks.

    The final talk was Optiver’s own Greg Saunders giving us a gentle introduction to asyncio, a Python module that provides the infrastructure you need for single-threaded asynchronous programming. I was delighted to discover that it’s all about coroutines! (I learned about those from Svetlana Isakova at a YOW! Night last year.)

    On Wednesday night I headed to Surry Hills for The Big Security Debate. This special event was run by the Meetup Madness folks who run a number of cloud and devops meetups across Australia. Several hundred people got together to watch offensive and defensive teams go head-to-head in various scenarios devised by some diabolical moderators.

    I won’t go through all my tweets – as there were many – but needless to say I had a great time. The hackers had a lot of crowd support through most of the scenarios, just because their devious ideas for hacking into systems were pretty entertaining. (They also did some great trash talking.) A lot of the attacks and countermeasures reminded me of a certain television show…

    The red team (aka the hackers) ended up winning the debate and were awarded embroidered hats for their trouble. Hilariously, my tweets on the night were dubbed “the most awesome” and I also won a prize!

    We have plenty of Google Homes. I gave this one to my nephew. 🙂

    The last event of the week was Global CFP Diversity Day. This global community event was inspired by some workshops that ScotlandJS and ScotlandCSS ran in 2016 to increase the diversity of their speaker pool. I discovered the site last December and realised that no one had volunteered to run one in Sydney. So – what the heck! – I put my name down to organise. General Assembly Sydney offered to host and YOW! came onboard to sponsor snacks.

    The Sydney and Melbourne events were the first of 60+ workshops to kick off around the world. Some cities were doing a full day covering the entire process from coming up with an idea through to delivering the talk, but I decided to keep the Sydney event focused on just ideation and abstract writing. I assembled a super team of mentors, several of whom put their hands up to facilitate different activities. It was a lot of fun!

    I heard some amazing talk ideas, and I really hope the participants are inspired to submit them to conferences. We finished the day with a group photo and a promise to run a sequel event (covering writing and delivering the talk) if there’s interest.

    Incidentally, if you’re looking for CFPs to submit your talk ideas to, the Global Diversity CFP Day folks have created a public list curated by all the different event organisers. For Aussie events, this list from Readify is very handy. And of course it goes without saying that you should be submitting to YOW! Data and YOW! Lambda Jam, both of which have CFPs open right now! 🙂

    Other Stuff

    • I really love this CodePen example of encoding raw text into an image using colour. I’ll have to use that to generate a design for a quilt someday…
    • I’ve seen my friend Charlie Gerard demonstrate some very cool “creative coding” projects over the years, many of which involve hardware. (Charlie spoke at the SydJS I curated a couple years back.) But this? This is AMAZING. Charlie is using her brain to control an image in a web browser via Javascript and a wearable EEG. 😲
    • Rebecca Waters from DDD Perth shared this lovely Medium compilation of reactions to last September’s conference.  It included a link to this blog post from Dash Digital which had a glowing review of my keynote.  ☺️

    That’s all for this week!

  • Weekly Meetup Wrap – January 28, 2018

    It was LCA week! Last year I attended my first LinuxConfAU in Hobart, but this year it happened to be in Sydney about 5 minutes from my house. In addition to catching as many sessions as I could and trying to get a normal amount of work done, I also had the honour of being a miniconf organiser. I also went to two different meetups! It made for a hectic week.

    Monday morning began with the Open Hardware Miniconf. Last year I learned to solder, so this year I had another go with the LoliBot! It took me a few goes to get back into it, but luckily I had a great teacher in Leon Wright.

    I didn’t quite get to finish my robot because I had to run off for the Art + Tech exhibition that I’d organised! Eight of the speakers got together over lunch to show off some of the projects they’d be talking about the next day. It was a small logistical challenge, but thankfully the Snook was a massive help. We didn’t quite get the huge crowds I’d hoped for, but that was mostly because the conference was spread out over multiple buildings. Everyone still seemed to enjoy themselves!

    One of my favourite thing to do at conferences is find folks wearing YOW! t-shirts. 🙂

    I caught a few sessions at the end of the Games and FOSS miniconf. One of my favourites was by Jon Manning, a game developer and frequent YOW! speaker from Hobart. Jon spoke about the game Night in the Woods and how the team open-sourced parts of the game during development.

    The miniconf ended with lightning talks, so on a whim I put up my hand to talk about the Scratch game I made for the Harvard CS50 course. It went well! It’s the first 5 minutes of this video…

    Tuesday was the big day – the Art + Tech miniconf! There were so many amazing tweets during the day. Every single speaker went above and beyond what I had even hoped for. I’d like to thank all of them, as well as the organisers who helped make it happen. You can watch almost all of the videos on YouTube here:

    Wednesday was the start of the conference proper. The morning’s keynote was by Karen Sandler from Outreachy, who talked about the pacemaker and defibrillator she has inside her heart. When Karen discovered that she didn’t have access to the code that was literally inside her body, it was the inspiration for a lot of her work with Open Source. I was particularly struck by the bit where she talked about having to get a replacement and discovering to her horror that every model available had wireless connectivity. She had to explain to her doctor that, as a woman on the Internet with opinions, having her heart device connected to the Internet meant she would probably have to change her career. Luckily after much effort they were able to source a single model with the capability of turning this feature off. 😵

    I also saw a very cool talk by Paul Schulz on a project he helped with in Adelaide to build an array of “cosmic ray” (muon) detectors for an art festival. He had one with him, and every time a muon struck it – inside the building! – it would flash and chime. I even got some video.

    My friend Katie Bell also gave a fantastic talk about a fun data project she worked on. The video is here, but spoiler: Yes. Yes, it is. 😂

    Wednesday night I headed to Siteminder‘s office for the Sydney Technology Leaders meetup on “building your brand as a thought leader… or not!” The first speaker was Dave Bolton, head of engineering at WooliesX. Dave spoke about his history in technology, and some of the specific activities he recommends to build your profile within the community. The one about reviewing a professional book on Goodreads surprised me – I’ll have to try that out!

    Next up was my friend and former Canva colleague Rose Powell. Rose gave us some great, practical advice on dealing with the media and how to craft an attention-grabbing conference talk or article title.

    The third speaker was meant to be a public speaking coach, but unfortunately both of the ones we lined up got sick! So I had to step in, and I already told you about that

    We finished the night with a panel, which was great as always. Special shout out to my friend Mick Pollard who basically functioned as a fifth panelist, giving some great advice from his experience running the Devops Sydney meetup group.

    Thursday I made it back to LCA for a few more sessions, including one by the other Devops Sydney organiser, Lindsay Holmwood. Lindsay spoke about Conway’s Law about how it can be applied to open source communities.

    I also saw a really cool talk by Andy Botting and Glenn Guy on the work they’ve done to reverse engineer different Australian catch-up TV services to work on the open source Kodi media player. As someone who used to work on one of those services, this was fascinating to me! (The guys actually saw my tweets and came up to me the next day to ask me about it.)

    Thursday night I skipped the Penguin Dinner at LCA and headed over to Google for the GDG Sydney meetup. It was a small but lively group, and the theme of the night was Open Source and Google. We heard a lot about the Summer of Code program as well as the Google Code-In, and many of the attendees were folks who had participated in the programs in one way or another. There were lots of lightning talks about the work they’d done, and it was really inspirational to see!

    Friday was the last day of LCA, and frankly I was pretty much conferenced out. After a very entertaining and super informative keynote about containers from Jessie Frazelle, I headed over to see my friend Hannah Thompson talk about her project to recreate the Clueless app. You know, the one that Cher uses to pick out her clothes for the day! I loved every single aspect of this talk. Hannah did a fantastic job. So much Jane Austen, and computers, and clothes, and code, and fun. ❤️

    I also really enjoyed Sam Thorogood’s talk about the “death” of the Web, and how progressive web apps can be used to provide app-like functionality within your website. He even did a fun demo turning OFF wifi and showing how your site can still work off-line.

    The last session of the day consisted of fourteen different lightning talks, and they were all pretty excellent. My favourites were from my friend Stephen Dalton of the Gold Coast TechSpace, Benno Rice and his Aristocrat-inspired take on Bitcoin, and Fraser Tweedale teaching me about Hackyll and giving me Haskell flashbacks.

    Overall my second LCA was a great experience. The Snook came along with me to most sessions, and it was the first time we’d ever been to a tech conference together. Being able to duck home for lunch and to sleep in my own bed each night was amazing, and I’m definitely going to miss that the next time I travel to one! I also enjoyed hanging out with so many cool technical women, and the impromptu knitting circles that kept happening during tech talks. 🙂

    Other Stuff

    • My friend Graham Polley from Shine Solutions in Melbourne was featured in this cool video about Google Cloud Dataflow. Nice one!
    • Did you see you can now play old Nintendo games in the browser in this Javascript emulator? Kiss your productivity goodbye.
    • And don’t forget – there are two upcoming YOW! events in Sydney with open Calls for Presentations! YOW! Data will be held on May 14-15 and is looking for speakers on data-driven technologies and applications. YOW! Lambda Jam is coming up on May 21-23 and is all about functional programming.
  • Getting Started with Public Speaking

    I’m one of the organisers of the Sydney Technology Leaders group, and we held a meetup last night on building your personal brand. One of our planned panellists was a public speaking coach, but unfortunately illness caused them to drop out at the last minute. So with a few hours’ notice, I was drafted in as a replacement. (I’ve got a fair bit of experience, and my job with YOW! Conferences means I attend a lot of tech events.) I gave a short “everything I know about public speaking” lightning talk with no slides, and thankfully it went really well! A few attendees asked if I’d share my notes publicly, so I thought I’d post them on LinkedIn in case others find them useful. Just head over there to read!

  • Weekly Meetup Wrap – January 21, 2018

    On paper it seems like this was a light week… but not really. Technically I only made it to one official meetup though – the Android Australia User Group – Sydney. It was a special one too, as it was Georgina’s final meetup as organiser (after 4.5 years!). Before the 😭, we had a couple talks, both of which built on topics I had learned about from YOW! speakers last year…

    The first was by Quirijn Groot Bluemink from The Iconic. Quirijn’s talk was an introduction to Flutter, a new mobile app SDK to help developers and build mobile apps for both iOS and Android. Flutter uses Dart, a programming language that Google developed and uses to run some very large apps.

    I learned about Flutter and Dart last December from Kasper Lund‘s talk at YOW! 2017. Basically it saves you from having to reimplement your app’s functionality for each platform – you can literally use the same code for both! I was amused that both Quirijn and Kasper mentioned the Hamilton app as one of the most well-known apps built with Flutter.

    The second talk of the night was Mitch Tilbrook giving us a peek at Kotlin “backstage.” Kotlin is a programming language that runs on the JVM but can also be compiled to JavaScript source code. While it’s been around since 2011, it got a big push this year when Google announced first class support for Kotlin on Android at I/O.

    I was lucky enough to see two talks on Kotlin last year by Svetlana Isakova, one of the core developers of Kotlin at JetBrains. She gave a keynote at YOW! Connected 2017 called “You Can Do Better With Kotlin” (video here) as well as as a YOW! Night that dived deeper into features like support for coroutines.

    After the two talks, there was a special presentation of thank yous and flowers to Georgina for everything she’s done for the group. Well done, G!

    I had hoped to attend DevOps Sydney on Thursday night, but unfortunately it was cancelled. Frankly I was relieved, as my brain was rapidly turning to mush as I battled through the three-day functional programming course put on by Data61 and the Queensland Functional Programming Lab. I expected it to be challenging… and yeah.

    I’m not gonna lie – this was hard. The instructors were great and my fellow students were all friendly, but the reality is that this is literally a semester’s worth of university-level content covered in three 8-hour days. Not just that, but FP in general is quite a mind-flip from other programming paradigms. I found that I would hit a wall every couple of hours where things would suddenly stop making sense. That would trigger a stressful fight-or-flight response, and it was really hard to push through. (Massive thanks go to assistant instructor Dave and my friend Jed for helping me as best they could.)

    The fact that I returned after that first day is solely down to the Snook persuading me that I could do it. (I really, really didn’t want to go back.) I survived though, and even if I didn’t understand everything, I have a much better grasp on the concepts that I did before I started. I learned a lot of vocabulary and demystified some of the more arcane bits of FP jargon. The next time I crack open my Haskell book, things will be easier.

    Other Stuff

    • I’m going to India! I was honoured to be invited to speak at this year’s Agile India 2018 in Bangalore in March. I’ll be talking about Building Software That Lasts. If you’re in the area, you should definitely attend.
    • LinuxConfAU kicks off tomorrow! Tomorrow I’ll be hosting an art exhibition during the lunch break, and on Tuesday the 23rd I’ll be running the Art + Tech Miniconf. (There are a limited number of miniconf-only tickets available for purchase for Tuesday, so let me know ASAP if you want one.)
    • Tickets are still available for Sydney’s Global CFP Diversity Day event on February 3! If you’ve got a goal of speaking at a tech conference, you should come along to this workshop.
    • Curious about what Webpack actually does? I found this excellent Reddit comment that explains it in straightforward English. If you’ve ever wanted to know why we don’t just add <script> tags to a page anymore, read that.
    • The YOW! team often shares links to interesting stories in tech via our internal Slack. I especially liked this one from my boss Dave: Your Next T-Shirt Will Be Made by a Robot. I will be very curious to see if this company can pull it off. I’ve seen videos of robots trying to fold towels, and they are so flummoxed by soft fabrics that they have to move verrrrry sloooooooowly.
    • And one more reminder – we have two upcoming YOW! events in Sydney with open Calls for Presentations! YOW! Data will be held on May 14-15 and is looking for speakers on data-driven technologies and applications. YOW! Lambda Jam is coming up on May 21-23 and is all about functional programming.
  • Weekly Meetup Wrap – January 14, 2018

    Thank you Sharon Lu for the photograph!

    A few months back, I was chatting to someone in the tech industry in Sydney who mentioned he missed the blog posts I used to write about attending meetups. “Really? I didn’t think anybody read them!” He said that as someone who couldn’t get to many events, he still liked reading about them. So I promised him that I’d give it another go.

    So here we are in 2018, and the first groups are starting back up after the Christmas holiday. Strap in folks! (Did I mention I went to 124 meetups in the past year??)

    My first meetup of 2018 was actually one I was speaking at! Tech Talks @ Pivotal Labs is a weekly group that hosts speakers from a range of fields: technology, product design, engineering and Lean startup methodologies. I’ve attended many times, but this past Tuesday was my first turn on the other side of the podium! (The lovely photo at the start of this post was from my friend Sharon Lu at the Tyro FinTechHub.)

    I was reprising my talk from DDD Perth: “The Campsite Rule: Leaving the Tech Industry Better Than We Found It.” It’s about all the things in tech that can burn you out, and how mentoring is one way that you can make a difference and feel better about it. There were probably a hundred attendees, and they all seemed pretty engaged! There were even some nice comments on the Meetup page afterwards, including someone taking my suggestion to put their hand up as a mentor. 🙂

    The funniest part was how I told everyone that CES was about to start so we’d soon be inundated with news stories about ridiculous tech gadgets. But even I never envisioned robot strippers… 🙄 🤖

    Tuesday evening I headed over to ING’s offices to a brand new meetup: Tech Share Sydney. This group is organised by OCTO Australia, and they plan to have a different theme every month. This first one was all about data… which just so happens to be my major focus, as YOW! Data is coming up on May 14-15th! (We’re looking for speakers right now.)

    The first speaker was Matt Howlett from Confluent giving us a tour of Apache Kafka. (Matt lives and works in Palo Alto but he’s an Aussie, so he was taking advantage of being home for the holidays to give a meetup talk!)

    Matt said that a lot of folks think of Kafka as just a “pub/sub” message queue, but you can also think of it as “a commit log for your organisation.” Kafka’s advantages are all about scaleability and moving around massive amounts of data. You should use Kafka if you’ve got  lots of data or your organisation/architecture is very complex. I was impressed with some of the numbers Matt showed us.

    We also got a sneak peek of KSQL, “an open source, Apache 2.0 licensed streaming SQL engine that enables stream processing against Apache Kafka.” Matt made it look super easy to join data together from multiple streams and write meaningful queries against it!

    The second talk of the night was a tag team case study from Nicolas Guignard and Arthur Baudry from OCTO. They walked us through a project they’d worked on to build a sustainable enterprise-wide reporting system using Apache Spark and Amazon Web Services.

    I was especially interested to learn about a tool they’d used that was new to me: FitNesse. It fostered collaboration by allowing the business analysts on the project to write requirements in a sort of wiki that then actually ran as acceptance tests. Pretty neat!

    My third meetup for the week was another data-focused one: Web Analytics Wednesday. Unusually, this is a meetup that’s held in a pub! We were all squished in pretty tightly, but the drinks were free and everyone was super friendly. (I highly recommend the $10 burger special!)

    The first speaker was Johann de Boer from Menulog giving a fascinating case study on a project he worked on for a previous employer that provided predictive segmentation of website visitors. Basically the end goal was to guess the goal of someone visiting the website based on their behaviour and then customise the experience towards that.

    During the Q&A, I raised my hand to ask Johann about questioning users directly. That was something we did whenever anyone signed up to Canva, and was curious why they hadn’t done it on this project. We ended up having an interesting discussion about qualitative vs. quantitative data, and how you can use one to test assumptions against the other. I also chatted with Johann during the break about the minimum number of “pages” you need to track to make an accurate guess about what users are doing. It’s smaller than you think!

    The second talk of the night was Jakub Otrzasek from Datalicious giving us a veteran’s view on what an analytics newbie needs to know. There’s massive demand for folks who know how to interpret all the web data that’s being generated, but not a lot of folks to fill the positions! I agree with Jakub – if you’re looking to hire an analyst, your best bet is actually to grow one from your existing team.

    Other Stuff

    That’s it for meetups. Here’s a few other things keeping me busy:

    • Congrats to my old colleagues at Canva on becoming Australia’s newest unicorn! I know what a big goal that was for the team, and I’m so proud to have contributed in a small way. 🦄
    • Next week I’ll be attending Data61’s 3-day Functional Programming Course taught by Tony Morris. I’m expecting to be challenged. (Eeep. Time to cram more Haskell.)
    • LinuxConfAU is coming in one more week! I’ll be attending again this year and I’m really looking forward to it. The first two days are dedicated to miniconfs. On Monday the 22nd I’ll be building a robot at the Open Hardware Miniconf, and on Tuesday the 23rd I’ll be running the Art + Tech Miniconf. (I’m super excited about Art + Tech. I managed to get pretty much my dream lineup of speakers!)
    • On Saturday, February 3rd I’ll be hosting the Sydney branch of Global CFP Diversity Day. This global series of workshops has a goal of encouraging newbie speakers from underrepresented groups to put together their first talk proposals. Special thanks to Sydney GA for hosting and to all the mentors who have volunteered to help!
    • Along with several of the Sydney Girl Geeks, I’m slowly working my way through HarvardX’s CS50: Computer Science course. For my first assignment, I had to build a game in Scratch. Naturally, I made one inspired by Roald Dahl! You can try it out here.
    • My friend Lucy Bain also has a renewed commitment to tech blogging for 2018. She’s already made two great posts this year: JS: ES6’s spread operator for objects and React JS: what is a PureComponent?. If you’re interested in programming, you should check them out.
    • And lastly – don’t forget that we have two upcoming YOW! events in Sydney with open Calls for Presentations! YOW! Data will be held on May 14-15 and is looking for speakers on data-driven technologies and applications. YOW! Lambda Jam is coming up on May 21-23 and is all about functional programming. Special note: This year we’ve added on an extra day for LJ that will be a full-day workshop aimed at providing an “on-ramp” to FP. (If you can’t make it to Tony’s 3-day course, you should definitely sign up for the LJ one!)

    I leave you with a truly cool bit of music: Microsoft’s Spectre & Meltdown KB4056892 Patch converted into MIDI. These security bugs are an ongoing nightmare, but hey – at least we can dance to it! 💃

  • My EDC and the Search for the Perfect Bag

    Since I don’t have a fixed office at YOW!, I need to carry my “office” with me. For the past fourteen months that’s been in a battered black Herschel backpack. The “leather” is starting to flake off though, and I was getting tired of rummaging around inside to find my keys or wallet. So I’ve been thinking about getting something a little more professional looking. Over the weekend I asked a couple friends as well as Twitter if there were any messenger/satchel/laptop bags they’d recommend.

    EDC, if you haven’t heard of it, stands for “everyday carry.” There’s a whole, like, scene around it, with websites and subreddits dedicated to showcasing the carefully curated toolkits that folks in various jobs carry around at all times. Here’s mine, as photographed fifteen minutes ago at my coworking space:

    Nothing too unusual or “tactical” there, really. Starting in the middle and going around clockwise: I’ve got my 13″ MacBook Air (chosen for lightness when travelling), long USB-to-Lightning cable, power cable, notebook and pen (both swag from a Twitter event),  power brick (more Twitter swag), another short braided leather USB-to-Lighting cable, Orla Kiely wallet (with business cards inside), tissues, keys (with bottle opener keychain), umbrella, AirPods, wired ear buds (in a custom 3D-printed “pill” that Developer Steve made me), and sunglasses. Not pictured: chapstick, paracetamol, and other assorted lady necessities as needed. 🙂

    A lot of folks kept recommending Crumpler messenger bags to me. I’m not a huge fan of the style though – they all look too much like neoprene camera bags to me. They’re also huge! And having to undo those clips to get inside would annoy the crap out of me. (I notice that a lot of folks in photos leave them unclipped and dangling.) I also find the names of their product lines pretty cringeworthy. “Moderate Embarrassment”? No. Clearly this is aimed at a much hipper demographic than me.

    Fossil have some very nice messenger and “work bags,” but the marketing is aggressively masculine. Like, we get it dudes, you’re way too manly to be carrying a purse, right? Ugh. Similarly, Code Republic do some very nice handbags that are secretly laptop bags. They’re not my style, but I appreciate the effort. Still, I’d prefer my bag to be as gender neutral as possible.

    A few folks pointed me towards the new dedicated “EDC Bag” that Adam Savage recently launched. While I can appreciate the concept, it’s a little too “tactical” for my needs. I don’t need recycled sailcloth and exposed hook-and-loop and a clamshell spring opening. (Frankly, it reminds me of Mary Poppins’s carpet bag just rendered in recycled materials.) The fact that they’re hand-numbered takes this more into the realm of an expensive collectible to me than an everyday item.

    Ultimately I narrowed it down to just a few choices:

    • Proyager. They’re an Aussie company, and I liked the look of the Thao Vat Laptop Messenger Bag. Their bags are all canvas though, and I know from experience with my canvas Queen Bee bags that I’m really hard on them. I’d prefer something more waterproof and durable.
    • Toffee Cases. They’re very local (the office is just down the street in Pyrmont!), and their stuff is stylish and unisex. I really liked the Fitzroy Satchel, but the colours weren’t super inspiring. (There’s a photo of a navy blue one which I loved, but doesn’t look like you can order it.) They’re also out of stock in the 13″ for the next few weeks. The Commuter Satchel was also very nice, and I actually had the navy version in my shopping cart for a while…
    • STM Bags. Another Aussie company with a good reputation. I noticed there was a stockist inside the Broadway Shopping Center, so I popped in to check out the Judge Laptop Brief in person. It seemed like it would carry all my stuff and allow easy access; there were plenty of pockets and compartments; the materials and workmanship seemed good; and it came in actual non-embarrassing COLOURS. It also has some useful features like a fleece lined pocket for your sunnies, and an opening between the main and front compartments for your charging cords.

    The STM bag was the same price in the shop as online, as well as $70 cheaper than the Toffee Commuter. I decided to go for it! I’m still working out the best way of organising everything, but so far so good. I personalised it with a bunch of pins I’ve been collecting over the past couple years. (I’ll probably have to take those off when I travel, I’m guessing…) Thanks to everyone who gave suggestions!

    So what’s in YOUR EDC?

  • Casual Games I Recommend for Fun (and Obsession)

    There was an article in the BBC recently about how the World Health Organisation has classified gaming addition as a disorder. Symptoms of video game addiction include “impaired control over gaming (frequency, intensity, duration);” “increased priority given to gaming;” and “continuation or escalation of gaming despite negative consequences.” I would add a few additional ones based on personal experience over the last ten days: persistent soreness in your dominant iPhone wrist, an ache in the shoulders, and a dull headache at all times.

    So yeah. I went down a rabbithole with a few games over the holiday break and I’m starting to think an intervention is required. As part of my self-prescribed treatment, I decided I’d write a blog post about the games in the hope that getting other people hooked will make me feel less guilty. 🙂

    It all started when I read this AskMetafilter post on Boxing Day. Someone was looking for a Bejeweled clone for iOS that had no ads, cool-down periods, or in-app purchases. I’m a Bejeweled fan from way back – I wrote a post 17 years ago about my scoring strategy! – so this question appealed to me. The casual games I’ve been playing for the last couple years are Angry Birds Pop and Panda Pop, which are fun Puzzle Bobble-type clones but riddled with all the negatives mentioned. So when the very first comment mentioned two matchy puzzle games with light RPG elements? I was ALL OVER IT.

    The first is 10000000 from Eighty Eight Games, which came out in 2012. I was immediately charmed by its retro 8bit aesthetic. You figure out the game mechanics as you go, and I was quickly engaged with upgrading my character’s gear and working towards the goal of 10000000 points (and “freedom”). It was challenging at first to keep my eyes on both the scrolling dungeon at the top and the puzzle board below. That’s not the only difference with Bejeweled – the most important of which is that you don’t want to make matches willy-nilly as you see them. When you’re facing down an enemy, you need to match swords and staves. When it’s a treasure chest, you need keys. (Of course, sometimes you have to make other matches because there are no other options.) Sometimes you find spells and food that help you out, as well as gold, wood, and stone that can be used to upgrade your gear. I loved this game, and I played it pretty straight through until I finished it about 8 hours later. (Yeah.  Not so “casual,” right?)

    The second game that was recommended is You Must Build a Boat, which is actually the sequel to 10000000. (It came out a few years later.) The basic mechanics are the same – you still run through dungeons and match tiles to battle monsters and unlock chests. There are additions though – the most fun of which to me was domesticating some of the monsters to become my crew and then summoning them to my aid with a magical kickass horn whenever I was about to die. I also found the dialogue of the NPCs really funny, like the guy who just says “Hmph” and the seemingly useless garden lady. I stretched this game out over two days before I got to the East Wind, and then I accepted the option to start over on a harder level. I’m going slower this time. It’s still fun and awesome. And there are daily challenges to keep you coming back! Highly recommended.

    A few days ago I was telling my friend Peggy about these games – again, in a pathetic attempt to hook other people so I wouldn’t feel like such an obsessed loser – and she in turn told me about her favourite casual game: Twenty by Stephen French. “Oh really?” I said. “Maybe I’ll check it out.” FAMOUS LAST WORDS, PEOPLE. This game is so, so addictive. All you do is drag tiles around to match two of the same number together. When you do, they turn into one tile and increment. Over time though, more rows appear at the bottom of the screen, and if you get to the top the game is over. There’s also a diabolical mechanic where at higher levels some of the blocks are “locked” together so you can’t move them around without first unlocking them. It’s frustrating and brilliant. The goal is to get to a 20 block, but so far my highest is only 18. Oh! and there’s evidently a 2-player mode, but I haven’t checked that out yet. And did I mention you can play it online? Goodbye, productivity.

    Now that I’ve exorcised my own demons, it’s time go cold turkey for a while… Wish me luck!

  • Lucky Foods for New Year’s Day

    A few folks messaged me on Twitter to ask about my assertion that “round foods are lucky for New Year’s.” All right, all right. I was slightly extrapolating there. There are lots of articles online about NYE food superstitions, and many of them link round or green foods to wealth in the new year. Do they specifically mention pancakes? Not yet. 🙂

    One thing that many of the articles mention is the American Southern tradition of eating black-eyed peas, greens, and pork for the new year. The most famous preparation of this is Hoppin’ John, which is basically peas (which aren’t really peas anyway, but go with it), bacon, and rice. I grew up in Indiana though, and I never knew about this lucky tradition until a few years back. Northern Indiana’s got lots of Germanic folks and Amish, who don’t go in for such superstitious nonsense, I guess.

    That said – if there’s one thing I love, it’s a food-based holiday occasion. (Remember when we made a haggis? And a turducken? And a giant Tim Tam? Good times.) So as soon as I heard about this tradition, I was all in. My go-to recipe for the last few years has been this: Hearty One-Pot Black-Eyed Pea Stew With Kale and Andouille Recipe. This is so, so tasty, and it’s not very hard to make* either. (You don’t need to soak the peas or use a pressure cooker or anything like that.) This year I even upped the ante by making my own chicken stock earlier in the day!

    Here’s what it ended up looking like. I highly recommend you bookmark this one for next New Year’s Day!

    * I’ve never been able to find andouille in Sydney, so I just get whatever smoked pork sausage I can find. This year it was a very nice smoked chorizo! I also leave out the green pepper, as the Snook doesn’t care for it.

  • Google Home Tips and Tricks

    We got a Google Home earlier this year just prior to the Aussie public launch (one of the perks of being married to a Googler), and I’ll admit I was skeptical of its usefulness. I mean, I’ve had Siri on my phone for years, but I rarely use it and it always feels more frustrating than helpful. I also saw some tech talks earlier this year on building skills for the Amazon Alexa, and I came away with the impression that “intelligent assistants” are basically just spoken command line interfaces. Where’s the fun in that?

    Well, six months later I’m eating my words. The Google Home is very, very useful, to the point where we’ve just bought a Mini as well. (It moves between my office and our bedroom – yes, really! I’ll explain why in a bit.) The Google Assistant seems to do natural language parsing very well, and I’ve often been surprised and delighted with its responses to my test questions.  Since I know a lot of folks got them for Christmas, I thought I’d blog some of the stuff we’ve discovered while using it. This isn’t the crap they show in the commercials; it’s the real stuff we use it for pretty much every single day.

    Cooking

    Our Home sits in the center of the house on the kitchen counter. We cook a lot, and we immediately found lots of helpful things it can do.

    • “Hey Google, set a timer for X minutes.”  Handy!
    • “Hey Google, how much time’s left on that timer?
    • “Hey Google, set a timer called X for Y minutes.”
    • “Hey Google, cancel timer.”
    • “Hey Google, what’s 375 Fahrenheit in Celsius?”  LIFE-CHANGING.
    • “Hey Google, what’s 14 ounces in grams?”

    There’s also a built-in shopping list that we’ve just started experimenting with. Originally your list was held in Google Keep, which annoyed me. Now it lives in a standalone thing called Google Shopping List, which isn’t too bad. You can view it on the web or in the Assistant app, and you can tick things off once you’ve bought them.

    • “Hey Google, add X to my shopping list.”
    • “Hey Google, what’s on my shopping list?”

    The Snook is (right at this very moment!) experimenting with using it for recipe reading. It’s a little clunky, and personally I find while cooking I prefer to look at written ingredients. (We keep an iPad on the counter for this purpose.) He keeps missing quantities or steps and having to ask it to repeat itself. I somehow doubt this use case will make it into our workflow… (More info and commands here.)

    • “Hey Google, find me an X recipe.”
    • “Hey Google, prepare ingredients.”

    Playing Media

    The Home itself is a pretty decent speaker. (I’m not an audiophile though, so your mileage may vary. Even I can tell the Mini doesn’t sound nearly as good.) We play music on it a lot. My default music option is set up for Spotify so we mostly use that, though the Snook occasionally plays stuff on Google Play Music too. Sometimes navigating a playlist based on a mental model is tricky, so occasionally I’ll start it playing and then open up the app on my laptop or phone to fine-tune the choice.

    • “Hey Google, play Discover Weekly on Spotify.”
    • “Hey Google, shuffle my library on Spotify.”

    I discovered one day that you can also play podcasts on it. The default Google support is pretty crappy though, and you can mostly just play the current episode. HOWEVER, Spotify added support for podcasts this year and that actually works much better for playing back episodes.

    • “Hey Google, play X podcast episode Y on Spotify.”

    We also listen to the radio on it!

    • “Hey Google, listen to WSFM on the radio.”

    When we got the Mini, we discovered that you can create a speaker group for multi-room playback. Now we can have the same thing playing on both devices simply by tacking “…on Home Speakers” to the request!

    Since we have a Chromecast, we can use the Google Home to turn the TV on and off. Granted, this doesn’t sound super useful since a lot of the time you then have to use a remote to switch the input, but it’s great when you’re headed to bed and realise you left the TV on.

    • “Hey Google, turn off the TV.”

    We watch a lot of stuff on Netflix, and it’s super easy to start something there…

    • “Hey Google, play Stranger Things on Netflix.”

    I recently got an audiobook from Audible and wanted to play it on the Mini. I ran into a brick wall. Because Amazon and Google are at war, there’s no integration between the two. However, there is a way around it! You can connect to a Home or Mini as a Bluetooth speaker and then just play your audiobook from your device. You can’t control it via voice, but at least you can play it.

    Getting Info

    We ask about the weather a lot. The cool thing is you can set your location in the Home app, so it gives you the forecast for where you are.

    • “Hey Google, what’s the weather like today?”
    • “Hey Google, is it going to rain today?”

    One day I mused to the Snook, “It would be really cool if the Home could tell me when the next bus is coming.” He said, “Maybe it can!” So I asked it. And it turns out that it can give you real time public transport info! (Well, in cities like Sydney where Maps has that info integrated.)

    • “Hey Google, when’s the next bus to Pyrmont?”

    We also ask it about random trivia quite a lot. It usually gives us the answer. Recent questions:

    • “Hey Google, how old is Marcia Hines?”
    • “Hey Google, where is Hewlett Packard based?”
    • “Hey Google, what was the name of the computer in Electric Dreams?”

    IFTTT Integrations

    There’s some stuff Google Home can’t do, but fortunately there are IFTTT (If This Then That) Integrations to pick up the slack. We’ve set up a couple of them. The first is to add a “to do list” item to Todoist, the shared app we use.

    • “Hey Google, add a task for Kris.”

    Note: We learned when testing this that the Home <-> IFTTT connection doesn’t recognise multiple users based on our voices (as the built-in Google Home functionality does). That’s why we had to add in our names. The command with my name adds it to my To Do list, and the Snook’s adds to his.

    For fun, we added a way to verbally poke each other:

    • “Hey Google, poke Kristy.”

    The Home cannot yet send SMSes. IFTTT has notifications though, which you can use as a sort of workaround. When the Snook says the phrase above, I get a notification on my phone that says “The Snook is poking you!”

    Note: Because we want the notification to come to my phone, I had to set up the “Poke Kristy” applet on my IFTTT account rather than the Snook’s. (He has a “Poke Rodd” one likewise set up on his account.) Also, Google Home doesn’t reliably recognise the pronunciation of “Kristy,” so we had to spell it as “Christie” when defining the phrase. 😐

    I also discovered you can use Google Home to tweet:

    • “Hey Google, tweet ‘Guess who got a Google home mini today?’”

    Google mini tweet

    Again, the Home <-> IFTTT integration doesn’t recognise multiple voices, which means the Snook (or anyone else in the house) would be able to tweet on my account via this method. No thank you! I removed it right after. (I was also annoyed that it didn’t use proper punctuation.)

    Other Fun Stuff

    I was working from home one day when I realised the Mini has a Micro-USB plug, and it works just fine powered off a MacAir. I happily sent the Snook a Hangouts message about this. Five seconds later I jumped when the Mini chimed and the Snook’s voice rang out, “Get back to work!” 😂

    • “Hey Google, broadcast ‘Get back to work!’”

    The Google Home app has a way of defining shortcuts, which can help you by mapping complicated requests into much shorter and more memorable phrases. Some of the ones we’ve set up:

    • “Hey Google, let’s dance!” (plays my “Chair Dancing” playlist on Spotify)
    • “Hey Google, night night!” (plays my “Sleep” playlist on Spotify)
    • “Hey Google, it’s country music time!” (plays “Ghost Riders in the Sky” on Spotify)

    We got the Google Mini for our bedroom because we’ve often found ourselves wanting to ask about the weather or transport while getting ready in the morning. The other night I had a brainwave though while brushing my teeth:

    • “Hey Google, play white noise.”

    To my delight, it did! Turns out there’s a whole range of relaxation sounds. Unfortunately I don’t like the white noise it provides as well as the app I’ve been using on my iPhone. I also haven’t worked out yet whether the Home sounds will play all night. (The Support page indicates they’ll only play for an hour, but adding “… for 8 hours” doesn’t throw an error. I’ll have to try it and report back.)

    And this is just silly, but in the Google Home app, you can change your name.

    • “Hey Google, what’s my name?”

    It’s “Kris the Amazing,” in case you’re curious. 😜

    Annoyances

    Not everything is amazing. There’s still a lot of stuff that this thing can’t do. That would be okay, but the marketing and Support pages often imply that you can! That’s really frustrating. For instance, you can change Google Assistant to a male voice… but only in the US. Sorry, Aussies. No virtual dude for you!

    Right now the Google Home can’t SMS or make calls. That’s really annoying. Of course, we don’t have Google Voice in Australia either so it’s hardly surprising. I thought I’d be able to work around it with IFTTT’s SMS service, but non-Americans only get 10 messages a month for free. (I couldn’t actually get it to work either, which is why we had to use the notifications service for the “Poke” applet mentioned above.)

    On a humorous note, the Home doesn’t always interpret my American accent correctly. It’s pretty good, but it still messes up every now and then. (Rodd reckons if we set it to the US voice, it might be better.) In the “My Activity” section of the Google Home app, you can see your utterances along with its interpretation. Some of the ones it’s gotten wrong recently:

    • “Hey Google, listen to Beethoven codepipeline.” (This was “listen to Greater than Code podcast.”)
    • “Hey Google, add a task for Kris Auto cat medicine.” (This was “order cat medicine.”)
    • “Hey Google, talk synonyms.” (This was “poke Snookums.”)

    People are freaked out about the privacy implications of having a recording device in your home all the time. I get that. Given my living situation – partner is a Googler who has the Assistant turned on on his phone anyway – I’m less worried about it. Anything they want to know about us, they probably already do. That said, we’ve turned on sound feedback in the Accessibility settings so the device makes a chime whenever it’s listening. And here’s the thing – sometimes it goes off when nobody’s said the magic phrase. Occasionally we’ve said something vaguely similar to “Hey Google,” but sometimes there’s nobody speaking at all. It’s a little creepy. I’m not sure why it happens. ¯\_(ツ)_/¯

    Another major source of annoyance for me are the apps you use to control the Home and Mini devices. I have an iPhone. There are actually two iOS apps – the Google Home app, and the Google Assistant app. WHY? Why not just one? Some functionality is duplicated between them. Sometimes you click a link in one, and it hands off to the other. Sometimes the same information is accessed via two entirely different UI controls. (For example, to see “My Activity” in Google Home, you click the hamburger button to open the panel on the left. The same info is found in Google Assistant by clicking the random blue tray icon in the upper right, then the three dots icon, at which point a panel pops up from the bottom of the screen. WHY?!)

    What’s even more frustrating is that some functionality is available in the Android version of the apps that isn’t in the iOS one yet. For example, shared calendars. The Support page says that shared calendars are supported. No caveats (beyond G Suite calendars, but whatever). The Snook and I have a Shared Google Calendar where we put things like his on-call schedule, the meal plan for the week, and my work travel. I wanted to enable this so I could ask Google Home questions about it. Yet the setting to Add a Shared Calendar was just NOT THERE in my Google Home app. After tearing my hair out, I had the Snook set up an account for me on a spare Android phone he has. And guess what? There it is. I was able to enable it there. GAHHH.

    I get that it’s hard to sync functionality across both phone platforms. That’s fine. Why not just, you know, MENTION THAT on the Support page? Just a little asterisk saying, “Hey, iOS doesn’t have this yet, but it’s coming. Try Android in the meantime.” Ugh.

    Or better yet – have a web app for doing this stuff! You’re required to have phone or tablet to configure the Home and Mini. WHY? Sure, I get it when it comes to aspects of physical devices. But when I’m just enabling permissions on some aspect of my Google account – which lives in the Cloud – why isn’t that just part of the settings I can access via the web?

    In summary

    Like I said, I’ve been surprised how much we’ve used these devices. I thought the Home would just be a silly novelty (like the Bluetooth lightbulb I bought at Costco). But instead it’s genuinely useful, and I’ve found myself occasionally delighted by the responses it’s given to my random queries. I’ve even found myself wanting to say “thank you” to an inanimate speaker!

    There are still limitations though, and it’s clear that the rush to ship (driven by the intelligent assistant land grab happening between Google, Amazon, and Apple) has resulted in a sometimes inconsistent and confusing user experience. I hope it’ll get better.

    There are plenty of things these devices can do that I haven’t mentioned. I’ve just limited myself to the things we mainly use ours for. If you’ve got one, is there some great use case I’m missing? Let me know in the comments!

  • Simon Shirt (from freesewing.org)

    A few weeks back I discovered freesewing.org – “an open source platform for made-to-measure sewing patterns.” The founder Joost De Cock loves sewing and programming, and he combined them in this amazing platform that allows you to upload your measurements and then generate a custom sewing pattern PDF exactly to your size. Oh, and everything is free, and he transfers all donations to charity. How could I not fall in love with that? ❤️

    Most of the patterns would be considered menswear. That said, I love that Joost makes a point of not enforcing a gender binary anywhere. The Measurement docs, for instance, have an option for breasts or no breasts. Boobs make a difference to the shape of a garment, but your gender identity doesn’t. It’s a nice touch.

    As luck would have it, when we were visiting my Mom’s fabric shop in the US back in August, the Snook asked if I’d make him a new shirt. He really liked this repro vintage cotton, and Mom insisted that we take it. I warned him that quilting cotton could be a bit heavy for a man’s shirt, but I was willing to try. I’d made him several shirts before using Colette’s Negroni pattern, but I felt ready to try something a bit more complex. When I saw the Simon Shirt on freesewing, I knew it was the one.

    After signing up for the site, I had to create a “model” and upload all the required measurements. That was fun. Then I was able to generate a new draft Simon pattern from it. There are a ton of options. We went with the Classic theme with a baseball hem, regular yoke, extra top button, cut-on classic button placket, cut-on French style buttonhole placket, and rounded barrel cuffs. I printed out my PDF, stuck all the pages together, and got going.

    I use Costco tuna fish cans for my pattern weights!

    I spent a lot of time on cutting. I hadn’t realised until the Snook pointed it out that the fabric is actually directional, so I needed to make sure everything was going the right way. I cut it so that the “vines” were running vertically on the body, back and sleeves; and they ran horizontally on the collar, collarstand, yoke, and cuffs. I spent way too long trying to get the pattern to match up exactly across the two fronts, not realising that because my button placket was cut-on, the point I was using for reference was going to be folded under anyway. 🙃 So there’s my first tip: If you’re using the cut-on plackets, fold your pattern pieces as if they’re the fabric so you know exactly where things need to line up. Don’t assume you can tell just from the lines.

    This thing gave me such grief!

    Next I had to sew the cuffs and the collar together. The collar stand is where I ran into difficulty, but I didn’t realise it until way later. I failed to recognise that it’s not symmetrical – the end with the buttonhole is longer than the end with the button. When you sew the collar to it, you’re meant to center the collar over the notches along the bottom edge. I missed this completely and centered my collar along the length of the collar stand, which meant it was ever-so-slightly offset from where it should be. And because it’s asymmetrical, that means you need to make sure you sew it all together so that the buttonhole is on the correct side to line up with the left body front. This all came out when I was attaching the collar towards the end of the process, and I ended up pulling it all apart and starting over. So my advice for the collar would be: Keep track of which piece is the collar and which is the undercollar. When the collar is facing up, it should be attached to the collar stand so that the buttonhole is on the right. Make sure you center the collar over the collar stand notches. (It’ll look slightly off-center.) 

    The body construction was fairly straightforward. It has diamond darts on the back, which was new for me in a men’s garment. This is a very fitted shirt. (By contrast, the Negroni is fairly roomy in the back and actually has two pleats under the yoke.) There’s no interfacing along the cut-on button plackets, which I liked, just a series of folds. The instructions have you use the “burrito method” for the yoke construction, which I love. It’s always so magical to turn that burrito right-side out and suddenly have a nice neat shirt!

         

    The sleeve placket construction was new to me. Colette uses a single piece for it, but this one has separate pieces for the overlap and underlap. I actually think this version looks better than my Negroni attempts, but it does result in two very small unfinished edges visible on the inside of the sleeve. (I was worried I’d somehow missed a step so I messaged Joost about it, but he confirmed that it’s intentional and shouldn’t be a problem.) The third photo here shows it…

               

    Then it was time to sew in the sleeves… and I ran into trouble. I had failed to notice that my armholes were a rather peculiar shape. The top of the yoke and the body fronts were exaggeratedly wide in a way I hadn’t seen before. I figured it would all come together in the end and proceeded to sew in a sleeve. When I had the Snook try it on, it stuck out in a point like a military epaulette. So I unpicked it and looked at the pattern again, and I compared it to other shirts as well as other patterns. It was definitely not right. After much hemming and hawing, I decided to bite the bullet and just lop off the pointy bit. Sewing in the sleeve was easier then, and it didn’t result in a pokey-outtey point.

         

    My solution was drastic, and it didn’t fix the issue that the armhole was still more scooped out than necessary. Once I had the sleeve in, I could see that there’s still some weirdness around the armpit. I can live with it. After poking around the Freesewing docs, I’m guessing that one of our measurements around the shoulder area was probably incorrect. The ratio of top of shoulder to back width is probably the culprit. I also discovered that Freesewing helpfully provides a “comparison” preview of your pattern so you can identify these issues before you cut out your fabric. In my case, you can tell immediately that there’s something off about the armholes and shoulder. If I’d seen this before cutting, I would’ve double-checked my measurements and fixed it then. So the next tip: Use the Draft Comparison Preview to check whether any of your pieces look odd. If they do, chances are you had something wonky in your measurements and you should fix it before you cut out your fabric.

     

    Oh, and I won’t even go into detail on my issues with creating flat-felled seams. That’s nothing to do with the pattern or the instructions; that’s just my own lack of practice with them. They look fine from the outside, but the inside – especially around the top of the sleeve caps – is a bit bodgy. I’m cool with that. I’ll get better the more I do.

    As I headed into the home stretch, I came up against that baseball hem. Hm. Hemming something with such exaggerated curves was not easy. The pattern indicates that I’ve got 3cm for them hem, which should be folded up at 1.5cm twice. That was just not gonna happen, not without making some cuts on the curves that I didn’t feel comfortable doing. So I decided to go with a skinnier hem (1cm folded twice), which was still tricky but slightly easier. It’s still a bit bodgy over the very curvy bits, but it’s not too bad.

    The final step was to sew the buttonholes – all 13 of them! I was very happy that my faithful old Janome has a pretty decent automatic buttonholing foot. I bought medium cream buttons for the body and cuffs, and a couple teesy ones for the wrist opening plackets. Final tip: Make sure you sew the buttonholes on the correct (top) side of the cuffs, otherwise you’ll have to unpick everything and flip them around (like I did). 🙄 Then it was just sewing on all those matching buttons… And here’s the finished result!